sklearn.LinearRegression
是否支持在线/增量学习?
我有100组数据,我试图完全实现它们。对于每个组,有超过10000个实例和~10个特征,因此如果我构造一个巨大的矩阵(10 ^ 6乘10),它将导致sklearn的内存错误。如果我每次都能用新组的批量样本更新回归量,那将是很好的。
我发现this post是相关的,但是已接受的解决方案适用于使用单个新数据(仅一个实例)而非批量样本进行在线学习。
答案 0 :(得分:9)
看一下 linear_model.SGDRegressor
,它会使用随机梯度学习一个线性模型。
一般来说,sklearn有许多模型可以承认" partial_fit
"它们对于不适合RAM的中型到大型数据集都非常有用。
答案 1 :(得分:8)
并非所有算法都可以逐步学习,而不会立即查看所有实例。也就是说,所有实现partial_fit
API的估算器都是小批量学习的候选者,也称为“在线学习”。
Here是一篇关于增量学习的扩展策略的文章。为了您的目的,请查看sklearn.linear_model.SGDRegressor
课程。它真正在线,因此内存和收敛速度不受批量大小的影响。