Menu
CoddyTech

Повторение: настройка дерева

Часть раздела Обучение с учителем путешествия по Machine Learning на Coddy. Урок 36 из 58.

challenge icon

Задание

Средне

Датчики обжарщика считывают 6 значений для каждой партии кофе; 1 означает, что партию можно упаковывать. Честно выбери глубину дерева.

  1. Отдели 20% для тестирования, затем 25% от оставшейся части — для валидации (random_state=0).
  2. Для глубины от 1 до 10 обучи дерево (random_state=0) на обучающих строках; построй график точности на обучающей и валидационной выборках, marker="o", с обозначениями training и validation.
  3. Выведи лучшую глубину, затем точность на тестовой выборке.
  4. Отметь эту глубину пунктирной линией, а результат на тестовой выборке — красной звездой; добавь легенду.

Другой обжарщик выводит:

Best depth: 5 (validation accuracy 0.887)
Test accuracy: 0.750

и строит такой график. Затем Coddy описывает твой график.

Партии кофе: выбор глубины. Точность на обучающей выборке растёт с 0.69 почти до 1.0; точность на валидационной выборке достигает пика 0.89 при глубине 5, а затем падает до 0.78. На глубине 5 проходит пунктирная линия, на которой расположена красная звезда на уровне 0.75 — точность на тестовой выборке

Попробуйте сами

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

# make_classification создаёт реалистичные строки данных для практики: здесь 400 партий кофе,
# для каждой — 6 показаний датчиков обжарочной машины; метка 1 означает, что партия готова к упаковке
X, y = make_classification(n_samples=400, n_features=6, n_informative=3, n_redundant=1,
                           flip_y=0.1, random_state=79)

fig, ax = plt.subplots()
ax.set_title("Coffee Batches: Choosing a Depth")
ax.set_xlabel("Tree depth")
ax.set_ylabel("Accuracy")

# Напишите свой код ниже

Все уроки раздела Обучение с учителем

Потренируйтесь самостоятельно: Онлайн-компилятор Python