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 .