LoslegenKostenlos loslegen

XGBoost: Fit/Predict

Zeit für dein erstes XGBoost-Modell! Wie Sergey dir im Video gezeigt hat, kannst du das dir bereits vertraute scikit-learn-Paradigma .fit() / .predict() verwenden, um XGBoost-Modelle zu bauen, da die Bibliothek xgboost eine scikit-learn-kompatible API hat!

Hier arbeitest du mit Churn-Daten. Dieser Datensatz enthält fiktive Daten aus einer Ride-Sharing-App mit dem Verhalten von Nutzerinnen und Nutzern im ersten Monat der App-Nutzung in einer Reihe fiktiver Städte sowie der Information, ob sie den Service 5 Monate nach der Anmeldung weiterhin genutzt haben. Er wurde bereits als DataFrame churn_data für dich geladen – erkunde ihn in der Shell!

Dein Ziel ist es, mithilfe der Daten aus dem ersten Monat vorherzusagen, ob die App-Nutzerinnen und -Nutzer nach 5 Monaten noch dabei sind. Das ist ein typisches Setup für ein Churn-Prediction-Problem. Dafür teilst du die Daten in Trainings- und Test-Sets, passt ein kleines xgboost-Modell auf dem Training-Set an und bewertest seine Leistung auf dem Test-Set, indem du die Genauigkeit berechnest.

pandas und numpy wurden als pd und np importiert, und train_test_split wurde aus sklearn.model_selection importiert. Zusätzlich wurden die Arrays für Features und Zielvariable als X und y erstellt.

Diese Übung ist Teil des Kurses

Extreme Gradient Boosting mit XGBoost

Kurs anzeigen

Anleitung zur Übung

  • Importiere xgboost als xgb.
  • Erstelle Trainings- und Test-Sets, sodass 20 % der Daten für das Testen verwendet werden. Nutze einen random_state von 123.
  • Instanziiere einen XGBoostClassifier als xg_cl mit xgb.XGBClassifier(). Gib n_estimators mit 10 Schätzern und ein objective von 'binary:logistic' an. Mach dir darüber noch keine Gedanken – du lernst diese Parameter später im Kurs kennen.
  • Passe xg_cl mit der Methode .fit() an das Training-Set (X_train, y_train) an.
  • Sage die Labels des Test-Sets (X_test) mit der Methode .predict() voraus und klicke auf "Antwort senden", um die Genauigkeit auszugeben.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Import xgboost
____

# Create arrays for the features and the target: X, y
X, y = churn_data.iloc[:,:-1], churn_data.iloc[:,-1]

# Create the training and test sets
X_train, X_test, y_train, y_test= ____(____, ____, test_size=____, random_state=123)

# Instantiate the XGBClassifier: xg_cl
xg_cl = ____.____(____='____', ____=____, seed=123)

# Fit the classifier to the training set
____

# Predict the labels of the test set: preds
preds = ____

# Compute the accuracy: accuracy
accuracy = float(np.sum(preds==y_test))/y_test.shape[0]
print("accuracy: %f" % (accuracy))
Code bearbeiten und ausführen