Zacznij terazZacznij za darmo

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

Zobacz kurs

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))
Edytuj i uruchom kod