Матрица путаницы в R: как сделать и рассчитать [с примерами]

Опубликовано: 2021-03-09

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

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

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

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

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

Оглавление

Что такое матрица путаницы?

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

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

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

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

  • Истинный положительный результат (TP): положительные значения прогнозируются правильно.
  • Ложноположительный результат (FP): отрицательные значения ошибочно прогнозируются как положительные.
  • Ложноотрицательный (FN): Положительные значения прогнозируются как отрицательные
  • True Negative (TN): отрицательные значения, предсказанные как фактические отрицательные значения.

Давайте рассмотрим несколько примеров, чтобы получить больше ясности.

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

  • Истинный положительный

Когда вы предсказали, что Индия выиграет чемпионат мира по крикету, и она выиграла.

  • Ложно положительный

Когда вы ожидали, что Индия выиграет, но она проиграла.

  • Ложноотрицательный

Когда вы предсказывали, что Франция не победит, но она победила.

  • Правда отрицательный

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

По мере продвижения вперед вы должны помнить, что все прогнозируемые значения описываются как: Положительные, Отрицательные, Истинные и Ложные.

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

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

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

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

Как только вы это сделаете, вы обнаружите, что числа организованы следующим образом:

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

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

женщины мужчины

женщины 3 1

мужчины 2 4

Здесь правильные значения организованы по диагонали от левого верхнего угла к правому нижнему углу матрицы (3 + 4). Результаты говорят нам, что существует больше ошибок при предсказании членов мужского пола как женщин, чем при предсказании женщин как мужчин. Алгоритм сделал 7 правильных прогнозов из 10 возможных исходов, что означает его точность 70%.

Руководство по созданию и расчету матрицы объединения в R

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

Для этого вы можете использовать функцию ifelse(). Например:

class_prediction <-

ifelse (вероятность_предсказания > 0,50,

«положительный_класс»,

«отрицательный_класс»

)

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

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

матрица путаницы (прогнозируемая, фактическая)

Теперь вы должны приступить к преобразованию ваших числовых прогнозов в вектор прогнозов классов, sat p_class. Предположим, вы хотите использовать отсечку 0,50.

Также, делая прогнозы, не забывайте называть положительные и отрицательные классы отдельными индикаторами. Назовем положительные классы «T», а отрицательные — «L». Это делается для сопоставления классов с исходными данными.

Теперь, когда у вас есть p_class и фактические значения в тестовом наборе данных, вы можете начать создавать свою матрицу путаницы, вызывая функцию путаницыMatrix().

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

С вашими новыми предсказанными классами вы можете повторить этот вызов:

pred <- ifelse (вероятность > порог, «T», «L»)

Наконец, вы можете использовать функцию путаницыMatrix() в курсоре:

матрица путаницы (прогнозируемая, фактическая)

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

Заключение

Если вам интересно узнать о R, науке о данных, ознакомьтесь с нашим дипломом PG по науке о данных, который создан для работающих профессионалов и предлагает более 10 тематических исследований и проектов, практические практические семинары, наставничество с отраслевыми экспертами, 1-на- 1 с отраслевыми наставниками, более 400 часов обучения и помощи в трудоустройстве в ведущих фирмах.

В чем необходимость создания матрицы путаницы?

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

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

Матрица путаницы в R может быть рассчитана с помощью функции «confusionMatrix()» библиотеки каретки. Эта функция не только вычисляет матрицу, но и возвращает подробный отчет о матрице. Вы должны выполнить несколько шагов, чтобы рассчитать матрицу путаницы.
1. Протестируйте свой набор данных.
2. Предсказать общее количество строк.
3. Предсказать общее количество правильных и неправильных прогнозов для каждого класса.
После того, как вы изучили свои данные, вы получите числа, организованные в строки. Строки будут связаны с предсказанным классом, а столбцы будут связаны с фактическим классом. Правильные значения будут в диагональной линии. Добавьте все значения, и вы получите процент точности вашей матрицы.

Как измерить производительность в матрице путаницы?

Вы можете рассчитать уровень точности модели, используя матрицу путаницы 2x2. Следующая формула даст вам показатель успеха или показатель точности:
Точность = (TP+TN)/(TP+TN+FP+FN)
Где TP = истинно положительный, TN = истинно отрицательный, FP = ложноположительный, FN = ложноотрицательный
Частота ошибок вашей модели также может быть рассчитана с помощью формулы расчета скорости, которая выглядит следующим образом:
Точность = (TP+TN)/(TP+TN+FP+FN) = 1-точность
Понятие частоты ошибок очень простое. Предположим, что ваша модель имеет уровень точности 80%, тогда уровень ошибок вашей модели будет 20%.