Що Таке K-NN
Свайпніть щоб показати меню
Розпочнемо наше знайомство з класифікацією з найпростішого завдання — бінарної класифікації. Припустимо, потрібно класифікувати солодощі як печиво/не печиво на основі однієї ознаки: їхньої ваги.
Простий спосіб передбачити клас нового зразка — знайти його найближчого сусіда. У нашому прикладі потрібно знайти солодощі, вага яких найбільш подібна до ваги нового зразка.
Саме ця ідея лежить в основі методу k найближчих сусідів (k-NN) — ми просто розглядаємо сусідів. Алгоритм k-NN передбачає, що подібні об'єкти знаходяться у близькому оточенні. Іншими словами, схожі об'єкти розташовані поруч. k у k-NN означає кількість сусідів, яких враховують під час прогнозування.
У наведеному вище прикладі ми розглядали лише 1 сусіда, тобто це був метод найближчого сусіда (1-Nearest Neighbor). Проте зазвичай значення k встановлюють більшим, оскільки орієнтація лише на одного сусіда може бути ненадійною:
Якщо k (кількість сусідів) більше одного, для передбачення обирають найбільш поширений клас серед сусідів. Ось приклад передбачення для двох нових об'єктів при k=3:
Як видно, зміна значення k може призводити до різних результатів передбачення.
Іноді алгоритм k-NN створює нічийний результат, коли кілька класів зустрічаються однаково часто серед найближчих сусідів. Більшість бібліотек, включаючи scikit-learn, вирішують такі ситуації, обираючи перший клас у своєму внутрішньому порядку — це варто враховувати, оскільки це може непомітно впливати на відтворюваність і інтерпретацію результатів.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат