sklearn.LinearRegression
是否支持在线/增量学习?我有100组数据,我试图完全实现它们。对于每个组,有超过10000个实例和〜10个特征,所以如果我构造一个巨大的矩阵(10×10×10),会导致内存错误。如果我可以每次使用新组的批次样本更新回归器,那将会很好。大数据的sklearn线性回归
我发现this post相关,但接受的解决方案适用于使用单个新数据(仅一个实例)进行在线学习,而不是批量样本。
sklearn.LinearRegression
是否支持在线/增量学习?我有100组数据,我试图完全实现它们。对于每个组,有超过10000个实例和〜10个特征,所以如果我构造一个巨大的矩阵(10×10×10),会导致内存错误。如果我可以每次使用新组的批次样本更新回归器,那将会很好。大数据的sklearn线性回归
我发现this post相关,但接受的解决方案适用于使用单个新数据(仅一个实例)进行在线学习,而不是批量样本。
看看linear_model.SGDRegressor
,它使用随机梯度学习线性模型。
在一般情况下,sklearn有许多模型,承认“partial_fit
”,它们都非常适用于不适合RAM的大中型数据集。
并非所有的算法都可以逐步学习,而不会立即看到所有的实例。也就是说,实现API的所有估计者都是小批量学习的候选人,也称为“在线学习”。
Here是一篇超越增量学习的缩放策略的文章。为了您的目的,请看sklearn.linear_model.SGDRegressor
课程。这是真正的在线,所以内存和收敛速度不受批量大小的影响。
谢谢caoy。这很有帮助。但sgdregressor的输入与普通线性回归器完全相同(我仍然需要准备好大型数据集)? – ChuNan
@ChuNan,不需要组建大型数据集。看一下示例代码:特别是,http://china.chinaunix.net/cgi-bin/docs.html#ChuNan,http://scikit-learn.org/dev/auto_examples/applications/plot_out_of_core_classification.html#example-applications-plot-out-of-core-classification-py –
@ChuNan,看看如何在生成器函数“iter_minibatches”中快速构建数据块。如果你不熟悉Python生成器的概念,请看看:https://wiki.python.org/moin/Generators –