scikit learn适合大数据任务吗?

2024-05-28 20:36:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在进行一项涉及使用机器学习技术的TREC任务,其中数据集由超过5tb的web文档组成,计划从这些文档中提取单词向量包。scikit-learn有一组很好的功能,似乎适合我的需要,但我不知道它是否能够很好地扩展以处理大数据。例如,HashingVectorizer是否能够处理5万亿字节的文档,并行化是否可行?此外,对于大规模的机器学习任务,还有哪些选择?


Tags: 数据文档功能机器web字节scikit单词
1条回答
网友
1楼 · 发布于 2024-05-28 20:36:59

HashingVectorizer如果您迭代地将数据分块到一批10k或100k文档中(例如,这些文档适合内存),那么它将起作用。

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

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

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

我在2013年3月在PyData的演讲中讨论了这个问题:http://vimeo.com/63269736

这个tutorial on paralyzing scikit-learn with IPython.parallel中也有来自https://github.com/ogrisel/parallel_ml_tutorial的示例代码

相关问题 更多 >

    热门问题