请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么kNN可以用来做Regressor?

我的想法是如果是分成len(y_train)个类来做的话,这样最后也得不到什么直线。

那kNN是怎么得到直线参数的?

y=xa+b

y(i)=θ0x(i)0+θ1x(i)1+θ2x(i)2+…+θnx(i)n

n个特征m个样本

判断和样本x的距离,取最近的作为x的类别,还是没看出来怎么求θ向量的?


正在回答

1回答

liuyubobobo 2018-02-10 17:39:33

kNN没有获得直线的参数。回归问题和线性回归是两回事。回归问题指预测的结果是一个数值的问题。线性回归只是解决回归问题的一种方法而已。线性回归的思想把问题转换成求直线的theta;但kNN求解回归问题完全没有这样做。


kNN解决回归问题的基本方法,是求k近邻的平均值。请在回顾我在讲解kNN时相关的内容:)

1 回复 有任何疑惑可以回复我~
  • 提问者 神经旷野舞者 #1
    如果没有求出一条直线,那应该无法完成预测啊,比如最简单的 y = xa + b ,已知输入的x的范围是1~10,y=xa+b可以预测大于10的x值,如果用knn的话,它没有求出一个直线参数,怎么能预测大于10的x值的结果呢?应该还是只能预测范围是1~10的x吧?
    回复 有任何疑惑可以回复我~ 2018-02-10 19:42:39
  • 十里坡劍神 回复 提问者 神经旷野舞者 #2
    我理解应该是就取最靠近x=10的几个点的y值,然后取y的平均值,当然很不准就是了。所以knn的一个缺点是高度数据相关
    回复 有任何疑惑可以回复我~ 2018-02-10 20:57:20
  • 提问者 神经旷野舞者 回复 十里坡劍神 #3
    想起来了,波士顿房价有个上限50,所以应该不用预测我说测超出范围的情况了。
    回复 有任何疑惑可以回复我~ 2018-02-10 21:03:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信