Машинное обучение и нейронные сети - страница 73

 

11.3 Множественные попарные сравнения (Оценка модели L11. Часть 4)


11.3 Множественные попарные сравнения (Оценка модели L11. Часть 4)

В сценарии, когда у вас есть модель, которую вы хотите сравнить с несколькими другими моделями, найденными в литературе или на таких платформах, как GitHub, проведение попарных сравнений может стать проблематичным. Если у вас есть k разных моделей, выполнение попарного теста для каждой пары приведет к k раз (k - 1) / 2 комбинаций, что может быть большим числом. Это вызывает опасения по поводу частоты ошибок при проведении множественных проверок гипотез.

Обычно проверка гипотез проводится при уровне значимости 0,05 или меньше. Это означает, что если нулевая гипотеза верна, вероятность ее ошибочного отклонения составляет 5 %, что приводит к частоте ошибок 5 %. Когда выполняется несколько тестов, частота ошибок для ложного отклонения нулевой гипотезы может увеличиться до r, умноженного на альфа, где r — количество проведенных тестов. В худшем случае частота ошибок может быть до r раз выше, если все попарные нулевые гипотезы верны.

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

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

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

Хотя тест Cochran-Q может быть реализован в библиотеке «mlxtend» для сравнения нескольких моделей, стоит упомянуть, что использование таких процедур для сравнения нескольких моделей все еще относительно редко встречается в области машинного обучения. Однако, если вы обнаружите ситуацию, когда вам нужно сравнить несколько моделей и выполнить статистические тесты, вы можете изучить эти варианты и обратиться к конспектам лекций и соответствующей литературе для получения более подробной информации.

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

Одной из проблем с множественными сравнениями является повышенный риск ошибок типа I, также известных как ложные срабатывания. При проведении множественных тестов выше вероятность неправильного отклонения нулевых гипотез, что приводит к ошибочным выводам. Чтобы смягчить это, исследователи часто применяют методы корректировки, такие как поправка Бонферрони или контроль частоты ложных открытий (FDR).

Поправка Бонферрони — это консервативная корректировка, которая делит уровень значимости (альфа) на количество сравнений (k). Этот скорректированный уровень значимости, обозначенный как альфа-штрих (α'), гарантирует, что общая частота ошибок в отношении всей семьи остается под контролем. Используя поправку Бонферрони, каждый отдельный парный тест проводится на уровне альфа/k.

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

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

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

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

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

 

11.4 Статистические тесты для сравнения алгоритмов (Оценка модели L11. Часть 4)


11.4 Статистические тесты для сравнения алгоритмов (Оценка модели L11. Часть 4)

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

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

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

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

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

Парный t-критерий с повторной перекрестной проверкой — еще один подход, требующий подгонки нескольких моделей. Хотя у него более низкий уровень ложных срабатываний, чем у некоторых других тестов, он все же может потребовать больших вычислительных ресурсов из-за повторной подгонки модели.

Более продвинутым методом является парный t-критерий с перекрестной проверкой 5x2, который демонстрирует низкий уровень ложноположительных результатов и немного более высокую статистическую мощность по сравнению с критерием Макнемара. Он предлагает более надежный подход к сравнению алгоритмов. Кроме того, существуют более новые подходы, такие как парный f-тест с перекрестной проверкой 5x2, которые обеспечивают дальнейшие улучшения.

В конспектах лекций я более подробно расскажу об этих тестах и других статистических подходах. Кроме того, я реализовал большинство этих тестов в расширении MLA, библиотеке, которая сопровождает лекционные материалы. Вы можете найти реализации критерия Макнемара, Q-критерия Кокрана, парного t-теста с передискретизацией (не рекомендуется), парного t-критерия с перекрестной проверкой в K-кратном порядке, комбинированного t-теста с перекрестной проверкой 5x2 и т. д.

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

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

 

11.6 Вложенный CV для примера кода выбора алгоритма (оценка модели L11. Часть 4)


11.6 Вложенный CV для примера кода выбора алгоритма (оценка модели L11. Часть 4)

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

Во-первых, примеры кода можно найти на GitHub. Я загрузил их в наш обычный репозиторий классов под именем «l11_code». Доступны три блокнота: «verbose_one», «verbose_two» и «compact». Все три ноутбука дают одинаковые результаты, но отличаются подходом к реализации.

В записной книжке «verbose_one» я применил более ручной подход, используя вручную стратифицированный метод k-fold. С другой стороны, в блокноте «verbose_two» я использовал функцию cross_validate. Наконец, в «компактном» блокноте я использовал cross_val_score. Каждая записная книжка предоставляет различные уровни информации при анализе. Сейчас я рекомендую начать с записной книжки «verbose_one», так как вы уже знакомы с многослойным объектом k-fold.

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

Теперь давайте рассмотрим записную книжку «verbose_one», которая демонстрирует ручной подход к вложенной перекрестной проверке. В этой записной книжке вы найдете иллюстрацию вложенной перекрестной проверки и того, как она работает. Процесс включает внешний цикл, который запускает внутренние циклы. Для каждого внешнего цикла складка разбивается на тренировочную и тестовую части. Затем обучающая часть передается во внутренний цикл, который выполняет настройку гиперпараметров или выбор модели. Этого можно добиться с помощью поиска по сетке, как мы узнали из предыдущей лекции.

В записной книжке вы найдете необходимые шаги настройки, такие как импорт необходимых библиотек и модулей. К ним относятся поиск по сетке для настройки модели во внутреннем цикле, разделение набора данных с использованием стратифицированной k-кратной перекрестной проверки, конвейер, стандартные скаляры и классификаторы, которые мы хотим сравнить. Для целей этого примера мы используем уменьшенную версию набора данных «emnes», который состоит из 5000 обучающих примеров, чтобы сохранить вычислительную осуществимость без изменений. Кроме того, 20 % набора данных выделено в качестве тестовых данных, что позволяет нам сравнивать производительность вложенной перекрестной проверки с производительностью тестового набора.

Двигаясь вперед, мы инициализируем классификаторы, которые будем использовать. Первый классификатор представляет собой классификатор логистической регрессии, в частности, классификатор полиномиальной логистической регрессии. Этот классификатор также известен как регрессия softmax в глубоком обучении. Хотя мы не рассмотрели его в этом классе, мы рассмотрим его в разделе «Статистика 453». Причина использования этого классификатора заключается в том, чтобы иметь более широкий спектр алгоритмов для сравнения. Кроме того, он относительно быстр по сравнению с другими алгоритмами. Другой относительно быстрый классификатор, который мы рассматриваем, — это машина опорных векторов, в частности, линейная. Включая эти классификаторы, мы стремимся сравнить различные настройки гиперпараметров.

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

В записной книжке «verbose_one» после определения классификаторов и соответствующих им сеток гиперпараметров мы переходим к настройке внешнего и внутреннего циклов для вложенной перекрестной проверки.

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

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

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

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

Важно отметить, что записные книжки «verbose_two» и «compact» предоставляют альтернативные реализации вложенной перекрестной проверки с использованием функции cross_validate и функции cross_val_score соответственно. Эти функции автоматически обрабатывают некоторые этапы перекрестной проверки, упрощая код. Однако они могут предоставлять менее подробную информацию по сравнению с записной книжкой «verbose_one».

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

 

11.5 Вложенный CV для выбора алгоритма (оценка модели L11. Часть 4)


11.5 Вложенный CV для выбора алгоритма (оценка модели L11. Часть 4)

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

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

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

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

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

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

Теперь давайте продолжим и обсудим вложенную перекрестную проверку, которая продвинет нас на шаг вперед, сравнивая различные алгоритмы. Предположим, мы хотим сравнить такие алгоритмы, как K ближайших соседей, деревья решений, повышение градиента и случайные леса. Каждый алгоритм будет подвергаться настройке гиперпараметров для выбора наилучшей модели. Мы вводим еще один цикл в процедуру перекрестной проверки, что приводит к вложенной перекрестной проверке. Внешний цикл отвечает за оценку модели, а внутренний цикл фокусируется на настройке гиперпараметров. Эта двухэтапная процедура делает вложенную перекрестную проверку более сложной, чем обычная перекрестная проверка в k-кратном порядке, поскольку она по существу включает две вложенные перекрестные проверки в k-кратном порядке.

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

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

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

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

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

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

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

 

12.0 Обзор лекции (L12 Model Eval 5: Показатели производительности)


12.0 Обзор лекции (L12 Model Eval 5: Показатели производительности)

Всем привет,

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

На ближайшие две недели у меня есть планы на оставшееся время вместе. На этой неделе я расскажу об оценке модели и сосредоточусь на пяти показателях производительности и оценки. Цель состоит в том, чтобы расширить вашу перспективу за пределы точности классификации и ошибок. Мы рассмотрим различные метрики, которые могут помочь эффективно оценить модели машинного обучения. Я не ожидаю, что эта тема займет много времени, поэтому, если у нас будет дополнительное время, я также коснусь выбора функций. Ранее я поделился некоторыми материалами для самостоятельного изучения этой темы, так как знал, что у нас может не хватить времени для ее подробного освещения. Я хочу помнить о проблемах, связанных с онлайн-обучением, и не перегружать вас слишком большим количеством тем за короткий период времени. Насколько я понимаю, у вас у всех много дел, в том числе домашнее задание 3, которое нужно сдать 4 декабря, и презентации ваших проектов в видеоформате 6 декабря.

Что касается презентаций проекта, на следующей неделе я создам страницы Canvas, куда вы сможете вставлять свои презентации. Кроме того, я настрою формат викторины для голосования по наградам проекта, включая самый креативный проект, лучшую устную презентацию и лучшую визуализацию. Эти награды будут определены вашими голосами. Я считаю, что это добавит элемент веселья в процесс. Я организую все на следующей неделе, а это значит, что лекций не будет. Тем не менее, я настоятельно рекомендую всем посмотреть презентации проекта. За заполнение опросов, связанных с презентациями, будут начисляться баллы. Также справедливо смотреть презентации друг друга, поскольку вы все приложили значительные усилия. Мы можем вести дискуссии и задавать вопросы на Piazza или исследовать другие платформы, позволяющие взаимодействовать. Я подумаю, как лучше всего облегчить это взаимодействие.

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

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

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

В следующем видео мы начнем обсуждение с матрицы путаницы (confusion matrix).

 

12.1 Матрица путаницы (модель L12, оценка 5: показатели производительности)



12.1 Матрица путаницы (модель L12, оценка 5: показатели производительности)

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

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

Матрица путаницы обычно представлена в формате два на два, также известном как матрица непредвиденных обстоятельств. Он состоит из четырех компонентов: истинно положительные (TP), ложноотрицательные (FN), ложноположительные (FP) и истинно отрицательные (TN). «Положительный» класс относится к интересующему классу, который мы хотим предсказать, а «отрицательный» класс относится к другому классу.

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

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

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

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

Чтобы подготовить набор данных для классификации, спикер использовал кодировщик меток от scikit-learn для преобразования меток строковых классов (злокачественные и доброкачественные) в целочисленные метки (0 и 1). Они разделили набор данных на обучающий набор (80%) и тестовый набор (20%).

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

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

Кроме того, спикер упомянул некоторые необязательные параметры функции путаницы_матрицы, такие как show_absolute и show_normed. Эти параметры позволяют настраивать визуализацию, в том числе отображать абсолютные числа или нормализованные значения.

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

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

 

12.2 Точность, отзыв и оценка F1 (модель L12 Eval 5: показатели производительности)


12.2 Точность, отзыв и оценка F1 (модель L12 Eval 5: показатели производительности)

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

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

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

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

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

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

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

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

Для расчета этих метрик вы можете использовать функции, предоставляемые scikit-learn, такие как точность_оценки, отзыв_оценки, f1_score и matthews_corrcoef. Эти функции принимают истинные метки и предсказанные метки в качестве входных данных и возвращают соответствующие значения метрик. Кроме того, вы можете использовать эти метрики в поиске по сетке и настройке гиперпараметров, указав желаемую метрику в качестве строкового аргумента.

Для задач с несколькими классами, когда вы хотите использовать такие метрики, как точность, полнота, оценка F1 или коэффициент корреляции Мэтьюза, вам необходимо применить обходной путь. Один из подходов — использовать функцию make_scorer из scikit-learn. Эта функция позволяет создать объект оценки для определенной метрики.

Например, если вы хотите использовать оценку F1 для задачи с несколькими классами, вы можете создать объект скорера с помощью make_scorer и установить для среднего параметра значение «макро» или «микро». Опция «макро» вычисляет метрику независимо для каждого класса, а затем берет среднее значение, в то время как опция «микро» учитывает общее количество истинных положительных результатов, ложных отрицательных результатов и ложных положительных результатов по всем классам.

Важно отметить, что выбор между «макро» и «микро» усреднением зависит от проблемы и конкретных требований вашего анализа.

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

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

Таким образом, в этом видео мы рассмотрели дополнительные метрики оценки для моделей классификации, включая точность, полноту, оценку F1 и коэффициент корреляции Мэтьюза. Эти метрики дают ценную информацию о производительности классификатора с учетом таких факторов, как истинные положительные, ложные положительные и ложные отрицательные результаты. Используя эти показатели, вы можете лучше понять, насколько хорошо работает ваша модель, и принимать обоснованные решения в своем анализе или исследовании. В следующем видео мы углубимся в сбалансированную точность, кривые рабочих характеристик приемника (ROC) и расширение бинарных метрик для настроек нескольких классов, расширив наши знания о методах оценки в задачах классификации.

 

12.3 Сбалансированная точность (L12 Model Eval 5: Показатели производительности)


12.3 Сбалансированная точность (L12 Model Eval 5: Показатели производительности)

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

Как правило, мы вычисляем точность предсказания, суммируя значения на диагонали матрицы путаницы и разделив их на общее количество примеров. В данном примере у нас есть 3 метки для нулевого класса, 769 меток для первого класса и 18 меток для второго класса. Как видите, в классах наблюдается дисбаланс: в первом классе больше примеров по сравнению с двумя другими классами. Если мы подсчитаем обычную точность, она составит около 80%, в первую очередь из-за большого количества примеров первого класса.

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

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

В Python вы можете использовать функцию precision_score из библиотеки mlxtend для вычисления сбалансированной точности. Эта функция работает так же, как иScikit-Learn, Точность_оценки, но включает дополнительные функции для расчета точности бинарной классификации. Указав метод как двоичный и предоставив положительную метку, вы можете вычислить двоичную точность для каждого класса. Кроме того, вы можете использовать средний параметр как «макро» или «микро», чтобы напрямую рассчитать среднюю точность для каждого класса.

В приведенном примере воссоздается матрица путаницы и вычисляются обычная точность, средняя точность для каждого класса (сбалансированная точность) и двоичная точность. Двоичные точности соответствуют каждому классу, рассматриваемому как положительная метка отдельно. Усредняя двоичные точности, вы получаете сбалансированную точность. В этом случае сбалансированная точность составляет примерно 86%.

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

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

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

TPR = истинные положительные результаты / (истинные положительные результаты + ложноотрицательные результаты)

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

FPR = ложные срабатывания / (ложные срабатывания + истинные отрицательные значения)

Чтобы построить кривую ROC, прогнозы классификатора ранжируются в соответствии с их классификационными баллами или вероятностями. Изменяя порог классификации, мы можем генерировать разные значения TPR и FPR. Начиная с порога, который классифицирует все экземпляры как положительные (что приводит к TPR, равному 1, и FPR, равному 1), мы постепенно уменьшаем порог, классифицируя меньшее количество случаев как положительные и, следовательно, уменьшая как TPR, так и FPR.

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

В дополнение к кривой ROC, другой важной метрикой, полученной из нее, является площадь под кривой ROC (AUC-ROC). AUC-ROC количественно определяет общую производительность классификатора, вычисляя площадь под кривой ROC. Совершенный классификатор имеет AUC-ROC, равный 1, что указывает на то, что он достигает TPR, равного 1, при сохранении FPR, равного 0. И наоборот, случайный классификатор имеет AUC-ROC, равный 0,5, поскольку он работает не лучше, чем случайно.

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

Для вычисления кривой ROC и AUC-ROC в Python различные библиотеки, такие как scikit-learn, предлагают удобные функции. Эти функции принимают истинные метки и предсказанные вероятности или баллы в качестве входных данных и возвращают FPR, TPR и пороги для кривой ROC, а также значение AUC-ROC.

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

 

12.4 Рабочие характеристики приемника (модель L12 Eval 5: показатели производительности)



12.4 Рабочие характеристики приемника (модель L12 Eval 5: показатели производительности)

Тема обсуждения вращается вокруг кривой рабочих характеристик приемника (ROC). Эта кривая, также известная как кривая рабочей характеристики приемника (ROC), может показаться скороговоркой из-за ее сложного названия. Термин «рабочая характеристика приемника» происходит от операторов радиолокационных приемников, которые работали с такими технологиями, как радиопеленгация. Первоначально оно использовалось в этом контексте. Тем не менее, он приобрел популярность в области машинного обучения благодаря своей способности сочетать две важные метрики: истинный положительный показатель и ложноположительный показатель.

Кривая ROC строится путем изменения порога предсказания. Чтобы проиллюстрировать это, давайте рассмотрим пример. В задачах бинарной классификации у нас есть два класса: нулевой класс и первый класс. Вместо простого решения о бинарной классификации мы можем присвоить каждому примеру вероятность принадлежности к классу. Эту вероятность можно определить с помощью различных классификаторов, таких как логистическая регрессия, k-ближайших соседей или деревья решений. Например, в случае k-ближайших соседей вероятность принадлежности к классу может быть рассчитана как отношение вхождений одного класса к другому в окрестности.

Рассмотрим пример с использованием алгоритма k ближайших соседей. Предположим, у нас есть набор соседей, и мы хотим определить вероятность принадлежности к классу для конкретного примера. Если мы заметим, что из пяти ближайших соседей трое принадлежат к нулевому классу, а двое принадлежат к первому классу, вероятность принадлежности к классу для нулевого класса будет рассчитана как 3/5, что составляет 0,6, а для первого класса как 2/5. , что равно 0,4. Эти вероятности могут быть скорректированы на основе порога.

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

Кривая рабочей характеристики приемника (ROC) иллюстрирует производительность классификатора путем нанесения уровня истинных положительных результатов (TPR) по оси y и уровня ложных положительных результатов (FPR) по оси x. Каждая точка на кривой соответствует разным пороговым значениям. Изменяя порог, мы можем наблюдать, как производительность классификатора зависит от истинно положительного уровня и ложноположительного показателя. Кривая показывает чувствительность классификатора к различным пороговым значениям, что позволяет нам всесторонне проанализировать его поведение.

Что касается точности, мы обычно используем фиксированный порог, например 0,5, для определения присвоения класса. Однако для кривой рабочих характеристик приемника мы исследуем чувствительность классификатора, изменяя порог. Таким образом, мы можем оценить влияние различных порогов на частоту ложных срабатываний и истинных положительных результатов. На кривой отображаются разные точки, соответствующие разным порогам, таким как 0,3, 0,4, 0,5, 0,6 и т. д. Каждая точка на кривой представляет эффективность классификатора для определенного порога.

Теперь давайте углубимся в концепцию порога и его связь с вероятностью принадлежности к классу. Ранее мы видели рисунок, на котором по оси x изображался признак, а граница решения смещалась. Однако это была просто абстракция, помогающая понять. На самом деле ось X представляет вероятность принадлежности к классу.

Итак, продолжая с того места, где мы остановились, я объясню фрагмент кода дальше. После вычисления вероятностей для первого класса мы используем функцию roc_curve из scikit-learn, чтобы вычислить частоту ложных срабатываний (fpr) и частоту истинных срабатываний (tpr) для различных пороговых значений. Функция roc_curve принимает истинные метки (y_true) и предсказанные вероятности (y_scores) в качестве входных данных и возвращает fpr, tpr и пороги.

Затем мы используем функцию roc_auc_score для вычисления площади под кривой рабочей характеристики приемника (AUC-ROC). Эта метрика предоставляет одно значение, которое суммирует производительность классификатора по всем возможным пороговым значениям. Более высокий AUC-ROC указывает на лучшую производительность классификации. Мы рассчитываем AUC-ROC как для обучающей, так и для тестовой выборки отдельно.

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

Визуализируя кривые ROC и вычисляя AUC-ROC, мы можем оценить производительность классификатора и сравнить ее между наборами для обучения и тестирования. Если AUC-ROC близок к 1, это указывает на хороший классификатор с высоким уровнем истинных положительных результатов и низким уровнем ложных срабатываний. С другой стороны, AUC-ROC, близкий к 0,5, предполагает случайный или неэффективный классификатор.

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

 

12.5 Расширение бинарной метрики для многоклассовых задач (модель L12 Eval 5: метрики производительности)


12.5 Расширение бинарной метрики для многоклассовых задач (модель L12 Eval 5: метрики производительности)

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

Одним из подходов является стратегия «один против остальных» или «один против всех», также известная как OvR или OvA. Этот подход предполагает разделение проблемы нескольких классов на отдельные задачи бинарной классификации. Каждый класс рассматривается как положительный класс в одном бинарном классификаторе, а остальные классы рассматриваются как отрицательный класс. Например, если у нас есть три класса (желтые кружки, красные квадраты и синие треугольники), мы создаем три бинарных классификатора: один для классификации желтых кружков по сравнению с остальными, один для красных квадратов по сравнению с остальными и один для синих треугольников по сравнению с остальными. отдых. Во время обучения мы подбираем все три классификатора, а во время прогнозирования запускаем все три классификатора и выбираем тот, который имеет наивысший показатель достоверности.

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

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

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

В scikit-learn вы можете указать метод усреднения (микро-, макро- или взвешенный) при использовании показателей классификации, таких как точность, полнота и оценка F1. Например, можно использовать medium='micro' или medium='macro' для вычисления микро- или макроусредненной метрики соответственно. Существует также показатель рабочей характеристики приемника (ROC) и площади под кривой (AUC), которые можно вычислить с помощью функции roc_auc_score. Метод усреднения по умолчанию для ROC AUC — макрос.

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

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

Причина обращения: