LabelBinarizer#
- class sklearn.preprocessing.LabelBinarizer(*, neg_label=0, pos_label=1, sparse_output=False)[Quelle]#
Binarisiert Labels im One-vs-all-Verfahren.
In scikit-learn stehen mehrere Regressions- und binäre Klassifikationsalgorithmen zur Verfügung. Eine einfache Möglichkeit, diese Algorithmen auf den Mehrklassen-Klassifikationsfall zu erweitern, ist die Verwendung des sogenannten One-vs-All-Schemas.
Während des Lernens besteht dies einfach darin, einen Regressor oder binären Klassifikator pro Klasse zu lernen. Dabei müssen Mehrklassen-Labels in binäre Labels umgewandelt werden (gehört zur Klasse oder nicht).
LabelBinarizererleichtert diesen Prozess mit der `transform`-Methode.Während der Vorhersage wird die Klasse zugewiesen, für die das entsprechende Modell die höchste Konfidenz ergab.
LabelBinarizererleichtert dies mit derinverse_transform-Methode.Mehr dazu im Benutzerhandbuch.
- Parameter:
- neg_labelint, Standardwert=0
Wert, mit dem negative Labels kodiert werden müssen.
- pos_labelint, Standardwert=1
Wert, mit dem positive Labels kodiert werden müssen.
- sparse_outputbool, Standard=False
True, wenn das von `transform` zurückgegebene Array im Sparse-CSR-Format gewünscht ist.
- Attribute:
- classes_ndarray der Form (n_classes,)
Enthält das Label für jede Klasse.
- y_type_str
Repräsentiert den von
type_of_targetausgewerteten Typ der Ziel-Daten. Mögliche Typen sind 'continuous', 'continuous-multioutput', 'binary', 'multiclass', 'multiclass-multioutput', 'multilabel-indicator' und 'unknown'.- sparse_input_bool
True, wenn die Eingabedaten für `transform` als spärrige Matrix übergeben werden,Falseandernfalls.
Siehe auch
label_binarizeFunktion zur Durchführung der `transform`-Operation von LabelBinarizer mit festen Klassen.
OneHotEncoderKodiert kategoriale Merkmale unter Verwendung eines One-Hot- bzw. One-of-K-Schemas.
Beispiele
>>> from sklearn.preprocessing import LabelBinarizer >>> lb = LabelBinarizer() >>> lb.fit([1, 2, 6, 4, 2]) LabelBinarizer() >>> lb.classes_ array([1, 2, 4, 6]) >>> lb.transform([1, 6]) array([[1, 0, 0, 0], [0, 0, 0, 1]])
Binäre Ziele werden in einen Spaltenvektor transformiert.
>>> lb = LabelBinarizer() >>> lb.fit_transform(['yes', 'no', 'no', 'yes']) array([[1], [0], [0], [1]])
Übergabe einer 2D-Matrix für Mehrfachklassifikation.
>>> import numpy as np >>> lb.fit(np.array([[0, 1, 1], [1, 0, 0]])) LabelBinarizer() >>> lb.classes_ array([0, 1, 2]) >>> lb.transform([0, 1, 2, 1]) array([[1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0]])
- fit(y)[Quelle]#
Fit-Label-Binarizer.
- Parameter:
- yndarray der Form (n_samples,) oder (n_samples, n_classes)
Zielwerte. Die 2D-Matrix sollte nur 0 und 1 enthalten und eine Mehrfachklassifikation darstellen.
- Gibt zurück:
- selfobject
Gibt die Instanz selbst zurück.
- fit_transform(y)[Quelle]#
Fit-Label-Binarizer/Transformiere Mehrklassen-Labels in binäre Labels.
Die Ausgabe von `transform` wird manchmal als 1-of-K-Codierungsschema bezeichnet.
- Parameter:
- y{ndarray, sparse matrix} der Form (n_samples,) oder (n_samples, n_classes)
Zielwerte. Die 2D-Matrix sollte nur 0 und 1 enthalten und eine Mehrfachklassifikation darstellen. Spärliche Matrizen können CSR, CSC, COO, DOK oder LIL sein.
- Gibt zurück:
- Y{ndarray, sparse matrix} von Form (n_samples, n_classes)
Die Form ist (n_samples, 1) für binäre Probleme. Die spärliche Matrix ist im CSR-Format.
- get_metadata_routing()[Quelle]#
Holt das Metadaten-Routing dieses Objekts.
Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.
- Gibt zurück:
- routingMetadataRequest
Ein
MetadataRequest, der Routing-Informationen kapselt.
- get_params(deep=True)[Quelle]#
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.
- inverse_transform(Y, threshold=None)[Quelle]#
Transformiere binäre Labels zurück in Mehrklassen-Labels.
- Parameter:
- Y{ndarray, sparse matrix} von Form (n_samples, n_classes)
Zielwerte. Alle spärlichen Matrizen werden vor der inversen Transformation in CSR konvertiert.
- thresholdfloat, Standardwert=None
Schwellenwert, der in den binären und Mehrfachlabel-Fällen verwendet wird.
Verwende 0, wenn
Ydie Ausgabe der decision_function (Klassifikator) enthält. Verwende 0.5, wennYdie Ausgabe von predict_proba enthält.Wenn None, wird der Schwellenwert auf halbem Weg zwischen `neg_label` und `pos_label` angenommen.
- Gibt zurück:
- y_original{ndarray, sparse matrix} der Form (n_samples,)
Zielwerte. Spärliche Matrix ist im CSR-Format.
Anmerkungen
In dem Fall, wenn die binären Labels gebrochen-rational sind (probabilistisch), wählt
inverse_transformdie Klasse mit dem größten Wert aus. Dies ermöglicht typischerweise, die Ausgabe der decision_function-Methode eines linearen Modells direkt als Eingabe fürinverse_transformzu verwenden.
- set_inverse_transform_request(*, threshold: bool | None | str = '$UNCHANGED$') LabelBinarizer[Quelle]#
Konfiguriert, ob Metadaten für die Methode
inverse_transformangefordert 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, aninverse_transformübergeben. Die Anfrage wird ignoriert, wenn keine Metadaten vorhanden sind.False: Metadaten werden nicht angefordert und der Meta-Estimator übergibt sie nicht aninverse_transform.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:
- thresholdstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED
Metadaten-Routing für den Parameter
thresholdininverse_transform.
- Gibt zurück:
- selfobject
Das aktualisierte Objekt.
- set_output(*, transform=None)[Quelle]#
Ausgabecontainer festlegen.
Siehe Einführung in die set_output API für ein Beispiel zur Verwendung der API.
- Parameter:
- transform{“default”, “pandas”, “polars”}, default=None
Konfiguriert die Ausgabe von
transformundfit_transform."default": Standardausgabeformat eines Transformers"pandas": DataFrame-Ausgabe"polars": Polars-AusgabeNone: Die Transformationskonfiguration bleibt unverändert
Hinzugefügt in Version 1.4: Die Option
"polars"wurde hinzugefügt.
- Gibt zurück:
- selfestimator instance
Schätzer-Instanz.
- set_params(**params)[Quelle]#
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.
- transform(y)[Quelle]#
Transformiere Mehrklassen-Labels in binäre Labels.
Die Ausgabe von `transform` wird von einigen Autoren manchmal als 1-of-K-Codierungsschema bezeichnet.
- Parameter:
- y{array, sparse matrix} der Form (n_samples,) oder (n_samples, n_classes)
Zielwerte. Die 2D-Matrix sollte nur 0 und 1 enthalten und eine Mehrfachklassifikation darstellen. Spärliche Matrizen können CSR, CSC, COO, DOK oder LIL sein.
- Gibt zurück:
- Y{ndarray, sparse matrix} von Form (n_samples, n_classes)
Die Form ist (n_samples, 1) für binäre Probleme. Die spärliche Matrix ist im CSR-Format.
Galeriebeispiele#
Multiklassen-Receiver Operating Characteristic (ROC)