Как рассчитать точность pos tagger по каждому тегу

Я создал pos-тег для модели keras, используя статью NLP4Hackers в качестве основы. В настоящее время я могу вычислить точность непосредственно по методу keras model.evaluate. На самом деле, я хотел бы рассчитать точность по тегу, как показано ниже:

"JJ": точность 98,56,

NNS: точность 99,01

NN: точность 96,43

...

Любое предложение будет оценено.

Спасибо.

1 ответ

Все метрики оценки, которые вы можете себе представить, представлены в Scikit-learn.

У вас есть две возможности, либо вы вычисляете матрицу путаницы и смотрите диагональные значения.

y_true = ["cat", "ant", "cat", "cat", "ant", "bird"]
y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"]
confusion_matrix(y_true, y_pred, labels=["ant", "bird", "cat"])
array([[2, 0, 0],
       [0, 0, 1],
       [1, 0, 2]])

Или вы вычисляете метку балла F1 по метке

from sklearn.metrics import f1_score
y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 2, 1, 0, 0, 1]
f1_score(y_true, y_pred, average=None)
Другие вопросы по тегам