NLTK SVM分类器终止。

3

我正在使用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

可能出错的原因是什么?
2个回答

8

nltk.classify.svm已经被弃用。如果要基于支持向量机SVM进行分类,请使用nltk.classify.scikitlearn(或直接使用scikit-learn)。更多详情请查看NLTK 3.0文档

您可以按照以下方式使用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

0

nltk已经弃用了svm,您需要使用scikit-learn来使用支持向量分类器进行分类。

您可以使用:

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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接