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

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

Для задач классификации и регрессии показатели производительности различаются. Как и для регрессии, используются средняя абсолютная ошибка (MAE), среднеквадратическая ошибка (RMSE), скорректированный R-квадрат и т. д., а в классификации используются точность, полнота, точность, оценка f1 и т. д. Здесь я привожу пример показателей эффективности классификации; вы также можете применить приведенную ниже визуализацию к показателям производительности регрессии.

Давайте сначала разберемся с терминами «матрица путаницы», «точность», «отзыв», «точность» и «f1-оценка».

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

Истинно положительный (TP): это результат, когда модель правильно предсказывает положительный класс, True Negative (TN): это результат, когда модель правильно предсказывает отрицательный класс, False Positive (FP): это результат, когда модель неправильно предсказать отрицательный класс как положительный, ложноотрицательный (FN): это результат, когда модель неправильно предсказывает положительный класс как отрицательный

Точность. Показывает, сколько правильных прогнозов получается из общего числа прогнозов.

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

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

Оценка F1: это гармоничное среднее запоминания и точности. Он наказывает, какое количество слишком велико.

Давайте перейдем к нашей главной цели, т. е. к сравнению моделей.

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

Чтобы сравнить эти модели, я использовал две библиотеки Python — matplotlib и seaborn.

Теперь построим график с помощью этих библиотек.

Давайте разберемся с кодом:

Мы делим сюжет на 4 части. Первый график для точности, второй для отзыва, третий для точности и четвертый для f1-оценки. Мы используем plt.subplot(1,4, figsize = (30,6)) для разделения графика на 1 строку и 4 столбца и установки размера фигуры шириной 30 дюймов и высотой 6 дюймов. axs[0], axs[1], axs[2], axs[3] являются подграфиками 1, 2, 3 и 4 соответственно. Чтобы задать поворот и размер галочек по оси x, мы использовали функции set_rotation и set_size. Затем мы установили метку Y, размер метки Y, заголовок и размер заголовка для каждого участка. И, наконец, мы строим барплот с Сиборном. Мы использовали ключи по оси x и значения по оси y каждого словаря для соответствующих подграфиков.

Мы получим график ниже после запуска кода выше.

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

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

После прочтения этого, если вы все еще сталкиваетесь с проблемой, например, как применить его в проекте ML, вы можете сослаться на мой проект на github.

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