Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Недолік GridSearchCV | Моделювання
Вступ до машинного навчання з Python

Недолік GridSearchCV

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

Перш ніж використовувати GridSearchCV, зверніть увагу, що у KNeighborsClassifier є більше гіперпараметрів, ніж лише n_neighbors. Два важливі з них — це weights та p.

Ваги

За замовчуванням класифікатор використовує weights='uniform', тобто всі k сусідів мають однакову вагу при голосуванні. Встановлення weights='distance' надає ближчим сусідам більший вплив, що часто покращує передбачення, коли найближчі точки є більш релевантними.

kNNWeights

P

Параметр p визначає метрику відстані:

  • p=1: Манхеттенська відстань;
  • p=2: Евклідова відстань.
Відстані

Параметр p може приймати будь-яке додатне ціле число. Існує багато різних відстаней, але їх складніше візуалізувати, ніж для p=1 або p=2.

Note
Примітка

Не переймайтеся, якщо деталі weights або p залишаються незрозумілими. Вони наведені лише для того, щоб показати, що існує більше одного гіперпараметра, який може впливати на передбачення моделі. Розглядайте їх як приклади гіперпараметрів, які можна налаштовувати.

Налаштування

Раніше налаштовувався лише n_neighbors. Щоб здійснити пошук по всіх трьох гіперпараметрах, використовуйте:

param_grid = {
    'n_neighbors': [1, 3, 5, 7],
    'weights': ['distance', 'uniform'],
    'p': [1, 2]
}

GridSearchCV перевіряє всі можливі комбінації, щоб знайти найкращу, тому він спробує всі такі варіанти:

Більша сітка, наприклад:

param_grid = {
    'n_neighbors': [...],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

створює 100 комбінацій. При 5-кратній крос-валідації модель навчається 500 разів. Це прийнятно для невеликих наборів даних, але для більших це стає надто повільно.

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

question mark

Основна проблема GridSearchCV полягає в тому, що він перебирає всі можливі комбінації (зазначені в param_grid), що може займати багато часу. Чи є це твердження правильним?

Виберіть правильну відповідь

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Секція 4. Розділ 7
some-alt