Признаки
Целевая переменная
Объекты
\( \sum\limits_{i=1}^l[y_i \ne a(x_i)] \rightarrow min \)
\( \sum\limits_{i=1}^l(y_i - a(x_i))^2 \rightarrow min \)
\( \sum\limits_{i=1}^l \mathscr{L} (y_i, a(x_i)) \rightarrow min \)
import os
os.listdir("/drive")
Будем использовать Python 3
Главное:
Например, метрика Минковского - общий случай Евклидова расстояния:
К какому классу относится серый кружок?
Попробуем отнести его к классу ближайшего соседа - но никто не защищен от выбросов
Возьмем больше соседей, например, 5. В этом конкретном случае всё однозначно
Попробуем 6 соседей. Что-то пошло не так.
Попробуем 6 соседей. Что-то пошло не так
Введем веса объектов, например, в виде функции от расстояния:
\(w(x_{(i)}) = w(i) \)
\(w(x_{(i)}) = d(x, x_{(i)}) \)
Тогда степень принадлежности к каждому из классов определится просто суммой весов соседей, принадлежащих классу:
\(Z_{желтый} = w(x_{(4)}) + w(x_{(5)}) + w(x_{(6)}) \)
\(Z_{синий} = w(x_{(1)}) + w(x_{(2)}) + w(x_{(3)}) \)
Другой вариант - центроидный классификатор
# Импорт библиотеки:
import numpy as np # можем обращаться к библиотеке по имени np
import matplotlib # обращаемся к библиотеке по изначальному имени
# Импорт отдельных модулей из библиотеки:
from sklearn.neighbors import KNNClassfier
One-hot encoding
Чрезмерная подстройка алгоритма под обучающую выборку
(анонимно)