Regularyzacja
Regularyzacja to proces dodawania informacji do modelu w celu zapobiegania przeuczeniu. Ma to kluczowe znaczenie dla poprawy metryk ewaluacyjnych, które poznałeś wcześniej w tym rozdziale. W tym ćwiczeniu będziesz zmieniać parametr maksymalnej głębokości drzewa decyzyjnego, aby zobaczyć, jak wpływa to na wyniki klasyfikacji.
X_train, y_train, X_test, y_test są dostępne w twoim środowisku pracy. Dostępne są również pandas jako pd, numpy jako np oraz sklearn. Ponadto zaimportowano confusion_matrix(), precision_score() i recall_score() z sklearn.metrics.
To ćwiczenie jest częścią kursu
Przewidywanie CTR z użyciem uczenia maszynowego w Pythonie
Instrukcje do ćwiczenia
- Utwórz różne drzewa decyzyjne, zmieniając maksymalną głębokość każdego z nich.
- Dla każdego drzewa dopasuj model i wygeneruj predykcje na danych testowych.
- Oceń macierz pomyłek, precyzję i czułość dla każdego drzewa.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))