Прогнозирование и классификация здоровья плода для предупреждения детской и материнской смертности.
Введение
Снижение детской смертности отражено в нескольких Целях ООН в области устойчивого развития и является важным показателем человеческого прогресса. ООН хочет, чтобы страны прекратили предотвратимую смертность новорожденных и детей в возрасте до пяти лет к 2030 году, при этом все страны стремятся сократить смертность детей в возрасте до пяти лет как минимум до 25 на 1000 живорождений.
Материнская смертность, на долю которой приходится 295 000 случаев смерти во время и после беременности и родов, соответствует концепции детской смертности (по состоянию на 2017 г.). Подавляющее большинство этих смертей (94%) произошло в условиях ограниченных ресурсов, и подавляющего большинства из них можно было бы избежать.
В свете вышеизложенного кардиотокограммы (КТГ) являются простым и недорогим способом для практикующих врачей изучить здоровье плода, что позволяет им принимать меры для снижения младенческой и материнской смертности. Прибор посылает ультразвуковые импульсы и считывает ответ, отображая частоту сердечных сокращений плода (ЧСС), движения плода, сокращения матки и другие факторы.
Основные цели
Этот набор данных содержит 2126 записей характеристик, полученных из тестов кардиотокограммы, которые затем были разделены на три класса: Нормальный, подозрительный и патологический.
В этой статье мы создадим несколько алгоритмов машинного обучения, которые смогут точно прогнозировать и классифицировать здоровье плода. Это будет сделано на следующих этапах: очистка данных, исследование, разработка признаков, моделирование и выбор лучшей модели. Ссылку на блокнот python можно найти здесь.
Лучшая разработанная модель может принести пользу медицинскому персоналу за счет автоматизации диагностики здоровья плода и матери на основе информации, собранной во время обследования, а также помощи в поиске наиболее важных показателей и, наконец, в достижении цели раннего выявления заболевания у обоих пациентов. .
Описание функций
Очистка данных
Как мы видим ниже, набор данных не имеет нулевых значений, и все функции являются числовыми, мы будем исследовать только распределение и значение каждого числового значения.
Исследование
Анализируя целевую переменную из записей, мы видим следующую разбивку уникальных значений:
Мы замечаем, что набор данных несбалансирован, поскольку 78% наблюдений являются «нормальными», поэтому используйте метрики оценки, такие как оценка F1 (точность и полнота), чтобы точность метрики не вводила в заблуждение.
Гистограммы функций
Внимательно глядя на каждую гистограмму, мы можем сказать, что по крайней мере 8 функций искажены. Мы видим, что некоторые функции уже были обработаны, потому что они были созданы путем кодирования категориальных порядковых переменных, таких как легкое замедление, сильное замедление и длительное замедление.
Графики функций
Мы видим, что среди патологических записей гораздо больше замедления, чем в нормальных или подозрительных записях. Я также заметил, что некоторые черты в нормальных и патологических записях кажутся похожими, например, легкие замедления и исходная частота сердечных сокращений.
Подозрительные и патологические записи, по-видимому, имеют более высокую аномальную краткосрочную изменчивость, а также, как правило, более высокий процент времени с аномальной долгосрочной изменчивостью.
Мы можем видеть, что патологические записи имеют более низкие показатели для режима, медианы и среднего значения для кардиотокографических исследований среди тенденций их графика. Это также связано с более высокой дисперсией.
Корреляция Пирсона
Мы получаем признаки с положительной корреляцией со здоровьем плода, которые будут показывать прямую зависимость от проблемы со здоровьем.
Поскольку никакие признаки не имеют сильной корреляции со здоровьем плода, мы создаем полиномиальные признаки, чтобы получить взаимосвязь между ними, которая расширит информацию, предоставляемую модели прогнозирования.
Это увеличивает наши функции более чем в 10 раз до 252, что, в свою очередь, увеличивает сложность и неточность из-за проклятия размерности.
Оверсэмплинг
Поскольку у нас есть несбалансированная целевая переменная, предсказание будет склоняться к наиболее частому классу, поэтому SMOTE будет использоваться для получения одинаковых экземпляров для каждого класса.
Моделирование
Строятся и сравниваются следующие модели: логистическая регрессия и случайный лес.
Логистическая регрессия
Логистическая регрессия имеет хорошую производительность, но давайте сравним ее со случайным лесом.
Случайный лес
Количество деревьев будет выбрано путем вычисления «нестандартной ошибки» моделей с количеством деревьев от 15 до 400, построения графика соответствующей ошибки, а параметру warm_start будет присвоено значение «Истина», чтобы просто добавить больше деревьев к существующим, сокращая выполнение. время.
Мы видим, что когда количество деревьев составляет около 300, модель имеет наименьшую ошибку, поэтому мы построим новую модель с этими характеристиками.
О построении модели.
Мы видим, что случайный лес имеет лучшую классификацию, чем логистическая регрессия.
Поэтому рекомендуемой моделью является Random Forest из-за ее высоких показателей, относительно быстрого обучения и легкой интерпретируемости.
Построение лучшей модели
Модель неправильно классифицировала некоторые экземпляры, принадлежащие к классам 1 и 2, но в целом правильно классифицировала подавляющее большинство.
Кривая ROC и кривая Precision-Recall
Мы видим важность передискретизации, поскольку она позволила избежать большего предсказания класса 0, а также позволила нам намного лучше сравнивать в матрице классификации.
Важность функции
Полиномиальное преобразование имело значительный и полезный эффект, и, как видно из приведенного ниже графика важности признаков, в этой процедуре были сформированы два самых больших предиктора, что является явным свидетельством того, что использование полиномов в обучении модели поддерживается.
Наконец, хотя цель в конечном итоге была сбалансирована, всегда предполагается, что наш исходный набор данных содержит большое количество записей для каждого класса, что свидетельствует о хорошем представлении населения и, следовательно, делает наш прогноз более точным и надежным.