类型错误:分类()缺少1所需位置参数: 'FEATURESET'
问题描述:
这里是我的代码,其中i调用方法分类():find_features的类型错误:分类()缺少1所需位置参数: 'FEATURESET'
def sentiment(text):
feats = find_features(text)
return voted_classifier.classify(feats),voted_classifier.confidence(feats)
定义()方法:
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]
(注:我在Ubuntu 14.04做使用Python 3.4的Twitter情感分析,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