是否可以在 sklearn 中组合多个部分拟合的估计器?

Posted

技术标签:

【中文标题】是否可以在 sklearn 中组合多个部分拟合的估计器?【英文标题】:Is it possible to combine multiple partially fit estimators in sklearn? 【发布时间】:2015-06-15 06:34:34 【问题描述】:

我有很多数据,我想通过拆分我的数据并拟合在多线程或多台机器中运行的多个估计器来并行化估计器拟合。

一些估算器提供 partial_fit API 用于核外学习(例如PassiveAggressiveClassifierhere)

是否可以让多个估计器部分拟合,然后将它们各自的拟合器组合成一个估计器?

【问题讨论】:

【参考方案1】:

不使用标准 API。您可以对coef_intercept_ 进行平均,这将产生一个有意义的估计量。您想通过一个核心还是通过网络进行并行化?可能有更有效的选择,其中大部分需要更多的工作。 SGD 有并行实现,但这些可能只会为庞大的数据集付出代价。您的数据有多大(样本数、特征数、稀疏性)?

【讨论】:

我想通过网络进行并行化。我也在研究 Spark 和他们的估算器。我的数据集各不相同;样本量可以是几千或几亿。尺寸可以从几百到几千不等。目前我正在考虑将 Spark 用于大型分布式数据集,将 sklearn + Spark 用于核心学习和分布式并行任务,例如交叉验证。 对我来说听起来很合理。只要您的数据适合单个(大型)机器上的 ram(在 EC2 上获得 256gb),sklearn 计算和原型设计将仅使用 sklearn 更快。如果你的数据变得比 ram 大得多,spark 可能会更快。

以上是关于是否可以在 sklearn 中组合多个部分拟合的估计器?的主要内容,如果未能解决你的问题,请参考以下文章

Sklearn SGDClassifier 部分拟合

sklearn 通过检查是否具有属性确定是否拟合过了

拟合 sklearn GridSearchCV 模型

sklearn中是不是有设置惩罚阈值的参数?

在 sklearn 中拟合多项式回归曲线时遇到问题

如何将不同的输入拟合到 sklearn 管道中?