check_is_fitted#

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

Führt eine is_fitted-Validierung für den Schätzer durch.

Überprüft, ob der Schätzer angepasst wurde, indem das Vorhandensein von angepassten Attributen (die mit einem nachgestellten Unterstrich enden) verifiziert wird, andernfalls wird ein NotFittedError mit der angegebenen Nachricht ausgelöst.

Wenn ein Schätzer keine Attribute mit einem nachgestellten Unterstrich setzt, kann er eine __sklearn_is_fitted__ Methode definieren, die einen booleschen Wert zurückgibt, um anzugeben, ob der Schätzer angepasst ist oder nicht. Siehe __sklearn_is_fitted__ als Entwickler-API für ein Beispiel zur Verwendung der API.

Wenn keine attributes übergeben werden, besteht diese Funktion, wenn ein Schätzer zustandslos ist. Ein Schätzer kann angeben, dass er zustandslos ist, indem er das Tag requires_fit setzt. Weitere Informationen finden Sie unter Schätzer-Tags. Beachten Sie, dass das Tag requires_fit ignoriert wird, wenn attributes übergeben werden.

Parameter:
estimatorSchätzer-Instanz

Schätzer-Instanz, für die die Überprüfung durchgeführt wird.

attributesstr, Liste oder Tupel von str, Standard=None

Attributname(n) als Zeichenkette oder als Liste/Tupel von Zeichenketten, z.B.: ["coef_", "estimator_", ...], "coef_"

Wenn None, wird estimator als angepasst betrachtet, wenn ein Attribut existiert, das mit einem Unterstrich endet und nicht mit einem doppelten Unterstrich beginnt.

msgstr, Standard=None

Die Standardfehlermeldung lautet: „Diese %(name)s Instanz ist noch nicht angepasst. Rufen Sie ‚fit‘ mit den entsprechenden Argumenten auf, bevor Sie diesen Schätzer verwenden.“

Bei benutzerdefinierten Nachrichten wird „%(name)s“ durch den Namen des Schätzers ersetzt, wenn es in der Nachrichten-Zeichenkette vorhanden ist.

Z.B.: „Schätzer, %(name)s, muss vor dem Sparsifizieren angepasst werden.“

all_or_anycallable, {all, any}, Standard=all

Gibt an, ob alle oder einige der angegebenen Attribute vorhanden sein müssen.

Löst aus:
TypeError

Wenn der Schätzer eine Klasse oder keine Schätzer-Instanz ist

NotFittedError

Wenn die Attribute nicht gefunden werden.

Beispiele

>>> 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)