问题的根源很常见:
存在大量的列车数据,这些数据是以块的形式读取的.兴趣点是在分块数据集上顺序拟合所需模型,保持先前拟合的状态.
除了partial_fit()之外,是否有任何方法可以在不同的数据上使用sklearn来拟合模型?或者是否有任何技巧来重写fit()函数的代码来为这个问题定制它?或者有可能某些人意识到泡菜?
解决方法:
有些模型暴露partial_fit()而其他模型没有暴露的原因.每个模型都是不同的机器学习算法,对于许多这些算法,如果不从头开始重新计算模型,就无法添加元素.
因此,如果必须逐步拟合模型,请选择具有partial_fit()的增量模型.您可以在this documentation page找到完整列表.
或者,您可以构建一个集合模型.为您拥有的每个数据块创建单独的Classifier()或Regression().然后,当你需要预测某些东西时,你可以
for classifier in classifiers:
votes[classifier.predict(X)] += 1
prediction = numpy.argmax(votes)
或者,对于回归量
prediction = numpy.mean([regressor.predict(X) for regressor in regressors]
标签:python,scikit-learn