MultiOutputRegressor#
- class sklearn.multioutput.MultiOutputRegressor(estimator, *, n_jobs=None)[Quelle]#
Multi-Target-Regression.
Diese Strategie besteht darin, einen Regressor pro Zielvariable anzupassen. Dies ist eine einfache Strategie zur Erweiterung von Regressoren, die standardmäßig keine Multi-Target-Regression unterstützen.
Hinzugefügt in Version 0.18.
- Parameter:
- estimatorEstimator-Objekt
- n_jobsint oder None, optional (Standard=None)
Die Anzahl der parallel auszuführenden Jobs.
fit,predictundpartial_fit(sofern vom übergebenen Schätzer unterstützt) werden für jede Zielvariable parallelisiert.Wenn einzelne Schätzer schnell zu trainieren oder vorherzusagen sind, kann die Verwendung von
n_jobs > 1aufgrund des Parallelisierungsaufwands zu einer langsameren Leistung führen.Nonebedeutet1, es sei denn, in einemjoblib.parallel_backend-Kontext.-1bedeutet die Verwendung aller verfügbaren Prozesse / Threads. Weitere Einzelheiten finden Sie im Glossar.Geändert in Version 0.20: Der Standardwert für
n_jobswurde von1aufNonegeändert.
- Attribute:
- estimators_Liste von
n_outputSchä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.
- estimators_Liste von
Siehe auch
RegressorChainEin Multi-Label-Modell, das Regressionen zu einer Kette anordnet.
MultiOutputClassifierKlassifiziert jeden Output unabhängig anstatt zu verketten.
Beispiele
>>> import numpy as np >>> from sklearn.datasets import load_linnerud >>> from sklearn.multioutput import MultiOutputRegressor >>> from sklearn.linear_model import Ridge >>> X, y = load_linnerud(return_X_y=True) >>> regr = MultiOutputRegressor(Ridge(random_state=123)).fit(X, y) >>> regr.predict(X[[0]]) array([[176, 35.1, 57.1]])
- fit(X, y, sample_weight=None, **fit_params)[Quelle]#
Passt das Modell getrennt für jede Ausgabevariable an die Daten an.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Eingabedaten.
- y{array-ähnlich, sparse Matrix} der Form (n_samples, n_outputs)
Multi-Output-Ziele. Eine Indikatormatrix aktiviert die Multi-Label-Schätzung.
- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte. Wenn
None, werden die Stichproben gleich gewichtet. Wird nur unterstützt, wenn der zugrunde liegende Regressor Stichprobengewichte unterstützt.- **fit_paramsdict von String -> Objekt
An die
estimator.fitMethode jedes Schritts übergebene Parameter.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, sample_weight=None, **partial_fit_params)[Quelle]#
Passt das Modell inkrementell getrennt für jede Ausgabevariable an die Daten an.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Eingabedaten.
- y{array-ähnlich, sparse Matrix} der Form (n_samples, n_outputs)
Multi-Output-Ziele.
- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte. Wenn
None, werden die Stichproben gleich gewichtet. Wird 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 Multi-Output-Variablen mit dem 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-ähnlich, sparse 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.
- score(X, y, sample_weight=None)[Quelle]#
Gibt den Bestimmtheitskoeffizienten auf Testdaten zurück.
Der Bestimmtheitskoeffizient \(R^2\) ist definiert als \((1 - \frac{u}{v})\), wobei \(u\) die Residuenquadratsumme
((y_true - y_pred)** 2).sum()und \(v\) die totale Quadratsumme((y_true - y_true.mean()) ** 2).sum()ist. Der bestmögliche Score ist 1,0 und kann negativ sein (da das Modell beliebig schlechter sein kann). Ein konstantes Modell, das immer den Erwartungswert vonyvorhersagt, unabhängig von den Eingabemerkmalen, würde einen \(R^2\)-Score von 0,0 erhalten.- Parameter:
- Xarray-like der Form (n_samples, n_features)
Teststichproben. Für einige Schätzer kann dies eine vorab berechnete Kernelmatrix oder eine Liste von generischen Objekten sein, stattdessen mit der Form
(n_samples, n_samples_fitted), wobein_samples_fitteddie Anzahl der für die Anpassung des Schätzers verwendeten Stichproben ist.- yarray-like der Form (n_samples,) oder (n_samples, n_outputs)
Wahre Werte für
X.- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte.
- Gibt zurück:
- scorefloat
\(R^2\) von
self.predict(X)bezogen aufy.
Anmerkungen
Der \(R^2\)-Score, der bei Aufruf von
scoreauf einem Regressor verwendet wird, verwendetmultioutput='uniform_average'ab Version 0.23, um konsistent mit dem Standardwert vonr2_scorezu sein. Dies beeinflusst diescoreMethode aller Multi-Output-Regressoren (mit Ausnahme vonMultiOutputRegressor).
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') MultiOutputRegressor[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(*, sample_weight: bool | None | str = '$UNCHANGED$') MultiOutputRegressor[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:
- 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.
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') MultiOutputRegressor[Quelle]#
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#
Vergleich von Random Forests und dem Multi-Output Meta-Estimator