Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Завдання: Налаштування Гіперпараметрів за Допомогою RandomizedSearchCV | Моделювання
Вступ до ML з Scikit-learn

bookЗавдання: Налаштування Гіперпараметрів за Допомогою RandomizedSearchCV

Принцип роботи RandomizedSearchCV подібний до GridSearchCV, але замість перевірки всіх можливих комбінацій, він оцінює лише випадково вибрану підмножину.

Наприклад, наступний param_grid містить 100 комбінацій:

param_grid = {
    'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

GridSearchCV перевірятиме всі 100, що є тривалим за часом. Натомість RandomizedSearchCV може оцінити меншу підмножину, наприклад, 20 випадково вибраних комбінацій. Це зменшує час обчислень і зазвичай дає результати, близькі до найкращих.

Кількість комбінацій для перевірки визначається аргументом n_iter (за замовчуванням — 10). В іншому використання таке ж, як і у GridSearchCV.

Завдання

Swipe to start coding

Вам надано попередньо оброблений набір даних про пінгвінів, готовий для навчання моделі. Ваша мета — налаштувати гіперпараметри моделі KNeighborsClassifier за допомогою методів перебору сітки (grid search) та випадкового пошуку (randomized search).

  1. Визначте сітку параметрів з назвою param_grid із бажаними значеннями для n_neighbors, weights та p.
  2. Ініціалізуйте об'єкт RandomizedSearchCV, використовуючи визначену сітку параметрів, встановіть n_iter=20.
  3. Ініціалізуйте об'єкт GridSearchCV, використовуючи ту ж сітку параметрів.
  4. Навчіть обидва об'єкти пошуку на наборі даних за допомогою методу .fit(X, y).
  5. Виведіть найкращий естіматор із grid search за допомогою .best_estimator_.
  6. Виведіть найкращий результат крос-валідації з randomized search за допомогою .best_score_.

Рішення

Note
Примітка

Можна спробувати запустити код кілька разів. Зверніть увагу на різницю між двома оцінками. Іноді оцінки можуть бути однаковими через наявність найкращих параметрів серед комбінацій, вибраних RandomizedSearchCV.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 8
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain when to use RandomizedSearchCV instead of GridSearchCV?

How do I choose the right value for n_iter in RandomizedSearchCV?

What are the main advantages and disadvantages of RandomizedSearchCV?

close

Awesome!

Completion rate improved to 3.13

bookЗавдання: Налаштування Гіперпараметрів за Допомогою RandomizedSearchCV

Свайпніть щоб показати меню

Принцип роботи RandomizedSearchCV подібний до GridSearchCV, але замість перевірки всіх можливих комбінацій, він оцінює лише випадково вибрану підмножину.

Наприклад, наступний param_grid містить 100 комбінацій:

param_grid = {
    'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

GridSearchCV перевірятиме всі 100, що є тривалим за часом. Натомість RandomizedSearchCV може оцінити меншу підмножину, наприклад, 20 випадково вибраних комбінацій. Це зменшує час обчислень і зазвичай дає результати, близькі до найкращих.

Кількість комбінацій для перевірки визначається аргументом n_iter (за замовчуванням — 10). В іншому використання таке ж, як і у GridSearchCV.

Завдання

Swipe to start coding

Вам надано попередньо оброблений набір даних про пінгвінів, готовий для навчання моделі. Ваша мета — налаштувати гіперпараметри моделі KNeighborsClassifier за допомогою методів перебору сітки (grid search) та випадкового пошуку (randomized search).

  1. Визначте сітку параметрів з назвою param_grid із бажаними значеннями для n_neighbors, weights та p.
  2. Ініціалізуйте об'єкт RandomizedSearchCV, використовуючи визначену сітку параметрів, встановіть n_iter=20.
  3. Ініціалізуйте об'єкт GridSearchCV, використовуючи ту ж сітку параметрів.
  4. Навчіть обидва об'єкти пошуку на наборі даних за допомогою методу .fit(X, y).
  5. Виведіть найкращий естіматор із grid search за допомогою .best_estimator_.
  6. Виведіть найкращий результат крос-валідації з randomized search за допомогою .best_score_.

Рішення

Note
Примітка

Можна спробувати запустити код кілька разів. Зверніть увагу на різницю між двома оцінками. Іноді оцінки можуть бути однаковими через наявність найкращих параметрів серед комбінацій, вибраних RandomizedSearchCV.

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 8
single

single

some-alt