Налаштування параметрів GridSearch
Гіперпараметр — це параметр усередині функції. Наприклад, max_depth або min_samples_leaf — це гіперпараметри функції DecisionTreeClassifier(). Налаштування гіперпараметрів — це процес перевірки різних значень гіперпараметрів, щоб знайти оптимальні: ті, що дають найкращі прогнози відповідно до ваших цілей. У sklearn можна використати GridSearch, щоб перевірити різні комбінації гіперпараметрів. Ще краще — скористатися GridSearchCV(), щоб у межах однієї функції перевірити різні комбінації й одразу запустити для них крос-валідацію!
У цій вправі ви підготуєте різні значення, які хочете перевірити для max_depth і min_samples_leaf. Потім помістите їх у словник, адже саме це потрібно для GridSearchCV():
- ключами словника будуть назви гіперпараметрів
- значеннями словника будуть атрибути (значення гіперпараметрів), які ви хочете перевірити
Замість того щоб виписувати всі значення вручну, ви скористаєтеся функцією range(), яка дає змогу поступово генерувати значення. Наприклад, range(1, 10, 2) згенерує список зі значеннями від 1 включно до 10 невключно з кроком 2. Отже, кінцевий результат буде таким: [1, 3, 5, 7, 9].
Ця вправа є частиною курсу
HR Analytics: прогнозування плинності персоналу в Python
Інструкції до вправи
- За зразком вище згенеруйте значення максимальної глибини від 5 до 20 з кроком 1
- Зробіть те саме для мінімального розміру листка зі значеннями від 50 до 450 з кроком 50
- Створіть словник, указавши
max_depthіmin_samples_leafдля перевірки, зі своїми відповідними значеннями, використовуючи щойно створені змінні
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Generate values for maximum depth
depth = [i for i in ____(5,21,1)]
# Generate values for minimum sample size
samples = [i for i in range(____,500,____)]
# Create the dictionary with parameters to be checked
parameters = dict(max_depth=depth, min_samples_leaf=____)