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_paramsmulti_outputy_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_arraycheck_X_y 检查 Xy

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 元组,用于分别在 Xy 上调用 check_array

estimator=self 会自动添加到这些字典中,以便在输入数据无效时生成更具信息量的错误消息。

skip_check_array布尔型, 默认为 False

如果为 True,则 Xy 不变,只检查 feature_names_in_n_features_in_。否则,会在 Xy 上调用 check_array

**check_params关键字参数 (kwargs)

传递给 check_arraycheck_X_y 的参数。如果 validate_separately 不为 False,则忽略。

estimator=self 会自动添加到这些参数中,以便在输入数据无效时生成更具信息量的错误消息。

返回:
out{ndarray, 稀疏矩阵} 或它们的元组

已验证的输入。如果 Xy 都经过验证,则返回一个元组。