check_X_y#

sklearn.utils.check_X_y(X, y, accept_sparse=False, *, accept_large_sparse=True, dtype='numeric', order=None, copy=False, force_writeable=False, force_all_finite='deprecated', ensure_all_finite=None, ensure_2d=True, allow_nd=False, multi_output=False, ensure_min_samples=1, ensure_min_features=1, y_numeric=False, estimator=None)[源代码]#

标准估计量的输入验证。

检查X和y的长度是否一致,强制X为2D,y为1D。默认情况下,X被检查为非空并且仅包含有限值。标准输入检查也适用于y,例如检查y是否没有np.nan或np.inf目标。对于多标签y,设置multi_put =True以允许2D和稀疏y。如果X的dype是对象,请尝试转换为float,并在失败时引发。

参数:
X{ndray,list,sparse matrix}

输入数据。

y{ndray,list,sparse matrix}

标签。

accept_sparse字符串、布尔或字符串列表,默认=False

字符串 [s] 表示允许的稀疏矩阵格式,例如“cscs”、“csr”等。如果输入是稀疏的,但不是允许的格式,则它将被转换为第一个列出的格式。True允许输入是任何格式。假意味着稀疏矩阵输入将引发错误。

accept_large_sparse布尔,默认=True

如果CSR、CSC、COO或SVR稀疏矩阵由accept_sparse提供并接受,则accept_large_sparse将导致其仅在其索引以32位d类型存储时被接受。

Added in version 0.20.

dtype“numeric”、类型、类型列表或无,默认=“numeric”

结果的数据类型。如果无,则保留输入的dype。如果是“numeric”,则保留dype,除非数组. dype是对象。如果dType是类型列表,则仅当输入的dType不在列表中时,才会对第一个类型执行转换。

order' F ',',默认=无

数组是否会强制为fortran或c风格。如果 None ,然后尽可能保留输入数据的顺序。

copy布尔,默认=假

是否会触发强制复制。如果复制=False,则复制可能会由转换触发。

force_writeable布尔,默认=假

是否强制输出数组可写。如果为True,则保证返回的数组是可写的,这可能需要副本。否则,输入数组的可写性将保留。

Added in version 1.6.

force_all_finitebool或'allow-nan',默认值=True

是否在数组中的pp.inf、pp.nan、pd. NA上引发错误。此参数不影响y是否可以具有pp.inf、pp.nan、pd. NA值。可能性有:

  • True:强制X的所有值为有限。

  • 假:接受X中的NP.inf、NP.nan、pd. NA。

  • “allow-nan”:仅接受X中的NP.nan或pd.NA值。价值观不可能无限。

Added in version 0.20: force_all_finite 接受字符串 'allow-nan' .

在 0.23 版本发生变更: 接受 pd.NA 并将其转换为 np.nan

自 1.6 版本弃用: force_all_finite 更名为 ensure_all_finite 并将在1.8中删除。

ensure_all_finitebool或'allow-nan',默认值=True

是否在数组中的pp.inf、pp.nan、pd. NA上引发错误。此参数不影响y是否可以具有pp.inf、pp.nan、pd. NA值。可能性有:

  • True:强制X的所有值为有限。

  • 假:接受X中的NP.inf、NP.nan、pd. NA。

  • “allow-nan”:仅接受X中的NP.nan或pd.NA值。价值观不可能无限。

Added in version 1.6: force_all_finite 更名为 ensure_all_finite .

ensure_2d布尔,默认=True

如果X不是2D,是否提出值错误。

allow_nd布尔,默认=假

是否允许X.ndim > 2。

multi_output布尔,默认=假

是否允许2D y(数组或稀疏矩阵)。如果为假,y将被验证为一个载体。如果multi_select =True,y不能具有NP.nan或NP.inf值。

ensure_min_samplesint,默认=1

确保X在其第一个轴上具有最少数量的样本(2D阵列的行)。

ensure_min_featuresint,默认=1

确保2D阵列具有最少数量的特征(列)。默认值1拒绝空数据集。仅当X实际上具有2维或最初是1D且 ensure_2d 是真的设置为0将禁用此检查。

y_numeric布尔,默认=假

是否确保y具有数字类型。如果y的dype是对象,则将其转换为float 64。应仅用于回归算法。

estimator字符串或估计器实例,默认=无

如果通过,请在警告消息中包含估计器的名称。

返回:
X_converted对象

经过转换和验证的X.

y_converted对象

转换并验证的y。

示例

>>> from sklearn.utils.validation import check_X_y
>>> X = [[1, 2], [3, 4], [5, 6]]
>>> y = [1, 2, 3]
>>> X, y = check_X_y(X, y)
>>> X
array([[1, 2],
      [3, 4],
      [5, 6]])
>>> y
array([1, 2, 3])