【问题标题】:Text classification process kills when I am using linear SVM for 10000 rows当我对 10000 行使用线性 SVM 时,文本分类过程终止
【发布时间】:2016-03-02 22:26:32
【问题描述】:

我正在使用带有 NLTK 库的 python 2.7 进行编程,用于情感分析中的文本预处理和分类。我正在使用 scikit-learn 算法的 nltk 包装器。下面的代码是在训练和测试集的预处理和分离之后。

from nltk.classify.scikitlearn import SklearnClassifier
from sklearn.svm import SVC, LinearSVC, NuSVC

training_set = nltk.classify.util.apply_features(extractFeatures, trainTweets)
testing_set = nltk.classify.util.apply_features(extractFeatures, testTweets)

#LinearSVC 
LinearSVC_classifier = SklearnClassifier(LinearSVC())
LinearSVC_classifier.train(training_set)
LinearSVCAccuracy = nltk.classify.accuracy(LinearSVC_classifier, testing_set)*100

print "LinearSVC accuracy percentage:" + str(LinearSVCAccuracy)

当行数像 4000 条推文进行训练时,它可以正常工作,但是当它增加到例如 10000 条推文时,拥有被以下错误杀死。

Memory cgroup out of memory: Kill process 24293 (python) score 848 or

牺牲孩子

杀死进程 24293,UID 29091,(python)total-vm:14569168kB,

匿名RSS:14206656kB,文件RSS:3412kB

时钟源 tsc 不稳定(增量 = -17179861691 ns)。开启时钟源

通过添加clocksource_failover内核参数进行故障转移。

我的电脑的 RAM 是 8 Gig,但我什至尝试使用 16 Gig RAM,但仍然有问题。我怎样才能毫无问题地为推文分类这个数量?

【问题讨论】:

  • 在没有NLTK的情况下尝试scikit,内存错误是否仍然出现?

标签: python-2.7 nltk text-mining sentiment-analysis


【解决方案1】:

您正在运行哪个操作系统?哪个python发行版?尝试安装 cython 和/或直接使用 scikit-learn。看看scikit-learn optimization techniques

【讨论】:

    猜你喜欢
    • 2013-07-22
    • 2013-07-16
    • 2021-09-05
    • 2017-02-24
    • 2020-05-18
    • 2015-09-06
    • 2013-05-17
    • 2018-10-02
    • 2015-01-07
    相关资源
    最近更新 更多