Что такое метрики Sklearn и зачем о них знать?

Опубликовано: 2021-10-22

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

Если вы новичок, самостоятельно найти нужные инструменты может показаться сложной задачей. Бесплатное программное обеспечение, такое как Scikit-learn, может дать вам возможность приобрести необходимые навыки без особых усилий. В библиотеке машинного обучения есть несколько алгоритмов классификации, регрессии и кластеризации для программистов на Python.

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

Оглавление

Метрики классификации в Scikit-Learn

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

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

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

Объяснение показателей Sklearn

Метрики Sklearn позволяют реализовывать оценки, потери и функции полезности для оценки эффективности классификации.

Вот основные шаги:

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

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

Запустите этот код, чтобы импортировать модуль Pandas, прочитать файл данных и проверить его элементы.

импортировать панд как ps

df = ps.read_csv('data.csv')

дф.голова()

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

молот = 0,5

df['forecasted_RF'] = (df.model_RF >= 0,5).astype('int')

df['forecasted_LR'] = (df.model_LR >= 0,5).astype('int')

дф.голова()

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

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

  • Истинный положительный результат (TP)
  • Ложноположительный результат (FP)
  • Ложноотрицательный (ЛН)
  • Истинный отрицательный результат (TN)

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

Вы также можете вручную проверить, совпадают ли ваши результаты, используя функцию assert Python и функцию array_equal NumPy.

Мы можем рассчитать многие другие показатели производительности, используя четыре блока: TP, FP, TN и FN. Эти:

1. показатель_точности

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

2. отзыв_оценка

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

3. точность_оценка

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

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

4. f1_score

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

Вышеупомянутые показатели были рассчитаны с установленным порогом 0,5. Можно задаться вопросом, изменит ли изменение этого порога и показатели производительности. Ответ? Да, это будет.

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

Функции roc_curve и roc_auc_score принимают в качестве входных данных фактические метки и прогнозируемые вероятности.

  • рок_кривая

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

  • roc_auc_curve

Он находит площади под кривой как для моделей RF, так и для моделей LR.

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

Подводя итоги

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

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

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

Учебная программа знакомит вас с полным набором инструментов для обработки данных и охватывает практические аспекты Scikit-Learn и другого программного обеспечения. Кроме того, сертификаты от известных институтов, таких как Ливерпульский университет Джона Мура и IIIT Bangalore, отличают вас от конкурентов при подаче заявлений о приеме на работу и собеседованиях при приеме на работу.

Что такое оценочные показатели в Python?

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

Зачем вам метрики sklearn?

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

Как последипломное образование в области искусственного интеллекта и машинного обучения помогает в карьерном росте?

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