Začněte nyníZačněte zdarma

Výběr modelu

Regularizace i křížová validace jsou výkonné nástroje při výběru modelu. Regularizace pomáhá předcházet přetrénování a křížová validace zajišťuje, že jsou modely správně vyhodnoceny. V tomto cvičení použiješ regularizaci a křížovou validaci dohromady a zjistíš, zda se modely od sebe výrazně liší. Budeš počítat pouze přesnost (precision), i když stejné cvičení snadno zopakuješ i pro recall a další vyhodnocovací metriky.

X_train, y_train, X_test, y_test jsou dostupné v tvém pracovním prostoru. K dispozici jsou také pandas jako pd, numpy jako np a sklearn. Z sklearn.metrics jsou dostupné funkce precision_score() a recall_score(), z sklearn.model_selection pak KFold() a cross_val_score().

Toto cvičení je součástí kurzu

Předpovídání CTR pomocí Machine Learning v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Nastav K-fold křížovou validaci se čtyřmi rozděleními pomocí parametru n_splits a přiřaď ji do proměnné k-fold.
  • Vytvoř klasifikátor rozhodovacího stromu.
  • Pomocí k_fold spusť křížovou validaci a vyhodnoť přesnost (precision) a recall svého modelu rozhodovacího stromu pro zadanou hodnotu max_depth.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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))
Upravit a spustit kód