VotingRegressor#
- class sklearn.ensemble.VotingRegressor(estimators, *, weights=None, n_jobs=None, verbose=False)[Quelle]#
Vorhersage-Voting-Regressor für nicht angepasste Schätzer.
Ein VotingRegressor ist ein Ensemble-Meta-Estimator, der mehrere Basis-Regressoren anpasst, jeden auf dem gesamten Datensatz. Dann mittelt er die einzelnen Vorhersagen, um eine endgültige Vorhersage zu bilden.
Für ein detailliertes Beispiel siehe Plot individuelle und Voting-Regressionsvorhersagen.
Lesen Sie mehr im Benutzerhandbuch.
Hinzugefügt in Version 0.21.
- Parameter:
- estimatorsListe von (Name, Estimator)-Tupeln
Das Aufrufen der
fit-Methode auf demVotingRegressorpasst Klone der ursprünglichen Estimators an, die im Klassenattributself.estimators_gespeichert werden. Ein Estimator kann mitset_paramsauf'drop'gesetzt werden.Geändert in Version 0.21:
'drop'wird akzeptiert. Die Verwendung von None wurde in 0.22 als veraltet markiert und die Unterstützung wurde in 0.24 entfernt.- weightsarray-ähnlich der Form (n_regressoren,), Standard=None
Sequenz von Gewichten (
floatoderint), um die Vorkommen von vorhergesagten Werten vor dem Mitteln zu gewichten. Verwendet gleichmäßige Gewichte, wennNoneist.- n_jobsint, default=None
Die Anzahl der Jobs, die parallel für
fitausgeführt werden sollen.Nonebedeutet 1, es sei denn, es befindet sich in einemjoblib.parallel_backend-Kontext.-1bedeutet die Verwendung aller Prozessoren. Siehe Glossar für weitere Details.- verbosebool, default=False
Wenn True, werden die verstrichene Zeit während des Anpassens ausgegeben, sobald sie abgeschlossen ist.
Hinzugefügt in Version 0.23.
- Attribute:
- estimators_Liste von Regressoren
Die Sammlung von angepassten Unter-Estimators, wie in
estimatorsdefiniert, die nicht 'drop' sind.- named_estimators_
Bunch Attribut zum Zugriff auf beliebige trainierte Unter-Estimator nach Namen.
Hinzugefügt in Version 0.20.
n_features_in_intAnzahl der während des fits gesehenen Merkmale.
- 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
VotingClassifierSoft Voting/Majority Rule Klassifikator.
Beispiele
>>> import numpy as np >>> from sklearn.linear_model import LinearRegression >>> from sklearn.ensemble import RandomForestRegressor >>> from sklearn.ensemble import VotingRegressor >>> from sklearn.neighbors import KNeighborsRegressor >>> r1 = LinearRegression() >>> r2 = RandomForestRegressor(n_estimators=10, random_state=1) >>> r3 = KNeighborsRegressor() >>> X = np.array([[1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36]]) >>> y = np.array([2, 6, 12, 20, 30, 42]) >>> er = VotingRegressor([('lr', r1), ('rf', r2), ('r3', r3)]) >>> print(er.fit(X, y).predict(X)) [ 6.8 8.4 12.5 17.8 26 34]
Im folgenden Beispiel wird der
'lr'-Estimator mitset_paramsverworfen und die verbleibenden zwei Estimators angepasst>>> er = er.set_params(lr='drop') >>> er = er.fit(X, y) >>> len(er.estimators_) 2
- fit(X, y, **fit_params)[Quelle]#
Trainiert die Estimator.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Trainingsvektoren, wobei
n_samplesdie Anzahl der Stichproben undn_featuresdie Anzahl der Merkmale ist.- yarray-like von Form (n_samples,)
Zielwerte.
- **fit_paramsdict
Parameter, die an die zugrunde liegenden Estimator übergeben werden.
Hinzugefügt in Version 1.5: Nur verfügbar, wenn
enable_metadata_routing=Truegesetzt ist, was durch Verwendung vonsklearn.set_config(enable_metadata_routing=True)erfolgen kann. Weitere Details finden Sie in der Benutzerhandbuch für Metadaten-Routing.
- Gibt zurück:
- selfobject
Angepasster Schätzer.
- fit_transform(X, y=None, **fit_params)[Quelle]#
Gibt Klassenbezeichnungen oder Wahrscheinlichkeiten für jeden Estimator zurück.
Gibt Vorhersagen für X für jeden Estimator zurück.
- Parameter:
- X{array-like, sparse matrix, dataframe} der Form (n_samples, n_features)
Eingabestichproben.
- yndarray der Form (n_samples,), Standard=None
Zielwerte (None für unüberwachte Transformationen).
- **fit_paramsdict
Zusätzliche Anpassungsparameter.
- Gibt zurück:
- X_newndarray array der Form (n_samples, n_features_new)
Transformiertes Array.
- get_feature_names_out(input_features=None)[Quelle]#
Holt die Ausgabemerkmale für die Transformation.
- Parameter:
- input_featuresarray-like von str oder None, default=None
Nicht verwendet, hier zur API-Konsistenz durch Konvention vorhanden.
- Gibt zurück:
- feature_names_outndarray von str-Objekten
Transformierte Merkmalnamen.
- 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.5.
- Gibt zurück:
- routingMetadataRouter
Ein
MetadataRouter, der die Routing-Informationen kapselt.
- get_params(deep=True)[Quelle]#
Ruft die Parameter eines Estimators aus dem Ensemble ab.
Gibt die im Konstruktor angegebenen Parameter sowie die im Parameter
estimatorsenthaltenen Estimator zurück.- Parameter:
- deepbool, default=True
Wenn dies auf True gesetzt wird, werden die verschiedenen Estimator und die Parameter der Estimator abgerufen.
- Gibt zurück:
- paramsdict
Parameter- und Estimator-Namen, die ihren Werten oder Parameternamen, die ihren Werten zugeordnet sind, zugeordnet sind.
- property named_estimators#
Wörterbuch zum Zugriff auf beliebige trainierte Unter-Estimator nach Namen.
- Gibt zurück:
- predict(X)[Quelle]#
Prognostiziert das Regressionsziel für X.
Das vorhergesagte Regressionsziel einer Eingabe-Stichprobe wird als Mittelwert der vorhergesagten Regressionsziele der Estimators im Ensemble berechnet.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Eingabestichproben.
- Gibt zurück:
- yndarray der Form (n_samples,)
Die vorhergesagten Werte.
- 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 Summe der quadrierten Residuen
((y_true - y_pred)** 2).sum()und \(v\) die Summe der gesamten Quadrate((y_true - y_true.mean()) ** 2).sum()ist. Der beste mögliche Score ist 1.0 und kann negativ sein (weil das Modell beliebig schlechter sein kann). Ein konstantes Modell, das immer den erwarteten Wert vonyvorhersagt, unabhängig von den Eingabemerkmalen, würde einen \(R^2\)-Score von 0.0 erzielen.- 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 beim Aufrufen von
scoreauf einem Regressor verwendet wird, nutztmultioutput='uniform_average'ab Version 0.23, um mit dem Standardwert vonr2_scorekonsistent zu bleiben. Dies beeinflusst diescore-Methode aller Multioutput-Regressoren (außerMultiOutputRegressor).
- 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 eines Estimators aus dem Ensemble.
Gültige Parameternamen können mit
get_params()aufgelistet werden. Beachten Sie, dass Sie die Parameter der Estimator, die im Parameterestimatorsenthalten sind, direkt setzen können.- Parameter:
- **paramsSchlüsselwortargumente
Spezifische Parameter unter Verwendung von z. B.
set_params(parameter_name=new_value). Zusätzlich zum Setzen der Parameter des Estimators können auch die einzelnen Estimator der Estimator gesetzt oder durch Setzen auf 'drop' entfernt werden.
- Gibt zurück:
- selfobject
Schätzer-Instanz.
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') VotingRegressor[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#
Vorhersagen von einzelnen und abstimmenden Regressionsmodellen plotten