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_ und n_classes_. Wenn None, dann ist der Basis-Schätzer ein DecisionTreeClassifier, initialisiert mit max_depth=1.

Hinzugefügt in Version 1.2: base_estimator wurde in estimator umbenannt.

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_rate und n_estimators. Werte müssen im Bereich (0.0, inf) liegen.

random_stateint, RandomState-Instanz oder None, default=None

Steuert den Zufallssamen, der jedem estimator bei jeder Boosting-Iteration zugewiesen wird. Daher wird er nur verwendet, wenn estimator einen random_state exponiert. Ü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 in estimator_ 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 X Merkmalnamen hat, die alle Zeichenketten sind.

Hinzugefügt in Version 1.0.

Siehe auch

AdaBoostRegressor

Ein 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.

GradientBoostingClassifier

GB 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.DecisionTreeClassifier

Eine 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, andernfalls k==n_classes. Bei binärer Klassifikation bedeuten Werte näher bei -1 oder 1, dass sie eher zur ersten bzw. zweiten Klasse in classes_ 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 auf y.

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=True aktiviert ist (siehe sklearn.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, an fit übergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.

  • False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht an 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_weight in fit.

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=True aktiviert ist (siehe sklearn.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, an score übergeben. Die Anforderung wird ignoriert, wenn keine Metadaten vorhanden sind.

  • False: Metadaten werden nicht angefordert und der Meta-Schätzer übergibt sie nicht an score.

  • 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_weight in score.

Gibt zurück:
selfobject

Das aktualisierte Objekt.

staged_decision_function(X)[Quelle]#

Berechnet die Entscheidungsfunktion von X fü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, andernfalls k==n_classes. Bei binärer Klassifikation bedeuten Werte näher bei -1 oder 1, dass sie eher zur ersten bzw. zweiten Klasse in classes_ 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