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=True, 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_output=True以允许2D和稀疏y。如果X的dtype为对象,尝试将其转换为浮点数,失败时引发错误。
- Parameters:
- X{ndarray, list, sparse matrix}
输入数据。
- y{ndarray, list, sparse matrix}
标签。
- accept_sparsestr, bool 或 list of str, default=False
表示允许的稀疏矩阵格式的字符串,例如’csc’、’csr’等。如果输入是稀疏矩阵但不是允许的格式,它将被转换为列出的第一个格式。True允许输入为任何格式。False意味着稀疏矩阵输入将引发错误。
- accept_large_sparsebool, default=True
如果提供了CSR、CSC、COO或BSR稀疏矩阵并被accept_sparse接受,accept_large_sparse将导致仅当其索引以32位dtype存储时才接受它。
Added in version 0.20.
- dtype‘numeric’, type, list of type 或 None, default=’numeric’
结果的数据类型。如果为None,则保留输入的dtype。如果为”numeric”,则除非array.dtype为对象,否则保留dtype。如果dtype是类型列表,则仅当输入的dtype不在列表中时才转换为第一个类型。
- order{‘F’, ‘C’}, default=None
是否强制数组为fortran或c风格。如果为` None`,则在可能的情况下保留输入数据的顺序。
- copybool, default=False
是否触发强制复制。如果copy=False,则可能会因转换而触发复制。
- force_writeablebool, default=False
是否强制输出数组可写。如果为True,返回的数组保证可写,这可能需要复制。否则保留输入数组的可写性。
Added in version 1.6.
- force_all_finitebool 或 ‘allow-nan’, default=True
是否在X中出现np.inf、np.nan、pd.NA时引发错误。此参数不影响y是否可以包含np.inf、np.nan、pd.NA值。可能的值有:
True: 强制X中的所有值为有限。
False: 允许X中出现np.inf、np.nan、pd.NA。
‘allow-nan’: 仅允许X中出现np.nan或pd.NA值。值不能为无穷大。
Added in version 0.20:
force_all_finite
接受字符串'allow-nan'
。Changed in version 0.23: 接受
pd.NA
并将其转换为np.nan
- ensure_2dbool, default=True
如果X不是2D,是否引发值错误。
- allow_ndbool, default=False
是否允许X.ndim > 2。
- multi_outputbool, default=False
是否允许2D y(数组或稀疏矩阵)。如果为false,y将被验证为向量。如果multi_output=True,y不能包含np.nan或np.inf值。
- ensure_min_samplesint, default=1
确保X在其第一个轴(对于2D数组为行)中具有最小样本数。
- ensure_min_featuresint, default=1
确保2D数组具有一些最小特征数(列)。默认值1拒绝空数据集。此检查仅在X实际上为2D或原为1D且
ensure_2d
为True时强制执行。设置为0禁用此检查。- y_numericbool, default=False
是否确保y具有数值类型。如果y的dtype为对象,则将其转换为float64。仅应用于回归算法。
- estimatorstr 或 estimator instance, default=None
如果传递,则在警告消息中包含估计器的名称。
- Returns:
- X_convertedobject
转换和验证后的X。
- y_convertedobject
转换和验证后的y。
Examples
>>> 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])