check_scalar#

sklearn.utils.check_scalar(x, name, target_type, *, min_val=None, max_val=None, include_boundaries='both')[source]#

验证标量参数类型和值。

参数:
xobject

要验证的标量参数。

namestr

要打印在错误消息中的参数名称。

target_typetype or tuple

参数可接受的数据类型。

min_valfloat or int, default=None

参数可取的最小有效值。如果为 None(默认值),则表示参数没有下限。

max_valfloat or int, default=None

参数可取的最大有效值。如果为 None(默认值),则表示参数没有上限。

include_boundaries{“left”, “right”, “both”, “neither”}, default=”both”

min_valmax_val 定义的区间是否应包含边界。可能的选择有:

  • "left":只有 min_val 包含在有效区间内。它等同于区间 [ min_val, max_val )

  • "right":只有 max_val 包含在有效区间内。它等同于区间 ( min_val, max_val ]

  • "both"min_valmax_val 都包含在有效区间内。它等同于区间 [ min_val, max_val ]

  • "neither"min_valmax_val 都不包含在有效区间内。它等同于区间 ( min_val, max_val )

返回:
xnumbers.Number

已验证的数字。

Raises:
TypeError

如果参数的类型与所需类型不匹配。

ValueError

如果参数的值违反了给定的边界。如果 min_valmax_valinclude_boundaries 不一致。

示例

>>> from sklearn.utils.validation import check_scalar
>>> check_scalar(10, "x", int, min_val=1, max_val=20)
10