繁体   English   中英

scikit-learn是否适合大数据任务?

[英]Is scikit-learn suitable for big data tasks?

我正在研究一项涉及机器学习技术的TREC任务,其中数据集包含超过5TB的Web文档,计划从中提取词袋向量。 scikit-learn有一套很好的功能,似乎符合我的需要,但我不知道它是否能够很好地处理大数据。 例如, HashingVectorizer能够处理HashingVectorizer的文档,并行化它是否可行? 此外,还有哪些替代方案可用于大规模机器学习任务?

如果您将数据迭代地分块到适合内存的10k或100k文档批处理中, HashingVectorizer将会起作用。

然后,您可以将一批转换后的文档传递给支持partial_fit方法的线性分类器(例如SGDClassifierPassiveAggressiveClassifier ),然后迭代新批次。

您可以在保持验证集(例如10k文档)上开始对模型进行评分,以便在不等待看到所有样本的情况下监控部分训练模型的准确性。

您还可以在数据分区上的多台计算机上并行执行此操作,然后对得到的coef_intercept_属性求平均,以获得所有数据集的最终线性模型。

我在2013年3月在PyData上发表的演讲中对此进行了讨论: http ://vimeo.com/63269736

教程中还有一些示例代码, 用于解析scyit-learn with IPython.parallel取自: https//github.com/ogrisel/parallel_ml_tutorial

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM