LoslegenKostenlos starten

Optimale Baumtiefe bestimmen

Jetzt stimmst du den Parameter max_depth des Decision Trees ab, um diejenige Tiefe zu finden, die Overfitting reduziert und gleichzeitig gute Modellmetriken beibehält. Du führst eine for-Schleife über mehrere max_depth-Werte aus, passt für jeden einen Decision Tree an und berechnest anschließend die Leistungsmetriken.

Die Liste depth_list mit den Kandidatenwerten ist bereits geladen. Das Array depth_tuning wurde für dich mit 2 Spalten erstellt: Die erste ist mit den Tiefen-Kandidaten gefüllt, die zweite ist ein Platzhalter für den Recall-Score. Außerdem sind die Features und Zielvariablen als train_X, train_Y für die Trainingsdaten sowie test_X, test_Y für die Testdaten geladen. Die Bibliotheken numpy und pandas sind als np bzw. pd importiert.

Diese Übung ist Teil des Kurses

<Kurs>Machine Learning für Marketing mit Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Führe eine for-Schleife über den Bereich von 0 bis zur Länge der Liste depth_list aus.
  • Initialisiere für jeden Tiefen-Kandidaten einen Decision-Tree-Klassifikator, trainiere ihn und sage Churn auf den Testdaten voraus.
  • Berechne für jeden Tiefen-Kandidaten den Recall-Score mit der Funktion recall_score() und speichere ihn in der zweiten Spalte von depth_tunning.
  • Erzeuge aus depth_tuning ein pandas DataFrame mit passenden Spaltennamen.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Run a for loop over the range of depth list length
for index in ___(0, len(depth_list)):
  # Initialize and fit decision tree with the `max_depth` candidate
  mytree = DecisionTreeClassifier(___=depth_list[index])
  mytree.fit(___, train_Y)
  # Predict churn on the testing data
  pred_test_Y = mytree.predict(___)
  # Calculate the recall score 
  depth_tuning[index,1] = ___(test_Y, ___)

# Name the columns and print the array as pandas DataFrame
col_names = ['Max_Depth','Recall']
print(pd.DataFrame(depth_tuning, columns=___))
Code bearbeiten und ausführen