我有一个每天生长的数据集,我担心,很快它将达到内存可能无法容纳的大小。我在应用程序中使用随机的森林分类器和回归器。我听说过部分合身,但我不知道是否可以以这种方式完成随机森林。即使数据集的增长超出了内存大小,我如何确保应用程序不会破裂并继续表现良好。如果使用SVM而不是随机森林,情况也会有所不同。
通常,您应该寻找提供增量或在线培训的方法。这样,您不必立即向算法显示完整的数据集,而是在新数据可用时。如果数据每天增加,并且您的计算资源受到限制,那将是必不可少的。随机梯度下降是一种非常流行的优化方法,可满足您的要求。
您可以使用一种称为Mondarian Forest的随机森林的变体。引用链接论文的摘要: Mondrian森林的竞争性预测性能与现有的在线随机森林相当,并定期重新培训批次随机森林,同时比更快的数量级要多,因此代表了更好的计算准确性权衡。该代码可以在github上找到。
在不知道问题的数据和性质的情况下,不可能为您提供比随机森林更好的指导。如果您想坚持Scikit学习,请检查文章策略以进行计算:较大数据。