MultiOutputClassifier#
- class sklearn.multioutput.MultiOutputClassifier(estimator, *, n_jobs=None)[Quelle]#
Multi-Target-Klassifizierung.
Diese Strategie besteht darin, für jedes Ziel einen Klassifikator anzupassen. Dies ist eine einfache Strategie zur Erweiterung von Klassifikatoren, die standardmäßig keine Multi-Target-Klassifizierung unterstützen.
- Parameter:
- estimatorEstimator-Objekt
Ein Schätzerobjekt, das fit und predict implementiert. Eine Methode predict_proba wird nur dann verfügbar gemacht, wenn
estimatordiese implementiert.- n_jobsint oder None, optional (default=None)
Die Anzahl der parallel auszuführenden Jobs.
fit,predictundpartial_fit(falls vom übergebenen Schätzer unterstützt) werden für jedes Ziel parallelisiert.Wenn einzelne Schätzer schnell trainiert oder vorhergesagt werden können, kann die Verwendung von
n_jobs > 1aufgrund des Parallelisierungsaufwands zu einer langsameren Leistung führen.Nonebedeutet1, es sei denn, Sie befinden sich in einemjoblib.parallel_backendKontext.-1bedeutet die Verwendung aller verfügbaren Prozesse / Threads. Weitere Informationen finden Sie im Glossar.Geändert in Version 0.20: Der Standardwert von
n_jobswurde von1aufNonegeändert.
- Attribute:
- classes_ndarray der Form (n_classes,)
Klassenbezeichnungen.
- estimators_Liste von
n_outputsSchätzern Estimators, die für Vorhersagen verwendet werden.
- n_features_in_int
Anzahl der während fit gesehenen Merkmale. Nur definiert, wenn der zugrunde liegende
estimatorein solches Attribut nach dem Anpassen freigibt.Hinzugefügt in Version 0.24.
- feature_names_in_ndarray mit Form (
n_features_in_,) Namen von Merkmalen, die während fit gesehen wurden. Nur definiert, wenn die zugrunde liegenden Estimator ein solches Attribut nach dem Trainieren bereitstellen.
Hinzugefügt in Version 1.0.
Siehe auch
ClassifierChainEin Multi-Label-Modell, das binäre Klassifikatoren zu einer Kette anordnet.
MultiOutputRegressorPasst einen Regressor pro Zielvariable an.
Beispiele
>>> import numpy as np >>> from sklearn.datasets import make_multilabel_classification >>> from sklearn.multioutput import MultiOutputClassifier >>> from sklearn.linear_model import LogisticRegression >>> X, y = make_multilabel_classification(n_classes=3, random_state=0) >>> clf = MultiOutputClassifier(LogisticRegression()).fit(X, y) >>> clf.predict(X[-2:]) array([[1, 1, 1], [1, 0, 1]])
- fit(X, Y, sample_weight=None, **fit_params)[Quelle]#
Passt das Modell an die Datenmatrix X und die Ziele Y an.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Eingabedaten.
- Yarray-like mit Form (n_samples, n_classes)
Die Zielwerte.
- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte. Wenn
None, dann werden die Stichproben gleich gewichtet. Nur unterstützt, wenn der zugrunde liegende Klassifikator Stichprobengewichte unterstützt.- **fit_paramsdict von String -> Objekt
Parameter, die an die
estimator.fitMethode jedes Schritts übergeben werden.Hinzugefügt in Version 0.23.
- Gibt zurück:
- selfobject
Gibt eine angepasste Instanz zurück.
- get_metadata_routing()[Quelle]#
Holt das Metadaten-Routing dieses Objekts.
Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.
Hinzugefügt in Version 1.3.
- Gibt zurück:
- routingMetadataRouter
Ein
MetadataRouter, der die 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.
- partial_fit(X, y, classes=None, sample_weight=None, **partial_fit_params)[Quelle]#
Passt inkrementell ein separates Modell für jede Klassen-Ausgabe an.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Eingabedaten.
- y{array-artig, spärliche Matrix} der Form (n_samples, n_outputs)
Multi-Output-Ziele.
- classesListe von ndarray der Form (n_outputs,), default=None
Jedes Array sind eindeutige Klassen für eine Ausgabe in str/int. Kann über
[np.unique(y[:, i]) for i in range(y.shape[1])]bezogen werden, wobeiydie Zielmatrix des gesamten Datensatzes ist. Dieses Argument ist für den ersten Aufruf von partial_fit erforderlich und kann bei nachfolgenden Aufrufen weggelassen werden. Beachten Sie, dassynicht alle Labels inclassesenthalten muss.- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte. Wenn
None, dann werden die Stichproben gleich gewichtet. Nur unterstützt, wenn der zugrunde liegende Regressor Stichprobengewichte unterstützt.- **partial_fit_paramsdict von str -> object
An die Methode
estimator.partial_fitjedes Unterestimators übergebene Parameter.Nur verfügbar, wenn
enable_metadata_routing=Trueist. Siehe das Benutzerhandbuch.Hinzugefügt in Version 1.3.
- Gibt zurück:
- selfobject
Gibt eine angepasste Instanz zurück.
- predict(X)[Quelle]#
Sagt die Multi-Output-Variable mit einem Modell für jede Zielvariable voraus.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Eingabedaten.
- Gibt zurück:
- y{array-artig, spärliche Matrix} der Form (n_samples, n_outputs)
Multi-Output-Ziele, die über mehrere Prädiktoren vorhergesagt werden. Hinweis: Für jeden Prädiktor werden separate Modelle generiert.
- predict_proba(X)[Quelle]#
Gibt die Vorhersagewahrscheinlichkeiten für jede Klasse jeder Ausgabe zurück.
Diese Methode löst einen
ValueErroraus, wenn einer der Schätzer keinepredict_proba-Methode hat.- Parameter:
- Xarray-like der Form (n_samples, n_features)
Die Eingabedaten.
- Gibt zurück:
- pArray der Form (n_samples, n_classes) oder eine Liste von n_outputs solchen Arrays, wenn n_outputs > 1.
Die Klassenwahrscheinlichkeiten der Eingabesamplings. Die Reihenfolge der Klassen entspricht der im Attribut classes_.
Geändert in Version 0.19: Diese Funktion gibt jetzt eine Liste von Arrays zurück, deren Länge
n_outputsist, und jedes Array ist für diese bestimmte Ausgabe (n_samples,n_classes).
- score(X, y)[Quelle]#
Gibt die durchschnittliche Genauigkeit auf den gegebenen Testdaten und Labels zurück.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Teststichproben.
- yarray-artig der Form (n_samples, n_outputs)
Wahre Werte für X.
- Gibt zurück:
- scoresfloat
Mittlere Genauigkeit der vorhergesagten Ziele im Vergleich zu den wahren Zielen.
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') MultiOutputClassifier[Quelle]#
Konfiguriert, ob Metadaten für die
fit-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, anfitübergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht anfit.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_weightinfit.
- Gibt zurück:
- selfobject
Das aktualisierte Objekt.
- 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.
- set_partial_fit_request(*, classes: bool | None | str = '$UNCHANGED$', sample_weight: bool | None | str = '$UNCHANGED$') MultiOutputClassifier[Quelle]#
Konfiguriert, ob Metadaten für die
partial_fit-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 anpartial_fitübergeben, wenn sie bereitgestellt werden. Die Anforderung wird ignoriert, wenn keine Metadaten bereitgestellt werden.False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht anpartial_fit.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:
- klassenstr, True, False, oder None, Standard=sklearn.utils.metadata_routing.UNCHANGED
Metadaten-Routing für den Parameter
klasseninpartial_fit.- sample_weightstr, True, False, oder None, Standardwert=sklearn.utils.metadata_routing.UNCHANGED
Metadaten-Routing für den Parameter
sample_weightinpartial_fit.
- Gibt zurück:
- selfobject
Das aktualisierte Objekt.