Вот так вычисляется матрица ошибок для задачи двоичной классификации. Теперь посмотрим, как решить данную проблему для большего числа классов. Предположим, что существует проблема бинарной классификации с классами positive и negative. Вот пример достоверных или эталонных меток для семи выборок, используемых для обучения модели. В модуле sklearn.metrics есть функция precision_score(), которая также может вычислять accuracy. Она принимает в качестве аргументов достоверные и предсказанные метки.
Метеоролог с сомнительной точностью тоже не будет популярен, особенно когда каждый раз, когда он предсказывает солнечный день, идет дождь. «Я печатаю очень быстро, но точность моего набора не очень хорошая». В своих рекомендациях по инвестированию он оговаривает тот момент, что поведение фондового рынка невозможно предугадать с абсолютной точностью. Атомные часы позволили учёным измерять время с гораздо большей точностью. Их решения были основаны на данных сомнительной точности.
Теперь предположим, что вам дали снимок с результатами маммографии, и вас попросили определить наличие рака. Таким образом, предпочтительным показателем в данном случае является precision. Если recall имеет большое значение, все Optimistic семплы классифицируются верно. Следовательно, модели можно доверять в ее способности обнаруживать представителей класса Optimistic. В этом руководстве обсуждается матрица ошибок и то, как рассчитываются precision, recall и accuracy метрики.
Функция вычисляет матрицу ошибок для каждого класса и возвращает все матрицы. Их порядок соответствует порядку меток в параметре labels. Чтобы изменить последовательность метрик в матрицах, мы будем снова использовать функцию numpy.flip(). Параметр pos_label принимает метку класса Constructive (по умолчанию 1).
Правильность, Точность; Точность
Таким образом, accuracy, равная 0.5714, означает, что модель с точностью 57,14% делает верный прогноз. Чтобы вычислить матрицу ошибок для задачи с большим числом классов, используется функция multilabel_confusion_matrix(), как показано ниже. В дополнение к параметрам y_true и y_pred третий параметр labels принимает список классовых меток. Precision измеряет точность модели при определении класса Optimistic.
Precision
Поскольку цель состоит в том, чтобы обнаружить все автомобили, используйте Юзабилити-тестирование recall. Такой подход может ошибочно классифицировать некоторые объекты как целевые, но в конечном итоге сработает для предсказания всех автомобилей. Подобно precision_score(), функция repl_score() из модуля sklearn.metrics вычисляет recall. Следующий код вычисляет матрицу ошибок для примера двоичной классификации, который мы обсуждали ранее. Мы можем рассчитать эти четыре показателя для семи предсказаний, использованных нами ранее.
Precision отражает, насколько надежна модель при классификации Positive-меток. Обратите внимание, что порядок метрик отличается от описанного выше. Например, показатель True Constructive находится в правом нижнем углу, а True Unfavorable — в верхнем левом углу.
Основываясь на этих 4 показателях, мы перешли к обсуждению accuracy, precision и recall метрик. Каждая из них была определена и использована в нескольких примерах. Модуль sklearn.metrics применяется для расчета каждого вышеперечисленного показателя. Представьте, что вам дали изображение и попросили определить все автомобили внутри него.
True, если получено верное предсказание, то есть эталонные и предсказанные метки классов совпадают, и False, когда они не совпадают. Единственный способ получить 100% precision — это классифицировать все Constructive выборки как Optimistic без классификации Adverse как Constructive. В популярной Python-библиотеке Scikit-learn есть модуль metrics, который можно использовать для вычисления метрик в матрице ошибок. Перед вычислением матрицы ошибок необходимо выбрать целевой класс. Он будет отмечен как Positive, а все остальные отмечены как Negative https://deveducation.com/.
Полученная матрица ошибок представлена на следующем рисунке. Представьте себе человека, который пользуется всеобщим доверием; когда он что-то предсказывает, окружающие ему верят. Если она высока, вы можете доверять решению модели по определению очередной выборки как Optimistic. Таким образом, precision помогает узнать, насколько точна модель, когда она говорит, что семпл имеет класс Optimistic.
Эти модели принимают изображение в качестве входных данных и возвращают координаты прямоугольника, ограничивающего пространство вокруг каждого найденного объекта. Главной задачей является восстановление этого дома эпохи колониализма с полной исторической достоверностью. Точность обязательна для всех, кто работает в точной профессии. Вы бы доверились хирургу, которому не хватает аккуратности, чтобы удалить ваш аппендикс? Его неточность может привести к случайному удалению вашей селезенки.
Accuracy — это показатель, который описывает общую точность предсказания модели по всем классам. Это особенно полезно, когда каждый класс одинаково важен. Он рассчитывается как отношение количества правильных прогнозов к их общему количеству. В оставшейся части этого текста мы сосредоточимся только на двух классах. В следующем разделе обсуждаются три ключевых показателя, которые рассчитываются на основе матрицы ошибок.
- Названия строк представляют собой эталонные метки, а названия столбцов — предсказанные.
- В популярной Python-библиотеке Scikit-learn есть модуль metrics, который можно использовать для вычисления метрик в матрице ошибок.
- Стоит учесть, что метрика accuracy может быть обманчивой.
- Это особенно полезно, когда каждый класс одинаково важен.
- Если recall имеет большое значение, все Optimistic семплы классифицируются верно.
- Precision измеряет точность модели при определении класса Optimistic.
Точно так же может быть получена матрица ошибок для Black. Сравните достоверные и полученные метки — мы имеем 4 верных и three неверных предсказания. Стоит добавить, что изменение граничного условия отражается на результатах. Например, установка порога, равного zero.6, оставляет только два неверных прогноза. В компьютерном зрении обнаружение объекта — это проблема определения местоположения одного или нескольких объектов на изображении.
Решение о том, следует ли использовать precision или recall, зависит от типа вашей проблемы. Если цель состоит в том, чтобы обнаружить все constructive выборки (не заботясь о том, будут ли unfavorable семплы классифицированы как positive), используйте recall. В этом руководстве обсуждалась матрица ошибок, вычисление ее 4 метрик (true/false positive/negative) для задач бинарной и мультиклассовой классификации. Используя модуль metrics библиотеки Scikit-learn, мы увидели, как получить матрицу ошибок в Python. Recall рассчитывается как отношение числа Constructive accuracy это выборок, корректно классифицированных как Optimistic, к общему количеству Constructive семплов.