采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
请问weight=‘distance’,总是比weight=‘uniform’预测的结果准确吗,那面对新数据集是否都应该用weight=‘distance’
在机器学习领域,很多时候,问题的关键并不是“预测结果是否更准确”,而是这个模型“是否合理”。这是非常重要的一点。随着这个课程的深入,你应该会对此理解的越来越深刻,尤其是在学习完“过拟合”相关的知识以后。
如果你愿意,也可以先提前看一下这个问答中我的回答的 2):https://coding.imooc.com/learn/questiondetail/vZnjEY773L0Y72Wd.html
==========
具体到 kNN 中,整体,在大多数情况下,使用 distance 是比使用 uniform 更“合理”的,原因我在课程中介绍 distance 的原理的时候介绍了(这也是引入 distance 的原因)。所以,在我看来,即使 distance 的预测结果不是比 uniform 更好,也应该使用 distance。因为使用 uniform 的那个在你的训练数据集上的“更好的结果”,很有可能是“假的”。只是在你测试的时候,针对你当前的数据,效果好一些而已。但真要拉出去,面对真实世界的数据,很有可能就不行了。
这叫做泛化能力弱,这些概念课程后续都会一点一点引入介绍的。
不过暂时,你也不需要对这个参数的选择太过纠结。因为简单来说,kNN 在实践中没有什么用。只是因为他的原理非常简单,我们借 kNN 介绍很多基础概念(比如 fit,比如 predict,比如超参数,比如网格搜索,等等等等。)
继续加油!:)
好谢谢老师
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.4k 19
3.4k 17
2.9k 15
1.6k 15
1.4k 14