采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
是因为,predict函数太长了吗?所以分成小的函数。 我看那个示意图里面predict仅仅是一个输出箭头,是不是predict函数的具体实现过程放到fit里更合适,然后fit返回一个变量就够了?
在这一小节的设计里,_predict的作用是预测一个样本数据的输出结果。predict的作用是预测一组(多个)样本数据的输出结果。这里根据scikit-learn的封装方式,将后者作为最终暴露给用户的接口。
predict和fit做的事情完全不同。predict做的事情是预测,fit做的事情是训练。用户在具体调用的时候,在fit以后,可以多次使用fit的结果,多次调用predict,即针对一个训练结果,对不同的数据进行预测,所以二者的实现是分离的。以后慢慢你就会看到,对于大多数算法,fit过程是很慢的。每预测一组数据,就重新fit一遍,是不合理的:)
想把那个流程图和代码对应起来的,fit是训练过程,那那个蓝色圆圈的机器学习算法对应哪部分代码?还是说那个蓝色部分表示静态的东西
对!就是蓝色的部分!只不过kNN算法非常特殊,蓝色的部分不需要计算!kNN算法的主要计算都在红色部分,也就是预测部分。之后学习更多的算法以后就会了解,大多数机器学习算法的重头戏,都在fit这一部分:)
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.4k 19
3.4k 17
2.9k 15
1.6k 15
1.4k 14