In diesem Abschnitt habe ich die folgenden Aufgaben ausgeführt
- Aufteilung in Zug- und Validierungssätze (75–25-Aufteilung)
- Identifizieren numerischer und kategorialer Spalten
- Identifizieren von Eingabe- und Zielspalten
- Imputation, Skalierung und Kodierung
Foundation-ML-Modell – Lineare Modelle
Da es sich um ein Regressionsproblem handelt, werde ich das Modell LinearRegression() als mein Foundation-ML-Modell festlegen. Ich habe Ridge, Lasso, ElasticNet und SGDRegressor zusätzlich trainiert, um einen umfassenden Leistungsvergleich aller von Sklearn angebotenen linearen Modelle durchzuführen.
Ich habe eine Funktion try_linear_models(mannequin) erstellt, die das Modell als Eingabe aufnimmt, ein Coaching für Trainingsdaten durchführt und die quadratischen Mittelwertfehler des Trainings und der Validierung zurückgibt.
Wir sehen, dass die linearen Modelle im Durchschnitt RMSE-Werte von etwa 20.000 US-Greenback liefern. Dies ist eine sehr schlechte Leistung unserer Foundation-ML-Modelle, da ~20.000 etwa dem 75. Perzentil der wöchentlichen Verkäufe entsprechen. Der R2-Rating des Modells ist sehr niedrig und daher halte ich es nicht für notwendig, die linearen Modelle weiter zu untersuchen.
Ensemble-Modelle
Ich habe Ensemble-Modelle wie Random Forest, Gradient Boosting, Adaboost, XGBoost und LightGBM mit Standardparametern trainiert, um zunächst zu prüfen, welche Modelle eine bessere Bewertungspunktzahl haben. Ich habe eine Funktion try_ensemble_methods() erstellt, die das Modell als Eingabe aufnimmt und die Bewertungsmetriken zurückgibt.
Es gibt die Bewertungsergebnisse –
Die drei leistungsstärksten Modelle sind Random Forest, XGBoost und LightGBM. Daher werde ich mit der Optimierung der Hyperparameter für diese Modelle fortfahren. AdaBoost schneidet genauso schlecht ab wie die linearen Modelle.
Die Optimierung der Hyperparameter wird basierend auf dem gewichteten mittleren absoluten Fehler (WMAE) bewertet.
Ich habe ein Wörterbuch namens Modelle mit zu testenden Hyperparametern und Werten erstellt.
Die Funktionen test_params() und test_param_and_plot() trainierten die Modelle für jeden dieser Hyperparameter und gaben die Bewertungswerte für jeden Lauf zurück.
Die Überanpassungskurven für Random-Forest-Hyperparameter-Tuning Sind –
Die Überanpassungskurven für Optimierung der XGBoost-Hyperparameter Sind –
Die Überanpassungskurven für LightGBM-Hyperparameter-Tuning Sind –
Ich finde, dass nach der Optimierung der Hyperparameter das Modell, das mit diesen Daten am besten funktioniert, Random Forest ist.
Aufgrund der Optimierung der Hyperparameter scheint Random Forest am besten zu funktionieren – es bietet die besten Validierungswerte von ~2000. Darüber hinaus habe ich GridSearchCV verwendet, um das am besten geeignete Zufallswaldmodell zu erhalten.
1985
Von den verschiedenen Einsendungen ist Random Forest das leistungsstärkste Modell mit n_estimators = 200 und max_ Depth = 25. Mit einer öffentlichen Punktzahl von ~4000 gehöre ich zu den besten 50 % der Wettbewerbseinsendungen.
Bin ich mit diesem Modell zufrieden/zuversichtlich? NEIN. Habe ich gelernt, wie man ein Finish-to-Finish-ML-Projekt umsetzt? JA.
Durch den Einsatz von Zeitreihenmodellierungstechniken wie ARIMA können bessere Umsatzprognosen durchgeführt werden. Die Prime-Vorhersagen in Kaggle verwendeten alle irgendeine Kind von Zeitreihentechniken. Dadurch kann dieses Projekt verbessert werden. Zu den Anwendungen der Zeitreihenprognose zählen unter anderem Net-Visitors-Prognosen, Verkaufs- und Nachfrageprognosen, Wettervorhersagen und Aktienkursprognosen. Es ist ein wichtiger Zweig des maschinellen Lernens und immer mehr Unternehmen nutzen Zeitreihenmodellierung in irgendeiner Kind. Daher ist es für einen angehenden Datenwissenschaftler von entscheidender Bedeutung, mit diesem Konzept vertraut zu sein.
Ich möchte jovian.ai, insbesondere Aakash, für die Bereitstellung hervorragender Lernmaterialien im Rahmen des Bootcamps für Datenwissenschaft und maschinelles Lernen danken. Der größte Teil des Codes ist natürlich von den Bootcamp-Tutorials und ChatGPT inspiriert.