1
Я пытаюсь подготовить набор данных с NLTK в наивный байесовский классификатор, но мой терминал продолжает бросать эту ошибкуNLTK NaiveBayesClassifier бросает ошибку атрибута с указанием «список» объект имеет не имеет атрибута «элементы»
# Applying Naive Bayes
training_set = featursets[:2000]
testing_set = featursets[2000:]
classifier = nltk.NaiveBayesClassifier.train(training_set)
print "Naive bayes classifier accuracy % = ", (nltk.classify.accuracy(classifier, testing_set)*100)
classifier.show_informative_features(30)
И говорит ошибка:
AttributeError
Traceback (most recent call last)
<ipython-input-69-2a409562c9f8> in <module>()
2 training_set = featursets[:2000]
3 testing_set = featursets[2000:]
----> 4 classifier = nltk.NaiveBayesClassifier.train(featursets)
5 print "Naive bayes classifier accuracy % = "(nltk.classify.accuracy(classifier, testing_set)*100)
6 classifier.show_informative_features(30)
/home/satyaki/.local/lib/python2.7/site-packages/nltk/classify/naivebayes.pyc in train(cls, labeled_featuresets, estimator)
194 for featureset, label in labeled_featuresets:
195 label_freqdist[label] += 1
--> 196 for fname, fval in featureset.items():
197 # Increment freq(fval|label, fname)
198 feature_freqdist[label, fname][fval] += 1
AttributeError: 'list' object has no attribute 'items'
Но я не уверен, что пошло не так. Любая помощь, ребята?
Ваши featuresets должны быть словари, а не списки. Что вы вложили в них? – alexis
Каковы ваши входные данные? Как вы извлекли эту функцию? Взгляните на http://stackoverflow.com/questions/21107075/classification-using-movie-review-corpus-in-nltk-python – alvas