Сообщение об ошибке:NLTK Наивный байесовский классифицирует ошибку
Traceback (самый последний вызов последний): Файл "/Users/ABHINAV/Documents/test2.py", строка 58, в классификатором = NaiveBayesClassifier.train (trainfeats) Файл «/Library/Python/2.7/site-packages/nltk/classify/naivebayes.py», строка 194, в поезде для набора функций, ярлык в методах с меткой_featuresets: ValueError: слишком много значений для распаковки [Закончено в 17.0 s с кодом выхода 1]
Я получаю эту ошибку, пока я пытаюсь реализовать Naive Bayes на наборе данных. Вот код, который:
import nltk.classify.util
from nltk.classify import NaiveBayesClassifier
from nltk.corpus import movie_reviews
def word_feats(words):
return dict([(word, True) for word in words])
negids = movie_reviews.fileids('neg')
posids = movie_reviews.fileids('pos')
negfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'neg') for f in negids]
posfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'pos') for f in posids]
negcutoff = len(negfeats)*3/4
poscutoff = len(posfeats)*3/4
trainfeats=[('good'),('pos'),
('quick'),('pos'),
('easy'),('pos'),
('big'),('pos'),
('iterested'),('pos'),
('important'),('pos'),
('new'),('pos'),
('patient'),('pos'),
('few'),('neg'),
('bad'),('neg'),
]
test=[
('general'),('pos'),
('many'),('pos'),
('efficient'),('pos'),
('great'),('pos'),
('interested'),('pos'),
('top'),('pos'),
('easy'),('pos'),
('big'),('pos'),
('new'),('pos'),
('wonderful'),('pos'),
('important'),('pos'),
('best'),('pos'),
('more'),('pos'),
('patient'),('pos'),
('last'),('pos'),
('worse'),('neg'),
('terrible'),('neg'),
('awful'),('neg'),
('bad'),('neg'),
('minimal'),('neg'),
('incomprehensible'),('neg'),
]
classifier = NaiveBayesClassifier.train(trainfeats)
print 'accuracy:', nltk.classify.util.accuracy(classifier, test)
classifier.show_most_informative_features()
Я попытался определить кортежи, как вы упомянули, но я все еще получаю некоторые ошибки. Вот что я получаю: Traceback (последний последний звонок): Файл «Documents/test2.py ", строка 28, в classifier = NaiveBayesClassifier.train (trainfeats) Файл" /Library/Python/2.7/site-packages/nltk/classify/naivebayes.py ", строка 196, в поезде для fname, fval in featureset.items(): AttributeError: объект 'str' не имеет атрибутов 'items' [Закончено в 2.9 с кодом выхода 1] –