Как рассчитать точность 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)