validate_data#
- sklearn.utils.validation.validate_data(_estimator, /, X='no_validation', y='no_validation', reset=True, validate_separately=False, skip_check_array=False, **check_params)[source]#
验证输入数据并设置或检查输入数据的特征名称和数量。
此辅助函数应在需要输入验证的估计器中使用。它会修改估计器,并在
reset=True时设置n_features_in_和feature_names_in_属性。新增于 1.6 版本。
- 参数:
- _estimator估计器实例
要验证输入的估计器。
- X{类数组, 稀疏矩阵, 数据帧} 形状为 (n_samples, n_features), 默认为 'no validation'
输入样本。如果为
'no_validation',则不对X执行验证。这对于元估计器非常有用,因为它们可以将输入验证委托给其底层估计器。在这种情况下,必须传入y,且唯一接受的check_params为multi_output和y_numeric。- y类数组,形状为 (n_samples,), 默认为 'no_validation'
目标变量。
如果为
None,则在X上调用check_array。如果估计器的requires_y标记为 True,则会引发错误。如果为
'no_validation',则在X上调用check_array,并忽略估计器的requires_y标记。这是一个默认占位符,不应明确设置。在这种情况下,必须传入X。否则,仅使用
_check_y检查y,或根据validate_separately使用check_array或check_X_y检查X和y。
- reset布尔型, 默认为 True
是否重置
n_features_in_属性。如果为 False,则会检查输入与上次 reset 为 True 时提供的数据是否一致。注意
建议在
fit方法中以及第一次调用partial_fit时设置reset=True。所有其他验证X的方法都应将reset设置为False。- validate_separatelyFalse 或 字典元组, 默认为 False
仅在
y不为None时使用。如果为False,则调用check_X_y。否则,它必须是一个 kwargs 元组,用于分别在X和y上调用check_array。estimator=self会自动添加到这些字典中,以便在输入数据无效时生成更具信息量的错误消息。- skip_check_array布尔型, 默认为 False
如果为
True,则X和y不变,只检查feature_names_in_和n_features_in_。否则,会在X和y上调用check_array。- **check_params关键字参数 (kwargs)
传递给
check_array或check_X_y的参数。如果 validate_separately 不为 False,则忽略。estimator=self会自动添加到这些参数中,以便在输入数据无效时生成更具信息量的错误消息。
- 返回:
- out{ndarray, 稀疏矩阵} 或它们的元组
已验证的输入。如果
X和y都经过验证,则返回一个元组。