Склеарн: KNeighborsRegressor vs KNeighborsClassifer - PullRequest
0 голосов
/ 13 октября 2018

В чем разница между KNeighborsRegressor и KNeighborsClassifier библиотеки sklearn?

Я пытаюсь использовать алгоритм kNN, чтобы делать прогнозы на наборе данных, который имеет имена определенных эмоций (например, счастливых, грустных, злых) в качестве возможных классов.Атрибуты являются числовыми значениями пикселей.Я узнал, что это категориальный тип.Я использую sklearn в первый раз и не могу выбрать между KneighborsRegressor и KNeighborsClassifier.Есть ли такая большая разница в моем случае?В каких ситуациях их можно использовать?

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

KNeighborsRegressor и KNeighborsClassifier тесно связаны.Оба получают несколько k соседей объектов запроса и делают прогнозы на основе этих соседей.Предположим, что пять ближайших соседей запроса x содержат метки [2, 0, 0, 0, 1].Давайте закодируем эмоции как счастливые = 0, сердитые = 1, грустные = 2.

KNeighborsClassifier, по сути, выполняет большинство голосов.Прогноз для запроса x равен 0, что означает «счастливый».Так что это путь.

Вместо этого KNeighborsRegressor вычисляет среднее значение меток ближайших соседей.Тогда прогноз будет 3/5 = 0.6.Но это не соответствует какой-либо эмоции, которую мы определили.Причина в том, что переменная эмоций действительно категорична, как указано в вопросе.Если ваши эмоции закодированы как непрерывная переменная, вы можете использовать Регрессор.Скажем, значения находятся в интервале [0,0, 2,0], где 0 означает «действительно счастлив», а 2 означает «очень грустно», 0,6 теперь содержит значение («счастлив»).

Кстати, так как вы упомянули логистическую регрессиюв ключевых словах, не путайте имя.Это фактически классификация, как описано в руководстве пользователя scikit-learn .

0 голосов
/ 13 октября 2018

Я думаю, что стиль алгоритма KNN для обоих одинаков.Но у них разные выводы.Один дает вам регресс и другую классификацию.Чтобы понять ваш вопрос, я думаю, вы должны проверить, чем отличаются классификация и регрессия.Проверьте эту ссылку, и она будет более понятной для вас.

[https://math.stackexchange.com/questions/141381/regression-vs-classification][1]

...