Вступ до підбору гіперпараметрів

Валідація моделей у Python

Kasey Jones

Data Scientist

Параметри моделі

Параметри — це:

  • Вивчаються або оцінюються з даних
  • Результат навчання моделі
  • Використовуються для майбутніх прогнозів
  • Не задаються вручну
Валідація моделей у Python

Параметри лінійної регресії

Параметри створюються під час навчання моделі:

from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(X, y)
print(lr.coef_, lr.intercept_)
[[0.798, 0.452]] [1.786]
Валідація моделей у Python

Параметри лінійної регресії

Параметри не існують до навчання моделі:

lr = LinearRegression()
print(lr.coef_, lr.intercept_)
AttributeError: 'LinearRegression' object has no attribute 'coef_'
Валідація моделей у Python

Гіперпараметри моделі

Гіперпараметри:

  • Задаються вручну до початку навчання
  • Визначають, як має відбуватися навчання
Валідація моделей у Python

Гіперпараметри Random Forest

Гіперпараметр Опис Можливі значення (типово)
n_estimators Кількість дерев рішень у лісі 2+ (10)
max_depth Максимна глибина дерев рішень 2+ (None)
max_features Кількість ознак, що враховуються під час поділу See documentation
min_samples_split Мінімальна кількість вибірок для поділу 2+ (2)
Валідація моделей у Python

Що таке підбір гіперпараметрів?

Підбір гіперпараметрів:

  • Оберіть гіперпараметри
  • Запускайте один тип моделі з різними наборами значень
  • Задайте діапазони можливих значень для вибору
  • Вкажіть один метрик точності
Валідація моделей у Python

Задання діапазонів

depth = [4, 6, 8, 10, 12]
samples = [2, 4, 6, 8]
features = [2, 4, 6, 8, 10]

# Specify hyperparameters rfc = RandomForestRegressor( n_estimators=100, max_depth=depth[0], min_samples_split=samples[3], max_features=features[1])
rfr.get_params()
{'bootstrap': True,
 'criterion': 'mse'
 ...
}
Валідація моделей у Python

Занадто багато гіперпараметрів!

rfr.get_params()
{'bootstrap': True,
 'criterion': 'mse',
 'max_depth': 4,
 'max_features': 4,
 'max_leaf_nodes': None,
 'min_impurity_decrease': 0.0,
 'min_impurity_split': None,
 'min_samples_leaf': 1,
 'min_samples_split': 8,
 ...
 }
Валідація моделей у Python

Загальні поради

  • Почніть з базових речей
  • Прочитайте документацію
  • Тестуйте практичні діапазони
Валідація моделей у Python

Давайте потренуємось!

Валідація моделей у Python

Preparing Video For Download...