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='deprecated', ensure_all_finite=None, ensure_non_negative=False, ensure_2d=True, allow_nd=False, ensure_min_samples=1, ensure_min_features=1, estimator=None, input_name='')[源代码]#
数组、列表、稀疏矩阵或类似矩阵上的输入验证。
默认情况下,输入被检查为仅包含有限值的非空2D数组。如果数组的dype为对象,请尝试转换为float,并在失败时引发。
- 参数:
- array对象
输入要检查/转换的对象。
- accept_sparse字符串、布尔或字符串的列表/tuple,默认=False
字符串 [s] 表示允许的稀疏矩阵格式,例如“cscs”、“csr”等。如果输入是稀疏的,但不是允许的格式,则它将被转换为第一个列出的格式。True允许输入是任何格式。假意味着稀疏矩阵输入将引发错误。
- accept_large_sparse布尔,默认=True
如果提供并接受_sparse接受CSR、CSC、COO或SVR稀疏矩阵,则接受_large_sparse=False将导致其仅在其索引以32位dype存储时才被接受。
Added in version 0.20.
- dtype“numeric”、类型、类型列表或无,默认=“numeric”
结果的数据类型。如果无,则保留输入的dype。如果是“numeric”,则保留dype,除非数组. dype是对象。如果dType是类型列表,则仅当输入的dType不在列表中时,才会对第一个类型执行转换。
- order' F '、' C '或无,默认=无
数组是否会强制为fortran或c风格。当order为“无”(默认)时,如果Copy=False,则不会确保输出阵列的内存布局;否则(Copy=True)返回阵列的内存布局将尽可能接近原始阵列。
- copy布尔,默认=假
是否会触发强制复制。如果复制=False,则复制可能会由转换触发。
- force_writeable布尔,默认=假
是否强制输出数组可写。如果为True,则保证返回的数组是可写的,这可能需要副本。否则,输入数组的可写性将保留。
Added in version 1.6.
- force_all_finitebool或'allow-nan',默认值=True
是否在数组中的pp.inf、pp.nan、pd. NA上引发错误。可能性有:
True:强制数组的所有值为有限。
False:接受数组中的NP.inf、NP.nan、PD.NA。
' allow-nan ':仅接受数组中的pp.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上引发错误。可能性有:
True:强制数组的所有值为有限。
False:接受数组中的NP.inf、NP.nan、PD.NA。
' allow-nan ':仅接受数组中的pp.nan和pd.NA值。价值观不可能无限。
Added in version 1.6:
force_all_finite
更名为ensure_all_finite
.- ensure_non_negative布尔,默认=假
确保数组仅具有非负值。如果为True,包含负值的数组将引发ValueHelp。
Added in version 1.6.
- ensure_2d布尔,默认=True
如果数组不是2D,是否引发值错误。
- allow_nd布尔,默认=假
是否允许数组.ndim > 2。
- ensure_min_samplesint,默认=1
确保阵列在其第一个轴上具有最少数量的样本(2D阵列的行)。设置为0将禁用此检查。
- ensure_min_featuresint,默认=1
确保2D阵列具有最少数量的特征(列)。默认值1拒绝空数据集。仅当输入数据实际上具有2维或最初是1D且
ensure_2d
是真的设置为0将禁用此检查。- estimator字符串或估计器实例,默认=无
如果通过,请在警告消息中包含估计器的名称。
- input_name字符串,默认=“”
用于构造错误消息的数据名称。特别是如果
input_name
是“X”并且数据具有NaN值并且allow_nan为False,则错误消息将链接到估算器文档。Added in version 1.1.0.
- 返回:
- array_converted对象
已转换和验证的数组。
示例
>>> 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]])