Как получить список прогнозируемых значений из наивного байесовского классификатора в NLTK - PullRequest
0 голосов
/ 08 июля 2019

Я создаю двоичный классификатор, используя NLTK. У меня есть отзывы клиентов о продукте, и я хочу предсказать, будет ли новый отзыв положительным или отрицательным. Мои исходные данные были просто панда данных из двух столбцов. Первый - это обзор, а второй - положительный или отрицательный. например

Review          Rating
It was great!   1
It was terrible 0
Loved it        1
Would buy again 1

Пока что я преобразовал эти данные в соответствии с этим уроком https://pythonprogramming.net/naive-bayes-classifier-nltk-tutorial/?completed=/words-as-features-nltk-tutorial/, так что мои данные о тренировках и тестах теперь представляют собой список кортежей, как показано ниже:

[({'great!': TRUE, 'it': TRUE, 'loved': FALSE,...},1),({'great!':FALSE, ...] 

Я тренировался с использованием:

classifier = nltk.NaiveBayesClassifier.train(training_data)

Тогда я получил точность данных испытаний, используя:

print("Classifier accuracy percent:" + str((nltk.classify.accuracy(classifier, testing_data))*100))

Я сейчас пытаюсь использовать матрицу путаницы nltks:

from nltk.metrics import confusionmatrix
testing_values = [i[1] for i in testing_data]
cm = confusionmatrix(classfier.predict(testing_data), testing_values)

Однако я не могу получить список предсказанных значений, используя nltk для подачи в матрицу путаницы. Что-то вроде classifier.predict (testing_data), но не тот, конечно. Любая помощь?

...