Skip to content

Прогнозирование исхода лечения пациентов с циррозом печени

Notifications You must be signed in to change notification settings

egorumaev/2023-cirrhosis-outcomes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

2023-cirrhosis-outcomes

Прогнозирование исхода лечения пациентов с циррозом печени

ПРОЕКТ «Прогнозирование исхода лечения цирроза печени – Prediction of Cirrhosis Outcomes»


Проект выполнен в рамках участия в соревновании на Kaggle «Multi-Class Prediction of Cirrhosis Outcomes» (декабрь 2023)


Примененные библиотеки и технологии

  • Pandas, Numpy, Matplotlib, Seaborn, Missingno, Dataprep, Phik, Category_encoders, Sklearn, Imblearn, Catboost, XGBoost

  • IQR (Interquartile Range), PCA (Principal component analysis), LDA (Linear Discriminant Analysis), t-SNE (T-distributed Stochastic Neighbor Embedding), Feature Engineering, Polynomial Features, Pipeline, VarianceThreshold, SMOTETomek


Цель и задачи проекта

Цель – используя мультиклассовый подход спрогнозировать исход лечения пациентов с циррозом печени, предсказав вероятность для каждого пациента одного из трех статусов: C, CL или D.

Для достижения цели были решены следующие задачи:

  • данные проверены на наличие пропусков, явные дубликаты, выбросы;

  • выбросы обработаны;

  • признаки проверены на мультиколлинеарность;

  • данные подготовлены для сжати с помощью алгоритмов PCA, LDA, t-SNE;

  • проведена оценка требуемого для машинного обучения количества главных компонент для применения PCA;

  • данные высокой размерности представлены в 2D с помощью алгоритмов PCA, LDA, t-SNE;

  • проведено обучение моделей CatBoost и XGBoost как с применением классических подходов обработки данных с помощью Pipeline, так и с помощью алгоритмов сжатия данных PCA и LDA, подготовлены csv-файлы для серии сабмитов.

Решаемая в рамках проекта задача является задачей мультиклассификации.


Основные результаты

(1) Выполнено визуальное представление данных высокой размерности с помощью PCA, LDA, t-SNE, показавшее, что имеющиеся для машинного обучения данные плохо разделяются на группы, разные классы целевого признака перемешаны. Несколько лучшее распределение данных наблюдается на рисунках, построенных на данных, сжатых с помощью t-SNE. Однако, метод t-SNE применим только для визуализации и не пригоден для обработки данных с целью передачи модели машинного обучения.

(2) Для машинного обучения выбраны две модели градиентного бустинга: CatBoost и XGBoost, каждая из которых обучена на трех разных датасетах:

  • train_features (исходный датасет, включающий категориальные и числовые признаки, обработанный с помощью Pipeline с помощью обычных функций)

  • train_for_compress (19 числовых признаков)

  • train_for_compress_polynom (210 числовых признаков, большая часть которых – полиномиальные)

(3) В серии сабмитов лучшие и почти одинаковые результаты показали обе отобранные для машинного обучения модели CatBoost и XGBoost, обученные на датасете с исходными признаками train_features.

(4) Сабмиты, выполненные на специально подготовленных датасетах train_for_compress и train_for_compress_polynom по итогам экспериментов с подбором числа главных компонент алгоритма PCA показали результаты, уступающие обучению моделей на датасете с исходными признаками train_features.

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

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

About

Прогнозирование исхода лечения пациентов с циррозом печени

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published