parametrize_with_checks#
- sklearn.utils.estimator_checks.parametrize_with_checks(estimators, *, legacy: bool = True, expected_failed_checks: Callable | None = None)[源代码]#
用于参数化估计器检查的Pytest特定装饰器。
支票分为以下组:
API检查:一组检查,以确保API与scikit-learn兼容。请参阅https://scikit-learn.org/dev/developers/develop.html scikit-learn估计器的要求。
遗产:一组支票,将逐渐分组为其他类别。
的
id
每个检查的pprint版本被设置为估计器的ppprint版本以及检查的名称及其关键字参数。这允许使用pytest -k
指定要运行的测试:pytest test_check_estimators.py -k check_estimators_fit_returns_self
- 参数:
- estimators估计器实例列表
要为其生成检查的估算人员。
在 0.24 版本发生变更: 0.23版本中不建议传递类,0.24版本中删除了对类的支持。改为传递实例。
Added in version 0.24.
- legacy布尔,默认=True
是否包括遗留检查。随着时间的推移,我们将支票从此类别中删除并将其移至其特定类别中。
Added in version 1.6.
- expected_failed_checks可调用,默认值=无
一个可调用的对象,以估计器作为输入并返回形式为::
{ "check_name": "my reason", }
哪里
"check_name"
是支票的名称,并且"my reason"
就是检查失败的原因如果检查失败,这些测试将标记为xfail。Added in version 1.6.
- 返回:
- decorator :
pytest.mark.parametrize
pytest.mark.parametrize
- decorator :
参见
check_estimator
检查估计器是否遵守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)