parametrize_with_checks#

sklearn.utils.estimator_checks.parametrize_with_checks(оценщики, *, устаревший: bool = True, expected_failed_checks: Callable | None = None, xfail_strict: bool | None = None)[источник]#

Специфичный для Pytest декоратор для параметризации проверок оценщиков.

Проверки классифицируются в следующие группы:

  • Проверки API: набор проверок для обеспечения совместимости API с scikit-learn. См. https://scikit-learn.org/dev/developers/develop.html требование оценщиков scikit-learn.

  • legacy: набор проверок, которые постепенно будут сгруппированы в другие категории.

The id каждой проверки установлен как pprint-версия оценщика и имя проверки с ее аргументами ключевых слов. Это позволяет использовать pytest -k чтобы указать, какие тесты запускать:

pytest test_check_estimators.py -k check_estimators_fit_returns_self
Параметры:
оценщикисписок экземпляров оценщиков

Оценщики для генерации проверок.

Изменено в версии 0.24: Передача класса была устаревшей в версии 0.23, и поддержка классов была удалена в 0.24. Вместо этого передавайте экземпляр.

Добавлено в версии 0.24.

устаревшийbool, по умолчанию=True

Включать ли устаревшие проверки. Со временем мы удаляем проверки из этой категории и перемещаем их в их конкретные категории.

Добавлено в версии 1.6.

expected_failed_checksвызываемый объект, по умолчанию=None

Вызываемый объект, который принимает оценщик на вход и возвращает словарь вида:

{
    "check_name": "my reason",
}

Где "check_name" это название проверки, и "my reason" является причиной, по которой проверка не проходит. Эти тесты будут помечены как xfail, если проверка не пройдет.

Добавлено в версии 1.6.

xfail_strictbool, по умолчанию=None

Запускать ли проверки в строгом режиме xfail. Если True, проверки, которые ожидаются к провалу, но фактически проходят, приведут к провалу теста. Если False, неожиданно проходящие тесты будут помечены как xpass. Если None, используется поведение pytest по умолчанию.

Добавлено в версии 1.8.

Возвращает:
декораторpytest.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)