Точность (Accuracy)
Точность (Accuracy) - ключевая метрика для оценки классифицирующих моделей
Точность (Accuracy) - одна из основных метрик, используемых для оценки качества обученных классифицирующих моделей, таких как нейронные сети, машины опорных векторов и другие. Эта метрика показывает долю правильно классифицированных примеров из тестового набора данных.
Формула расчета accuracy
Точность рассчитывается как отношение количества правильно классифицированных примеров к общему количеству примеров в тестовом наборе:
Где:
TP (True Positives) - количество положительных примеров, классифицированных как положительные
TN (True Negatives) - количество отрицательных примеров, классифицированных как отрицательные
FP (False Positives) - количество отрицательных примеров, ошибочно классифицированных как положительные
FN (False Negatives) - количество положительных примеров, ошибочно классифицированных как отрицательные
Пример расчета accuracy
Рассмотрим задачу бинарной классификации на выявление спама в электронных письмах. Предположим, у нас есть тестовый набор из 100 писем, из которых 80 не являются спамом, а 20 - спам. Модель классифицировала эти письма следующим образом:
75 писем классифицированы правильно как не спам (TN = 75)
15 писем спама классифицированы правильно (TP = 15)
5 писем, не являющихся спамом, ошибочно классифицированы как спам (FP = 5)
5 писем спама ошибочно классифицированы как не спам (FN = 5)
Подставив эти значения в формулу accuracy, мы получим:
То есть точность данной модели на этом тестовом наборе составляет 90%.
Интерпретация значений accuracy
Значение точности лежит в диапазоне от 0 до 1 (или от 0% до 100%). Чем ближе значение к 1 (или 100%), тем более точной является модель на данном тестовом наборе.
Однако важно понимать, что высокое значение accuracy не всегда свидетельствует о хорошей работе модели. Например, в задачах с сильно несбалансированными классами, когда один класс значительно преобладает, даже тривиальная модель, которая всегда предсказывает преобладающий класс, будет иметь высокую точность. Поэтому для более полной оценки качества необходимо использовать и другие метрики, такие как precision, recall, F1-мера и матрицу ошибок.
В целом, метрика accuracy является базовой и широко используется для первичной оценки классифицирующих моделей благодаря своей простоте и наглядности. Но для более глубокого анализа качества следует применять ее в совокупности с другими метриками.
Вот пример кода на Python для вычисления accuracy классификационной модели:
Выход:
Разберем этот пример:
Мы импортируем функцию
accuracy_score
из модуляsklearn.metrics
для вычисления точности.Создаем numpy массив
true_labels
с истинными метками классов для 10 примеров.Создаем numpy массив
pred_labels
с предсказанными метками классов для тех же 10 примеров.Вызываем функцию
accuracy_score
, передавая туда истинные меткиtrue_labels
и предсказанные меткиpred_labels
.Функция
accuracy_score
вычисляет долю правильно классифицированных примеров по формуле(TP + TN) / (TP + TN + FP + FN)
.Выводим полученное значение точности, округленное до двух знаков после запятой.
В данном примере из 10 примеров 8 были классифицированы правильно, поэтому точность составила 0.80 или 80%.
Библиотека sklearn предоставляет удобные функции для расчета различных метрик качества классификации. Также можно реализовать собственную функцию для расчета accuracy, используя формулу из определения этой метрики.
Last updated