Я использую sklearn.metrics.classification_report для оценки результата моей классификации.
y_pred = np.argmax(model.predict(X_test), axis=1)
y_true = np.argmax(y_test, axis=1)
print(classification_report(y_true, y_pred, target_names=list(le.classes_)))
И вот мой результат:
precision recall f1-score support
Technology 0.00 0.00 0.00 1
Travel 0.00 0.00 0.00 5
Fashion 0.00 0.00 0.00 25
Entertainment 0.72 1.00 0.84 130
Art 0.00 0.00 0.00 7
Politic 0.00 0.00 0.00 12
avg / total 0.52 0.72 0.61 180
Проблема в том, что у меня 7 этикеток. Заказ идет Технологии, Путешествия, Мода, Развлечения, Искусство, Политика, Спорт. На самом деле у меня нет никакого лейбла Art в моем результате y_true, но в отчете перечислены по порядку, поэтому он перечисляет Art, но пропускает Sports. Это пишет результат Политики для Искусства, и результат Спорта идет в ряд Политики.
Почему бы не пропустить Искусство? Я понятия не имею, как я могу решить это.