check_estimator
- sklearn.utils.estimator_checks.check_estimator(estimator=None, *, legacy:bool=True, expected_failed_checks:dict[str,str]|None=None, on_skip:Literal['warn']|None='warn', on_fail:Literal['raise','warn']|None='raise', callback:Callable|None=None)[исходный код]
-
Проверяет, соответствует ли оценщик соглашениям scikit-learn.
Эта функция запускает обширный набор тестов для проверки входных данных, форм и т. д., чтобы убедиться, что оценщик соответствует соглашениям
scikit-learn, описанным в Создание собственного оценщика. Дополнительные тесты для классификаторов, регрессоров, алгоритмов кластеризации или преобразователей будут запущены, если класс оценщика наследует соответствующий mixin из sklearn.base.В scikit-learn также есть специальный декоратор для pytest —
parametrize_with_checks, упрощающий тестирование нескольких оценщиков.Проверки разделены на следующие группы:
- Проверки API: набор проверок, обеспечивающих совместимость API со scikit-learn. См. https://scikit-learn.org/dev/developers/develop.html — это требование к оценщикам scikit-learn.
- Устаревшие: набор проверок, которые постепенно будут распределены по другим категориям.
- Параметры:
-
- estimatorобъект-оценщик
-
Экземпляр оценщика для проверки.
- legacybool, по умолчанию=True
-
Указывает, следует ли включать устаревшие проверки. Со временем проверки удаляются из этой категории и переносятся в соответствующие категории.
Добавлено в версии 1.6.
- expected_failed_checksdict, по умолчанию=None
-
Словарь следующего вида:
{ "check_name": "this check is expected to fail because ...", }Где
"check_name"— имя проверки, а"my reason"— причина её сбоя.Добавлено в версии 1.6.
- on_skip«warn», None, по умолчанию «warn»
-
Этот параметр определяет, что происходит при пропуске проверки.
- «warn»: регистрируется
SkipTestWarning, и выполнение тестов продолжается. - None: предупреждение не регистрируется, и выполнение тестов продолжается.
Добавлено в версии 1.6.
- «warn»: регистрируется
- on_fail{«raise», «warn»}, None, по умолчанию «raise»
-
Этот параметр определяет, что происходит при сбое проверки.
- «raise»: вызывается исключение, возникшее при первой неудачной проверке, и выполнение тестов прекращается. Это не относится к тестам, которые должны завершиться с ошибкой.
- «warn»: регистрируется
EstimatorCheckFailedWarning, и выполнение тестов продолжается. - None: исключение не вызывается и предупреждение не регистрируется.
Обратите внимание: если
on_fail != "raise", исключение не вызывается, даже если проверки завершаются с ошибкой. Чтобы определить, завершились ли какие-либо проверки с ошибкой, необходимо изучить результат, возвращаемыйcheck_estimator.Добавлено в версии 1.6.
- callbackвызываемый объект или None, по умолчанию=None
-
Этот callback будет вызван с оценщиком и именем проверки, исключением (если оно возникло), статусом проверки (xfail, failed, skipped, passed) и причиной ожидаемого сбоя, если проверка должна завершиться с ошибкой. Сигнатура вызываемого объекта должна иметь следующий вид:
def callback( estimator, check_name: str, exception: Exception, status: Literal["xfail", "failed", "skipped", "passed"], expected_to_fail: bool, expected_to_fail_reason: str, )callbackнельзя передавать вместе сon_fail="raise".Добавлено в версии 1.6.
- Возвращает:
-
- test_resultslist
-
Список словарей с результатами неудачных тестов следующего вида:
{ "estimator": estimator, "check_name": check_name, "exception": exception, "status": status (one of "xfail", "failed", "skipped", "passed"), "expected_to_fail": expected_to_fail, "expected_to_fail_reason": expected_to_fail_reason, }
- Вызывает исключения:
-
- Exception
-
Если
on_fail="raise", вызывается исключение, возникшее при первой неудачной проверке, и выполнение тестов прекращается.Обратите внимание: если
on_fail != "raise", исключение не вызывается, даже если проверки завершаются с ошибкой. Чтобы определить, завершились ли какие-либо проверки с ошибкой, необходимо изучить результат, возвращаемыйcheck_estimator.
См. также
parametrize_with_checks-
Специальный декоратор для pytest, позволяющий параметризовать проверки оценщиков.
estimator_checks_generator-
Генератор, возвращающий кортежи (оценщик, проверка).
Примеры
>>> from sklearn.utils.estimator_checks import check_estimator >>> from sklearn.linear_model import LogisticRegression >>> check_estimator(LogisticRegression()) [...]
Примеры из галереи
© 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.check_estimator.html