【发布时间】:2016-04-12 02:13:00
【问题描述】:
每当我开始有更多的类(1000 个或更多)时,MultinominalNB 就会变得超级慢并且占用千兆字节的 RAM。对于所有支持 .partial_fit() (SGDClassifier, Perceptron) 的 scikit learn 分类算法也是如此。 使用卷积神经网络时,10000 个类没有问题。但是当我想在相同的数据上训练 MultinominalNB 时,我的 12GB RAM 是不够的,而且速度非常慢。 根据我对朴素贝叶斯的理解,即使有很多类,它也应该快很多。 这可能是 scikit-learn 实现的问题(可能是 .partial_fit() 函数)?如何在 10000 多个类(批量)上训练 MultinominalNB/SGDClassifier/Perceptron?
【问题讨论】:
-
给我们更多信息。你的训练数据的形状是什么?你有多少样本和多少特征?
-
训练数据大约是 5 个 Mio 文本文档。我正在使用功能数量 = 2^18 的 HashingVectorizer。
标签: machine-learning scikit-learn naivebayes