【问题标题】:NLTK SVM Classifier TerminatesNLTK SVM 分类器终止
【发布时间】: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

错误的原因可能是什么?

【问题讨论】:

    标签: python python-2.7 nltk svm


    【解决方案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)
      

      【讨论】:

        猜你喜欢
        • 2016-07-14
        • 2014-05-07
        • 2018-04-09
        • 2016-08-26
        • 2019-01-17
        • 1970-01-01
        • 2017-03-04
        • 2014-01-09
        • 1970-01-01
        相关资源
        最近更新 更多