4.2 为什么predict还需要一个私有的predict,而fit没有?
来源:4-3 训练数据集,测试数据集
神经旷野舞者
2018-01-30
是因为,predict函数太长了吗?所以分成小的函数。
我看那个示意图里面predict仅仅是一个输出箭头,是不是predict函数的具体实现过程放到fit里更合适,然后fit返回一个变量就够了?
写回答
1回答
-
在这一小节的设计里,_predict的作用是预测一个样本数据的输出结果。predict的作用是预测一组(多个)样本数据的输出结果。这里根据scikit-learn的封装方式,将后者作为最终暴露给用户的接口。
predict和fit做的事情完全不同。predict做的事情是预测,fit做的事情是训练。用户在具体调用的时候,在fit以后,可以多次使用fit的结果,多次调用predict,即针对一个训练结果,对不同的数据进行预测,所以二者的实现是分离的。以后慢慢你就会看到,对于大多数算法,fit过程是很慢的。每预测一组数据,就重新fit一遍,是不合理的:)
122018-01-30