Что такое confusion matrix

Оценка классификатора (точность, полнота, F-мера)

Продолжая тему реализации автоматической классификации необходимо обсудить следующий очень важный вопрос. Как оценивать качество алгоритма? Допустим, вы хотите внести изменения в алгоритм. Откуда вы знаете что эти изменения сделают алгоритм лучше? Конечно же надо проверять алгоритм на реальных данных.

Тестовая выборка

Основой проверки является тестовая выборка в которой проставлено соответствие между документами и их классами. В зависимости от ваших конкретных условий получение подобной выборки может быть затруднено, так как зачастую ее составляют люди. Но иногда ее можно получить без большого объема ручной работы, если проявить изобретательность. Каких-то конеретных рецептов, к сожалению, не существует.

Когда у вас появилась тестовая выборка достаточно натравить классификатор на документы и соотнести его решение с заведомо известным правильным решением. Но для того чтобы принимать решение хуже или лучше справляется с работой новая версия алгоритма нам необходима численная метрика его качества.

Численная оценка качества алгоритма

Accuracy

В простейшем случае такой метрикой может быть доля документов по которым классификатор принял правильное решение.

где, – количество документов по которым классификатор принял правильное решение, а – размер обучающей выборки. Очевидное решение, на котором для начала можно остановиться.

Тем не менее, у этой метрики есть одна особенность которую необходимо учитывать. Она присваивает всем документам одинаковый вес, что может быть не корректно в случае если распределение документов в обучающей выборке сильно смещено в сторону какого-то одного или нескольких классов. В этом случае у классификатора есть больше информации по этим классам и соответственно в рамках этих классов он будет принимать более адекватные решения. На практике это приводит к тому, что вы имеете accuracy, скажем, 80%, но при этом в рамках какого-то конкретного класса классификатор работает из рук вон плохо не определяя правильно даже треть документов.

Один выход из этой ситуации заключается в том чтобы обучать классификатор на специально подготовленном, сбалансированном корпусе документов. Минус этого решения в том что вы отбираете у классификатора информацию об отностельной частоте документов. Эта информация при прочих равных может оказаться очень кстати для принятия правильного решения.

Другой выход заключается в изменении подхода к формальной оценке качества.

Точность и полнота

Точность (precision) и полнота (recall) являются метриками которые используются при оценке большей части алгоритмов извлечения информации. Иногда они используются сами по себе, иногда в качестве базиса для производных метрик, таких как F-мера или R-Precision. Суть точности и полноты очень проста.

Точность системы в пределах класса – это доля документов действительно принадлежащих данному классу относительно всех документов которые система отнесла к этому классу. Полнота системы – это доля найденных классфикатором документов принадлежащих классу относительно всех документов этого класса в тестовой выборке.

Эти значения легко рассчитать на основании таблицы контингентности, которая составляется для каждого класса отдельно.

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

В таблице содержится информация сколько раз система приняла верное и сколько раз неверное решение по документам заданного класса. А именно:

Тогда, точность и полнота определяются следующим образом:

Рассмотрим пример. Допустим, у вас есть тестовая выборка в которой 10 сообщений, из них 4 – спам. Обработав все сообщения классификатор пометил 2 сообщения как спам, причем одно действительно является спамом, а второе было помечено в тестовой выборке как нормальное. Мы имеем одно истино-положительное решение, три ложно-отрицательных и одно ложно-положительное. Тогда для класса “спам” точность классификатора составляет (50% положительных решений правильные), а полнота (классификатор нашел 25% всех спам-сообщений).

Confusion Matrix

На практике значения точности и полноты гораздо более удобней рассчитывать с использованием матрицы неточностей (confusion matrix). В случае если количество классов относительно невелико (не более 100-150 классов), этот подход позволяет довольно наглядно представить результаты работы классификатора.

Матрица неточностей – это матрица размера N на N, где N — это количество классов. Столбцы этой матрицы резервируются за экспертными решениями, а строки за решениями классификатора. Когда мы классифицируем документ из тестовой выборки мы инкрементируем число стоящее на пересечении строки класса который вернул классификатор и столбца класса к которому действительно относится документ.

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Матрица неточностей (26 классов, результирующая точность – 0.8, результирующая полнота – 0.91)

Как видно из примера, большинство документов классификатор определяет верно. Диагональные элементы матрицы явно выражены. Тем не менее в рамках некоторых классов (3, 5, 8, 22) классификатор показывает низкую точность.

Имея такую матрицу точность и полнота для каждого класса рассчитывается очень просто. Точность равняется отношению соответствующего диагонального элемента матрицы и суммы всей строки класса. Полнота – отношению диагонального элемента матрицы и суммы всего столбца класса. Формально:

Результирующая точность классификатора рассчитывается как арифметическое среднее его точности по всем классам. То же самое с полнотой. Технически этот подход называется macro-averaging.

F-мера

F-мера представляет собой гармоническое среднее между точностью и полнотой. Она стремится к нулю, если точность или полнота стремится к нулю.

Данная формула придает одинаковый вес точности и полноте, поэтому F-мера будет падать одинаково при уменьшении и точности и полноты. Возможно рассчитать F-меру придав различный вес точности и полноте, если вы осознанно отдаете приоритет одной из этих метрик при разработке алгоритма.

где принимает значения в диапазоне если вы хотите отдать приоритет точности, а при приоритет отдается полноте. При формула сводится к предыдущей и вы получаете сбалансированную F-меру (также ее называют F1).

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

F-мера с приоритетом точности ()

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

F-мера с приоритетом полноты ()

F-мера является хорошим кандидатом на формальную метрику оценки качества классификатора. Она сводит к одному числу две других основополагающих метрики: точность и полноту. Имея в своем распоряжении подобный механизм оценки вам будет гораздо проще принять решение о том являются ли изменения в алгоритме в лучшую сторону или нет.

Ссылки по теме

иногда встречаются названия: F-score или мера Ван Ризбергена. ↩

Источник

Расшифровка матрицы путаницы

Дата публикации Jul 22, 2019

В случае проблемы классификации, имеющей только одну точность классификации, может не дать вам полную картину. Таким образом, матрица путаницы или матрица ошибок используется для суммирования производительности алгоритма классификации.

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Вычисление матрицы путаницы может дать вам представление о том, где модель классификации верна и какие ошибки она допускает.

Путаница путаница используется для проверки производительности модели классификации на наборе тестовых данных, для которых известны истинные значения. Большинство показателей эффективности, таких как точность, отзыв, рассчитываются из матрицы путаницы.

Эта статья направлена ​​на:
1. Что такое матрица путаницы и зачем она нужна?
2. Как рассчитать путаницу для двухклассовой задачи классификации на примере кошки-собаки.
3. Как создать путаницу в Python & R.
4. Краткое изложение и интуиция о различных мерах: точность, отзыв, точность и специфика

1. Матрица путаницы:

Матрица путаницы предоставляет сводку прогнозирующих результатов в задаче классификации. Правильные и неправильные прогнозы суммируются в таблице со своими значениями и разбиваются по каждому классу.

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Мы не можем полагаться на одно значение точности в классификации, когда классы не сбалансированы. Например, у нас есть набор данных из 100 пациентов, 5 из которых имеют диабет, а 95 здоровы. Однако, если наша модель только предсказывает класс большинства, то есть все 100 человек здоровы, даже если у нас точность классификации составляет 95%. Поэтому нам нужна матрица путаницы.

2. Рассчитайте матрицу путаницы:

Давайте возьмем пример:

У нас всего 10 кошек и собак, и наша модель предсказывает, кошка это или нет.

Фактические значения = [«собака», «кошка», «собака», «кошка», «собака», «собака», «кошка», «собака», «кошка», «собака» »]
Прогнозируемые значения = [«собака», «собака», «собака», «собака», «собака», «собака», «кошка», «кошка», «кошка», «кошка»]

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Помните, мы описываем прогнозируемые значения как положительные / отрицательные, а фактические значения как истинные / ложные.

Ложное отрицание (ошибка типа 2). Вы прогнозировали отрицательное значение, и оно ложно. Вы предсказали, что животное не кошка, но на самом деле это так.

Точность классификации:
Точность классификации определяется соотношением:

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Напомним (Чувствительность ака):
Напомним, определяется как отношение общего количества правильно классифицированных положительных классов к общему количеству положительных классов. Или из всех положительных классов, сколько мы предсказали правильно. Отзыв должен быть высоким.

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Точность:
Точность определяется как отношение общего количества правильно классифицированных положительных классов к общему количеству предсказанных положительных классов. Или из всех прогнозирующих положительных классов, сколько мы предсказали правильно. Точность должна быть высокой.

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Уловка, чтобы помнить:дозрение имеетдоДиктивные результаты в знаменателе.

F-оценка или F1-оценка:
Сложно сравнивать две модели с разными Precision и Recall. Поэтому, чтобы сделать их сопоставимыми, мы используем F-Score. Это Гармоническое Средство Точности и Вспомнить. По сравнению с арифметическим средним, гармоническое среднее наказывает более экстремальные значения. F-оценка должна быть высокой.

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Специфичность:
Специфичность определяет долю фактических негативов, которые правильно определены.

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Пример для интерпретации матрицы путаницы:
Давайте вычислим матрицу путаницы, используя приведенный выше пример с кошкой и собакой:

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Точность классификации:
Точность = (TP + TN) / (TP + TN + FP + FN) = (3 + 4) / (3 + 4 + 2 + 1) = 0,70

Отзыв:Напомним, дает нам представление о том, когда на самом деле да, как часто он предсказывает да.
Напомним = TP / (TP + FN) = 3 / (3 + 1) = 0,75

Точность:Точность говорит нам о том, когда он предсказывает, да, как часто это правильно.
Точность = TP / (TP + FP) = 3 / (3 + 2) = 0,60

F-оценка:
F-оценка = (2 * Recall * Precision) / (Recall + Presision) = (2 * 0,75 * 0,60) / (0,75 + 0,60) = 0,67

Специфичность:
Специфичность = TN / (TN + FP) = 4 / (4 + 2) = 0,67

3. Создать путаницу в Python & R

Давайте используем и коды Python, и R, чтобы понять приведенный выше пример с собакой и кошкой, который поможет вам лучше понять, что вы узнали о матрице путаницы до сих пор.

ПИТОН:Сначала давайте возьмем код Python для создания матрицы путаницы. Мы должны импортировать модуль матрицы путаницы из библиотеки sklearn, которая помогает нам генерировать матрицу путаницы

Ниже приведена реализация приведенного выше объяснения в Python:

Р:Давайте теперь используем R-код для создания матрицы путаницы. Мы будем использовать библиотеку карет в R для вычисления матрицы путаницы.

4. Резюме:

Мы можем сделать вывод, что:

Если у вас есть какие-либо комментарии или вопросы, не стесняйтесь оставлять свои отзывы ниже. Вы всегда можете связаться со мной поLinkedIn,

Источник

Это особый вид таблицы непредвиденных обстоятельств с двумя измерениями («фактическое» и «прогнозируемое») и идентичными наборами «классов» в обоих измерениях (каждая комбинация измерения и класса является переменной в таблице непредвиденных обстоятельств).

СОДЕРЖАНИЕ

Пример

Для выборки из 12 изображений, 8 кошек и 4 собак, где кошки относятся к классу 1, а собаки относятся к классу 0,

Предположим, что классификатор, который различает кошек и собак, обучен, и мы берем 12 изображений и пропускаем их через классификатор. Классификатор делает 9 точных прогнозов и пропускает 3: 2 кошки, ошибочно предсказанные как собаки (первые 2 прогноза), и 1 собака, ошибочно предсказанная как кошка (последний прогноз).

С помощью этих двух помеченных наборов (фактический и прогнозный) мы можем создать матрицу путаницы, которая суммирует результаты тестирования классификатора:

В этой матрице путаницы из 8 изображений кошек система определила, что 2 были собаками, а из 4 изображений собак она предсказала, что 1 был кошкой. Все правильные прогнозы расположены по диагонали таблицы (выделены жирным шрифтом), поэтому можно легко визуально проверить таблицу на предмет ошибок прогнозирования, поскольку значения за пределами диагонали будут представлять их.

С точки зрения чувствительности и специфичности матрица неточностей выглядит следующим образом:

Таблица путаницы

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Предполагая приведенную выше матрицу путаницы, соответствующая ей таблица ошибок для класса cat будет:

КотНе кошкаКот6 истинных положительных моментов2 ложноотрицательных результатаНе кошка1 ложное срабатывание3 истинных негатива

Окончательная таблица путаницы будет содержать средние значения для всех классов вместе взятых.

Определим эксперимент из P положительных примеров и N отрицательных случаев для некоторого условия. Четыре результата могут быть сформулированы в матрице путаницы 2 × 2 следующим образом:

Матрицы путаницы с более чем двумя категориями

У рассмотренных выше матриц неточностей есть только два условия: положительное и отрицательное. В некоторых полях матрицы неточностей могут иметь больше категорий. Например, в приведенной ниже таблице приводится краткое описание общения на свистком языке между двумя говорящими, нулевые значения для ясности опущены.

Источник

Что такое Матрица путаницы в машинном обучении

Дата публикации 2016-11-18

Сделать путаницу менее запутанной.

Одна лишь точность классификации может вводить в заблуждение, если у вас неодинаковое количество наблюдений в каждом классе или если в вашем наборе данных более двух классов.

Вычисление матрицы путаницы может дать вам лучшее представление о том, что делает ваша классификационная модель правильной и какие ошибки она допускает.

В этом посте вы откроете матрицу путаницы для использования в машинном обучении.

Прочитав этот пост, вы узнаете:

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Точность классификации и ее ограничения

Это часто представляется в процентах путем умножения результата на 100.

Точность классификации также можно легко превратить в частоту ошибочной классификации или частоту ошибок путем инвертирования значения, такого как:

Основная проблема с точностью классификации заключается в том, что она скрывает детали, необходимые для лучшего понимания производительности вашей модели классификации. Есть два примера, где вы, скорее всего, столкнетесь с этой проблемой:

Точность классификации может скрыть детали, необходимые для диагностики производительности вашей модели. Но, к счастью, мы можем отделить эту деталь, используя путаницу.

Что такое Матрица замешательства?

Количество правильных и неправильных прогнозов суммируется со значениями количества и разбивается по каждому классу. Это ключ к матрице путаницы.

Матрица путаницы показывает, как ваша модель классификации
смущен, когда он делает прогнозы.

Это дает вам представление не только об ошибках, допущенных вашим классификатором, но, что более важно, о типах ошибок, которые допускаются.

Именно эта разбивка преодолевает ограничение использования только точности классификации.

Как вычислить матрицу путаницы

Ниже приведен процесс расчета Матрицы путаницы.

Эти числа затем организуются в таблицу или матрицу следующим образом:

Подсчеты правильной и неправильной классификации затем заносятся в таблицу.

Общее количество правильных прогнозов для класса входит в ожидаемую строку для этого значения класса и в прогнозируемый столбец для этого значения класса.

Таким же образом, общее количество неправильных предсказаний для класса входит в ожидаемую строку для этого значения класса и в предсказанный столбец для этого значения класса.

Эта матрица может использоваться для задач с двумя классами, где ее очень легко понять, но ее можно легко применить к задачам с 3 или более значениями классов, добавляя больше строк и столбцов в матрицу путаницы

Давайте сделаем это объяснение создания беспорядочной матрицы конкретным на примере.

Матрица путаницы 2-х классов

Давайте представим, что у нас есть проблема классификации двух классов: предсказать, содержит ли фотография мужчину или женщину.

У нас есть тестовый набор данных из 10 записей с ожидаемыми результатами и набор прогнозов из нашего алгоритма классификации.

Давайте начнем и вычислим точность классификации для этого набора прогнозов.

Алгоритм сделал 7 из 10 прогнозов правильными с точностью до 70%.

Но какие ошибки были сделаны?

Давайте превратим наши результаты в путаницу.

Во-первых, мы должны рассчитать количество правильных прогнозов для каждого класса.

Теперь мы можем рассчитать количество неверных прогнозов для каждого класса, упорядоченных по прогнозируемому значению.

Теперь мы можем расположить эти значения в матрицу смешения 2-х классов:

Мы можем многому научиться из этой таблицы.

Проблемы двух классов особенные

В задаче с двумя классами мы часто пытаемся провести различие между наблюдениями с конкретным результатом и обычными наблюдениями.

Например, болезненное состояние или событие без какого-либо болезненного состояния или какого-либо события

Таким образом, мы можем назначить строку события какположительный»И строка без событий как«отрицательный«. Затем мы можем назначить столбец прогнозов какправдаИ без события как «ложный«.

Мы можем обобщить это в матрице путаницы следующим образом:

Это может помочь в расчете более сложных показателей классификации, таких как точность, отзыв, специфичность и чувствительность нашего классификатора.

Например, точность классификации рассчитывается как истинные позитивы + истинные негативы.

Рассмотрим случай, когда есть два класса. […] Верхняя строка таблицы соответствует образцам, прогнозируемым как события. Некоторые предсказаны правильно (истинные положительные результаты или TP), в то время как другие неточно классифицированы (ложные положительные результаты или FP). Аналогично, вторая строка содержит предсказанные отрицательные значения с истинными отрицательными значениями (TN) и ложными отрицательными значениями (FN).

Теперь, когда мы проработали простой пример 2-х классов матриц смешения, давайте посмотрим, как мы могли бы рассчитать матрицу замешательств в современных инструментах машинного обучения.

Примеры кода матрицы путаницы

В этом разделе приведен пример матриц путаницы с использованием лучших платформ машинного обучения.

Эти примеры предоставят вам контекст для того, что вы узнали о матрице путаницы, когда вы используете их на практике с реальными данными и инструментами.

Пример путаницы в Weka

Инструментальные средства Weka для машинного обучения будут автоматически отображать матрицу путаницы при оценке мастерства модели в интерфейсе Explorer.

Ниже приведен скриншот интерфейса Weka Explorer после обучения алгоритму k-ближайшего соседа в наборе данных диабета индейцев Пима.

Матрица путаницы приведена внизу, и вы можете видеть, что также представлены многочисленные статистические данные.

Матрица путаницы назначает буквы a и b значениям класса и предоставляет ожидаемые значения класса в строках и прогнозируемые значения класса («классифицированные как») для каждого столбца.

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Пример путаницы в Python с scikit-learn

Библиотека scikit-learn для машинного обучения в Python может вычислить матрицу путаницы.

Учитывая массив или список ожидаемых значений и список предсказаний из вашей модели машинного обучения, функция confusion_matrix () вычислит матрицу путаницы и вернет результат в виде массива. Затем вы можете распечатать этот массив и интерпретировать результаты.

При выполнении этого примера распечатывается матрица путаницы, обобщающая результаты для надуманной задачи 2 класса.

Пример путаницы в R с кареткой

Библиотека карет для машинного обучения в R может вычислить матрицу путаницы

Учитывая список ожидаемых значений и список прогнозов из вашей модели машинного обучения, функция confusionMatrix () рассчитает матрицу путаницы и выдаст результат в виде подробного отчета. Затем вы можете распечатать этот отчет и интерпретировать результаты.

Выполнение этого примера вычисляет отчет матрицы путаницы и связанную статистику и печатает результаты.

Дальнейшее чтение

О матрице путаницы написано не так много, но в этом разделе перечислены некоторые дополнительные ресурсы, которые могут вас заинтересовать.

Резюме

В этом посте вы обнаружили путаницу матрицы для машинного обучения.

В частности, вы узнали о:

У вас есть вопросы?
Задайте свой вопрос в комментариях ниже, и я сделаю все возможное, чтобы ответить на них.

Источник

3.3. Метрики и оценки: количественная оценка качества прогнозов ¶

Есть 3 различных API для оценки качества прогнозов модели:

Наконец, фиктивные оценки полезны для получения базового значения этих показателей для случайных прогнозов.

«Парные» метрики между выборками, а не оценками или прогнозами, см. В разделе « Парные метрики, сходства и ядра ».

3.3.1. В scoring параметрах: определение правил оценки моделей

3.3.1.1. Общие случаи: предопределенные значения

Прогнозируемое состояниеИсточники:
Подсчет очковФункцияКомментарий
Классификация
‘accuracy’ metrics.accuracy_score
‘balanced_accuracy’ metrics.balanced_accuracy_score
‘top_k_accuracy’ metrics.top_k_accuracy_score
‘average_precision’ metrics.average_precision_score
‘neg_brier_score’ metrics.brier_score_loss
‘f1’ metrics.f1_scoreдля двоичных целей
‘f1_micro’ metrics.f1_scoreмикро-усредненный
‘f1_macro’ metrics.f1_scoreмикро-усредненный
‘f1_weighted’ metrics.f1_scoreсредневзвешенное
‘f1_samples’ metrics.f1_scoreпо многопозиционному образцу
‘neg_log_loss’ metrics.log_lossтребуется
predict_proba поддержка
‘precision’ etc. metrics.precision_scoreсуффиксы применяются как с ‘f1’
‘recall’ etc. metrics.recall_scoreсуффиксы применяются как с ‘f1’
‘jaccard’ etc. metrics.jaccard_scoreсуффиксы применяются как с ‘f1’
‘roc_auc’ metrics.roc_auc_score
‘roc_auc_ovr’ metrics.roc_auc_score
‘roc_auc_ovo’ metrics.roc_auc_score
‘roc_auc_ovr_weighted’ metrics.roc_auc_score
‘roc_auc_ovo_weighted’ metrics.roc_auc_score
Кластеризация
‘adjusted_mutual_info_score’ metrics.adjusted_mutual_info_score
‘adjusted_rand_score’ metrics.adjusted_rand_score
‘completeness_score’ metrics.completeness_score
‘fowlkes_mallows_score’ metrics.fowlkes_mallows_score
‘homogeneity_score’ metrics.homogeneity_score
‘mutual_info_score’ metrics.mutual_info_score
‘normalized_mutual_info_score’ metrics.normalized_mutual_info_score
‘rand_score’ metrics.rand_score
‘v_measure_score’ metrics.v_measure_score
Регрессия
‘explained_variance’ metrics.explained_variance_score
‘max_error’ metrics.max_error
‘neg_mean_absolute_error’ metrics.mean_absolute_error
‘neg_mean_squared_error’ metrics.mean_squared_error
‘neg_root_mean_squared_error’ metrics.mean_squared_error
‘neg_mean_squared_log_error’ metrics.mean_squared_log_error
‘neg_median_absolute_error’ metrics.median_absolute_error
‘r2’ metrics.r2_score
‘neg_mean_poisson_deviance’ metrics.mean_poisson_deviance
‘neg_mean_gamma_deviance’ metrics.mean_gamma_deviance
‘neg_mean_absolute_percentage_error’ metrics.mean_absolute_percentage_error

3.3.1.2. Определение стратегии выигрыша от метрических функций

Модуль sklearn.metrics также предоставляет набор простых функций, измеряющих ошибку предсказания с учетом истинности и предсказания:

Метрики, доступные для различных задач машинного обучения, подробно описаны в разделах ниже.

Один из типичных вариантов использования — обернуть существующую метрическую функцию из библиотеки значениями, отличными от значений по умолчанию для ее параметров, такими как beta параметр для fbeta_score функции:

Вот пример создания пользовательских счетчиков очков и использования greater_is_better параметра:

3.3.1.3. Реализация собственного скорингового объекта

Вы можете сгенерировать еще более гибкие модели скоринга, создав свой собственный скоринговый объект с нуля, без использования make_scorer фабрики. Чтобы вызываемый может быть бомбардиром, он должен соответствовать протоколу, указанному в следующих двух правилах:

Примечание Использование пользовательских счетчиков в функциях, где n_jobs> 1

Хотя определение пользовательской функции оценки вместе с вызывающей функцией должно работать из коробки с бэкэндом joblib по умолчанию (loky), его импорт из другого модуля будет более надежным подходом и будет работать независимо от бэкэнда joblib.

Например, чтобы использовать n_jobs больше 1 в примере ниже, custom_scoring_function функция сохраняется в созданном пользователем модуле ( custom_scorer_module.py ) и импортируется:

3.3.1.4. Использование множественной метрической оценки

Есть три способа указать несколько показателей оценки для scoring параметра:

Обратите внимание, что значения dict могут быть либо функциями счетчика, либо одной из предварительно определенных строк показателей.

3.3.2. Метрики классификации

В sklearn.metrics модуле реализованы несколько функций потерь, оценки и полезности для измерения эффективности классификации. Некоторые метрики могут потребовать оценок вероятности положительного класса, значений достоверности или значений двоичных решений. Большинство реализаций позволяют каждой выборке вносить взвешенный вклад в общую оценку с помощью sample_weight параметра.

Некоторые из них ограничены случаем двоичной классификации:

precision_recall_curve (y_true, probas_pred, *)Вычислите пары точности-отзыва для разных пороговых значений вероятности.
roc_curve (y_true, y_score, *[, pos_label, …])Вычислить рабочую характеристику приемника (ROC).
det_curve (y_true, y_score[, pos_label, …])Вычислите частоту ошибок для различных пороговых значений вероятности.

Другие также работают в случае мультикласса:

balanced_accuracy_score (y_true, y_pred, *[, …])Вычислите сбалансированную точность.
cohen_kappa_score (y1, y2, *[, labels, …])Каппа Коэна: статистика, измеряющая согласованность аннотаторов.
confusion_matrix (y_true, y_pred, *[, …])Вычислите матрицу неточностей, чтобы оценить точность классификации.
hinge_loss (y_true, pred_decision, *[, …])Средняя потеря петель (нерегулируемая).
matthews_corrcoef (y_true, y_pred, *[, …])Вычислите коэффициент корреляции Мэтьюза (MCC).
roc_auc_score (y_true, y_score, *[, average, …])Вычислить площадь под кривой рабочих характеристик приемника (ROC AUC) по оценкам прогнозов.
top_k_accuracy_score (y_true, y_score, *[, …])Top-k Рейтинг по классификации точности.

Некоторые также работают в многоярусном регистре:

accuracy_score (y_true, y_pred, *[, …])Классификационная оценка точности.
classification_report (y_true, y_pred, *[, …])Создайте текстовый отчет, показывающий основные показатели классификации.
f1_score (y_true, y_pred, *[, labels, …])Вычислите оценку F1, также известную как сбалансированная оценка F или F-мера.
fbeta_score (y_true, y_pred, *, beta[, …])Вычислите оценку F-beta.
hamming_loss (y_true, y_pred, *[, sample_weight])Вычислите среднюю потерю Хэмминга.
jaccard_score (y_true, y_pred, *[, labels, …])Оценка коэффициента сходства Жаккара.
log_loss (y_true, y_pred, *[, eps, …])Потеря журнала, также известная как потеря логистики или потеря кросс-энтропии.
multilabel_confusion_matrix (y_true, y_pred, *)Вычислите матрицу неточностей для каждого класса или образца.
precision_recall_fscore_support (y_true, …)Точность вычислений, отзыв, F-мера и поддержка для каждого класса.
precision_score (y_true, y_pred, *[, labels, …])Вычислите точность.
recall_score (y_true, y_pred, *[, labels, …])Вычислите отзыв.
roc_auc_score (y_true, y_score, *[, average, …])Вычислить площадь под кривой рабочих характеристик приемника (ROC AUC) по оценкам прогнозов.
zero_one_loss (y_true, y_pred, *[, …])Потеря классификации нулевая единица.

А некоторые работают с двоичными и многозначными (но не мультиклассовыми) проблемами:

average_precision_score (y_true, y_score, *)Вычислить среднюю точность (AP) из оценок прогнозов.

В следующих подразделах мы опишем каждую из этих функций, которым будут предшествовать некоторые примечания по общему API и определению показателей.

3.3.2.1. От бинарного до мультиклассового и многозначного

При расширении двоичной метрики на задачи с несколькими классами или метками данные обрабатываются как набор двоичных задач, по одной для каждого класса. Затем есть несколько способов усреднить вычисления двоичных показателей по набору классов, каждый из которых может быть полезен в некотором сценарии. Если возможно, вы должны выбрать одно из них с помощью average параметра.

В то время как данные мультикласса предоставляются метрике, как двоичные цели, в виде массива меток классов, данные с несколькими метками указываются как индикаторная матрица, в которой ячейка [i, j] имеет значение 1, если у образца i есть метка j, и значение 0 в противном случае.

3.3.2.2. Оценка точности

В классификации с несколькими ярлыками функция возвращает точность подмножества. Если весь набор предсказанных меток для выборки строго соответствует истинному набору меток, то точность подмножества равна 1,0; в противном случае — 0, 0.

В многопозиционном корпусе с бинарными индикаторами меток:

3.3.2.3. Рейтинг точности Top-k

Функция охватывает случаи двоичной и многоклассовой классификации, но не случай многозначной классификации.

где k допустимое количество предположений и 1(x)- индикаторная функция.

3.3.2.4. Сбалансированный показатель точности

В двоичном случае сбалансированная точность равна среднему арифметическому чувствительности (истинно положительный показатель) и специфичности (истинно отрицательный показатель) или площади под кривой ROC с двоичными прогнозами, а не баллами:
$$\texttt = \frac<1><2>\left( \frac + \frac\right )$$

Если классификатор одинаково хорошо работает в любом классе, этот термин сокращается до обычной точности (т. е. Количества правильных прогнозов, деленного на общее количество прогнозов).

Определение мультикласса здесь кажется наиболее разумным расширением метрики, используемой в бинарной классификации, хотя в литературе нет определенного консенсуса:

3.3.2.5. Каппа Коэна

Функция cohen_kappa_score вычисляет каппа-Коэна статистику. Эта мера предназначена для сравнения меток, сделанных разными людьми-аннотаторами, а не классификатором с достоверной информацией.

Оценка Каппа может быть вычислена для двоичных или многоклассовых задач, но не для задач с несколькими метками (за исключением ручного вычисления оценки для каждой метки) и не более чем для двух аннотаторов.

3.3.2.6. Матрица неточностей ¶

По определению запись i,j в матрице неточностей — количество наблюдений в группе i, но предполагается, что он будет в группе j. Вот пример:

plot_confusion_matrix может использоваться для визуального представления матрицы неточностей, как показано в примере матрицы неточностей, который создает следующий рисунок:

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Для двоичных задач мы можем получить подсчет истинно отрицательных, ложноположительных, ложноотрицательных и истинно положительных результатов следующим образом:

3.3.2.7. Отчет о классификации

3.3.2.8. Потеря Хэмминга

hamming_loss вычисляет среднюю потерю Хэмминга или расстояние Хемминга между двумя наборами образцов.

В многопозиционном корпусе с бинарными индикаторами меток:

3.3.2.9. Точность, отзыв и F-меры

Интуитивно, точность — это способность классификатора не маркировать как положительный образец, который является отрицательным, а отзыв — это способность классификатора находить все положительные образцы.

precision_recall_curve вычисляет кривую точности-отзыва на основе наземной метки истинности и оценки, полученной классификатором путем изменения порога принятия решения.

Функция average_precision_score вычисляет среднюю точность (AP) от оценки прогнозирования. Значение от 0 до 1 и выше — лучше. AP определяется как
$$\text = \sum_n (R_n — R_) P_n$$

Несколько функций позволяют анализировать точность, отзыв и оценку F-мер:

average_precision_score (y_true, y_score, *)Вычислить среднюю точность (AP) из оценок прогнозов.
f1_score (y_true, y_pred, *[, labels, …])Вычислите оценку F1, также известную как сбалансированная оценка F или F-мера.
fbeta_score (y_true, y_pred, *, beta[, …])Вычислите оценку F-beta.
precision_recall_curve (y_true, probas_pred, *)Вычислите пары точности-отзыва для разных пороговых значений вероятности.
precision_recall_fscore_support (y_true, …)Точность вычислений, отзыв, F-мера и поддержка для каждого класса.
precision_score (y_true, y_pred, *[, labels, …])Вычислите точность.
recall_score (y_true, y_pred, *[, labels, …])Вычислите рекол.

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

3.3.2.9.1. Бинарная классификация

В задаче бинарной классификации термины «положительный» и «отрицательный» относятся к предсказанию классификатора, а термины «истинный» и «ложный» относятся к тому, соответствует ли этот прогноз внешнему суждению ( иногда известное как «наблюдение»). Учитывая эти определения, мы можем сформулировать следующую таблицу:

Фактический класс (наблюдение)
Прогнозируемый класс (ожидание)tp (истинно положительный результат) Правильный результатfp (ложное срабатывание) Неожиданный результат
Прогнозируемый класс (ожидание)fn (ложноотрицательный) Отсутствует результатtn (истинно отрицательное) Правильное отсутствие результата

Вот несколько небольших примеров бинарной классификации:

3.3.2.9.2. Мультиклассовая и многозначная классификация

Чтобы сделать это более явным, рассмотрим следующие обозначения:

Тогда показатели определяются как:

averageТочностьОтзыватьF_beta
«micro»$P(y, \hat)$$R(y, \hat)$$F_\beta(y, \hat)$
«samples»$\frac<1> <\left|S\right|>\sum_ P(y_s, \hat_s)$$\frac<1> <\left|S\right|>\sum_ R(y_s, \hat_s)$$\frac<1> <\left|S\right|>\sum_ F_\beta(y_s, \hat_s)$
«macro»$\frac<1> <\left|L\right|>\sum_ P(y_l, \hat_l)$$\frac<1> <\left|L\right|>\sum_ R(y_l, \hat_l)$$\frac<1> <\left|L\right|>\sum_ F_\beta(y_l, \hat_l)$
«weighted»$\frac<1> <\sum_\left|\hatl\right|> \sum \left|\hat_l\right| P(y_l, \hat_l)$$\frac<1> <\sum_\left|\hatl\right|> \sum \left|\hat_l\right| R(y_l, \hat_l)$$\frac<1> <\sum_\left|\hatl\right|> \sum \left|\hatl\right| F\beta(y_l, \hat_l)$
None$\langle P(y_l, \hat_l) | l \in L \rangle$$\langle R(y_l, \hat_l) | l \in L \rangle$$\langle F_\beta(y_l, \hat_l) | l \in L \rangle$

Для мультиклассовой классификации с «отрицательным классом» можно исключить некоторые метки:

Точно так же метки, отсутствующие в выборке данных, могут учитываться при макро-усреднении.

3.3.2.10. Оценка коэффициента сходства Жаккара

Коэффициент подобия Жаккара i-ые образцы, с набором меток наземной достоверности yi и прогнозируемый набор меток y^i, определяется как
$$J(y_i, \hat_i) = \frac<|y_i \cap \hat_i|><|y_i \cup \hat_i|>.$$

jaccard_score работает как precision_recall_fscore_support наивно установленная мера, применяемая изначально к бинарным целям, и расширена для применения к множественным меткам и мультиклассам за счет использования average (см. выше ).

В многопозиционном корпусе с бинарными индикаторами меток:

Задачи с несколькими классами преобразуются в двоичную форму и обрабатываются как соответствующая задача с несколькими метками:

3.3.2.11. Петля лосс

Если имеется более двух ярлыков, hinge_loss используется мультиклассовый вариант, разработанный Crammer & Singer. Вот статья, описывающая это.

Вот небольшой пример, демонстрирующий использование hinge_loss функции с классификатором svm в задаче двоичного класса:

Вот пример, демонстрирующий использование hinge_loss функции с классификатором svm в мультиклассовой задаче:

3.3.2.12. Лог лосс

Лог лосс, также называемые потерями логистической регрессии или кросс-энтропийными потерями, определяются на основе оценок вероятности. Он обычно используется в (полиномиальной) логистической регрессии и нейронных сетях, а также в некоторых вариантах максимизации ожидания и может использоваться для оценки выходов вероятности ( predict_proba ) классификатора вместо его дискретных прогнозов.

В log_loss функции вычисляет журнал потеря дана список меток приземной истины и матриц вероятностей, возвращенный оценщик predict_proba методом.

3.3.2.13. Коэффициент корреляции Мэтьюза

Функция matthews_corrcoef вычисляет коэффициент корреляции Матфея (MCC) для двоичных классов. Цитата из Википедии:

В случае мультикласса коэффициент корреляции Мэтьюза может быть определен в терминах confusion_matrix C для Kклассы. Чтобы упростить определение, рассмотрим следующие промежуточные переменные:

Тогда мультиклассовый MCC определяется как:
$$MCC = \frac< c \times s — \sum_^ p_k \times t_k ><\sqrt< (s^2 — \sum_^ p_k^2) \times (s^2 — \sum_^ t_k^2) >>$$

Вот небольшой пример, иллюстрирующий использование matthews_corrcoef функции:

3.3.2.14. Матрица путаницы с несколькими метками

Функция multilabel_confusion_matrix вычисляет класс-накрест ( по умолчанию) или samplewise (samplewise = True) MultiLabel матрицы спутанности для оценки точности классификации. Multilabel_confusion_matrix также обрабатывает данные мультикласса, как если бы они были многоклассовыми, поскольку это преобразование, обычно применяемое для оценки проблем мультикласса с метриками двоичной классификации (такими как точность, отзыв и т. д.).

Или можно построить матрицу неточностей для каждой метки образца:

Вот пример, демонстрирующий использование multilabel_confusion_matrix функции с многоклассовым вводом:

Вот несколько примеров, демонстрирующих использование multilabel_confusion_matrix функции для расчета отзыва (или чувствительности), специфичности, количества выпадений и пропусков для каждого класса в задаче с вводом многозначной индикаторной матрицы.

Расчет отзыва (также называемого истинно положительным коэффициентом или чувствительностью) для каждого класса:

Расчет специфичности (также называемой истинно отрицательной ставкой) для каждого класса:

Расчет количества выпадений (также называемый частотой ложных срабатываний) для каждого класса:

Расчет процента промахов (также называемого ложноотрицательным показателем) для каждого класса:

3.3.2.15. Рабочая характеристика приемника (ROC)

«Рабочая характеристика приемника (ROC), или просто кривая ROC, представляет собой графический график, который иллюстрирует работу системы двоичного классификатора при изменении ее порога дискриминации. Он создается путем построения графика доли истинных положительных результатов из положительных (TPR = частота истинных положительных результатов) по сравнению с долей ложных положительных результатов из отрицательных (FPR = частота ложных положительных результатов) при различных настройках пороговых значений. TPR также известен как чувствительность, а FPR — это единица минус специфичность или истинно отрицательный показатель ».

Для этой функции требуется истинное двоичное значение и целевые баллы, которые могут быть либо оценками вероятности положительного класса, либо значениями достоверности, либо двоичными решениями. Вот небольшой пример использования roc_curve функции:

На этом рисунке показан пример такой кривой ROC:

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Функция roc_auc_score вычисляет площадь под операционной приемника характеристика (ROC) кривой, которая также обозначается через ППК или AUROC. При вычислении площади под кривой roc информация о кривой суммируется в одном номере. Для получения дополнительной информации см. Статью в Википедии о AUC.

По сравнению с такими показателями, как точность подмножества, потеря Хэмминга или оценка F1, ROC не требует оптимизации порога для каждой метки.

3.3.2.15.1. Двоичный регистр

В двоичном случае вы можете либо предоставить оценки вероятности, используя classifier.predict_proba() метод, либо значения решения без пороговых значений, заданные classifier.decision_function() методом. В случае предоставления оценок вероятности следует указать вероятность класса с «большей меткой». «Большая метка» соответствует classifier.classes_[1] и, следовательно classifier.predict_proba(X) [:, 1]. Следовательно, параметр y_score имеет размер (n_samples,).

В противном случае мы можем использовать значения решения без порога.

3.3.2.15.2. Мультиклассовый кейс

Алгоритм «один против одного» : вычисляет средний AUC всех возможных попарных комбинаций классов. [HT2001] определяет метрику AUC мультикласса, взвешенную равномерно:
$$\frac<1>\sum_^\sum_ j>^c (\text(j | k) + \text(k | j))$$

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

3.3.2.15.3. Кейс с несколькими метками

И значения решений не требуют такой обработки.

3.3.2.16. Компромисс при обнаружении ошибок (DET)

«График компромисса ошибок обнаружения (DET) — это графическая диаграмма частоты ошибок для систем двоичной классификации, отображающая частоту ложных отклонений по сравнению с частотой ложных приемов. Оси x и y масштабируются нелинейно по их стандартным нормальным отклонениям (или просто с помощью логарифмического преобразования), в результате получаются более линейные кривые компромисса, чем кривые ROC, и большая часть области изображения используется для выделения важных различий в критический рабочий регион ».

На этом рисунке сравниваются кривые ROC и DET двух примеров классификаторов для одной и той же задачи классификации:

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Характеристики:

Приложения и ограничения:

Кривые DET интуитивно понятны для чтения и, следовательно, позволяют быстро визуально оценить работу классификатора. Кроме того, кривые DET можно использовать для анализа пороговых значений и выбора рабочей точки. Это особенно полезно, если требуется сравнение типов ошибок.

С другой стороны, кривые DET не представляют свою метрику в виде единого числа. Поэтому для автоматической оценки или сравнения с другими задачами классификации лучше подходят такие показатели, как производная площадь под кривой ROC.

3.3.2.17. Нулевой проигрыш

В классификации по zero_one_loss нескольким меткам подмножество оценивается как единое целое, если его метки строго соответствуют прогнозам, и как ноль, если есть какие-либо ошибки. По умолчанию функция возвращает процент неправильно спрогнозированных подмножеств. Чтобы вместо этого получить количество таких подмножеств, установите normalize значение False

В случае с несколькими метками с двоичными индикаторами меток, где первый набор меток [0,1] содержит ошибку:

3.3.2.18. Потеря очков по Брайеру

«Оценка Бриера — это правильная функция оценки, которая измеряет точность вероятностных прогнозов. Это применимо к задачам, в которых прогнозы должны назначать вероятности набору взаимоисключающих дискретных результатов ».

Потеря по шкале Бриера также составляет от 0 до 1, и чем ниже значение (средняя квадратичная разница меньше), тем точнее прогноз.

Вот небольшой пример использования этой функции:

3.3.3. Метрики ранжирования с несколькими ярлыками

В многоэлементном обучении с каждой выборкой может быть связано любое количество меток истинности. Цель состоит в том, чтобы дать высокие оценки и более высокий рейтинг наземным лейблам.

3.3.3.1. Ошибка покрытия

Оценка нашей реализации на 1 больше, чем оценка, приведенная в Tsoumakas et al., 2010. Это расширяет ее для обработки вырожденного случая, когда экземпляр имеет 0 истинных меток.

Вот небольшой пример использования этой функции:

3.3.3.2. Средняя точность ранжирования метки

В label_ranking_average_precision_score функции реализует маркировать ранжирование средней точности (LRAP). Этот показатель связан с average_precision_score функцией, но основан на понятии ранжирования меток, а не на точности и отзыве.

Вот небольшой пример использования этой функции:

3.3.3.3. Потеря рейтинга

Вот небольшой пример использования этой функции:

3.3.3.4. Нормализованная дисконтированная совокупная прибыль

Дисконтированный совокупный выигрыш (DCG) и Нормализованный дисконтированный совокупный выигрыш (NDCG) — это показатели ранжирования, реализованные в dcg_score и ndcg_score ; они сравнивают предсказанный порядок с оценками достоверности, такими как релевантность ответов на запрос.

Со страницы Википедии о дисконтированной совокупной прибыли:

«Дисконтированная совокупная прибыль (DCG) — это показатель качества ранжирования. При поиске информации он часто используется для измерения эффективности алгоритмов поисковой системы или связанных приложений. Используя шкалу градуированной релевантности документов в наборе результатов поисковой системы, DCG измеряет полезность или выгоду документа на основе его позиции в списке результатов. Прирост накапливается сверху вниз в списке результатов, причем прирост каждого результата дисконтируется на более низких уровнях »

По сравнению с потерей ранжирования, NDCG может принимать во внимание оценки релевантности, а не ранжирование на основе фактов. Таким образом, если основополагающая информация состоит только из упорядочивания, предпочтение следует отдавать потере ранжирования; если основополагающая информация состоит из фактических оценок полезности (например, 0 для нерелевантного, 1 для релевантного, 2 для очень актуального), можно использовать NDCG.

3.3.4. Метрики регрессии

3.3.4.1. Оценка объясненной дисперсии

Наилучшая возможная оценка — 1.0, более низкие значения — хуже.

Вот небольшой пример использования explained_variance_score функции:

3.3.4.2. Максимальная ошибка

Вот небольшой пример использования функции max_error :

max_error не поддерживает multioutput.

3.3.4.3. Средняя абсолютная ошибка

Вот небольшой пример использования функции mean_absolute_error :

3.3.4.4. Среднеквадратичная ошибка

Вот небольшой пример использования функции mean_squared_error :

3.3.4.5. Среднеквадратичная логарифмическая ошибка

Вот небольшой пример использования функции mean_squared_log_error :

3.3.4.6. Средняя абсолютная ошибка в процентах

mean_absolute_percentage_error (MAPE), также известный как среднее абсолютное отклонение в процентах (МАПД), является метрикой для оценки проблем регрессии. Идея этой метрики — быть чувствительной к относительным ошибкам. Например, он не изменяется глобальным масштабированием целевой переменной.

Вот небольшой пример использования функции mean_absolute_percentage_error :

3.3.4.7. Средняя абсолютная ошибка

Это median_absolute_error особенно интересно, потому что оно устойчиво к выбросам. Убыток рассчитывается путем взятия медианы всех абсолютных различий между целью и прогнозом.

median_absolute_error Не поддерживает multioutput.

Вот небольшой пример использования функции median_absolute_error :

3.3.4.8. R² балл, коэффициент детерминации

Он представляет собой долю дисперсии (y), которая была объяснена независимыми переменными в модели. Он обеспечивает показатель степени соответствия и, следовательно, меру того, насколько хорошо невидимые выборки могут быть предсказаны моделью через долю объясненной дисперсии.

Поскольку такая дисперсия зависит от набора данных, R² не может быть значимо сопоставимым для разных наборов данных. Наилучшая возможная оценка — 1,0, и она может быть отрицательной (потому что модель может быть произвольно хуже). Постоянная модель, которая всегда предсказывает ожидаемое значение y, игнорируя входные характеристики, получит оценку R² 0,0.

Обратите внимание, что r2_score вычисляется нескорректированное R² без поправки на смещение выборочной дисперсии y.

Вот небольшой пример использования функции r2_score :

3.3.4.9. Средние отклонения Пуассона, Гаммы и Твиди

Функция mean_tweedie_deviance вычисляет среднюю ошибку Deviance Tweedie с power параметром ($p$). Это показатель, который выявляет прогнозируемые ожидаемые значения целей регрессии.

Существуют следующие особые случаи:

Что такое confusion matrix. Смотреть фото Что такое confusion matrix. Смотреть картинку Что такое confusion matrix. Картинка про Что такое confusion matrix. Фото Что такое confusion matrix

Например, давайте сравним два прогноза 1.0 и 100, которые оба составляют 50% от их соответствующего истинного значения.

Среднеквадратичная ошибка ( power=0 ) очень чувствительна к разнице прогнозов второй точки:

Если увеличить power до 1:

разница в ошибках уменьшается. Наконец, установив power=2 :

мы получим идентичные ошибки. Таким образом, отклонение when power=2 чувствительно только к относительным ошибкам.

3.3.5. Метрики кластеризации

В модуле sklearn.metrics реализованы несколько функций потерь, оценки и полезности. Для получения дополнительной информации см. Раздел « Оценка производительности кластеризации » для кластеризации экземпляров и « Оценка бикластеризации» для бикластеризации.

3.3.6. Фиктивные оценки

При обучении с учителем простая проверка работоспособности состоит из сравнения своей оценки с простыми практическими правилами. DummyClassifier реализует несколько таких простых стратегий классификации:

Обратите внимание, что со всеми этими стратегиями predict метод полностью игнорирует входные данные!

Для иллюстрации DummyClassifier сначала создадим несбалансированный набор данных:

Далее сравним точность SVC и most_frequent :

Мы видим, что SVC это не намного лучше, чем фиктивный классификатор. Теперь давайте изменим ядро:

Мы видим, что точность увеличена почти до 100%. Для лучшей оценки точности рекомендуется стратегия перекрестной проверки, если она не требует слишком больших затрат на ЦП. Для получения дополнительной информации см. Раздел « Перекрестная проверка: оценка производительности оценщика ». Более того, если вы хотите оптимизировать пространство параметров, настоятельно рекомендуется использовать соответствующую методологию; подробности см. в разделе « Настройка гиперпараметров оценщика ».

В более общем плане, когда точность классификатора слишком близка к случайной, это, вероятно, означает, что что-то пошло не так: функции бесполезны, гиперпараметр настроен неправильно, классификатор страдает от дисбаланса классов и т. Д.

DummyRegressor также реализует четыре простых правила регрессии:

Во всех этих стратегиях predict метод полностью игнорирует входные данные.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *