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). LabelBinarizer erleichtert 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. LabelBinarizer erleichtert dies mit der inverse_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_target ausgewerteten 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,

False andernfalls.

Siehe auch

label_binarize

Funktion zur Durchführung der `transform`-Operation von LabelBinarizer mit festen Klassen.

OneHotEncoder

Kodiert 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 Y die Ausgabe der decision_function (Klassifikator) enthält. Verwende 0.5, wenn Y die 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_transform die Klasse mit dem größten Wert aus. Dies ermöglicht typischerweise, die Ausgabe der decision_function-Methode eines linearen Modells direkt als Eingabe für inverse_transform zu verwenden.

set_inverse_transform_request(*, threshold: bool | None | str = '$UNCHANGED$') LabelBinarizer[Quelle]#

Konfiguriert, ob Metadaten für die Methode inverse_transform 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=True aktiviert ist (siehe sklearn.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, an inverse_transform übergeben. Die Anfrage wird ignoriert, wenn keine Metadaten vorhanden sind.

  • False: Metadaten werden nicht angefordert und der Meta-Estimator übergibt sie nicht an inverse_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 threshold in inverse_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 transform und fit_transform.

  • "default": Standardausgabeformat eines Transformers

  • "pandas": DataFrame-Ausgabe

  • "polars": Polars-Ausgabe

  • None: 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.