check_array#
- sklearn.utils.check_array(array, 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, ensure_min_samples=1, ensure_min_features=1, estimator=None, input_name='')#
对数组、列表、稀疏矩阵或类似对象的输入验证。
默认情况下,输入被检查为包含仅有限值的非空二维数组。如果数组的数据类型是对象类型,则尝试转换为浮点数,失败时引发错误。
- Parameters:
- arrayobject
要检查/转换的输入对象。
- accept_sparsestr, bool 或 list/tuple of str, default=False
表示允许的稀疏矩阵格式的字符串,如 ‘csc’、’csr’ 等。如果输入是稀疏矩阵但不在允许的格式中,它将被转换为列表中的第一个格式。True 允许输入为任何格式。False 表示稀疏矩阵输入将引发错误。
- accept_large_sparsebool, default=True
如果提供并接受了由 accept_sparse 接受的 CSR、CSC、COO 或 BSR 稀疏矩阵,accept_large_sparse=False 将导致它仅在其索引存储为 32 位数据类型时被接受。
Added in version 0.20.
- dtype‘numeric’, type, list of type or None, default=’numeric’
结果的数据类型。如果为 None,则保留输入的数据类型。如果为 “numeric”,则保留数据类型,除非 array.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,返回的数组保证可写,这可能需要复制。否则,保留输入数组的可写性。
Added in version 1.6.
- force_all_finitebool or ‘allow-nan’, default=True
是否在数组中遇到 np.inf、np.nan、pd.NA 时引发错误。可能的值有:
True: 强制数组的所有值为有限值。
False: 接受数组中的 np.inf、np.nan、pd.NA。
‘allow-nan’: 仅接受数组中的 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
如果数组不是二维的,是否引发值错误。
- allow_ndbool, default=False
是否允许 array.ndim > 2。
- ensure_min_samplesint, default=1
确保数组在其第一个轴(二维数组的行)中具有最小样本数。设置为 0 禁用此检查。
- ensure_min_featuresint, default=1
确保二维数组具有一些最小特征数(列)。默认值 1 拒绝空数据集。仅当输入数据实际上具有二维或最初为一维且
ensure_2d
为 True 时才强制执行此检查。设置为 0 禁用此检查。- estimatorstr or estimator instance, default=None
如果传递,则在警告消息中包含估计器的名称。
- input_namestr, default=””
用于构建错误消息的数据名称。特别是如果
input_name
是 “X” 且数据具有 NaN 值并且 allow_nan 为 False,则错误消息将链接到插补器文档。Added in version 1.1.0.
- Returns:
- array_convertedobject
转换和验证后的数组。
Examples
>>> 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]])