IniziaInizia gratis

Individua la profondità ottimale dell’albero

Ora effettuerai il tuning del parametro max_depth dell’albero decisionale per trovare quello che riduce l’overfitting mantenendo buone metriche di prestazione del modello. Eseguirai un ciclo for su più valori del parametro max_depth, adatterai un albero decisionale per ciascuno e poi calcolerai le metriche di prestazione.

La lista depth_list con i valori candidati è già stata caricata. L’array depth_tuning è stato creato per te con 2 colonne: la prima contiene i valori di profondità candidati e la seconda è un segnaposto per il punteggio di recall. Inoltre, le variabili di input e target sono state caricate come train_X, train_Y per il training e test_X, test_Y per il test. Le librerie numpy e pandas sono caricate rispettivamente come np e pd.

Questo esercizio fa parte del corso

Machine Learning per il marketing con Python

Visualizza il corso

Istruzioni dell'esercizio

  • Esegui un ciclo for sull’intervallo da 0 alla lunghezza della lista depth_list.
  • Per ciascun valore candidato di profondità, inizializza e addestra un classificatore ad albero decisionale e predici il churn sui dati di test.
  • Per ciascun candidato, calcola il punteggio di recall usando la funzione recall_score() e salvalo nella seconda colonna di depth_tunning.
  • Crea un DataFrame di pandas a partire da depth_tuning con i nomi di colonna appropriati.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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=___))
Modifica ed esegui il codice