Verwenden von Stacking, um Prädiktoren zu kombinieren

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 verwenden wir die Stacking-Methode, um mehrere Schätzer zu kombinieren und Vorhersagen zu treffen. Bei dieser Strategie werden einige Schätzer einzeln auf einem Teilstichproben der Trainingsdaten trainiert, während ein Endschätzer mit den aggregierten Vorhersagen dieser Basis-Schätzer trainiert wird. Wir verwenden den Ames Housing-Datensatz, um den Endpreis der Häuser in Logarithmen zu prognostizieren. Wir verwenden 3 Lerner, linear und nicht-linear, und verwenden einen Ridge-Regressor, um ihre Ausgaben zu kombinieren. Wir vergleichen auch die Leistung jedes einzelnen Prädiktors sowie der Stack der Regressoren.

Tipps für die VM

Nachdem der Start der VM abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

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

Wenn Sie während des Lernens Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-49302{{"Verwenden von Stacking, um Prädiktoren zu kombinieren"}} end

Lade den Datensatz herunter

Wir werden den Ames Housing-Datensatz verwenden, der zunächst von Dean De Cock zusammengestellt wurde und bekannt wurde, nachdem er in einem Kaggle-Challenge verwendet wurde. Es ist eine Sammlung von 1460 Wohnhäusern in Ames, Iowa, von denen jedes durch 80 Merkmale beschrieben wird. Wir werden es verwenden, um den Endpreis der Häuser in Logarithmen zu prognostizieren. In diesem Beispiel verwenden wir nur die 20 interessantesten Merkmale, die mit GradientBoostingRegressor() ausgewählt wurden, und begrenzen die Anzahl der Einträge.

Erstelle einen Pipeline, um die Daten zu prüprozessieren

Bevor wir den Ames-Datensatz verwenden können, müssen wir noch einige Vorverarbeitungsschritte durchführen. Zunächst werden wir die kategorischen und numerischen Spalten des Datensatzes auswählen, um den ersten Schritt der Pipeline zu erstellen. Anschließend müssen wir Vorverarbeitungspipelines entwerfen, die vom Endregressor abhängen. Wenn der Endregressor ein lineares Modell ist, muss man die Kategorien mit One-Hot-Codierung encoden. Wenn der Endregressor ein baumbasiertes Modell ist, reicht ein Ordinalencoder. Darüber hinaus müssen numerische Werte für ein lineares Modell standardisiert werden, während die rohen numerischen Daten von einem baumbasierten Modell unverändert behandelt werden können. Beide Modelle benötigen jedoch einen Imputer, um fehlende Werte zu behandeln.

Stack von Prädiktoren auf einem einzelnen Datensatz

Jetzt können wir den Ames Housing-Datensatz verwenden, um Vorhersagen zu treffen. Wir überprüfen die Leistung jedes einzelnen Prädiktors sowie der Stack der Regressoren. Wir kombinieren 3 Lerner (linear und nicht-linear) und verwenden einen Ridge-Regressor, um ihre Ausgaben zu kombinieren. Der aggregierte Regressor wird die Stärken der verschiedenen Regressoren kombinieren. Wir sehen jedoch auch, dass das Training des aggregierten Regressors viel rechenintensiver ist.

Messen und visualisieren der Ergebnisse

Wir werden die Ergebnisse des aggregierten Regressors im Vergleich zu den einzelnen Prädiktoren messen und visualisieren.

Zusammenfassung

In diesem Lab haben wir die Stacking-Methode kennengelernt, um mehrere Schätzer zu kombinieren und Vorhersagen zu treffen. Wir haben den Ames Housing-Datensatz verwendet, um den Endpreis der Häuser in Logarithmen zu prognostizieren. Wir haben auch gelernt, wie man Vorverarbeitungspipelines entwirft, die vom Endregressor abhängen, und wie man die Leistung jedes einzelnen Prädiktors sowie der Stack der Regressoren misst.