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
NotFittedErrormit 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 Tagrequires_fitsetzt. Weitere Informationen finden Sie unter Schätzer-Tags. Beachten Sie, dass das Tagrequires_fitignoriert wird, wennattributesü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, wirdestimatorals 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)