Запишетесь на полный курс Машинного обучения на Python по адресу support@ittensive.com
Для бинарного классификатора метрика расстояния, даже процент несогласия, уже не является достаточно точной: не позволяет оценить, насколько эффективно работает классификатор. Поэтому вводятся дополнительные метрики качества.
В простейшем случае такой метрикой является объектов по которым классификатор принял правильное решение.
Правильность = P / N,
где P - количество документов по которым классификатор принял правильное решение, а N - размер обучающей выборки.
Тем не менее, у этой метрики есть недостаток: она присваивает всем оценкам одинаковый вес, что может быть не корректно в случае если распределение объектов в обучающей выборке сильно смещено в сторону какого-то одного или нескольких классов.
В этом случае у классификатора есть больше информации по этим классам и соответственно в рамках этих классов он будет принимать более адекватные решения. На практике это приводит к тому, что даже точность 80% не гарантирует приемлемое качество работы классификатора для всех классов.
Один выход из этой ситуации заключается в том чтобы обучать классификатор на специально подготовленном, сбалансированном корпусе объектов. Минус этого решения в том что вы отбираете у классификатора информацию об относительной частоте документов (что может быть использовано для Байесовского классификатора).
Другой выход заключается в изменении подхода к формальной оценке качества.
Точность и полнота
Точность (precision) и полнота (recall) являются метриками которые используются при оценке большей части алгоритмов извлечения информации. Иногда они используются сами по себе, иногда в качестве базиса для производных метрик, таких как F-мера или R-Precision.
Точность системы в пределах класса - это доля объектов действительно принадлежащих данному классу относительно всех объектов которые система отнесла к этому классу. Полнота системы - это доля найденных классификатором объектов принадлежащих классу относительно всех объектов этого класса в тестовой выборке.
Эти значения легко рассчитать на основании матрицы неточностей, которая составляется для каждого класса отдельно.
В таблице содержится информация сколько раз система приняла верное и сколько раз неверное решение по документам заданного класса. А именно:
TP - истино-положительное решение;
TN - истино-отрицательное решение;
FP - ложно-положительное решение;
FN - ложно-отрицательное решение.
Тогда, точность и полнота определяются следующим образом:
Precision = TP / (TP+FP)
Recall = TP / (TP+FN)
5 окт 2024