NLTK SVM 分类器终止
Posted
技术标签:
【中文标题】NLTK SVM 分类器终止【英文标题】:NLTK SVM Classifier Terminates 【发布时间】:2013-07-22 22:27:21 【问题描述】:我正在使用 NLTK 中内置的 SVM 分类器,在训练模型后,当我尝试对文档进行分类时,程序以 Error during execution, QProcess error: 1 Execution Interrupted
终止
我正在使用以下代码:-
classifier = nltk.classify.svm.SvmClassifier.train(train_features)
for test_record in test_data_list:
features = extract_features(test_record)
predict = classifier.classify(features)
print predict
错误的原因可能是什么?
【问题讨论】:
【参考方案1】:nltk.classify.svm
已弃用。基于分类
在支持向量机上,SVM 使用 nltk.classify.scikitlearn
(或直接scikit-learn)。更多详情NLTK 3.0 documentation
你可以使用nltk.classify.scikitlearn
如下
import nltk.classify
from sklearn.svm import LinearSVC
classifier = nltk.classify.SklearnClassifier(LinearSVC())
classifier.train(train_features)
for test_record in test_data_list:
features = extract_features(test_record)
predict = classifier.classify(features)
print predict
【讨论】:
【参考方案2】:nltk 已弃用 svm,您将不得不使用 scikit - 学习使用支持向量分类进行分类
你可以使用:
import nltk.classify
from sklearn.svm import LinearSVC
classifier = nltk.classify.SklearnClassifier(LinearSVC())
classifier.train(train_set)
from nltk import classify
accuracy = classify.accuracy(classifier, test_set)
print (accuracy)
【讨论】:
以上是关于NLTK SVM 分类器终止的主要内容,如果未能解决你的问题,请参考以下文章