Spec-Zone.ru › scikit-learn

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.

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())
[...]

Примеры из галереи

Основные нововведения 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.check_estimator.html

Spec-Zone.ru

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