请稍等 ...
×

采纳答案成功!

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

关于fit的定义的一些疑问

首先,fit是指通过机器学习算法训练模型的过程,是吧?fit翻译过来就是拟合

在kNN那一章,fit是指通过网格搜索找到最佳参数;

在线性回归这一节,fit是指找到ab的值;

是不是应该这样理解呢?

然后,我觉得kNN算法如果不需要找最佳参数的话,好像是等同于没有fit的过程,但老师说过这个其实是有fit的,因为可以认为训练集本身就是模型?但模型不是在fit之后吗?

https://img1.sycdn.imooc.com//szimg/620d0d6708a1675f22081242.jpg

正在回答

1回答

liuyubobobo 2022-02-17 05:01:03

对线性回归的理解没有问题(更广义的,是寻找 theta 的值。)


但是对于 kNN,理解有一些问题。我们实现的 kNN 算法是一个不需要 fit 的算法。所以,在我们实现的 kNN 算法中,fit 只是简单的把数据扔进 kNN 的类里,没有任何的计算过程:https://git.imooc.com/coding-169/coding-169/src/master/04-kNN/04-Accuracy-Score/playML/kNN.py


我们只不过是为了统一机器学习的模型的 pipeline,给 kNN 这个类设立了 fit 函数。但是,这个 fit 没有做事情。你在课程后续还会看到一些算法在 sklearn 的封装上有这样的特点,比如这个问题的第一个提问:http://coding.imooc.com/learn/questiondetail/116263.html 具体 pipeline 是什么,课程后续会介绍的。


简单来说,fit 就是对训练数据集做一些事情,来帮助预测函数得到预测结果的。比如线性回归,要想得到预测结果,就必须有 theta 参数。所以,fit 就是用来求出这些 theta 参数的。近乎除了 kNN 算法,所有其他算法在 fit 的过程中都需要做事情(甚至是所有的主要工作都在 fit 中),所以,你再看几个算法的 fit,把他们拿到一起比较,可能会理解的更清晰。


==========


网格搜索不是 kNN 的 fit,网格搜索是一种通用的搜索超参数的方法。网格搜索不是一个“模型”,网格搜索是不断变换模型的超参数,来获得一堆模型,然后取这堆模型中最好的一个。


继续加油!:)


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号