check_is_fitted#

sklearn.utils.validation.check_is_fitted(estimator, attributes=None, *, msg=None, all_or_any=<built-in function all>)[源代码]#

执行估计量的拟合验证。

通过验证是否存在匹配的属性(以尾部强调结束)来检查估计量是否被匹配,否则引发 NotFittedError 与给定的消息。

如果估计器没有设置任何带有尾部强调的属性,则可以定义 __sklearn_is_fitted__ 方法返回布尔值以指定估计器是否适合。看到 __sklearn_is_fitted__ 作为开发人员API 了解如何使用API的示例。

如果没有 attributes 如果估计器无状态,则该功能将通过。估计器可以通过设置 requires_fit 标签看到 估计标签 for more information.注意到 requires_fit 如果存在,则会忽略标签 attributes 都通过了。

参数:
estimator估计器实例

对其执行检查的估计实例。

attributes字符串、字符串的列表或数组,默认=无

属性名称以字符串或字符串列表/数组形式给出例如: ["coef_", "estimator_", ...], "coef_"

如果 None , estimator 如果存在以强调线结束且不是以双强调线开始的属性,则被认为是合适的。

msg字符串,默认=无

默认错误消息是,“此%(名称)的实例尚未安装。在使用此估计器之前,用适当的参数调用“fit”。"

对于自定义消息,如果消息字符串中存在“%(名称)s”,则将其替换为估计器名称。

Eg.:“估计值,%(姓名),必须在稀疏化之前进行调整”。

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)