check_array#
- sklearn.utils.check_array(array, accept_sparse=False, *, accept_large_sparse=True, dtype='numeric', order=None, copy=False, force_writeable=False, ensure_all_finite=True, ensure_non_negative=False, ensure_2d=True, allow_nd=False, ensure_min_samples=1, ensure_min_features=1, estimator=None, input_name='')[source]#
对数组、列表、稀疏矩阵或类似对象的输入验证。
默认情况下,输入会被检查是否为非空二维数组且仅包含有限值。如果数组的dtype是object,则尝试转换为float,失败则抛出错误。
- 参数:
- arrayobject
要检查/转换的输入对象。
- accept_sparsestr, bool or list/tuple of str, default=False
表示允许的稀疏矩阵格式的字符串(或列表/元组),例如'csc','csr'等。如果输入是稀疏矩阵但格式不在允许列表中,它将被转换为列表中列出的第一种格式。True允许输入为任何格式。False表示稀疏矩阵输入将引发错误。
- accept_large_sparsebool, default=True
如果提供了CSR、CSC、COO或BSR稀疏矩阵,且被accept_sparse接受,则accept_large_sparse=False将导致仅当其索引以32位dtype存储时才被接受。
0.20 版本新增。
- dtype‘numeric’, type, list of type or None, default=’numeric’
结果的数据类型。如果为None,则保留输入的数据类型。如果为“numeric”,则除非array.dtype为object,否则保留dtype。如果dtype是类型列表,则仅当输入的数据类型不在列表中时才执行到第一个类型的转换。
- order{‘F’, ‘C’} or None, default=None
是否强制数组为Fortran风格或C风格。当order为None(默认值)时,如果copy=False,则不保证输出数组的内存布局;否则(copy=True),返回数组的内存布局将尽可能接近原始数组。
- copybool, default=False
是否触发强制复制。如果copy=False,转换操作可能会触发复制。
- force_writeablebool, default=False
是否强制输出数组为可写。如果为True,返回的数组保证可写,这可能需要一次复制。否则,保留输入数组的可写性。
版本 1.6 中新增。
- ensure_all_finitebool 或 ‘allow-nan’,默认为 True
是否对数组中的np.inf、np.nan、pd.NA引发错误。可能性如下:
True:强制数组所有值有限。
False:接受数组中的np.inf、np.nan、pd.NA。
‘allow-nan’:仅接受数组中的np.nan和pd.NA值。值不能是无穷大。
版本 1.6 中新增:
force_all_finite已重命名为ensure_all_finite。- ensure_non_negativebool, default=False
确保数组只包含非负值。如果为True,包含负值的数组将引发ValueError。
版本 1.6 中新增。
- ensure_2dbool, default=True
如果数组不是2D,是否引发值错误。
- allow_ndbool, default=False
是否允许 array.ndim > 2。
- ensure_min_samplesint, default=1
确保数组在第一个轴(对于2D数组是行)上具有最小数量的样本。设置为0禁用此检查。
- ensure_min_featuresint, default=1
确保2D数组具有最小数量的特征(列)。默认值1拒绝空数据集。此检查仅在输入数据实际具有2维或原始为1D且
ensure_2d为True时才执行。设置为0禁用此检查。- estimatorstr or estimator instance, default=None
如果传入,则在警告消息中包含估计器名称。
- input_namestr, default=””
用于构建错误消息的数据名称。特别是如果
input_name是“X”,且数据包含NaN值,而allow_nan为False,则错误消息将链接到imputer文档。版本1.1.0新增。
- 返回:
- array_convertedobject
已转换和验证的数组。
示例
>>> from sklearn.utils.validation import check_array >>> X = [[1, 2, 3], [4, 5, 6]] >>> X_checked = check_array(X) >>> X_checked array([[1, 2, 3], [4, 5, 6]])