AdaBoostRegressor#
- class sklearn.ensemble.AdaBoostRegressor(estimator=None, *, n_estimators=50, learning_rate=1.0, loss='linear', random_state=None)[Quelle]#
Ein AdaBoost-Regressor.
Ein AdaBoost [1] Regressor ist ein Meta-Estimator, der damit beginnt, einen Regressor auf dem ursprünglichen Datensatz anzupassen, und dann zusätzliche Kopien des Regressors auf demselben Datensatz anpasst, wobei jedoch die Gewichte der Instanzen entsprechend dem Fehler der aktuellen Vorhersage angepasst werden. Nachfolgende Regressoren konzentrieren sich somit stärker auf schwierige Fälle.
Diese Klasse implementiert den bekannten Algorithmus AdaBoost.R2 [2].
Lesen Sie mehr im Benutzerhandbuch.
Hinzugefügt in Version 0.14.
- Parameter:
- estimatorobject, Standard=None
Der Basis-Estimator, aus dem das geboostete Ensemble aufgebaut wird. Wenn
None, dann ist der Basis-Estimator einDecisionTreeRegressor, initialisiert mitmax_depth=3.Hinzugefügt in Version 1.2:
base_estimatorwurde inestimatorumbenannt.- n_estimatorsint, Standard=50
Die maximale Anzahl von Estimators, bei der das Boosting beendet wird. Bei perfekter Anpassung wird der Lernprozess frühzeitig beendet. Werte müssen im Bereich
[1, inf)liegen.- learning_ratefloat, Standard=1.0
Gewichtung, die auf jeden Regressor bei jeder Boosting-Iteration angewendet wird. Eine höhere Lernrate erhöht den Beitrag jedes Regressors. Es gibt einen Kompromiss zwischen den Parametern
learning_rateundn_estimators. Werte müssen im Bereich(0.0, inf)liegen.- loss{‘linear’, ‘square’, ‘exponential’}, Standard=‘linear’
Die Verlustfunktion, die zur Aktualisierung der Gewichte nach jeder Boosting-Iteration verwendet wird.
- random_stateint, RandomState-Instanz oder None, default=None
Steuert den zufälligen Seed, der jedem
estimatorbei jeder Boosting-Iteration übergeben wird. Daher wird er nur verwendet, wennestimatoreinenrandom_stateexponiert. Zusätzlich steuert er das Bootstrap der Gewichte, die zum Trainieren desestimatorbei jeder Boosting-Iteration verwendet werden. Übergeben Sie eine Ganzzahl für reproduzierbare Ergebnisse über mehrere Funktionsaufrufe hinweg. Siehe Glossar.
- Attribute:
- estimator_Schätzer
Der Basis-Schätzer, aus dem das Ensemble aufgebaut wird.
Hinzugefügt in Version 1.2:
base_estimator_wurde inestimator_umbenannt.- estimators_list of regressors
Die Sammlung der angepassten Unter-Estimators.
- estimator_weights_ndarray of floats
Gewichte für jeden Estimator im geboosteten Ensemble.
- estimator_errors_ndarray of floats
Regressionsfehler für jeden Estimator im geboosteten Ensemble.
feature_importances_ndarray der Form (n_features,)Die Unreinheits-basierten Wichtigkeiten der Features.
- n_features_in_int
Anzahl der während des fits gesehenen Merkmale.
Hinzugefügt in Version 0.24.
- feature_names_in_ndarray mit Form (
n_features_in_,) Namen der während fit gesehenen Merkmale. Nur definiert, wenn
XMerkmalnamen hat, die alle Zeichenketten sind.Hinzugefügt in Version 1.0.
Siehe auch
AdaBoostClassifierEin AdaBoost-Klassifikator.
GradientBoostingRegressorGradient Boosting Classification Tree.
sklearn.tree.DecisionTreeRegressorEin Entscheidungsbaum-Regressor.
Referenzen
[1]Y. Freund, R. Schapire, „A Decision-Theoretic Generalization of on-Line Learning and an Application to Boosting“, 1995.
[2]Drucker, „Improving Regressors using Boosting Techniques“, 1997.
Beispiele
>>> from sklearn.ensemble import AdaBoostRegressor >>> from sklearn.datasets import make_regression >>> X, y = make_regression(n_features=4, n_informative=2, ... random_state=0, shuffle=False) >>> regr = AdaBoostRegressor(random_state=0, n_estimators=100) >>> regr.fit(X, y) AdaBoostRegressor(n_estimators=100, random_state=0) >>> regr.predict([[0, 0, 0, 0]]) array([4.7972]) >>> regr.score(X, y) 0.9771
Ein detailliertes Beispiel für die Verwendung von
AdaBoostRegressorzum Anpassen einer Sequenz von Entscheidungsbäumen als schwache Lerner finden Sie unter Decision Tree Regression with AdaBoost.- fit(X, y, sample_weight=None)[Quelle]#
Baut einen geboosteten Klassifikator/Regressor aus dem Trainingsdatensatz (X, y).
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Trainings-Input-Stichproben. Sparse Matrix kann CSC, CSR, COO, DOK oder LIL sein. COO, DOK und LIL werden in CSR konvertiert.
- yarray-like von Form (n_samples,)
Die Zielwerte.
- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte. Wenn None, werden die Stichprobengewichte auf 1 / n_samples initialisiert.
- Gibt zurück:
- selfobject
Angepasster Schätzer.
- get_metadata_routing()[Quelle]#
Löst
NotImplementedErroraus.Dieser Estimator unterstützt noch kein Metadaten-Routing.
- 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.
- predict(X)[Quelle]#
Vorhersage des Regressionswerts für X.
Der vorhergesagte Regressionswert einer Eingabestichprobe wird als der gewichtete Median der Vorhersagen der Regressoren im Ensemble berechnet.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Trainings-Input-Stichproben. Sparse Matrix kann CSC, CSR, COO, DOK oder LIL sein. COO, DOK und LIL werden in CSR konvertiert.
- Gibt zurück:
- yndarray der Form (n_samples,)
Die vorhergesagten Regressionswerte.
- 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 ist
((y_true - y_pred)** 2).sum()und \(v\) die Summe der quadrierten Abweichungen vom Mittelwert ist((y_true - y_true.mean()) ** 2).sum(). Der bestmögliche Score ist 1.0 und er kann negativ sein (da das Modell beliebig schlechter sein kann). Ein konstantes Modell, das immer den Erwartungswert vonyvorhersagt, ohne die Eingabemerkmale zu berücksichtigen, 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 Aufruf von
scoreauf einem Regressor verwendet wird, verwendetmultioutput='uniform_average'ab Version 0.23, um konsistent mit dem Standardwert vonr2_scorezu sein. Dies beeinflusst diescore-Methode aller Multi-Output-Regressoren (mit Ausnahme vonMultiOutputRegressor).
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') AdaBoostRegressor[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_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') AdaBoostRegressor[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.
- staged_predict(X)[Quelle]#
Gibt gestufte Vorhersagen für X zurück.
Der vorhergesagte Regressionswert einer Eingabestichprobe wird als der gewichtete Median der Vorhersagen der Regressoren im Ensemble berechnet.
Diese Generator-Methode gibt die Ensemble-Vorhersage nach jeder Boosting-Iteration aus und ermöglicht somit die Überwachung, z. B. um die Vorhersage auf einem Testdatensatz nach jedem Boost zu ermitteln.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Trainings-Eingabebeispiele.
- Gibt:
- yGenerator von ndarray der Form (n_samples,)
Die vorhergesagten Regressionswerte.
- staged_score(X, y, sample_weight=None)[Quelle]#
Gibt gestufte Scores für X, y zurück.
Diese Generator-Methode gibt den Ensemble-Score nach jeder Boosting-Iteration aus und ermöglicht somit die Überwachung, z. B. um den Score auf einem Testdatensatz nach jedem Boost zu ermitteln.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Trainings-Input-Stichproben. Sparse Matrix kann CSC, CSR, COO, DOK oder LIL sein. COO, DOK und LIL werden in CSR konvertiert.
- yarray-like von Form (n_samples,)
Labels für X.
- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte.
- Gibt:
- zfloat