繁体   English   中英

TypeError:classify()缺少1个必需的位置参数:'featureset'

[英]TypeError: classify() missing 1 required positional argument: 'featureset'

这是我的代码,我调用方法classify():

def sentiment(text):
    feats = find_features(text)
    return voted_classifier.classify(feats),voted_classifier.confidence(feats)

find_features()方法的定义:

def find_features(document):
    words = word_tokenize(document)
    features = {}
    for w in word_features:
        features[w] = (w in words)

    return features

我收到错误:

TypeError: classify() missing 1 required positional argument: 'featureset'

其中featuresets是:

featuresets_f = open("pickled_algos/featuresets.pickle", "rb")
featuresets = pickle.load(featuresets_f)
featuresets_f.close()

random.shuffle(featuresets)
print(len(featuresets))

testing_set = featuresets[8000:]
training_set = featuresets[:8000]

(注意:我正在使用Python 3.4进行Twitter情绪分析,在Ubuntu 14.04上使用nltk)

我怀疑你没有训练过你的分类器。 请注意以下错误:

>>> from nltk import NaiveBayesClassifier  # for example
>>> NaiveBayesClassifier.classify(feats)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: classify() missing 1 required positional argument: 'featureset'

你需要先训练它:

>>> classifier = NaiveBayesClassifier.train(training_set)

然后你可以分类功能:

>>> classifier.classify(feats)  # feats == a dict of features

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM