Чудово!
Completion показник покращився до 4.17single
Завдання: Вибір Найкращого Значення 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
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат