如何在Scikit-Learn中逐批拟合数据?

我有一个超大的数据集(超过1 TB),我想使用Scikit-Learn的GradientBoostingRegressor进行训练。

由于数据量远超我的内存容量,我考虑将数据分成小块,并逐一进行’fit()’操作。

我了解到将’warm_start’属性设置为True可以在fit()后保留权重。然而,似乎每次调用fit()时都需要增加估算器的数量。

是否可以先对所有数据块进行fit()操作,然后再将估算器的数量增加一个?

对于我的问题,即拟合超大数据集,有什么最佳解决方案?


回答:

你可以尝试使用SGD估算器中的partial_fit方法。虽然它不是GBM,但效果很好。对于你这种数据量,使用线性模型并进行适当的交互作用可能会得到不错的结果。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注