KNNRegressor
KNNRegressor — модель регрессии, основанная на ближайших соседях. Она предсказывает число по похожим объектам.
Например, если нужно предсказать цену квартиры, модель ищет квартиры с похожей площадью и усредняет их цены.
Идея модели
Заголовок раздела «Идея модели»KNNRegressor работает почти так же, как KNNClassifier, но результат другой.
| Модель | Что делает с ближайшими соседями | Ответ |
|---|---|---|
KNNClassifier | голосует за класс | категория |
KNNRegressor | усредняет значения | число |
Если k = 3, модель берет три ближайших объекта и считает среднее значение их ответов.
Пример регрессии
Заголовок раздела «Пример регрессии»В этом примере модель предсказывает цену квартиры по площади. Значения цены указаны условно, в миллионах рублей.
uses MLABC;
begin var df := DataFrame.FromCsvText(''' Площадь,Цена 35,5.2 42,6.1 50,7.4 58,8.0 65,9.1 72,10.2 80,11.0 90,12.4 ''');
var X := df.ToMatrix(['Площадь']); var y := df.ToVector('Цена');
var model := new KNNRegressor(3); model.Fit(X, y);
var example := Vector([70.0]); var pred := model.PredictOne(example);
Println('Площадь:', example[0]:0:0); Println('Предсказанная цена:', pred:0:2);end.Вывод:
Площадь: 70Предсказанная цена: 10.10Для квартиры площадью 70 модель берет три ближайшие квартиры: 65, 72 и 80 квадратных метров. Затем усредняет их цены:
(9.1 + 10.2 + 11.0) / 3 = 10.1Что означает k
Заголовок раздела «Что означает k»k — это число ближайших соседей, которые участвуют в предсказании.
Если k маленькое, модель сильнее реагирует на отдельные объекты. Если k большое, предсказания становятся более сглаженными.
Масштабирование признаков
Заголовок раздела «Масштабирование признаков»KNN использует расстояния между объектами. Поэтому масштаб признаков важен.
Если признаков несколько, например Площадь, ЦенаРемонта, Этаж, то признаки могут иметь очень разные масштабы. В таких задачах перед KNN часто используют StandardScaler.
Когда использовать
Заголовок раздела «Когда использовать»KNNRegressor подходит, когда похожие объекты обычно имеют похожие числовые ответы.
Примеры:
- цена квартиры по похожим квартирам;
- время доставки по похожим заказам;
- стоимость ремонта по похожим объектам.
Преимущества
Заголовок раздела «Преимущества»- простая и понятная идея;
- не требует сложного обучения;
- хорошо подходит для учебных примеров.
Ограничения
Заголовок раздела «Ограничения»- чувствителен к масштабу признаков;
- на больших данных может работать медленнее;
- качество сильно зависит от выбора
k.