Python Sklearn:Kneighbors回归器vs Kneighbors分类器

Python Sklearn:Kneighbors回归器vs Kneighbors分类器,python,scikit-learn,classification,logistic-regression,nearest-neighbor,Python,Scikit Learn,Classification,Logistic Regression,Nearest Neighbor,sklearn库的Kneighbors回归器和Kneighbors分类器之间有什么区别 我正在尝试使用kNN算法对一个数据集进行预测,该数据集可能包含某些情绪的名称(如快乐、悲伤、愤怒)。属性是数字像素值。我知道这些是分类类型的。我第一次使用sklearn,无法决定是使用Kneighbors回归器还是使用Kneighbors分类器。我的情况有那么大的不同吗?在哪种情况下会使用这些算法?我认为KNN算法风格对于两者都是相同的。但它们有不同的输出。一种是回归和其他分类。为了理解你的问题,我认为你应该

sklearn库的Kneighbors回归器和Kneighbors分类器之间有什么区别


我正在尝试使用kNN算法对一个数据集进行预测,该数据集可能包含某些情绪的名称(如快乐、悲伤、愤怒)。属性是数字像素值。我知道这些是分类类型的。我第一次使用sklearn,无法决定是使用Kneighbors回归器还是使用Kneighbors分类器。我的情况有那么大的不同吗?在哪种情况下会使用这些算法?

我认为KNN算法风格对于两者都是相同的。但它们有不同的输出。一种是回归和其他分类。为了理解你的问题,我认为你应该检查分类和回归的区别。检查此链接,您会更加清楚


[

KneighborsRegressionor
KNeighborsClassifier
密切相关。两者都检索查询对象的一些k近邻,并基于这些近邻进行预测。假设查询x的五个最近邻包含标签[2,0,0,0,0,1]。让我们将情绪编码为happy=0,angry=1,sad=2

KNeighborsClassifier
基本上执行多数投票。查询x的预测值为0,表示“快乐”。因此,这就是方法

KneighborsRegressionor
计算最近邻标签的平均值。然后预测值将为
3/5=0.6
。但这并不映射到我们定义的任何情绪。原因是情绪变量确实是分类的,如问题中所述。 如果你将情绪编码为连续变量,你可以使用回归器。假设这些值在一个区间[0.0,2.0],其中0表示非常快乐,2表示非常悲伤,0.6现在有一个含义(快乐)


顺便说一句,既然你在关键词中提到了逻辑回归,不要被它的名字搞混了。它实际上是分类,如中所述。

你应该使用分类器。回归用于预测房价等连续值。