Spec-Zone.ru › scikit-learn

parametrize_with_checks

sklearn.utils.estimator_checks.parametrize_with_checks(estimators, *, legacy:bool=True, expected_failed_checks:Callable|None=None, xfail_strict:bool|None=None)[source]

Pytest specific decorator for parametrizing estimator checks.

Checks are categorised into the following groups:

  • API checks: a set of checks to ensure API compatibility with scikit-learn. Refer to https://scikit-learn.org/dev/developers/develop.html a requirement of scikit-learn estimators.
  • legacy: a set of checks which gradually will be grouped into other categories.

The id of each check is set to be a pprint version of the estimator and the name of the check with its keyword arguments. This allows to use pytest -k to specify which tests to run:

pytest test_check_estimators.py -k check_estimators_fit_returns_self
Parameters:
estimatorslist of estimators instances

Estimators to generated checks for.

Changed in version 0.24: Passing a class was deprecated in version 0.23, and support for classes was removed in 0.24. Pass an instance instead.

Added in version 0.24.

legacybool, default=True

Whether to include legacy checks. Over time we remove checks from this category and move them into their specific category.

Added in version 1.6.

expected_failed_checkscallable, default=None

A callable that takes an estimator as input and returns a dictionary of the form:

{
    "check_name": "my reason",
}

Where "check_name" is the name of the check, and "my reason" is why the check fails. These tests will be marked as xfail if the check fails.

Added in version 1.6.

xfail_strictbool, default=None

Whether to run checks in xfail strict mode. If True, checks that are expected to fail but actually pass will lead to a test failure. If False, unexpectedly passing tests will be marked as xpass. If None, the default pytest behavior is used.

Added in version 1.8.

Returns:
decoratorpytest.mark.parametrize

See also

check_estimator

Check if estimator adheres to scikit-learn conventions.

Examples

>>> 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)

Gallery examples

Release Highlights for scikit-learn 0.22

Release Highlights for scikit-learn 1.6

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.utils.estimator_checks.parametrize_with_checks.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API