训练数据集就是模型?还是kNN是模型?

来源:4-2 scikit-learn中的机器学习算法封装

神经旷野舞者

2018-01-30

5a708b89d815d.png

又对这几个说法比较奇怪,怎么训练集就是红色模型,感觉k邻近算法这个过程才是红色模型,然后predict就是把输入样例带进去求到的?

那个蓝色的机器学习算法是不是可以去掉,不是说训练数据集送给fit训练后得到模型,然后模型根据输入样例再进行predict?

写回答

2回答

liuyubobobo

2018-01-31

在这里,“模型”是一个名词。如你所说,房价预测中,求出的f(x)这个函数就是一个模型,本质其实是一系列theta值;

predict是动作,他的输入是新的样本信息,输出是结果。在房价预测中,把一个新的房产信息x代入f(x)中,计算出f(x)的最终结果,求出具体的预测房价,这个过程就是predict做的事情。


同理,对kNN算法来说,predict的定义是一样的,输入的是新的样本信息,输出的是预测结果。对于kNN来说,中间的计算过程就是把这个新的样本信息和原来的所有样本进行比较得到k近邻最终投票得出结果的过程。原来的训练样本改变了,最终计算的结果就有可能改变。所以原来的训练样本是我们计算的依据,可以把他们看作是“模型”。


在kNN算法中,蓝色的部分确实可以去掉,不过在这里,为了保持我们后面学习的所有的算法的一致性,保留蓝色的部分:)


2
9
神经旷野舞者
回复
liuyubobobo
明白了,谢谢老师
2018-01-31
共9条回复

神经旷野舞者

提问者

2018-01-30

补充下,就是比如预测房价里面,假如f(x)就是训练后的模型,输入x得到预测值predict f(x)。对应过来,kNN的模型是不是也应该包含了计算最近距离排序得到标签那一部分操作,然后输入x到这个模型得到预测值1,而不仅仅是训练集?

0
0

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5765 学习 · 2428 问题

查看课程