Аннотация

Печень – это орган размером с футбольный мяч. Он находится прямо под грудной клеткой с правой стороны живота. Печень необходима для переваривания пищи и выведения из организма токсических веществ (Читать далее). В этой статье мы создаем алгоритм машинного обучения с повышением градиента, чтобы предсказать 4 стадии заболевания печени в наборе данных. Три этапа анализа данных: описательная аналитика, диагностическая аналитика и прогнозный анализ. Использование методологии решения проекта по науке о данных. Метрикой оценки для этой задачи является F1_score, и у нас есть средний балл 50,29%.

Постановка задачи

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

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

Набор данных

1) ID: уникальный идентификатор

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

3) Статус: статус пациента C (цензурировано), CL (цензурировано из-за пересадки печени) или D (смерть).

4) Наркотик: тип наркотика. D-пеницилламин или плацебо

5) Возраст: возраст в [днях]

6) Пол: М (мужской) или Ж (женский)

7) Асцит: наличие асцита N (Нет) или Y (Да)

8) Гепатомегалия: наличие гепатомегалии N (Нет) или Y (Да)

9) Пауки: наличие пауков N (Нет) или Y (Да)

10) Отек: наличие отека N (отек отсутствует и диуретическая терапия отеков не проводится), S (отек присутствует без диуретиков или отек разрешается диуретиками) или Y (отек, несмотря на терапию диуретиками)

11) Билирубин: билирубин сыворотки в [мг/дл]

12) Холестерин: холестерин сыворотки в [мг/дл]

13) Альбумин: альбумин в [г/дл]

14) Медь: содержание меди в моче в [мкг/день]

15) Alk_Phos: щелочная фосфатаза в [ед/литр]

16) SGOT: SGOT в [Е/мл]

17) Триглицериды: триглицериды в [мг/дл]

18) Тромбоциты: тромбоциты на куб [мл/1000]

19) Протромбин: протромбиновое время в секундах [с]

20) Стадия: гистологическая стадия заболевания (1, 2, 3 или 4).

Исследование данных

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

Мы загружаем данные поезда и тестируем, используя pandas read csv.

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

Описательный анализ (однофакторный анализ)

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

Однофакторный анализ числовых данных

Двумерный анализ категорийных данных

В этом разделе мы изучаем наши категориальные данные с нашей целевой функцией (этап). Двумерный анализ означает анализ данных на основе двух признаков одновременно.

Диагностический анализ

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

Из данных мы наблюдаем, что большая часть уровня холестерина находится в диапазоне от 120 до 500, независимо от возраста.

Основное наблюдение: возраст 40 лет и холестерин 1750 относятся к стадии 1.

существует крайний выброс с возрастом 65 и холестерином 1650, относящимся к стадии 4.

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

Корреляция показывает статистическую связь между 2 переменными (read_more)

Работа с пропущенными значениями

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

Преобразование данных

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

Прогностический анализ (этап моделирования)

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

Данные разделены на 70 % обучающих данных и 30 % тестовых данных с использованием стратифицированной проверки удержания, и результат для f1_score составляет 50,29 %.

Наиболее важные характеристики модели расположены в порядке убывания.

Сводка

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

Совет для начинающих. При решении задач машинного обучения не существует модели бесплатного обеда.

Гитхаб — Блокнот

Твиттер — Рахим Насирудин

Linkedln — Рахим Насирудин

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

Спасибо.

Ссылки

  1. https://scikit-learn.org/
  2. https://www.mayoclinic.org/diseases-conditions/liver-problems/symptoms-causes/syc-20374502
  3. https://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html
  4. https://dphi.tech/community/