采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我的想法是如果是分成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的类别,还是没看出来怎么求θ向量的?
kNN没有获得直线的参数。回归问题和线性回归是两回事。回归问题指预测的结果是一个数值的问题。线性回归只是解决回归问题的一种方法而已。线性回归的思想把问题转换成求直线的theta;但kNN求解回归问题完全没有这样做。
kNN解决回归问题的基本方法,是求k近邻的平均值。请在回顾我在讲解kNN时相关的内容:)
如果没有求出一条直线,那应该无法完成预测啊,比如最简单的 y = xa + b ,已知输入的x的范围是1~10,y=xa+b可以预测大于10的x值,如果用knn的话,它没有求出一个直线参数,怎么能预测大于10的x值的结果呢?应该还是只能预测范围是1~10的x吧?
我理解应该是就取最靠近x=10的几个点的y值,然后取y的平均值,当然很不准就是了。所以knn的一个缺点是高度数据相关
想起来了,波士顿房价有个上限50,所以应该不用预测我说测超出范围的情况了。
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.5k 19
3.5k 17
2.9k 15
1.6k 15
1.4k 14