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