LoslegenKostenlos loslegen

Genauigkeit messen

Jetzt übst du die Nutzung der Learning-API von XGBoost mit der integrierten Kreuzvalidierung. Wie Sergey im vorherigen Video erklärt hat, erzielt XGBoost seine vielgelobte Leistung und Effizienz, indem es eine eigene, optimierte Datenstruktur für Datensätze verwendet: die DMatrix.

In der vorherigen Übung wurden die Eingabedatensätze unterwegs in DMatrix-Daten umgewandelt. Wenn du jedoch das cv-Objekt von xgboost verwendest, musst du deine Daten zuerst explizit in eine DMatrix konvertieren. Genau das machst du hier, bevor du die Kreuzvalidierung auf churn_data anwendest.

Diese Übung ist Teil des Kurses

Extreme Gradient Boosting mit XGBoost

Kurs anzeigen

Anleitung zur Übung

  • Erstelle mit xgb.DMatrix() eine DMatrix namens churn_dmatrix aus churn_data. Die Features stehen in X, die Labels in y.
  • Führe eine 3-fache Kreuzvalidierung durch, indem du xgb.cv() aufrufst. dtrain ist deine churn_dmatrix, params ist dein Parameter-Dictionary, nfold ist die Anzahl der Kreuzvalidierungsfalten (3), num_boost_round ist die Anzahl der zu bauenden Bäume (5), metrics ist die zu berechnende Kennzahl (hier "error", die wir in eine Genauigkeit umwandeln).

Interaktive Übung

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

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

# Create the DMatrix from X and y: churn_dmatrix
churn_dmatrix = ____(data=____, label=____)

# Create the parameter dictionary: params
params = {"objective":"reg:logistic", "max_depth":3}

# Perform cross-validation: cv_results
cv_results = ____(dtrain=____, params=____, 
                  nfold=____, num_boost_round=____, 
                  metrics="____", as_pandas=____, seed=123)

# Print cv_results
print(cv_results)

# Print the accuracy
print(((1-cv_results["test-error-mean"]).iloc[-1]))
Code bearbeiten und ausführen