AdaBoostClassifier#
- class sklearn.ensemble.AdaBoostClassifier(estimator=None, *, n_estimators=50, learning_rate=1.0, random_state=None)[Quelle]#
Ein AdaBoost-Klassifikator.
Ein AdaBoost [1] Klassifikator ist ein Meta-Schätzer, der damit beginnt, einen Klassifikator auf dem Originaldatensatz anzupassen, und dann zusätzliche Kopien des Klassifikators auf demselben Datensatz anpasst, wobei jedoch die Gewichte falsch klassifizierter Instanzen angepasst werden, sodass sich nachfolgende Klassifikatoren stärker auf schwierige Fälle konzentrieren.
Diese Klasse implementiert den Algorithmus basierend auf [2].
Lesen Sie mehr im Benutzerhandbuch.
Hinzugefügt in Version 0.14.
- Parameter:
- estimatorobject, Standard=None
Der Basis-Schätzer, aus dem das erweiterte Ensemble aufgebaut wird. Unterstützung für Stichprobengewichtung ist erforderlich, ebenso wie ordnungsgemäße Attribute
classes_undn_classes_. WennNone, dann ist der Basis-Schätzer einDecisionTreeClassifier, initialisiert mitmax_depth=1.Hinzugefügt in Version 1.2:
base_estimatorwurde inestimatorumbenannt.- n_estimatorsint, Standard=50
Die maximale Anzahl von Schätzern, bei der das Boosting beendet wird. Im Falle einer perfekten Anpassung wird der Lernvorgang frühzeitig beendet. Werte müssen im Bereich
[1, inf)liegen.- learning_ratefloat, Standard=1.0
Das Gewicht, das bei jeder Boosting-Iteration auf jeden Klassifikator angewendet wird. Eine höhere Lernrate erhöht den Beitrag jedes Klassifikators. Es gibt einen Kompromiss zwischen den Parametern
learning_rateundn_estimators. Werte müssen im Bereich(0.0, inf)liegen.- random_stateint, RandomState-Instanz oder None, default=None
Steuert den Zufallssamen, der jedem
estimatorbei jeder Boosting-Iteration zugewiesen wird. Daher wird er nur verwendet, wennestimatoreinenrandom_stateexponiert. Übergeben Sie eine Ganzzahl für reproduzierbare Ausgaben ü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_Liste von Klassifikatoren
Die Sammlung der angepassten Unter-Estimators.
- classes_ndarray der Form (n_classes,)
Die Klassenbezeichnungen.
- n_classes_int
Die Anzahl der Klassen.
- estimator_weights_ndarray von Floats
Gewichte für jeden Schätzer im erweiterten Ensemble.
- estimator_errors_ndarray von Floats
Klassifikationsfehler für jeden Schätzer im erweiterten 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
AdaBoostRegressorEin AdaBoost-Regressor, der damit beginnt, einen Regressor auf dem Originaldatensatz 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.
GradientBoostingClassifierGB baut ein additives Modell in einer vorwärts-stufenweisen Weise auf. Regressionsbäume werden auf den negativen Gradienten der binären oder multinomischen Deviations-Verlustfunktion angepasst. Binäre Klassifikation ist ein Sonderfall, bei dem nur ein einzelner Regressionsbaum induziert wird.
sklearn.tree.DecisionTreeClassifierEine nichtparametrische überwachte Lernmethode zur Klassifikation. Erstellt ein Modell, das den Wert einer Zielvariablen vorhersagt, indem es einfache Entscheidungsregeln lernt, die aus den Datenmerkmalen abgeleitet werden.
Referenzen
[1]Y. Freund, R. Schapire, „A Decision-Theoretic Generalization of on-Line Learning and an Application to Boosting“, 1995.
Beispiele
>>> from sklearn.ensemble import AdaBoostClassifier >>> from sklearn.datasets import make_classification >>> X, y = make_classification(n_samples=1000, n_features=4, ... n_informative=2, n_redundant=0, ... random_state=0, shuffle=False) >>> clf = AdaBoostClassifier(n_estimators=100, random_state=0) >>> clf.fit(X, y) AdaBoostClassifier(n_estimators=100, random_state=0) >>> clf.predict([[0, 0, 0, 0]]) array([1]) >>> clf.score(X, y) 0.96
Ein detailliertes Beispiel für die Verwendung von AdaBoost zum Anpassen einer Sequenz von DecisionTrees als schwache Lerner finden Sie unter Multi-Klassen AdaBoosted Decision Trees.
Ein detailliertes Beispiel für die Verwendung von AdaBoost zum Anpassen eines nicht-linear trennbaren Klassifikationsdatensatzes, der aus zwei Gaußschen Quantil-Clustern besteht, finden Sie unter Zwei-Klassen AdaBoost.
- decision_function(X)[Quelle]#
Berechnet die Entscheidungsfunktion von
X.- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Trainings-Eingabestichproben. Sparse Matrizen können CSC, CSR, COO, DOK oder LIL sein. COO, DOK und LIL werden in CSR konvertiert.
- Gibt zurück:
- scorendarray der Form (n_samples, k)
Die Entscheidungsfunktion der Eingabestichproben. Die Reihenfolge der Ausgaben ist die gleiche wie die des Attributs classes_. Binäre Klassifikation ist ein Sonderfall mit
k == 1, andernfallsk==n_classes. Bei binärer Klassifikation bedeuten Werte näher bei -1 oder 1, dass sie eher zur ersten bzw. zweiten Klasse inclasses_gehören.
- fit(X, y, sample_weight=None)[Quelle]#
Bauen Sie einen erweiterten Klassifikator/Regressor aus dem Trainingsdatensatz (X, y) auf.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Trainings-Eingabestichproben. Sparse Matrizen können 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]#
Raise
NotImplementedError.Dieser Schätzer 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]#
Klassen für X vorhersagen.
Die vorhergesagte Klasse einer Eingabestichprobe wird als gewichteter Mittelwert der Vorhersagen der Klassifikatoren im Ensemble berechnet.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Trainings-Eingabestichproben. Sparse Matrizen können 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 Klassen.
- predict_log_proba(X)[Quelle]#
Sagt die logarithmierte Klassenwahrscheinlichkeit für X voraus.
Die logarithmischen Wahrscheinlichkeiten der vorhergesagten Klassen einer Eingabestichprobe werden als gewichteter Mittelwert der logarithmischen Wahrscheinlichkeiten der vorhergesagten Klassen der Klassifikatoren im Ensemble berechnet.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Trainings-Eingabestichproben. Sparse Matrizen können CSC, CSR, COO, DOK oder LIL sein. COO, DOK und LIL werden in CSR konvertiert.
- Gibt zurück:
- pndarray der Form (n_samples, n_classes)
Die Klassenwahrscheinlichkeiten der Eingabestichproben. Die Reihenfolge der Ausgaben ist die gleiche wie die des Attributs classes_.
- predict_proba(X)[Quelle]#
Sagt die Klassenwahrscheinlichkeiten für X voraus.
Die vorhergesagten Klassenwahrscheinlichkeiten einer Eingabestichprobe werden als gewichteter Mittelwert der vorhergesagten Klassenwahrscheinlichkeiten der Klassifikatoren im Ensemble berechnet.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Trainings-Eingabestichproben. Sparse Matrizen können CSC, CSR, COO, DOK oder LIL sein. COO, DOK und LIL werden in CSR konvertiert.
- Gibt zurück:
- pndarray der Form (n_samples, n_classes)
Die Klassenwahrscheinlichkeiten der Eingabestichproben. Die Reihenfolge der Ausgaben ist die gleiche wie die des Attributs classes_.
- score(X, y, sample_weight=None)[Quelle]#
Gibt die Genauigkeit für die bereitgestellten Daten und Bezeichnungen zurück.
Bei der Multi-Label-Klassifizierung ist dies die Subset-Genauigkeit, eine strenge Metrik, da für jede Stichprobe verlangt wird, dass jede Label-Menge korrekt vorhergesagt wird.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Teststichproben.
- yarray-like der Form (n_samples,) oder (n_samples, n_outputs)
Wahre Bezeichnungen für
X.- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte.
- Gibt zurück:
- scorefloat
Mittlere Genauigkeit von
self.predict(X)in Bezug aufy.
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') AdaBoostClassifier[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$') AdaBoostClassifier[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_decision_function(X)[Quelle]#
Berechnet die Entscheidungsfunktion von
Xfür jede Boosting-Iteration.Diese Methode ermöglicht die Überwachung (d.h. Bestimmung des Fehlers auf dem Testdatensatz) nach jeder Boosting-Iteration.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Trainings-Eingabestichproben. Sparse Matrizen können CSC, CSR, COO, DOK oder LIL sein. COO, DOK und LIL werden in CSR konvertiert.
- Gibt:
- scoreGenerator von ndarray der Form (n_samples, k)
Die Entscheidungsfunktion der Eingabestichproben. Die Reihenfolge der Ausgaben ist die gleiche wie die des Attributs classes_. Binäre Klassifikation ist ein Sonderfall mit
k == 1, andernfallsk==n_classes. Bei binärer Klassifikation bedeuten Werte näher bei -1 oder 1, dass sie eher zur ersten bzw. zweiten Klasse inclasses_gehören.
- staged_predict(X)[Quelle]#
Gibt gestaffelte Vorhersagen für X zurück.
Die vorhergesagte Klasse einer Eingabestichprobe wird als gewichteter Mittelwert der Vorhersagen der Klassifikatoren im Ensemble berechnet.
Diese Generator-Methode liefert die Ensemble-Vorhersage nach jeder Boosting-Iteration und ermöglicht daher die Überwachung, z. B. die Bestimmung der Vorhersage auf einem Testdatensatz nach jedem Boost.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Die Eingabestichproben. Sparse Matrizen können CSC, CSR, COO, DOK oder LIL sein. COO, DOK und LIL werden in CSR konvertiert.
- Gibt:
- yGenerator von ndarray der Form (n_samples,)
Die vorhergesagten Klassen.
- staged_predict_proba(X)[Quelle]#
Sagt die Klassenwahrscheinlichkeiten für X voraus.
Die vorhergesagten Klassenwahrscheinlichkeiten einer Eingabestichprobe werden als gewichteter Mittelwert der vorhergesagten Klassenwahrscheinlichkeiten der Klassifikatoren im Ensemble berechnet.
Diese Generator-Methode liefert die Ensemble-Vorhersagewahrscheinlichkeiten nach jeder Boosting-Iteration und ermöglicht daher die Überwachung, z. B. die Bestimmung der vorhergesagten Klassenwahrscheinlichkeiten auf einem Testdatensatz nach jedem Boost.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Trainings-Eingabestichproben. Sparse Matrizen können CSC, CSR, COO, DOK oder LIL sein. COO, DOK und LIL werden in CSR konvertiert.
- Gibt:
- pGenerator von ndarray der Form (n_samples,)
Die Klassenwahrscheinlichkeiten der Eingabestichproben. Die Reihenfolge der Ausgaben ist die gleiche wie die des Attributs classes_.
- staged_score(X, y, sample_weight=None)[Quelle]#
Gibt gestaffelte Scores für X, y zurück.
Diese Generator-Methode liefert den Ensemble-Score nach jeder Boosting-Iteration und ermöglicht daher die Überwachung, z. B. die Bestimmung des Scores auf einem Testdatensatz nach jedem Boost.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Trainings-Eingabestichproben. Sparse Matrizen können 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
Galeriebeispiele#
Entscheidungsflächen von Ensembles von Bäumen auf dem Iris-Datensatz plotten