Метрика Precision (Точность)
Метрика Precision (Точность) – это одна из метрик качества работы алгоритма классификации, которая показывает, насколько точно модель предсказывает положительный класс. Precision фокусируется на правильно классифицированных положительных объектах и ложных срабатываниях (ложноположительные результаты).
Метрика Precision рассчитывается следующим образом:
Precision = TP / (TP + FP)
где:
TP (True Positives) – количество правильно классифицированных положительных объектов;
FP (False Positives) – количество неправильно классифицированных положительных объектов (ложные срабатывания).
Precision принимает значения в диапазоне от 0 до 1 (или от 0% до 100%). Чем ближе значение Precision к 1 (или 100%), тем точнее модель предсказывает положительный класс.
Важно отметить, что метрика Precision не учитывает ошибки второго рода, то есть пропущенные срабатывания (False Negatives). В некоторых ситуациях, особенно когда пропущенные срабатывания могут иметь серьезные последствия (например, в медицинской диагностике), лучше использовать другие метрики, такие как Recall (полнота) или F1-score, которые учитывают и ошибки первого, и второго рода.
Пример № 1: В задаче определения спам-писем почты, модель может быть настроена таким образом, чтобы допустить только небольшое количество ложных срабатываний. Если модель правильно определила 10 спам-писем из 15, то точность модели для класса спам будет 66.7%.
давайте распишем пошаговое решение для метрики Precision (Точность) на примере № 1:
Определите класс, для которого вы хотите рассчитать точность. В данном примере это класс "спам".
Разделите все примеры на 4 категории: True Positive (TP), False Positive (FP), True Negative (TN) и False Negative (FN). В данном примере это:
TP: модель правильно определила спам-письмо как спам (10 писем).
FP: модель неправильно определила не спам-письмо как спам (5 писем).
TN: модель правильно определила не спам-письмо как не спам (0 писем).
FN: модель неправильно определила спам-письмо как не спам (0 писем).
Рассчитайте точность как отношение TP к общему числу положительных ответов (TP + FP):
Precision = TP / (TP + FP) = 10 / (10 + 5) = 0.667 = 66.7%
Таким образом, в данном примере модель правильно определила 10 из 15 спам-писем, что соответствует точности в 66.7%.
Пример № 2:
В задаче классификации новостей на две категории – политика и спорт – модель классифицировала 200 статей, из которых 150 статей по политике и 50 статей по спорту. Модель правильно определила 120 статей по политике и 40 статей по спорту. Однако, 30 статей по политике модель неправильно классифицировала как спортивные статьи, а 10 спортивных статей – как статьи по политике. Рассчитаем метрику Precision для класса "политика".
Определите класс, для которого вы хотите рассчитать точность. В данном примере это класс "политика".
Разделите все примеры на 4 категории: True Positive (TP), False Positive (FP), True Negative (TN) и False Negative (FN). В данном примере это:
TP: модель правильно определила статью по политике как статью по политике (120 статей).
FP: модель неправильно определила спортивную статью как статью по политике (10 статей).
TN: модель правильно определила спортивную статью как спортивную (40 статей). Значение TN не важно для расчета Precision, поскольку оно не учитывается в формуле.
FN: модель неправильно определила статью по политике как спортивную статью (30 статей). Значение FN также не важно для расчета Precision.
Рассчитайте точность как отношение TP к общему числу положительных ответов (TP + FP): Precision = TP / (TP + FP) = 120 / (120 + 10) = 120 / 130 = 0.923 = 92.3%
Таким образом, в данном примере модель правильно определила 120 из 130 статей, которые были классифицированы как статьи по политике. Точность модели для класса "политика" составляет 92.3%.
Метрика Recall (Полнота)
Метрика Recall (Полнота) – это одна из метрик качества работы алгоритма классификации, которая показывает, какую долю объектов положительного класса модель смогла правильно классифицировать. Recall фокусируется на правильно классифицированных положительных объектах и пропущенных срабатываниях (ложноотрицательные результаты).
Метрика Recall рассчитывается следующим образом:
Recall = TP / (TP + FN)
где:
TP (True Positives) – количество правильно классифицированных положительных объектов;
FN (False Negatives) – количество неправильно классифицированных положительных объектов (пропущенные срабатывания).
Recall принимает значения в диапазоне от 0 до 1 (или от 0% до 100%). Чем ближе значение Recall к 1 (или 100%), тем лучше модель справляется с задачей распознавания положительного класса.
Важно отметить, что метрика Recall не учитывает ложные срабатывания (False Positives). В некоторых случаях, когда ложные срабатывания могут иметь серьезные последствия, например, в задачах определения спам-писем, лучше использовать другие метрики, такие как Precision (точность) или F1-score, которые учитывают и ошибки первого, и второго рода.
Пример № 1:
Пример № 1: В задаче классификации писем на спам и не спам, модель должна максимизировать количество обнаруженных спам-писем. Если модель правильно определила 80 из 100 спам-писем, то полнота модели для класса "спам" будет 80%.
Давайте рассмотрим пошаговое решение для метрики Recall (Полнота) на примере № 1:
Определите класс, для которого вы хотите рассчитать полноту. В данном примере это класс "спам".
Разделите все примеры на 4 категории: True Positive (TP), False Positive (FP), True Negative (TN) и False Negative (FN). В данном примере это:
TP: модель правильно определила спам-письмо как спам (80 писем).
FP: модель неправильно определила не спам-письмо как спам (20 писем).
FN: модель неправильно определила спам-письмо как не спам (20 писем).
Рассчитайте полноту как отношение TP к общему числу положительных примеров (TP + FN):
Recall = TP / (TP + FN) = 80 / (80 + 20) = 0.8 = 80%
Таким образом, в данном примере модель правильно определила 80 из 100 спам-писем, что соответствует полноте в 80%.