Завдання: Вибір Найкращого Значення K
Як показано в попередніх розділах, передбачення моделі можуть змінюватися залежно від значення k (кількість сусідів). Під час побудови моделі k-NN важливо обрати таке значення k, яке забезпечує найкращу продуктивність.
Поширеним підходом є використання крос-валідації для оцінки якості моделі. Можна виконати цикл і обчислити оцінки крос-валідації для різних значень k, а потім обрати те, яке дає найвищий результат. Це найпоширеніший метод.
Для цього у sklearn є зручний інструмент: клас GridSearchCV.
Параметр param_grid приймає словник, де ключами є назви параметрів, а значеннями — списки варіантів для перевірки. Наприклад, щоб протестувати значення від 1 до 99 для n_neighbors, можна записати:
param_grid = {'n_neighbors': range(1, 100)}
Виклик методу .fit(X, y) для об'єкта GridSearchCV дозволяє здійснити пошук по сітці параметрів, знайти найкращі параметри, а потім перенавчити модель на всьому наборі даних з використанням цих параметрів.
Отримати найкращий результат можна за допомогою атрибута .best_score_, а робити передбачення оптимізованою моделлю — через метод .predict(). Також саму найкращу модель можна отримати через атрибут .best_estimator_.
Swipe to start coding
Вам надано набір даних з оцінками Star Wars, збережений у змінній DataFrame як df.
- Ініціалізуйте
param_gridяк словник, що містить параметрn_neighborsзі значеннями[3, 9, 18, 27]. - Створіть об'єкт
GridSearchCV, використовуючиparam_gridз 4-кратною крос-валідацією, навчіть його та збережіть у зміннійgrid_search. - Отримайте найкращу модель з
grid_searchі збережіть її у зміннійbest_model. - Отримайте оцінку найкращої моделі та збережіть її у змінній
best_score.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 4.17
Завдання: Вибір Найкращого Значення K
Свайпніть щоб показати меню
Як показано в попередніх розділах, передбачення моделі можуть змінюватися залежно від значення k (кількість сусідів). Під час побудови моделі k-NN важливо обрати таке значення k, яке забезпечує найкращу продуктивність.
Поширеним підходом є використання крос-валідації для оцінки якості моделі. Можна виконати цикл і обчислити оцінки крос-валідації для різних значень k, а потім обрати те, яке дає найвищий результат. Це найпоширеніший метод.
Для цього у sklearn є зручний інструмент: клас GridSearchCV.
Параметр param_grid приймає словник, де ключами є назви параметрів, а значеннями — списки варіантів для перевірки. Наприклад, щоб протестувати значення від 1 до 99 для n_neighbors, можна записати:
param_grid = {'n_neighbors': range(1, 100)}
Виклик методу .fit(X, y) для об'єкта GridSearchCV дозволяє здійснити пошук по сітці параметрів, знайти найкращі параметри, а потім перенавчити модель на всьому наборі даних з використанням цих параметрів.
Отримати найкращий результат можна за допомогою атрибута .best_score_, а робити передбачення оптимізованою моделлю — через метод .predict(). Також саму найкращу модель можна отримати через атрибут .best_estimator_.
Swipe to start coding
Вам надано набір даних з оцінками Star Wars, збережений у змінній DataFrame як df.
- Ініціалізуйте
param_gridяк словник, що містить параметрn_neighborsзі значеннями[3, 9, 18, 27]. - Створіть об'єкт
GridSearchCV, використовуючиparam_gridз 4-кратною крос-валідацією, навчіть його та збережіть у зміннійgrid_search. - Отримайте найкращу модель з
grid_searchі збережіть її у зміннійbest_model. - Отримайте оцінку найкращої моделі та збережіть її у змінній
best_score.
Рішення
Дякуємо за ваш відгук!
single