Regolarizzazione
La regolarizzazione è il processo di aggiungere informazioni a un modello per prevenire l’overfitting. Questo è importante per migliorare le metriche di valutazione viste prima nel capitolo. In questo esercizio, varierai il parametro di profondità massima di un albero decisionale per vedere come cambiano i risultati di classificazione.
X_train, y_train, X_test, y_test sono disponibili nel tuo workspace. pandas come pd, numpy come np e sklearn sono anch’essi disponibili nel tuo workspace. Inoltre, confusion_matrix(), precision_score() e recall_score() da sklearn.metrics sono disponibili.
Questo esercizio fa parte del corso
Prevedere il CTR con il Machine Learning in Python
Istruzioni dell'esercizio
- Crea alberi decisionali diversi variando la profondità massima di ciascun albero.
- Per ogni albero, fai il fit e genera le predizioni sui dati di test.
- Valuta la matrice di confusione, la precision e la recall per ogni albero.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Iterate over different levels of max depth
for max_depth_val in [2, 3, 5, 10, 15, 20]:
# Create and fit model
clf = ____(____ = max_depth_val)
print("Evaluating tree with max_depth = %s" %(max_depth_val))
y_pred = clf.fit(____, ____).predict(____)
# Evaluate confusion matrix, precision, recall
print("Confusion matrix: ")
print(____(y_test, y_pred))
prec = ____(____, ____, average = 'weighted')
recall = ____(____, ____, average = 'weighted')
print("Precision: %s, Recall: %s" %(prec, recall))