ДАННЫЕ ИСТОРИИ | ПРОГНОЗНАЯ АНАЛИТИКА | KNIME АНАЛИТИЧЕСКАЯ ПЛАТФОРМА

Искусственные нейронные сети для обнаружения диабета с помощью KNIME

3-е место в конкурсе машинного обучения, совместно организованный Миланским университетом Бикокка и KNIME

Соавторы: Давиде Делла Либера и Марианна Прими

Диабет [1] — хроническое заболевание, нарушающее высвобождение или реакцию инсулина; это влияет на количество сахара, циркулирующего в кровотоке, что, в свою очередь, может по-разному влиять на здоровье пациента.

Симптомы и сопутствующие заболевания

Некоторыми симптомами [2] диабета часто являются повышенная жажда и мочеиспускание, повышенный голод, утомляемость, затуманенное зрение, онемение или покалывание в ногах или руках, язвы, которые не заживают, и необъяснимая потеря веса.

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

Причины и факторы риска

В отличие от диабета 1-го типа [3], который, как считается, имеет аутоиммунное происхождение, диабет 2-го типа [4] часто вызывается вредными для здоровья привычками, такими как отсутствие физической активности, помимо генетики и семейного анамнеза. Факторы риска включают высокий ИМТ (индекс массы тела), склонность к накоплению жира в области живота и возраст старше 35 лет.

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

Описанные ниже рабочие процессы KNIME можно бесплатно загрузить с Центра сообщества KNIME.

Источник данных

Данные для испытания были получены из Конкурса по прогнозированию диабета (TFUG ​​Chd, ноябрь 2022 г.) [5] на Kaggle.

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

Исследовательский анализ

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

Исходный набор данных

Набор данных состоит из 40 108 строк, каждая из которых относится к отдельному пациенту. Особенности связаны со здоровьем и привычками пациентов. Один из столбцов, целевой столбец, содержит двоичные значения, которые показывают, страдает ли пациент диабетом (1) или нет (0).

Анализ распределения атрибутов

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

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

Корреляция между атрибутами

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

Обзор рабочего процесса обучения KNIME

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

Предварительная обработка

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

Удаление дубликатов и выбросов

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

Дисбаланс классов

При разработке модели машинного обучения источником беспокойства может стать дисбаланс классов (т. е. целевая переменная имеет неравномерное распределение наблюдений по своим классам). В нашем случае нам посчастливилось обнаружить, что Диабет почти идеально сбалансирован между положительными и отрицательными наблюдениями (49% нет, 51% да).

Обработка пропущенных значений

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

На рис. 6 узел «Отсутствующие значения» предназначен для замены отсутствующих значений переменных, которые требуют только вычисления мер центральной тенденции (среднее, медиана или мода). Красный узел справа используется для сохранения таких вычисленных значений в качестве модели PMML для последующего применения в рабочем процессе развертывания. Метанода содержит узлы, предназначенные для реализации двух других стратегий замены пропущенных значений: условных мер центра и случайных значений.

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

На рис. 8 показано, что находится внутри одного из компонентов, реализующих стратегию замещения с условными мерами центра. Рабочий процесс содержит по одному компоненту для каждой из переменных, требующих этой стратегии. Приведенный здесь пример касается функции ИМТ. Компонент предоставляет в качестве вывода вычисленные значения, которые также сохраняются в таблице, которая будет использоваться для замены в рабочем процессе развертывания.

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

Агрегация функций

Мы создали новые переменные, манипулируя и комбинируя старые в соответствии с их значением и критериями, описанными ниже. Каждая группа строится так, чтобы каждая переменная содержалась не более одного раза. Агрегированные характеристики:

1) ХолДиагн = Высокий Хол * ХолПроверка

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

2) Весовая категория ← ИМТ

По значению ИМТ мы выводим соответствующую весовую категорию [7] следующим образом.

3) HealthyHabits = Физическая активность + Фрукты + Овощи

Индекс здоровых привычек предназначен для группировки хороших привычек пациентов и присвоения им общего балла.

4) UnhealthyHabits= Курильщик + HvyAlcoholConsump

Индекс нездоровых привычек направлен на то, чтобы сгруппировать вредные привычки пациентов и присвоить им общий балл.

5) OtherDiseases= HeartDiseaseorAttack + Гипертония + Инсульт + Холдиагн

Упомянутые сопутствующие заболевания диабета[8] сгруппированы в один индикатор, отображающий их количество.

6) SevereDiseases= болезнь сердца или приступ + инсульт

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

7) MentalHealthScore ← MentHlth

MentHlth разделен на 5 групп (1–6, 7–12, …, 25–30). Более высокие баллы означают худшее психическое здоровье, максимум 5.

8) PhysicalHealthScore← PhysHlth

PhysHlth разделен на 5 групп (как MentHlth). Более высокие баллы означают худшее физическое здоровье, максимум 5.

9) HealthScore= PhysicalHealthScore + DiffWalk + GenHlth

Этот индекс общего состояния здоровья объединяет проблемы со здоровьем, которые влияют на общее качество жизни пациента. DiffWalk включен на основании результатов, изложенных в статье, посвященной анализу влияния на качество жизни нарушения ходьбы[9].

Агрегированные переменные, использованные в окончательной модели, анализируются в приложении Data Exploration так же, как мы делали это для исходных переменных.

Версии набора данных

Исходные «простые» переменные и наши агрегированные новые переменные использовались для создания различных версий исходного набора данных. К ним относятся:

  • 3 набора данных, содержащих все или почти все признаки (как исходные, так и измененные): все признаки, все, кроме тяжелыхзаболеваний, и все, кроме другихзаболеваний;
  • 1 набор данных, содержащий только исходные признаки (без совокупных признаков);
  • 3 набора данных, содержащих только агрегированные признаки: все агрегированные признаки, все агрегированные признаки, кроме тяжелыхзаболеваний, и все агрегированные признаки, кроме другихзаболеваний.

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

Нормализация

Все числовые атрибуты были нормализованы таким образом, чтобы они находились в диапазоне от 0 в качестве минимального значения до 1 в качестве максимального. Применяемая формула:

Выбор функций

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

  1. Первый этап представляет собой математический подход. Мы рассчитывали Фактор инфляции дисперсии (VIF) [10], который выявляет наличие мультиколлинеарности между признаками и позволяет удалить некоторые признаки из исходного набора на основе заданного порога (в нашем случае 1,5);
  2. Второй шаг основан на методах-оболочках с подходом грубой силы (перебором всех возможных комбинаций). Мы разработали эти три процедуры:
  • Упреждающий выбор характеристик, который, начиная с одной из переменных, постепенно добавляет остальные и каждый раз вычисляет выбранную оценочную метрику;
  • Обратный выбор признаков, который работает противоположно Вперед, поэтому он начинается со всего набора переменных и постепенно их удаляет;
  • Комбинированный подход, в котором мы объединили два подмножества, полученные с помощью предыдущих методов.

В рамках прямого и обратного отбора каждое из созданных подмножеств оценивалось с помощью цикла, в котором применялся метод удержания, путем сначала разделения набора данных на наборы для обучения и тестирования (75%-25%, стратифицированная выборка), а затем путем дальнейшего разделение обучающей выборки на обучающую и проверочную выборки (75%-25%, стратифицированная выборка). Показателем производительности, который определял выбор оптимальных подмножеств атрибутов, был LogLoss [11].

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

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

Обучение и сравнение моделей

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

Искусственная нейронная сеть

Моделью, которая показала наилучшую производительность, была искусственная нейронная сеть (ИНС), лучший экземпляр которой был достигнут с набором данных, полученным путем применения метода прямого выбора признаков. Сохраненные функции и структура сетевой модели следующие:

Модель характеризуется 8 входными нейронами, 1 скрытым слоем с 9 скрытыми нейронами и 2 выходными нейронами. Максимальное количество итераций — 100. Полученное нами значение LogLoss составило 0,231.

Узел KNIME, используемый для реализации ANN, является узлом RProp MLP Learner. Он реализует алгоритм RProp для многослойных сетей с прямой связью, который представляет собой тип нейронной сети, состоящей из взаимосвязи персептронов, в которой данные и вычисления проходят в одном направлении, от входных данных к выходным. RProp выполняет локальную адаптацию обновлений веса в соответствии с поведением функции ошибки. После того, как модель завершила обучение, мы применили ее к тестовым данным с помощью узла MultiLayerPerceptron Predictor.

Метрика производительности

Показателем производительности, который мы использовали для оценки и сравнения различных моделей, был LogLoss[11]. LogLoss измеряет неопределенность прогнозов модели. Он сравнивает истинные значения целевого признака каждого наблюдения с вероятностью, предсказанной моделью, что целевой признак принимает значение 1, в нашем случае Prob(Diabetes = 1).

Тренировочный процесс с оптимизацией гиперпараметров

Цикл автоматической оптимизации позволил выбрать оптимальную модель. Этот подход работает путем обучения и оценки модели с различными комбинациями значений гиперпараметров (подход грубой силы). Для каждой итерации через k-кратный цикл перекрестной проверки (с k равным 5) записывались как показатель производительности, так и значения гиперпараметров. Значения гиперпараметров наиболее эффективного экземпляра модели (с наименьшим значением LogLoss) будут использоваться в следующих частях рабочего процесса.

В KNIME фаза обучения разработана с помощью узлов цикла оптимизации параметров, а также узлов X-Partitioner и X-Aggregator для k-кратной перекрестной проверки. Метанод «LogLoss Calculator» вычисляет значение LogLoss для каждого из циклов внешнего цикла: это значение затем используется для выбора того, какая из моделей фактически выходит из цикла, и затем используется для завершения поиска наилучшей комбинации гиперпараметров (рис. 14).

Заключительная тренировка

После окончания циклов узел RProp MLP Learner выполнил уточненное финальное обучение, используя лучшие параметры для всех данных вместе. Преимущество использования всех доступных данных заключается в том, что наша модель с большей вероятностью будет лучше обобщаться в производственной среде. Однако использование всех данных для обучения означает, что мы не смогли оценить окончательную модель. Здесь мы доверяли значению LogLoss, рассчитанному на этапе обучения и оптимизации гиперпараметров, в том числе потому, что разделение данных выполнялось с помощью стратифицированной выборки. Наконец, обученная модель была сохранена и экспортирована для развертывания с помощью узла PMML Writer (рис. 14).

Сравнение моделей

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

Рабочий процесс развертывания KNIME

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

Используя узел PMML Reader, мы импортировали лучшую модель, сохраненную во время обучения, и применили ее с помощью узла MultiLayerPerceptron Predictor. Затем прогнозы подвергались постобработке в компоненте «Обработка данных прогнозов», чтобы аккуратно отобразить их в приложении данных.

Приложение KNIME Data для визуализации прогнозов

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

Процентная вероятность того, что у пациентов разовьется диабет, отображается с помощью гистограммы, выделяющей распределение пациентов по 10-процентным интервалам.

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

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

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

Заключение

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

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

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

Более того, в области медицины по закону требуется интерпретация выходных данных модели, что может стать труднее сделать, чем глубже становится ИНС. Тем не менее, потенциал ИНС не следует полностью игнорировать и отбрасывать из-за сложности интерпретации. Вот почему мы считаем, что существуют следующие возможности их использования:

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

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

Рекомендации

[1]« Что такое диабет? | CDC"

[2] Какие сопутствующие заболевания у диабета 2 типа?

[3] Симптомы и причины диабета | НИДДК

[4] « Диабет 2 типа — симптомы и причины | Клиника Майо"

[5] Конкурс прогнозов диабета

[6] AGEG5YR: четырнадцатиуровневая возрастная категория

[7]« Определение избыточного веса и ожирения у взрослых | CDC"

[8] Бремя сопутствующей патологии сахарного диабета 2 типа: закономерности, кластеры и прогнозы из большой когорты английской первичной медико-санитарной помощи — PMC

[9] Чувства депрессии, боли и трудности при ходьбе оказывают наибольшее влияние на качество жизни людей с рассеянным склерозом, независимо от клинического фенотипа — Ян Чжан, Брюс В. Тейлор, Стив Симпсон, Ли Близзард, Джули А. Кэмпбелл, Эндрю Джей Палмер, Ингрид ван дер Мей, 2021

[10] Коэффициент инфляции дисперсии (VIF)

[11] Функция LogLoss

[12] Рабочие процессы KNIME в Центре сообщества