FixedThresholdClassifier#
- class sklearn.model_selection.FixedThresholdClassifier(estimator, *, threshold='auto', pos_label=None, response_method='auto')[source]#
Binärer Klassifikator, der die Entscheidungsschwelle manuell festlegt.
Dieser Klassifikator ermöglicht die Änderung des standardmäßigen Entscheidungsschwellenwerts, der zur Umwandlung von Wahrscheinlichkeitsschätzungen (d. h. Ausgabe von
predict_proba) oder Entscheidungswerten (d. h. Ausgabe vondecision_function) in eine Klassenbezeichnung verwendet wird.Hier wird der Schwellenwert nicht optimiert, sondern auf einen konstanten Wert gesetzt.
Lesen Sie mehr im Benutzerhandbuch.
Hinzugefügt in Version 1.5.
- Parameter:
- estimatorSchätzer-Instanz
Der binäre Klassifikator, egal ob trainiert oder nicht, für den wir den Entscheidungsschwellenwert während
predictoptimieren möchten.- threshold{„auto“} oder float, Standard=”auto”
Der zu verwendende Entscheidungsschwellenwert bei der Umwandlung von Wahrscheinlichkeitsschätzungen (d. h. Ausgabe von
predict_proba) oder Entscheidungswerten (d. h. Ausgabe vondecision_function) in eine Klassenbezeichnung. Wenn"auto", wird der Schwellenwert auf 0,5 gesetzt, wennpredict_probaalsresponse_methodverwendet wird, andernfalls wird er auf 0 gesetzt (d. h. der Standard-Schwellenwert fürdecision_function).- pos_labelint, float, bool oder str, Standardwert=None
Die Bezeichnung der positiven Klasse. Wird zur Verarbeitung der Ausgabe der Methode
response_methodverwendet. Wennpos_label=None, wird, wenny_truein{-1, 1}oder{0, 1}ist,pos_labelauf 1 gesetzt, andernfalls wird ein Fehler ausgelöst.- response_method{„auto“, „decision_function“, „predict_proba“}, Standard=”auto”
Methoden des Klassifikators
estimator, die der Entscheidungsmethode entsprechen, für die wir einen Schwellenwert finden möchten. Sie kann seinWenn
"auto", wird versucht,"predict_proba"oder"decision_function"in dieser Reihenfolge aufzurufen.Andernfalls eine von
"predict_proba"oder"decision_function". Wenn die Methode nicht vom Klassifikator implementiert wird, wird ein Fehler ausgelöst.
- Attribute:
- estimator_Instanz des Schätzers
Der trainierte Klassifikator, der bei der Vorhersage verwendet wird.
classes_ndarray der Form (n_classes,)Klassenbezeichnungen.
- n_features_in_int
Anzahl der während fit gesehenen Merkmale. Nur definiert, wenn der zugrunde liegende Schätzer ein solches Attribut nach dem Training bereitstellt.
- feature_names_in_ndarray mit Form (
n_features_in_,) Namen von Features, die während fit gesehen wurden. Nur definiert, wenn der zugrunde liegende Estimator ein solches Attribut nach dem Anpassen exponiert.
Siehe auch
sklearn.model_selection.TunedThresholdClassifierCVKlassifikator, der den Entscheidungsschwellenwert basierend auf einigen Metriken und unter Verwendung von Kreuzvalidierung nachträglich abstimmt.
sklearn.calibration.CalibratedClassifierCVSchätzer, der Wahrscheinlichkeiten kalibriert.
Beispiele
>>> from sklearn.datasets import make_classification >>> from sklearn.linear_model import LogisticRegression >>> from sklearn.metrics import confusion_matrix >>> from sklearn.model_selection import FixedThresholdClassifier, train_test_split >>> X, y = make_classification( ... n_samples=1_000, weights=[0.9, 0.1], class_sep=0.8, random_state=42 ... ) >>> X_train, X_test, y_train, y_test = train_test_split( ... X, y, stratify=y, random_state=42 ... ) >>> classifier = LogisticRegression(random_state=0).fit(X_train, y_train) >>> print(confusion_matrix(y_test, classifier.predict(X_test))) [[217 7] [ 19 7]] >>> classifier_other_threshold = FixedThresholdClassifier( ... classifier, threshold=0.1, response_method="predict_proba" ... ).fit(X_train, y_train) >>> print(confusion_matrix(y_test, classifier_other_threshold.predict(X_test))) [[184 40] [ 6 20]]
- decision_function(X)[source]#
Entscheidungsfunktion für Stichproben in
Xunter Verwendung des trainierten Schätzers.- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Trainingsvektoren, wobei
n_samplesdie Anzahl der Stichproben undn_featuresdie Anzahl der Merkmale ist.
- Gibt zurück:
- decisionsndarray der Form (n_samples,)
Die vom trainierten Schätzer berechnete Entscheidungsfunktion.
- fit(X, y, **params)[source]#
Trainiere den Klassifikator.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Trainingsdaten.
- yarray-like von Form (n_samples,)
Zielwerte.
- **paramsdict
Parameter, die an die
fit-Methode des zugrunde liegenden Klassifikators übergeben werden.
- Gibt zurück:
- selfobject
Gibt eine Instanz von self zurück.
- get_metadata_routing()[source]#
Holt das Metadaten-Routing dieses Objekts.
Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.
- Gibt zurück:
- routingMetadataRouter
Ein
MetadataRouter, der die Routing-Informationen kapselt.
- get_params(deep=True)[source]#
Holt Parameter für diesen Schätzer.
- Parameter:
- deepbool, default=True
Wenn True, werden die Parameter für diesen Schätzer und die enthaltenen Unterobjekte, die Schätzer sind, zurückgegeben.
- Gibt zurück:
- paramsdict
Parameternamen, zugeordnet ihren Werten.
- predict(X)[source]#
Sagen Sie das Ziel neuer Stichproben voraus.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Stichproben, wie sie von
estimator.predictakzeptiert werden.
- Gibt zurück:
- class_labelsndarray der Form (n_samples,)
Die vorhergesagte Klasse.
- predict_log_proba(X)[source]#
Logarithmus der Klassenwahrscheinlichkeiten für
Xunter Verwendung des trainierten Schätzers vorhersagen.- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Trainingsvektoren, wobei
n_samplesdie Anzahl der Stichproben undn_featuresdie Anzahl der Merkmale ist.
- Gibt zurück:
- log_probabilitiesndarray der Form (n_samples, n_classes)
Die Logarithmen der Klassenwahrscheinlichkeiten der Eingabestichproben.
- predict_proba(X)[source]#
Klassenwahrscheinlichkeiten für
Xunter Verwendung des trainierten Schätzers vorhersagen.- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Trainingsvektoren, wobei
n_samplesdie Anzahl der Stichproben undn_featuresdie Anzahl der Merkmale ist.
- Gibt zurück:
- probabilitiesndarray der Form (n_samples, n_classes)
Die Klassenwahrscheinlichkeiten der Eingabemuster.
- score(X, y, sample_weight=None)[source]#
Gibt die Genauigkeit für die bereitgestellten Daten und Bezeichnungen zurück.
Bei der Multi-Label-Klassifizierung ist dies die Subset-Genauigkeit, eine strenge Metrik, da für jede Stichprobe verlangt wird, dass jede Label-Menge korrekt vorhergesagt wird.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Teststichproben.
- yarray-like der Form (n_samples,) oder (n_samples, n_outputs)
Wahre Bezeichnungen für
X.- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte.
- Gibt zurück:
- scorefloat
Mittlere Genauigkeit von
self.predict(X)in Bezug aufy.
- set_params(**params)[source]#
Setzt die Parameter dieses Schätzers.
Die Methode funktioniert sowohl bei einfachen Schätzern als auch bei verschachtelten Objekten (wie
Pipeline). Letztere haben Parameter der Form<component>__<parameter>, so dass es möglich ist, jede Komponente eines verschachtelten Objekts zu aktualisieren.- Parameter:
- **paramsdict
Schätzer-Parameter.
- Gibt zurück:
- selfestimator instance
Schätzer-Instanz.
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') FixedThresholdClassifier[source]#
Konfiguriert, ob Metadaten für die
score-Methode angefordert werden sollen.Beachten Sie, dass diese Methode nur relevant ist, wenn dieser Schätzer als Unter-Schätzer innerhalb eines Meta-Schätzers verwendet wird und Metadaten-Routing mit
enable_metadata_routing=Trueaktiviert ist (siehesklearn.set_config). Bitte lesen Sie das Benutzerhandbuch, um zu erfahren, wie der Routing-Mechanismus funktioniert.Die Optionen für jeden Parameter sind
True: Metadaten werden angefordert und, falls vorhanden, anscoreübergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht anscore.None: Metadaten werden nicht angefordert und der Meta-Schätzer löst einen Fehler aus, wenn der Benutzer sie bereitstellt.str: Metadaten sollten mit diesem Alias an den Meta-Schätzer übergeben werden und nicht mit dem ursprünglichen Namen.
Der Standardwert (
sklearn.utils.metadata_routing.UNCHANGED) behält die bestehende Anforderung bei. Dies ermöglicht es Ihnen, die Anforderung für einige Parameter zu ändern und für andere nicht.Hinzugefügt in Version 1.3.
- Parameter:
- sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED
Metadaten-Routing für den Parameter
sample_weightinscore.
- Gibt zurück:
- selfobject
Das aktualisierte Objekt.
Galeriebeispiele#
Visualisierung der probabilistischen Vorhersagen eines VotingClassifier
Post-Hoc-Anpassung des Entscheidungsschwellenwerts für kostenempfindliches Lernen