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)