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.parametrizepytest.mark.parametrize

参见

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)