check_is_fitted#

sklearn.utils.validation.check_is_fitted(estimator, attributes=None, *, msg=None, all_or_any= функция все>)[источник]#

Выполнить проверку is_fitted для оценщика.

Проверяет, обучена ли модель, проверяя наличие обученных атрибутов (оканчивающихся подчеркиванием) и в противном случае вызывает NotFittedError с заданным сообщением.

Если оценщик не устанавливает никаких атрибутов с подчеркиванием в конце, он может определить __sklearn_is_fitted__ метод, возвращающий булево значение, чтобы указать, обучен ли оценщик. Смотрите __sklearn_is_fitted__ как API для разработчиков для примера использования API.

Если нет attributes переданы, эта функция пройдет, если оценщик не имеет состояния. Оценщик может указать, что он не имеет состояния, установив requires_fit тег. См. Теги оценщиков для получения дополнительной информации. Обратите внимание, что requires_fit тег игнорируется, если attributes передаются.

Параметры:
estimatorэкземпляр estimator

Экземпляр оценщика, для которого выполняется проверка.

атрибутыstr, list или tuple из str, по умолчанию=None

Имя(имена) атрибута(ов), заданные как строка или список/кортеж строк Например: ["coef_", "estimator_", ...], "coef_"

Если None, estimator считается обученным, если существует атрибут, который заканчивается на подчеркивание и не начинается с двойного подчеркивания.

msgstr, default=None

Сообщение об ошибке по умолчанию: «Этот экземпляр %(name)s ещё не обучен. Вызовите ‘fit’ с соответствующими аргументами перед использованием этого оценщика.»

Для пользовательских сообщений, если “%(name)s” присутствует в строке сообщения, он заменяется на имя оценщика.

Например: “Estimator, %(name)s, must be fitted before sparsifying”.

all_or_anyвызываемый объект, {all, any}, по умолчанию=all

Указать, должны ли существовать все или любые из заданных атрибутов.

Вызывает:
TypeError

Если оценщик является классом или не экземпляром оценщика

NotFittedError

Если атрибуты не найдены.

Примеры

>>> from sklearn.linear_model import LogisticRegression
>>> from sklearn.utils.validation import check_is_fitted
>>> from sklearn.exceptions import NotFittedError
>>> lr = LogisticRegression()
>>> try:
...     check_is_fitted(lr)
... except NotFittedError as exc:
...     print(f"Model is not fitted yet.")
Model is not fitted yet.
>>> lr.fit([[1, 2], [1, 3]], [1, 0])
LogisticRegression()
>>> check_is_fitted(lr)