带检查的参数化#
- sklearn.utils.estimator_checks.parametrize_with_checks(estimators, *, legacy: bool = True, expected_failed_checks: Callable | None = None)[source]#
- 用于参数化估计器检查的 Pytest 专用装饰器。 - 检查被分为以下几组: - API 检查:一组检查,以确保与 scikit-learn 的 API 兼容性。请参考 https://scikit-learn.cn/dev/developers/develop.html,这是 scikit-learn 估计器的要求。 
- legacy:一组检查,这些检查将逐渐被归入其他类别。 
 - 每个检查的 - id被设置为估计器的 pprint 版本和检查名称及其关键字参数。这允许使用- pytest -k指定要运行的测试。- pytest test_check_estimators.py -k check_estimators_fit_returns_self - 参数:
- estimators估计器实例列表
- 为其生成检查的估计器。 - 0.24 版本中的变更: 在 0.23 版本中弃用传递类,在 0.24 版本中删除了对类的支持。请改用实例。 - 0.24 版本中新增。 
- legacy布尔值,默认为 True
- 是否包含 legacy 检查。随着时间的推移,我们将从该类别中删除检查并将它们移动到其特定类别。 - 1.6 版本中新增。 
- expected_failed_checks可调用对象,默认为 None
- 一个可调用对象,它接受一个估计器作为输入并返回一个字典,其形式为: - { "check_name": "my reason", } - 其中 - "check_name"是检查的名称,- "my reason"是检查失败的原因。如果检查失败,这些测试将被标记为 xfail。- 1.6 版本中新增。 
 
- 返回值:
- decoratorpytest.mark.parametrize
 
- decorator
 - 另请参见 - 检查估计器
- 检查估计器是否符合 scikit-learn 约定。 
 - 示例 - >>> from sklearn.utils.estimator_checks import parametrize_with_checks >>> from sklearn.linear_model import LogisticRegression >>> from sklearn.tree import DecisionTreeRegressor - >>> @parametrize_with_checks([LogisticRegression(), ... DecisionTreeRegressor()]) ... def test_sklearn_compatible_estimator(estimator, check): ... check(estimator) 
 
     
