我正在scikit-learn
使用partial_fit(X,y)
函数训练多层感知器(MLP)(默认选项),我注意到调用
partial_fit([X1],[y1])
partial_fit([X2],[y2])
和
partial_fit([X1,X2],[y1,y2])
第二种选择似乎更快,但结果似乎更糟。 有人能解释我发生了什么吗?
答案 0 :(得分:0)
如果没有最小的,可重复的例子,回答这个问题有点困难,但这是我的看法。
sklearn perceptron的属性batch_size
的默认值为200.当您设置verbose=True
的{{1}}时,您会看到第一个示例(连续两次调用)导致两次迭代,而第二个示例导致一次迭代,即第二次MLPClassifier
调用改善了第一次调用的结果。在每次迭代中,总样本再次分成块。
如果您有一个小的sample_size(下面的代码段中为< 5000),则相对于样本大小,默认partial_fit
太大,将其减少到100将为两种方法提供更好的结果但是赢得了' t是连续调用和单行方法之间的差异。
此工件随着更高的样本数量(> 10 ^ 6)而消失。
batch_size