— Применение искусственного интеллекта/машинного обучения к прогнозной аналитике в здравоохранении.
Здравоохранение — одна из таких отраслей, в трансформации которой искусственный интеллект и машинное обучение будут играть ключевую роль.
Использование ИИ в медицине, здравоохранении и больницах огромно. От диагностики заболеваний до более быстрого открытия молекул лекарств ИИ может оказать революционное влияние во многих областях здравоохранения. Использование ИИ для прогнозирования мутаций P53 нашло новое применение в прогнозировании рака с использованием машинного обучения и инструментов ИИ. Точно так же мы можем предсказать наличие сердечных заболеваний, используя алгоритмы машинного обучения и нейронные сети ИИ.
В этой статье мы исследуем возможность прогнозирования сердечных заболеваний с помощью этих инструментов и на основе данных, загруженных из хранилища данных UCI.
Надеюсь, вы найдете мой анализ полезным —
Наша первая задача — выполнить исследовательский анализ данных, который выполняется с предварительной обработкой имеющихся данных.
Информация об атрибутах –
- Возраст: возраст пациента [лет]
- Пол: пол пациента [М: Мужской, Ж: Женский]
- ChestPainType: тип боли в груди [TA: типичная стенокардия, ATA: атипичная стенокардия, NAP: неангинальная боль, ASY: бессимптомная]
- RestingBP: артериальное давление в состоянии покоя [мм рт.ст.]
- Холестерин: холестерин сыворотки [мм/дл]
- FastingBS: уровень сахара в крови натощак [1: если FastingBS > 120 мг/дл, 0: иначе]
- ЭКГ в покое: результаты электрокардиограммы в покое [норма: нормальная, ST: аномалия ST-T (инверсия зубца T и/или подъем или депрессия ST > 0,05 мВ), ГЛЖ: вероятная или определенная гипертрофия левого желудочка по критериям Эстеса]
- MaxHR: максимальная достигнутая частота сердечных сокращений [Числовое значение от 60 до 202]
- Физическая стенокардия: стенокардия, вызванная физической нагрузкой [Д: Да, Н: Нет]
- Старый пик: старый пик = ST [Числовое значение, измеренное в депрессии]
- ST_Slope: наклон сегмента ST пикового упражнения [Вверх: восходящий, Плоский: плоский, Вниз: нисходящий]
- HeartDisease: выходной класс [1: болезнь сердца, 0: нормальный]
Мы видим, что есть 11 входных переменных и одна выходная переменная Heart_Disease, которую мы пытаемся предсказать.
Наш набор данных содержит 1190 записей, и в нем нет пропущенных значений, что является отличной новостью.
Для нашего упражнения по разработке признаков важно построить тепловые карты и увидеть соответствующие переменные на основе матрицы корреляции. Мы можем видеть различные форматы тепловых карт для ясности и выводов. Невозможно было получить одинаковую четкость от одной тепловой карты, я показываю все три здесь
Тепловая карта 1
Тепловая карта 2
Тепловая карта 3
Совершенно очевидно, что нижний правый угол является наиболее важной областью для поиска корреляции между большинством наших соответствующих переменных признаков. Следовательно, использование более одной тепловой карты является полезной практикой и может дать большую ясность и сфокусированность в нашем упражнении по моделированию. Feature Engineering — одно из самых важных упражнений в нашей практике моделирования.
Описательная статистика данных показана на следующем шаге.
sns.pairplot (дата, оттенок = «Heart_Disease», палитра = «husl»)
0 -Болезней сердца нет, 1 -Болезней сердца
Мы видим, что пропущенных значений нет, и, судя по парным графикам, данные кажутся хорошего качества. Мы можем начать с нашего упражнения по моделированию.
Мы использовали 3 алгоритма машинного обучения для разработки признаков, а также сравнили наши тепловые карты корреляции, чтобы убедиться, что наше упражнение по разработке признаков является точным.
На основе модели случайной лесной регрессии.
Основные характеристики: ST_Slope, Тип боли в груди, Максимальная частота сердечных сокращений, Холестерин, ST_Depression и АД в покое.
На основе модели линейной регрессии -
Основные характеристики: пол, ST_Slope, стенокардия при физической нагрузке, тип боли в груди. Уровень сахара в крови натощак.
На основе модели регрессии дерева решений -
Основные функции: ST_Slope, максимальная частота сердечных сокращений, тип боли в груди, ST_Depression и холестерин.
Нейронные сети -
Мы использовали последовательную модель для обучения нашей нейронной сети. Чтобы преодолеть проблему переобучения, мы также использовали отсев между входным и скрытым слоями. Мы использовали функции активации «relu» и «sigmoid» для входного, скрытого и выходного слоев. Мы использовали оптимизатор Адама и бинарную перекрестную энтропию в качестве функции потерь для этого упражнения.
Мы использовали 80% данных обучения и 20% данных тестирования для нашего упражнения по моделированию нейронной сети.
Сводная информация о модели нейронной сети
Точность нашей модели: 86,55% (довольно хорошая производительность для NN).
Нейронная сеть свободна от переобучения, и 86,55% — это довольно хорошая производительность моделирования. Прогнозирование сердечно-сосудистых заболеваний — чрезвычайно важная функция, нам нужно протестировать больше алгоритмов машинного обучения, чтобы увидеть, сможем ли мы добиться большей точности.
Мы протестировали Random Forest, MLP, K ближайших соседей, Extra Tree Classifier, SVC, SGD, Adaboost, Decision Tree Classifier, GBM для нашего упражнения по моделированию, а затем мы увидели производительность этих алгоритмов вместе, чтобы увидеть производительность нашего машинного обучения. модель.
Наша модель Stacked Classifier имеет окончательную оценку прогноза: [0,94958], а наша оценка F1 — [0,954545], довольно хорошая работа. ура для этого упражнения.
Тем не менее, Extra Tree Classifier работает лучше всего, а Random Forest занимает второе место в упражнении по моделированию машинного обучения. Подробная производительность нашей модели стекирования показана в следующем сводном виде как стекированный классификатор.
Производительность нашего составного классификатора.
Кривая ROC для трех лучших алгоритмов моделей машинного обучения. Форма кривой ROC является индикатором хорошего соответствия нашей модели классификации.
Классификатор дополнительного дерева — 0,981, классификатор случайного леса — 0,974 и классификатор с накоплением — 0,961.
Кривая точного отзыва -
Классификатор стекирования — 0,953
Случайный лес — 0,974
Классификатор дополнительного дерева — 0,981
Заключение
Проект включал анализ набора данных пациентов с сердечными заболеваниями с использованием методологии процесса CRISP DM. Затем несколько моделей, включая нейронные сети, были протестированы, обучены и настроены для лучшей оптимизации.
Модель была подтверждена различными исследованиями, и было обнаружено, что она работает лучше, чем предыдущие модели.
Лучшие модели в этом упражнении по моделированию:
- Дополнительный классификатор дерева.
- Случайный лес.
- Стекинговый классификатор.
- Нейронная сеть.
Краткое описание всех наших моделей представлено в таблице ниже.
Наконец, основываясь на итоговой оценке F1, наш модельный рейтинг выглядит следующим образом:
- Случайный лес — 0,9585
- Многоуровневый классификатор — 0,9546
- Классификатор дополнительного дерева — 0,9542
Оценка F1 — это среднее гармоническое (HM) точности и полноты.
В реальных моделях классификации с несбалансированными классами оценка F1 может быть лучшим показателем для моделирования.
Точность является полезным показателем, когда более важны TP и TN. Тем не менее, F1 Score является более полезным показателем, когда более важны FP и FN. Стоимость ложноотрицательных результатов (FN) может быть чрезвычайно высокой в проектах здравоохранения.
Основные функции для разработки признаков: ST_Slope, Chest_Pain_Type, Max _heart_rate, Cholesterol, ST_Depression и Resting_BP.
Это исследование может быть использовано в качестве стандартного эталона для аналогичных исследований в области здравоохранения для диагностики и прогнозирования заболеваний.
Спасибо за чтение, пожалуйста, не стесняйтесь следить и задавать любые вопросы, если вам понравилась моя статья и анализ.
Использованная литература -