ПочатиПочніть безкоштовно

Вибір моделі

Регуляризація та перехресна перевірка — потужні інструменти для вибору моделі. Регуляризація допомагає запобігати перенавчанню, а перехресна перевірка гарантує коректну оцінку ваших моделей. У цій вправі ви поєднаєте регуляризацію та перехресну перевірку й перевірите, чи відрізняються моделі істотно. Ви обчислите лише точність (precision), хоча аналогічно можна оцінити повноту (recall) та інші метрики.

X_train, y_train, X_test, y_test доступні у вашому робочому середовищі. pandas як pd, numpy як np та sklearn також доступні. Доступні precision_score() і recall_score() з sklearn.metrics, а також KFold() і cross_val_score() з sklearn.model_selection.

Ця вправа є частиною курсу

Прогнозування CTR за допомогою машинного навчання в Python

Переглянути курс

Інструкції до вправи

  • Налаштуйте перехресну перевірку K-Fold із чотирма розбиттями за допомогою n_splits і присвойте її змінній k-fold.
  • Створіть класифікатор на основі дерева рішень.
  • Використайте k_fold, щоб запустити перехресну перевірку та оцінити точність (precision) і повноту (recall) вашої моделі дерева рішень для заданого значення max_depth.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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))
Редагувати та запускати код