关于KNN和线性回归的不同之处
来源:5-10 线性回归的可解释性和更多思考
爱西瓜同志
2019-03-30
波波老师,以下是我的看法:
一、从fit方法来讲,KNN只是单纯的将X_train和y_train值传给_X_train和_y_train,而线性回归通过传入的X_train和y_train求出了a和b。再看predict方法,KNN每次调用predict方法都需要进行进行计算,返回相应的y_predict,而线性回归只需要根据a和b就能简单的计算出y_predict,从这一点看,我们使用这个模型预测数据,线性回归效率会显的高一点。
二、KNN是将预测的结果进行分类,而线性回归是用来预测这个值是什么。
三、评价指标不同,KNN的评价指标是y_predict和y_test相同的各数所占全体的总数,而线性回归是和基准线性回归进行比较,比这个基准越好,评价越好。
我的问题:
一、还有哪些性质是不同的?
二、在具体应用场景上有哪里是不同的?
1回答
-
1
你的理解完全正确。所以knn叫费参数学习,线性回归叫参数学习。
学习到这里,可以结合knn和线性回归的不同,在回顾一下课程的2-4,参数学习和非参数学习概念的不同。
也可以参考这里:http://coding.imooc.com/learn/questiondetail/55215.html
2
课程里介绍的knn是解决分类问题,线性回归是解决回归问题。他们本身解决的问题种类不同。解决的问题种类不同(分类还是回归),所使用的评价指标自然就不同。
监督学习就这两类问题——分类和回归。可以再回顾一下2-2,2-3两个小节。
分类问题的评价指标,可以参考4-4和整个第十章;
回归问题的评价指标,可以参考5-5,5-6小节。
但其实还有更多评价指标,初学了解这些就足够了。
所以,评价指标和算法没关系,和算法在解决什么类别的问题有关!
3
使用knn也可以解决回归问题。可以再回顾一下4-9小节的介绍。
或者参考这里:https://coding.imooc.com/learn/questiondetail/84216.html
在5-9小节,我也用实际的代码,使用KNN Regressor计算了一下波士顿房价的预测(回归问题),请再回顾一下。所以,请再体会一下:评价指标和使用的具体算法无关,和你要解决的问题种类是怎样的(分类?回归?)相关。
4
关于应用场景,可以在回顾免2-5:费的午餐定理。或者参考这里:https://coding.imooc.com/learn/questiondetail/43808.html
不过一般实际很少使用knn,因为knn太慢了。其算法性能和训练数据的数据量成正比,而实际大多数情况都是具有巨大的数据量的,所以knn并不实用:)
继续加油!:)
012019-03-31
相似问题