MultiLabelBinarizer#
- class sklearn.preprocessing.MultiLabelBinarizer(*, classes=None, sparse_output=False)[source]#
Transformiert zwischen iterierbaren von iterierbaren und einem Multilabel-Format.
Obwohl eine Liste von Mengen oder Tupeln ein sehr intuitives Format für Multilabel-Daten ist, ist sie unhandlich zu verarbeiten. Dieser Transformer konvertiert zwischen diesem intuitiven Format und dem unterstützten Multilabel-Format: einer binären Matrix (Samples x Klassen), die das Vorhandensein eines Klassenlabels angibt.
- Parameter:
- classesarray-like der Form (n_classes,), Standard=None
Gibt eine Reihenfolge für die Klassenlabels an. Alle Einträge müssen eindeutig sein (dürfen keine doppelten Klassen enthalten).
- sparse_outputbool, Standard=False
Setzen Sie auf True, wenn die binäre Ausgabematrix im CSR-Sparse-Format gewünscht wird.
- Attribute:
- classes_ndarray der Form (n_classes,)
Eine Kopie des Parameters
classes, wenn dieser angegeben wurde. Andernfalls entspricht dies der sortierten Menge der beim Anpassen gefundenen Klassen.
Siehe auch
OneHotEncoderKodiert kategoriale Merkmale mithilfe eines One-Hot- bzw. One-of-K-Schemas.
Beispiele
>>> from sklearn.preprocessing import MultiLabelBinarizer >>> mlb = MultiLabelBinarizer() >>> mlb.fit_transform([(1, 2), (3,)]) array([[1, 1, 0], [0, 0, 1]]) >>> mlb.classes_ array([1, 2, 3])
>>> mlb.fit_transform([{'sci-fi', 'thriller'}, {'comedy'}]) array([[0, 1, 1], [1, 0, 0]]) >>> list(mlb.classes_) ['comedy', 'sci-fi', 'thriller']
Ein häufiger Fehler ist das Übergeben einer Liste, was zu folgendem Problem führt
>>> mlb = MultiLabelBinarizer() >>> mlb.fit(['sci-fi', 'thriller', 'comedy']) MultiLabelBinarizer() >>> mlb.classes_ array(['-', 'c', 'd', 'e', 'f', 'h', 'i', 'l', 'm', 'o', 'r', 's', 't', 'y'], dtype=object)
Um dies zu korrigieren, sollte die Liste der Labels wie folgt übergeben werden:
>>> mlb = MultiLabelBinarizer() >>> mlb.fit([['sci-fi', 'thriller', 'comedy']]) MultiLabelBinarizer() >>> mlb.classes_ array(['comedy', 'sci-fi', 'thriller'], dtype=object)
- fit(y)[source]#
Passt den Label-Sets-Binarizer an und speichert die classes_.
- Parameter:
- yiterierbar von iterierbaren Objekten
Eine Menge von Labels (jedes ordnungsfähige und hasbare Objekt) für jedes Sample. Wenn der Parameter
classesgesetzt ist, wirdynicht durchlaufen.
- Gibt zurück:
- selfobject
Angepasster Schätzer.
- fit_transform(y)[source]#
Passt den Label-Sets-Binarizer an und transformiert die gegebenen Label-Sets.
- Parameter:
- yiterierbar von iterierbaren Objekten
Eine Menge von Labels (jedes ordnungsfähige und hasbare Objekt) für jedes Sample. Wenn der Parameter
classesgesetzt ist, wirdynicht durchlaufen.
- Gibt zurück:
- y_indicator{ndarray, sparse matrix} der Form (n_samples, n_classes)
Eine Matrix, so dass
y_indicator[i, j] = 1genau dann, wennclasses_[j]iny[i]enthalten ist, und sonst 0.
- get_metadata_routing()[source]#
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)[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.
- inverse_transform(yt)[source]#
Transformiert die gegebene Indikatormatrix in Label-Sets.
- Parameter:
- yt{ndarray, sparse matrix} der Form (n_samples, n_classes)
Eine Matrix, die nur 1en und 0en enthält.
- Gibt zurück:
- y_originalListe von Tupeln
Die Menge der Labels für jedes Sample, so dass
y[i]ausclasses_[j]für jedesyt[i, j] == 1besteht.
- set_output(*, transform=None)[source]#
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)[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.
- transform(y)[source]#
Transformiert die gegebenen Label-Sets.
- Parameter:
- yiterierbar von iterierbaren Objekten
Eine Menge von Labels (jedes ordnungsfähige und hasbare Objekt) für jedes Sample. Wenn der Parameter
classesgesetzt ist, wirdynicht durchlaufen.
- Gibt zurück:
- y_indicatorarray oder CSR-Matrix, Form (n_samples, n_classes)
Eine Matrix, so dass
y_indicator[i, j] = 1genau dann, wennclasses_[j]iny[i]enthalten ist, und sonst 0.