Я использую текстовую классификацию для определения диалекта, и она показывает много ложных и ложных отрицаний.
Первый вопрос: Мне бы хотелось узнать, какие тексты были неправильно классифицированы, чтобы я мог понять, как улучшить модель.
Второй вопрос: Является ли процесс сокращения ложных отрицательных и ложных положительных результатов при сборе данных? или находится в тренировочном процессе? Потому что в машинном обучении есть 2 части. Во-первых, pre-trainig part, где вы собираете данные и предварительно обрабатываете их, а во-вторых, training part. Поэтому я хочу знать, на чем я сфокусировал свои усилия для повышения точности модели.
Моя модель наивный Байес с countVectorizer.
Это мой код:
from sklearn.pipeline import Pipeline
text_clf = Pipeline([
('vect', CountVectorizer()),
('clf', MultinomialNB())])
text_clf.fit(X_train, y_train)
pred=text_clf.predict(data_test['tweets'])
accuracy_score(data_test['dialect'],pred)
accuracy score : 0.68
confusion_matrix(data_test['dialect'],pred)
array([[87, 2, 12, 0],
[ 4, 42, 56, 3],
[ 7, 11, 78, 0],
[ 0, 0, 0, 0]], dtype=int64)