Я пытаюсь использовать алгоритм Наивного Байеса для своего набора данных. Я могу узнать точность, но пытаюсь выяснить точность и вспомнить то же самое. Но выдает следующую ошибку:
ValueError: Target is multiclass but average='binary'. Please choose another average setting.
Кто-нибудь может подсказать мне, как поступить. Я пробовал использовать среднее значение ='micro' для оценки точности и отзыва. Он работал без каких-либо ошибок, но дает одинаковую оценку за точность, точность и полноту.
Мой набор данных:
train_data.csv:
review,label
Colors & clarity is superb,positive
Sadly the picture is not nearly as clear or bright as my 40 inch Samsung,negative
test_data.csv:
review,label
The picture is clear and beautiful,positive
Picture is not clear,negative
Мой код:
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
from sklearn.metrics import confusion_matrix
X_train, y_train = pd.read_csv('train_data.csv')
X_test, y_test = pd.read_csv('test_data.csv')
vec = CountVectorizer()
X_train_transformed = vec.fit_transform(X_train)
X_test_transformed = vec.transform(X_test)
clf = MultinomialNB()
clf.fit(X_train_transformed, y_train)
score = clf.score(X_test_transformed, y_test)
y_pred = clf.predict(X_test_transformed)
cm = confusion_matrix(y_test, y_pred)
precision = precision_score(y_test, y_pred, pos_label='positive')
recall = recall_score(y_test, y_pred, pos_label='positive')
Подробнее здесь: https://stackoverflow.com/questions/522 ... age-binary