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

Визначення оптимальної глибини дерева

Тепер ви налаштуєте параметр max_depth дерева рішень, щоб знайти значення, яке зменшує перенавчання й водночас зберігає хороші метрики якості моделі. Ви запустите цикл for для кількох значень max_depth, навчите для кожного дерево рішень, а потім обчислите метрики.

Список кандидатів параметра depth_list уже завантажено для вас. Масив depth_tuning підготовлено з 2 стовпцями: перший заповнено кандидатами глибини, а наступний є місцем для значення recall. Також ознаки та цільові змінні завантажено як train_X, train_Y для тренувальних даних і test_X, test_Y для тестових. Бібліотеки numpy та pandas завантажено як np і pd відповідно.

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

Machine Learning для маркетингу в Python

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

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

  • Запустіть цикл for по діапазону від 0 до довжини списку depth_list.
  • Для кожного кандидата глибини ініціалізуйте та навчіть класифікатор дерева рішень і спрогнозуйте відтік на тестових даних.
  • Для кожного кандидата глибини обчисліть значення recall за допомогою функції recall_score() і збережіть його в другому стовпці depth_tunning.
  • Створіть датафрейм pandas з depth_tuning з відповідними назвами стовпців.

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

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

# Run a for loop over the range of depth list length
for index in ___(0, len(depth_list)):
  # Initialize and fit decision tree with the `max_depth` candidate
  mytree = DecisionTreeClassifier(___=depth_list[index])
  mytree.fit(___, train_Y)
  # Predict churn on the testing data
  pred_test_Y = mytree.predict(___)
  # Calculate the recall score 
  depth_tuning[index,1] = ___(test_Y, ___)

# Name the columns and print the array as pandas DataFrame
col_names = ['Max_Depth','Recall']
print(pd.DataFrame(depth_tuning, columns=___))
Редагувати та запускати код