Erkundung von Ensemble-Methoden mit Scikit-Learn

Machine LearningMachine LearningBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir Ensemble-Methoden mit scikit-learn untersuchen. Ensemble-Methoden sind maschinelles Lernverfahren, die mehrere Modelle kombinieren, um eine bessere Leistung als ein einzelnes Modell zu erzielen. Wir werden uns speziell auf zwei beliebte Ensemble-Methoden konzentrieren: Bagging und Random Forests.

Tipps für die virtuelle Maschine (VM)

Nachdem die VM gestartet wurde, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und auf Jupyter Notebook für die Übung zuzugreifen.

Manchmal müssen Sie möglicherweise einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Operationen kann aufgrund der Einschränkungen von Jupyter Notebook nicht automatisiert werden.

Wenn Sie während des Lernens Probleme haben, können Sie sich gerne an Labby wenden. Geben Sie nach der Sitzung Feedback ab, und wir werden das Problem umgehend für Sie lösen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn(("Sklearn")) -.-> sklearn/ModelSelectionandEvaluationGroup(["Model Selection and Evaluation"]) sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/tree("Decision Trees") sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/ensemble("Ensemble Methods") sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/model_selection("Model Selection") sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/tree -.-> lab-71108{{"Erkundung von Ensemble-Methoden mit Scikit-Learn"}} sklearn/ensemble -.-> lab-71108{{"Erkundung von Ensemble-Methoden mit Scikit-Learn"}} sklearn/model_selection -.-> lab-71108{{"Erkundung von Ensemble-Methoden mit Scikit-Learn"}} sklearn/datasets -.-> lab-71108{{"Erkundung von Ensemble-Methoden mit Scikit-Learn"}} ml/sklearn -.-> lab-71108{{"Erkundung von Ensemble-Methoden mit Scikit-Learn"}} end

Importieren der Abhängigkeiten

Beginnen wir damit, die erforderlichen Abhängigkeiten zu importieren.

import numpy as np
from sklearn.ensemble import BaggingClassifier, RandomForestClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split, cross_val_score

Laden der Daten

Als Nächstes laden wir den Iris-Datensatz aus scikit-learn mit der Funktion load_iris.

data = load_iris()
X, y = data.data, data.target

Aufteilen der Daten

Wir werden die Daten in Trainings- und Testdatensätze aufteilen, indem wir die Funktion train_test_split aus scikit-learn verwenden.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Anpassen eines Bagging-Klassifikators

Jetzt werden wir einen Bagging-Klassifikator an die Trainingsdaten anpassen. Der Bagging-Klassifikator ist eine Ensemble-Methode, die Bootstrapping-Sampling verwendet, um mehrere Basismodelle (häufig Entscheidungsbäume) zu erstellen und deren Vorhersagen mithilfe der Mehrheitsentscheidung zusammenzufassen.

bagging = BaggingClassifier(DecisionTreeClassifier(), n_estimators=10)
bagging.fit(X_train, y_train)

Bewertung des Bagging-Klassifikators

Lassen Sie uns den Bagging-Klassifikator bewerten, indem wir die Genauigkeit (Accuracy) auf den Testdaten mit der Methode score berechnen.

accuracy = bagging.score(X_test, y_test)
print(f"Bagging Classifier Accuracy: {accuracy}")

Anpassen eines Random Forest-Klassifikators

Als Nächstes werden wir einen Random Forest-Klassifikator an die Trainingsdaten anpassen. Der Random Forest-Klassifikator ist ebenfalls eine Ensemble-Methode, die Bootstrapping-Sampling verwendet, um mehrere Entscheidungsbäume zu erstellen. Darüber hinaus fügt es zusätzliche Zufälligkeit hinzu, indem es bei jedem Split nur eine Teilmenge der Merkmale (Features) berücksichtigt.

random_forest = RandomForestClassifier(n_estimators=10)
random_forest.fit(X_train, y_train)

Bewertung des Random Forest-Klassifikators

Lassen Sie uns den Random Forest-Klassifikator bewerten, indem wir die Genauigkeit (Accuracy) auf den Testdaten berechnen.

accuracy = random_forest.score(X_test, y_test)
print(f"Random Forest Classifier Accuracy: {accuracy}")

Zusammenfassung

In diesem Lab haben wir Ensemble-Methoden mit scikit-learn untersucht. Wir haben einen Bagging-Klassifikator und einen Random Forest-Klassifikator auf dem Iris-Datensatz angepasst und deren Leistung bewertet. Ensemble-Methoden wie Bagging und Random Forests können mächtige Werkzeuge zur Verbesserung der Vorhersageleistung von maschinellen Lernmodellen sein.