ÎncepețiÎncepe gratuit

Selecția modelului

Atât regularizarea, cât și validarea încrucișată sunt instrumente puternice în selecția modelului. Regularizarea ajută la prevenirea supraadaptării (overfitting), iar validarea încrucișată asigură că modelele tale sunt evaluate corect. În acest exercițiu, vei folosi regularizarea și validarea încrucișată împreună și vei verifica dacă modelele diferă semnificativ. Vei calcula doar precizia, deși același exercițiu poate fi realizat cu ușurință și pentru recall și alte metrici de evaluare.

X_train, y_train, X_test, y_test sunt disponibile în spațiul tău de lucru. pandas ca pd, numpy ca np și sklearn sunt de asemenea disponibile. Atât precision_score(), cât și recall_score() din sklearn.metrics sunt disponibile, la fel ca KFold() și cross_val_score() din sklearn.model_selection.

Acest exercițiu face parte din cursul

Predicția CTR cu Machine Learning în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Configurează o validare încrucișată K-Fold cu patru segmente folosind n_splits și asign-o la k-fold.
  • Creează un clasificator de tip arbore de decizie.
  • Folosește k_fold pentru a rula validarea încrucișată și a evalua precizia și recall-ul modelului tău de arbore de decizie pentru valoarea dată a lui max_depth.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Iterate over different levels of max depth and set up k-fold
for max_depth_val in [3, 5, 10]:
  k_fold = ____(____ = 4, random_state = 0, shuffle = True)
  clf = ____(____ = max_depth_val)
  print("Evaluating Decision Tree for max_depth = %s" %(max_depth_val))
  y_pred = clf.fit(____, ____).predict(____) 
  
  # Calculate precision for cross validation and test
  cv_precision = ____(
    ____, X_train, y_train, cv = k_fold, scoring = 'precision_weighted')
  precision = ____(y_test, y_pred, average = 'weighted')
  print("Cross validation Precision: %s" %(cv_precision))
  print("Test Precision: %s" %(precision))
Editează și rulează codul