sklearn大数据的线性回归

时间:2014-03-26 17:20:11

标签: python scikit-learn regression linear-regression

sklearn.LinearRegression是否支持在线/增量学习?

我有100组数据,我试图完全实现它们。对于每个组,有超过10000个实例和~10个特征,因此如果我构造一个巨大的矩阵(10 ^ 6乘10),它将导致sklearn的内存错误。如果我每次都能用新组的批量样本更新回归量,那将是很好的。

我发现this post是相关的,但是已接受的解决方案适用于使用单个新数据(仅一个实例)而非批量样本进行在线学习。

2 个答案:

答案 0 :(得分:9)

看一下 linear_model.SGDRegressor ,它会使用随机梯度学习一个线性模型。

一般来说,sklearn有许多模型可以承认" partial_fit"它们对于不适合RAM的中型到大型数据集都非常有用。

答案 1 :(得分:8)

并非所有算法都可以逐步学习,而不会立即查看所有实例。也就是说,所有实现partial_fit API的估算器都是小批量学习的候选者,也称为“在线学习”。

Here是一篇关于增量学习的扩展策略的文章。为了您的目的,请查看sklearn.linear_model.SGDRegressor课程。它真正在线,因此内存和收敛速度不受批量大小的影响。