Я создаю двоичный классификатор, используя 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), но не тот, конечно. Любая помощь?