Расширенная классификация пациентов с гепатитом с помощью машинного обучения

Предисловие

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

Фон

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

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

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

А теперь позвольте мне представить плоды этого путешествия — мощные модели прогнозирования, готовые раскрыть истинный потенциал электронных медицинских карт!

Данные

Давайте посмотрим на наши данные, которые содержат 540 здоровых пациентов с 75 пациентами, у которых диагностирован гепатит. Я использовал библиотеку Seaborn, чтобы сделать ее красивее.

Дополнительные примечания:
Значения АЛТ и АСТ в кровотоке являются основным компонентом рутинных тестов функции печени (ФП) — основной идентификацией основного заболевания пациента как печеночного или холестатического происхождения. Однако это не так просто, поскольку на них может влиять широкий спектр непеченочных факторов. Они не специфичны для печени, поэтому могут играть роль в выявлении метаболических нарушений при болезни Альцгеймера — они связаны (постоянно) с когнитивными функциями.
Кроме того, соотношение АСТ/АЛТ может быть полезно для предположения о циррозе печени, но не для диагностики, так как оно называется коэффициентом ДеРитиса. ("Источник")

  • Нормальное распределение: возраст, CHE, CHOL, PROT (слегка смещен влево), CREA.
  • Перекос вправо: ALT, AST, BIL, GGT

  • Наша цель имеет положительную корреляцию с ALP, ALT, AST, BIL, GGT, CREA и GGT.
  • Отрицательные корреляции с ALB, CHE, CHOL, PROT

Обучение модели

В статье исследователи использовали Random Forest для выявления наиболее диагностических признаков гепатита. Я буду добавлять CatBoost и XGBoost для создания ансамбля — для более высокой сложности и стремления к внедрению в клиническую практику!

Импорт библиотек

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

from sklearn.metrics import accuracy_score, precision_score
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay

from sklearn.model_selection import StratifiedKFold 
from sklearn.model_selection import GridSearchCV

import catboost as cb 
from catboost import CatBoostClassifier, Pool

import xgboost as xgb 
from xgboost import XGBClassifier 

from sklearn.ensemble import RandomForestClassifier

import numpy as np 
import pandas as pd

CatBoost, XGBoost и случайный лес

Примечание — Softmax от XGBoost.
Проще говоря, формула расширяет логистическую регрессию до многоклассовой классификации.

Начальная оценка производительности модели

CatBoost работал немного лучше, чем XGBoost, с точностью 0,955862 со средним баллом 0,953028. Случайный лес просто… есть. Ну, это служит цели сравнительного анализа!

Настройка гиперпараметров | СеткаПоиск

Я выполнил GridSearch, который, возможно, является самым простым типом методов гиперпараметров, но эй, просто подождите результата.

Изначально была ошибка CatBoostError в GridSearch:
ЧТО? ПОЧЕМУ? Я закричал.

CatBoostError: only one of the parameters iterations, n_estimators, num_boost_round, num_trees should be initialized.)

Немного покопавшись, я понял, что ошибка связана с библиотекой CatBoost, где можно инициализировать только один из параметров при создании CatBoostClassifier.

Это верно. Настройте свои вещи правильно. Вот как это сделать правильно:

Вот что мы получили от успешного запуска GridSearch:

Best parameters for CatBoost: {'iterations': 90, 'learning_rate': 0.04, 'max_depth': 5}
Accuracy for CatBoost: 0.9915254237288136
Training Random Forest...
Best parameters for Random Forest: {'bootstrap': True, 'max_depth': 110, 'max_features': 3, 'min_samples_leaf': 3, 'min_samples_split': 8, 'n_estimators': 300}
Accuracy for Random Forest: 0.9830508474576272
Training XGBoost...
Best parameters for XGBoost: {'learning_rate': 0.01, 'max_depth': 3, 'n_estimators': 200}
Accuracy for XGBoost: 1.0

Удивительно, замечательно. Чувствуете бонита?

Повторное обучение моделей с помощью GridSearch Results

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

# Ensemble with GridSearch results
xgb_model2 = xgb.XGBClassifier(learning_rate=0.01,
                               max_depth=3, 
                               n_estimators=200)

cb_model2 = cb.CatBoostClassifier(max_depth=5, 
                                  iterations = 90, 
                                  learning_rate=0.04)

rf_model2 = RandomForestClassifier(bootstrap = True, 
                                   max_depth=90, #110 
                                   max_features = 3, 
                                   min_samples_leaf = 3, 
                                   min_samples_split = 8, 
                                   n_estimators = 300) 
models2 ={
    'XGBoost': xgb_model2,
    'CatBoost': cb_model2, 
    'RandomForest':rf_model2
}

Вау, разве это не большое улучшение, подумал я, пища от радости.

Сводка результатов

  • XGBoost неизменно хорошо работает в большинстве случаев, достигая высокой точности в диапазоне от 0,985075 до 1,000000.
  • CatBoost также демонстрирует превосходную производительность, достигая идеальной точности 1,000000 во всех случаях, кроме одного (6-го складывания), где он набрал 0,985075.
  • RandomForest также демонстрирует высокую производительность с показателями точности от 0,955882 до 1,000000 в разных сгибах.

В целом, все три модели машинного обучения (XGBoost, CatBoost и RandomForest) демонстрируют впечатляющую производительность, что делает их потенциальными кандидатами для решения поставленной задачи классификации. Тем не менее, XGBoost и CatBoost выделяются как самые эффективные модели, неизменно обеспечивая высокую точность при выполнении большинства операций сгиба.

Последовательность

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

Потенциальное переоснащение

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

Лучшая модель

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

Заключительные мысли | Потенциал для реального применения

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

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

Дальнейшее исследование

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

ропот автора

Ну вот и все. Ну вот. Разве это не тафун?

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

Работая в нейрохирургической клинике в подростковом возрасте вместе с семьей врачей, инновации в сфере здравоохранения — уход за пациентами (включая послеоперационный уход!)

К счастью, ландшафт продолжает расширяться, и я с нетерпением жду возможности присоединиться к командам, которые разделяют мои интересы и стремления!

Значит, вы нанимаете? Напишите мне электронную почту или давайте свяжемся в LinkedIn.

Благодарности

Создатели: Ральф Лихтингаген, Франк Клавонн, Георг Хоффманн
Донор: Ральф Лихтингаген: Институт клинической химии; Ганноверский медицинский университет (MHH); Ганновер, Германия; lichtinghagen.ralf ‘@’ mh-hannover.de
Донор: Франк Клавонн; Центр исследований инфекций Гельмгольца; Брауншвейг, Германия; frank.klawonn ‘@’ helmholtz-hzi.de
Донор: Георг Хоффманн; Триллиум ГмбХ; Графрат, Германия; georg.hoffmann ‘@’ trillium.de

Соответствующие статьи
Lichtinghagen R et al. J Гепатол 2013; 59: 236–42
Hoffmann G et al. Использование методов машинного обучения для создания путей лабораторной диагностики — тематическое исследование. J Lab Precis Med 2018; 3: 58–67

данные ВГС. (2020). Репозиторий машинного обучения UCI. https://doi.org/10.24432/C5D612.