检查标量#

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

验证标量参数的类型和值。

参数:
x对象

要验证的标量参数。

name字符串

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

target_type类型或元组

参数可接受的数据类型。

min_val浮点数或整数,默认为None

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

max_val浮点数或整数,默认为None

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

include_boundaries{"left", "right", "both", "neither"},默认为"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

已验证的数字。

引发:
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