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 分类器终止的主要内容,如果未能解决你的问题,请参考以下文章

推文分类器特征选择 NLTK

Python NLTK 最大熵分类器错误

用于整数特征的 NLTK 分类器?

为啥 NLTK NaiveBayes 分类器错误分类了一条记录?

NLTK 的朴素贝叶斯分类器是不是适合商业应用?

NLTK 标题分类器