Данные были собраны на северо-востоке штата Андхра-Прадеш, Индия. Этот набор данных содержит 894 выборки, набор обучающих данных состоит из 583 выборок, а набор тестовых данных состоит из 311 выборок.

В наборе данных доступно одиннадцать (11) атрибутов, а атрибуты «Пол» и «Класс» являются номинальными атрибутами, а все остальные являются числовыми атрибутами. Последний атрибут — это поле класса, используемое для разделения набора данных на две группы в зависимости от того, есть у пациента печень или нет.

Предварительная обработка данных

Некоторые переменные были преобразованы в правильный тип данных. Большинство переменных имели тип данных «объект»; следовательно, преобразуется в «плавающую» и «целую» соответственно. Эти изменения были сделаны с помощью MS Excel.

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

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

В наборе данных не было обнаружено дубликатов.

Набор поездов и тестовый набор были названы так, как они были. Потому что набор поездов был сравнительно меньше, чтобы разбить его на наборы поездов, тестов и проверок.

Важные результаты описательного анализа

Между переменными DB и TB были обнаружены очень сильные корреляции. Кроме того, существует сильная корреляция между (SGOT, SGPT), (ALB, TP) и (ALB и AG_Ratio).

Переменная ответа «Класс» не сбалансирована.

Затем были построены диаграммы для всех числовых переменных, и они показали много выбросов во всех из них. Некоторые из них приведены здесь.

Расширенный анализ

Оптимизация гиперпараметров/ Настройка гиперпараметров

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

Моделирование

Были подобраны три модели классификации, чтобы сравнить их, чтобы получить лучшую модель. Они были смоделированы с использованием алгоритма K-ближайшего соседа, Random Forest и Extreme Gradient Boosting (XGBoost).

K — Алгоритм ближайшего соседа

Во-первых, лучшие параметры были получены с помощью Grid Search для алгоритма KNN.

Здесь в отчете о классификации значения точности классов ответа 0 и 1 (пациент с печенью: да (1), нет (0)) равны 1 и 0,99 соответственно. Из всех участников с пациентами с печенью, которые предсказывала модель, 99% — это пациенты с печенью. Напомним, что значения для них равны 0,98 и 1,0. Из всех участников с заболеваниями печени модель правильно предсказала это для 100% участников. Показатели F1 для двух классов составляют 0,99 и 1,0 соответственно. Это означает, что модель хороша, поскольку оба значения близки к 1. Кроме того, опорные значения показывают, что среди участников тестового набора данных 90 не являются пациентами с печенью, а 221 — с пациентами с печенью. Точность модели составляет 99%.

Экстремальная модель повышения градиента

Во-первых, лучшие параметры были получены для модели XGBoost.

Здесь, в отчете о классификации, значения точности классов ответа 0 и 1 (пациент с печенью: Да (1), Нет (0)) составляют 0,89 и 0,75 соответственно. Эти значения представляют собой процент правильных положительных прогнозов по отношению к общему количеству положительных прогнозов. Из всех участников с пациентами с печенью, которых предсказывала модель, только 75% являются пациентами с печенью. Напомним, что значения для них равны 0,19 и 0,99. Из всех участников с заболеваниями печени модель правильно предсказала это только для 99% участников. Показатели F1 для двух классов составляют 0,31 и 0,85 соответственно. Это означает, что предсказания модели неточны и, безусловно, в данных присутствует дисбаланс. Кроме того, опорные значения показывают, что среди участников набора тестовых данных 90 не являются пациентами с печенью, а 221 - с пациентами с печенью. Точность модели составляет 76%.

Модель случайного леса

Здесь приведены лучшие параметры, полученные для классификатора Random Forest.

Здесь, в отчете о классификации, значения точности классов ответа 0 и 1 (пациент с печенью: Да (1), Нет (0)) равны 1 и 0,92 соответственно. Эти значения представляют собой процент правильных положительных прогнозов по отношению к общему количеству положительных прогнозов. Из всех участников с пациентами с печенью, которых предсказывала модель, только 92% являются пациентами с печенью. Напомним, что значения для них равны 0,80 и 1. Из всех участников, страдающих заболеваниями печени, модель правильно предсказала это только для 100% участников. Оценки F1 для двух классов составляют 0,89 и 0,96 соответственно. Это означает, что модель хороша, поскольку оба значения близки к 1. Кроме того, опорные значения показывают, что среди участников тестового набора данных 90 не являются пациентами с печенью, а 221 — с пациентами с печенью. Точность модели составляет 94%.

ROC-кривые

Кривые ROC были построены для всех трех моделей.

Самое высокое значение AUC наблюдалось для алгоритма KNN. Его AUC равен 1, что означает 100% вероятность того, что модель сможет различить ответ 1 и ответ 0. Классификаторы XGBoost и Random Forest также имеют высокие показатели AUC 0,99 и 0,89 соответственно.

Выбор функции

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

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

Признаки «Возраст», «ALK» и «SGOT» оказались наиболее важными признаками в наборе данных.

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

Реализация алгоритма KNN с выбранными переменными

Здесь приведены лучшие параметры, полученные для алгоритма KNN.

Здесь, в отчете о классификации, значения точности классов ответа 0 и 1 (пациент с печенью: Да (1), Нет (0)) составляют 1,0 и 0,99 соответственно. Эти значения представляют собой процент правильных положительных прогнозов по отношению к общему количеству положительных прогнозов. Из всех участников, страдающих заболеваниями печени, которых предсказывала модель, 99% — пациенты с печенью. Напомним, что значения для них равны 0,97 и 1,0. Из всех участников, страдающих заболеваниями печени, модель правильно предсказала это только для 100% участников. Оценки F1 для двух классов составляют 0,98 и 0,99 соответственно. Это означает, что модель хороша, поскольку оба значения близки к 1. Кроме того, опорные значения показывают, что среди участников тестового набора данных 90 не являются пациентами с печенью, а 221 — с пациентами с печенью. Точность модели составляет 99%.

Реализация алгоритма KNN с методами выборки — SMOTE

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

После передискретизации переменная отклика уравновешивается.

Здесь приведены лучшие параметры, полученные для алгоритма KNN.

Здесь в отчете о классификации значения точности классов ответа 0 и 1 (пациент с печенью: да (1), нет (0)) равны 1 и 0,99 соответственно. Из всех участников, страдающих заболеваниями печени, которых предсказывала модель, 99% — пациенты с печенью. Напомним, что значения для них равны 0,98 и 1,0. Из всех участников с заболеваниями печени модель правильно предсказала это для 100% участников. Оценки F1 для двух классов составляют 0,99 и 1,0 соответственно. Это означает, что модель хороша, поскольку оба значения близки к 1. Кроме того, вспомогательные значения показывают, что среди участников тестового набора данных 90 не являются пациентами с печенью, а 221 — с пациентами с печенью. Точность модели составляет 99%.

Выбор признаков на наборе данных, полученном с помощью SMOTE

Затем на новых данных был реализован выбор признаков.

Здесь приведены лучшие параметры, полученные для алгоритма KNN.

Здесь в отчете о классификации значения точности классов ответа 0 и 1 (пациент с печенью: да (1), нет (0)) равны 1 и 0,99 соответственно. Из всех участников, страдающих заболеваниями печени, которых предсказывала модель, 99% — пациенты с печенью. Напомним, что значения для них равны 0,98 и 1,0. Из всех участников с заболеваниями печени модель правильно предсказала это для 100% участников. Оценки F1 для двух классов составляют 0,99 и 1,0 соответственно. Это означает, что модель хороша, поскольку оба значения близки к 1. Кроме того, опорные значения показывают, что среди участников тестового набора данных 90 не являются пациентами с печенью, а 221 — с пациентами с печенью. Точность модели составляет 99%.

Матрицы путаницы и оценки для моделей

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

Давайте встретимся с другой историей в ближайшее время!!