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

bookНедолік GridSearchCV

Перш ніж розглядати GridSearchCV, важливо зазначити, що у KNeighborsClassifier є кілька гіперпараметрів, окрім n_neighbors. Два з них: weights та p.

Ваги

KNeighborsClassifier здійснює прогнозування, знаходячи k найближчих сусідів і призначаючи найчастіший клас серед них, незалежно від того, наскільки близько знаходиться кожен сусід.

Альтернативою є зважування сусідів за їхньою відстанню, надаючи більший вплив ближчим точкам. Це реалізується за допомогою weights='distance'.

За замовчуванням класифікатор використовує weights='uniform', коли всі сусіди мають однаковий внесок.

P

Гіперпараметр p визначає спосіб обчислення відстаней:

  • p=1: Манхеттенська відстань (сума модулів різниць між координатами);
  • p=2: Евклідова відстань (відстань по прямій, знайома з геометрії).

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

Note
Примітка

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

У попередньому розділі для налаштування використовувався лише параметр GridSearchCV у n_neighbors. Щоб знайти найкращу комбінацію параметрів n_neighbors, weights та p, можна визначити param_grid так:

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

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

Це суттєво збільшує простір пошуку. Наприклад:

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

За наявності 100 комбінацій гіперпараметрів і 5-кратної крос-валідації модель навчається та оцінюється 500 разів.

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

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

question mark

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

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you explain how RandomizedSearchCV works compared to GridSearchCV?

What are some best practices for choosing hyperparameter ranges?

How do I interpret the results from GridSearchCV or RandomizedSearchCV?

Awesome!

Completion rate improved to 3.13

bookНедолік GridSearchCV

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

Перш ніж розглядати GridSearchCV, важливо зазначити, що у KNeighborsClassifier є кілька гіперпараметрів, окрім n_neighbors. Два з них: weights та p.

Ваги

KNeighborsClassifier здійснює прогнозування, знаходячи k найближчих сусідів і призначаючи найчастіший клас серед них, незалежно від того, наскільки близько знаходиться кожен сусід.

Альтернативою є зважування сусідів за їхньою відстанню, надаючи більший вплив ближчим точкам. Це реалізується за допомогою weights='distance'.

За замовчуванням класифікатор використовує weights='uniform', коли всі сусіди мають однаковий внесок.

P

Гіперпараметр p визначає спосіб обчислення відстаней:

  • p=1: Манхеттенська відстань (сума модулів різниць між координатами);
  • p=2: Евклідова відстань (відстань по прямій, знайома з геометрії).

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

Note
Примітка

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

У попередньому розділі для налаштування використовувався лише параметр GridSearchCV у n_neighbors. Щоб знайти найкращу комбінацію параметрів n_neighbors, weights та p, можна визначити param_grid так:

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

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

Це суттєво збільшує простір пошуку. Наприклад:

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

За наявності 100 комбінацій гіперпараметрів і 5-кратної крос-валідації модель навчається та оцінюється 500 разів.

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

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

question mark

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

Select the correct answer

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

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

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

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