$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Сбор наборов данных
Набор данных UCI по сердечным заболеваниям — это широко используемый набор данных в медицинских и машинных исследованиях для прогнозирования сердечно-сосудистых заболеваний. Он содержит различные клинические и диагностические характеристики пациентов, что позволяет медицинским работникам и исследователям разрабатывать модели прогнозирования на основе данных. Набор данных классифицирует людей как вероятных или маловероятных к сердечно-сосудистым заболеваниям на основе нескольких признаков пациента, включая возраст, пол, тип боли в груди, артериальное давление, уровень холестерина и результаты электрокардиограммы (https://archive.ics.uci.edu/dataset/45/heart+disease)29. Общий рабочий процесс предлагаемой системы прогнозирования сердечно-сосудистых заболеваний, включая предобработку данных, внедрение распределённой модели и этапы оценки, иллюстрируется на рисунке 1.
Экспериментальная среда
Экспериментальная среда была внедрена на Apache Hadoop 3.x как основная распределённая вычислительная структура для всех реализаций. Кластер использовал архитектуру мастер-воркер с одним выделенным главным узлом и несколькими рабочими узлами. Главный узел управлял планированием заданий, распределением ресурсов и координацией кластеров с помощью YARN (Yet Another Resource Negotiator), в то время как рабочие узлы параллельно выполняли распределённые вычислительные задачи для эффективной обработки крупномасштабных медицинских наборов данных. Каждый узел кластера оснащался процессорами Intel Core i7 (или эквивалентом), 16–32 ГБ оперативной памяти и примерно 1 ТБ памяти.
Ввод данных в HDFS
Хранилище наборов данных
Экспериментальный набор данных хранился в HDFS в блочно-распределённом формате, при этом целевая переменная указывала наличие или отсутствие сердечных заболеваний, отдельно от независимого набора признаков, до хранения между узлами кластера. Предварительная обработка, специфичная для особенности, применялась ко всем хранимым блокам данных с помощью рабочих процессов MapReduce. Численные признаки, включая возраст, артериальное давление, уровень холестерина и частоту сердечных сокращений, были нормализованы с помощью надёжного масштабера на основе межквартильного диапазона, что снижает влияние выбросов, особенно распространённых в медицинских наборах данных, где экстремальные значения могут отражать редкие или тяжёлые клинические состояния. Категориальные переменные с более чем двумя категориями, такие как cp, restecg и thal, были преобразованы с помощью однофазного кодирования, преобразуя категориальные атрибуты в бинарные численные представления, совместимые с входными данными алгоритма машинногообучения 30, 31, 32. Все операции предварительной обработки выполнялись как распределённые задачи MapReduce между блоками HDFS, обеспечивая равномерное применение полного конвейера без централизации сырых данных в какой-либо точке.
Разбиение между узлами
Набор данных был разбит на обучающие и тестовые наборы с соотношением 80:20: 80% было выделено на обучение, а 20% — на оценку невидимых данных. Это разбиение применялось последовательно на всех распределённых рабочих узлах, чтобы каждый узел обрабатывал пропорциональный и представительный фрагмент полного набора данных, предотвращая смещение данных и поддерживая сбалансированное обобщение моделей. Масштабирование обеспечивало одинаковый вклад всех числовых переменных во время распределённого обучения, предотвращая доминирование более крупных признаков в процессе обучения между узлами. Эта стратегия структурированного разбиения повысила надёжность прогноза и помогла предотвратить перенагон, поддерживая чёткое разделение между обучающими и оценочными данными по всему распределённому кластеру.
Предварительная обработка данных
Обработка отсутствующих значений
Медицинские наборы данных часто содержат неполные записи из-за ошибок ввода данных, сбоев устройств или отсутствия ответа пациентами во время сбора клинических данных. До обучения модели все атрибуты набора данных проверялись на отсутствующие или нулевые значения. Строки с отсутствующими значениями в критических клинических характеристиках, таких как артериальное давление, холестерин и частота сердечных сокращений, были выявлены и обработаны с помощью среднего импутации для числовых переменных и импутации режима для категориальных переменных. Такой подход сохранял статистическое распределение набора данных, при этом гарантируя, что ни одна обучающая выборка не была ненужно, сохраняя максимальную доступность данных для обучения моделей между распределёнными узлами HDFS.
Масштабирование признаков
Числовые характеристики, такие как возраст, артериальное давление, уровень холестерина и максимальный пульс, имеют значительно разные диапазоны значений, что может привести к тому, что признаки с более высокой величиной непропорционально влияют на обучение моделей. Для решения этой проблемы для всех непрерывных числовых атрибутов был применён надёжный масштабер на основе межквартильного диапазона. Эта стратегия масштабирования особенно уместна для медицинских наборов данных, где экстремальные клинические значения, отражающие редкие или тяжёлые состояния, могут иначе искажать процесс обучения. Масштабирование обеспечивало одинаковый вклад всех числовых переменных во время обучения модели и применялось последовательно на всех распределённых рабочих узлах с использованием рабочих процессов MapReduce.
Кодирование
Категориальные переменные с более чем двумя отдельными категориями, включая cp (тип боли в груди), restecg (результаты электрокардиографии в состоянии покоя) и тал (тип талассемии), были преобразованы с помощью однофазового кодирования. Этот процесс преобразовал каждый категориальный атрибут в набор двоичных числовых индикаторных столбцов, создавая представления, которые алгоритмы машинного обучения могут эффективно обрабатывать без навязывания искусственных порядковых отношений между значениями категорий. Двоичные категориальные переменные сохранялись в их исходной числовой форме. Все операции кодирования выполнялись в виде распределённых заданий MapReduce между блоками данных HDFS, обеспечивая единообразную трансформацию между всеми разделёнными фрагментами наборов данных.
Разделение поезда и испытаний
Предварительно обработанный набор данных был разбит на учебные и тестовые подмножества с использованием соотношения 80:20: 80% было выделено на обучение модели, а 20% — для оценки производительности невидимых данных. Целевая переменная, указывающая на наличие или отсутствие сердечных заболеваний, была отделена от независимого набора признаков до расщепления. Это разбиение применялось равномерно на всех распределённых HDFS-узлах, чтобы гарантировать, что каждый рабочий узел обрабатывает пропорциональный и представительный осколок полного набора данных, предотвращая сброс данных. Стратегия разделения 80:20 повысила надёжность прогноза, улучшила обобщение моделей и обеспечила чёткое разделение между обучающими и оценочными данными в распределённой кластерной среде, тем самым предотвращая перенагон.
Реализация модели
Модель Cluster Visualized Hadoop Distributed Decision Tree (CViHDDT) классифицирует пациентов по категориям риска с помощью распределённого дерева решений. Алгоритм дерева принятия решений рекурсивно разделяет набор данных на основе наиболее информативных признаков, максимизируя разделение между пациентами с сердечными заболеваниями и без них. В рамках распределённого фреймворка Hadoop этот процесс выполняется на нескольких вычислительных узлах, что позволяет эффективно обрабатывать большие наборы данных. Распределённая архитектура сокращает вычислительное время и улучшает масштабируемость. Алгоритм Cluster Visualized Hadoop Distributed K-Nearest Neighbor (CViHDKNN) использует тот же набор данных, но применяет другую стратегию классификации. Вместо построения дерева решений модель определяет ближайших соседних пациентов на основе медицинских характеристик, таких как артериальное давление, уровень холестерина и стенокардия, вызванная физической нагрузкой. Используя распределённые вычисления, алгоритм KNN эффективно кластеризует пациентов с похожими медицинскими характеристиками при управлении вычислительной сложностью.
Принцип классификации модели распределённого K-ближайшего соседа иллюстрируется на рисунке 2, где новый экземпляр назначается классу на основе большинства среди ближайших соседей. Методы кластерной визуализации позволяют медицинским работникам выявлять группы пациентов с похожими клиническими характеристиками, что повышает интерпретируемость и поддерживает персонализированные рекомендации по лечению. Предлагаемая рамка прогнозирования сердечных заболеваний интегрирует предварительную обработку данных, алгоритмы распределённого машинного обучения и методы визуализации кластеров. Используя возможности распределённых вычислений Hadoop, система эффективно обрабатывает большие наборы данных в здравоохранении, сохраняя высокую точность прогнозирования и интерпретируемость, что позволяет раннее выявление сердечно-сосудистых заболеваний и улучшить клинические решения.
Кластерное распределённое дерево решений Hadoop (CViHDDT):
Распределённое обучение дерева решений
Предлагаемая модель Clusterized Visualized Hadoop Distributed Decision Tree Tree (CViHDDT) принципиально отличается от традиционного построения дерева тем, что распределяет процесс построения дерева между несколькими узлами экосистемы Hadoop, а не строит всё дерево на одной машине. Отдельные рабочие узлы локально строят частичные деревья принятия решений на назначенном им подмножестве набора данных, используя либо MapReduction, либо Apache Spark для параллельной обработки. Эти локально построенные частные деревья впоследствии объединяются в полное глобальное дерево решений, охватывающее весь распределённый набор данных. Эта распределённая стратегия обучения значительно ускоряет обучение моделей, позволяя эффективно обрабатывать многотерабайтные медицинские наборы данных в больших масштабах. Параллельная вычислительная инфраструктура, предоставляемая Hadoop, гарантирует, что модель CViHDDT по своей природе масштабируема и хорошо подходит для решений в области здравоохранения на основе больших данных. После построения распределённого дерева применяются методы визуализации кластеров для повышения интерпретации моделей путём группировки узлов дерева принятия решений в кластеры пациентов с похожими медицинскими состояниями с использованием таких алгоритмов, как k-средние и иерархическая кластеризация. Этот процесс кластеризации создаёт клинически значимые категории риска — такие как лёгкие, средние и тяжёлые сердечно-сосудистые заболевания — позволяя медицинским работникам выявлять закономерности в данных пациентов, понимать прогрессирование заболевания и разрабатывать персонализированные планы лечения.
Выбор полнометражных материалов
До обучения распределённого дерева принятия решений модель CViHDDT применяет структурированный конвейер предварительной обработки и выбора признаков к необработаным медицинским данным, поступающим из HDFS. Недостающие значения устраняются с помощью алгоритмов импутации для управления неполными клиническими записями и предотвращения потери данных без отброса образцов пациентов. Нормализация робастного скалера применяется к числовым признакам, таким как артериальное давление и уровень холестерина, чтобы смягчить непропорциональное влияние выбросов, распространённых в медицинских наборах данных. Категориальные переменные, такие как пол и семейный анамнез сердечных заболеваний, преобразуются с помощью кодирования one-hot или метки для получения численных представлений, совместимых с алгоритмами машинного обучения. После предварительной обработки проводится выделение признаков для выявления ключевых клинических признаков, наиболее предсказующих сердечно-сосудистые заболевания. Этот этап устраняет нерелевантные и дублирующие элементы из набора данных, снижая вычислительные затраты на последующих этапах распределенного обучения и гарантируя, что в процессе построения распределённого дерева решений сохраняются только наиболее информативные характеристики — такие как тип боли в груди, кровяное давление в состоянии покоя, холестерин в сыворотке, максимальный пульс и депрессия СТ. Это систематическое снижение признаков повышает эффективность модели, сокращает время обучения между распределёнными узлами и повышает общую прогнозную надёжность фреймворка CViHDDT, фокусируя процесс обучения на атрибутах с наиболее сильной клинической дискриминационной силой.
Рабочий процесс MapReduce
Модель программирования MapReduce составляет вычислительную основу распределённого учебного конвейера CViHDDT, позволяя параллельную обработку набора данных по сердечно-сосудистым заболеваниям на всех рабочих узлах кластера Hadoop. На этапе картирования каждый рабочий узел самостоятельно обрабатывает свой назначенный HDFS-фрагмент, вычисляя частичные структуры дерева принятия решений и локальную статистику разделения — включая значения Information Gain и Gini Index — для каждого кандидата, не требуя доступа к данным, хранящимся на других узлах. В фазе уменьшения локально вычисленные частичные деревья и достаточная статистика агрегируются по всем узлам для построения полного глобального дерева решений, объединяя распределённые знания, полученные на каждом узле, в единую единую предсказательную модель. Такое разложение процесса построения деревьев с помощью уменьшения карт позволяет модели CViHDDT масштабироваться линейно с числом рабочих узлов, делая вычислительно осуществимым анализ крупномасштабных медицинских наборов данных в реальном времени. Рабочий процесс MapReduce также поддерживает распределённое выполнение процедур визуализации кластеров, при которых алгоритмы кластеризации применяются параллельно между блоками данных HDFS для группировки пациентских записей по категориям рисков на основе назначения узлов в дереве решений. Оценка эффективности полученной модели использует точность, воспоминание, F1-балл и точность классификации в качестве основных метрик, при этом распределённая кластерная визуализация дополнительно снижает ложноотрицательные результаты, позволяя более тонко определять границы принятия решений внутри дерева — напрямую повышая чувствительность к выявлению пациентов из группы риска и повышая клиническую надёжность системы прогнозирования сердечных заболеваний CViHDDT.
Кластерный визуализированный Hadoop распределённый K-ближайший сосед (CViHDKNN)
Кластеризация
Фреймворк CViHDKNN (Cluster Visualized Hadoop Distributed K-Nearest Neighbor) начинается с применения методов кластеризации к набору данных по сердечно-сосудистым заболеваниям до классификации, группируя пациентов с похожими медицинскими характеристиками в согласованные кластеры до проведения поиска KNN. Набор данных по сердечно-сосудистым заболеваниям, содержащий клинические характеристики, такие как возраст, уровень холестерина, артериальное давление, результаты ЭКГ и частота сердечных сокращений, предварительно обрабатывается и распределяется между узлами кластера Hadoop с помощью HDFS. Алгоритмы кластеризации, включая K-Means и иерархическую кластеризацию, затем применяются на этих распределённых разделах данных для разделения набора данных на группы пациентов с соответствующими медицинскими профилями. Этот этап кластеризации до классификации выполняет критически важную вычислительную функцию: ограничивая пространство поиска KNN только самым релевантным кластером, а не всем набором данных, алгоритм значительно сокращает количество вычислений расстояний, необходимых для каждого экземпляра запроса. Визуализация этих кластеров приносит дополнительную клиническую пользу, позволяя выявлять подгруппы пациентов с близкими медицинскими характеристиками и поддерживая более значимую категоризацию профилей риска до стадии классификации ближайшего соседа. Оптимизация на основе кластеризации не только снижает вычислительные нагрузки, но и повышает точность классификации, гарантируя, что каждый экземпляр запроса сравнивается только с наиболее контекстуально похожими пациентскими записями, что делает этот подход особенно подходящим для крупномасштабных наборов данных по сердечно-сосудистым заболеваниям, где исчерпывающие вычисления расстояний по всему набору данных были бы слишком вычислительными.
Распределённая KNN
Распределённый компонент KNN в CViHDKNN решает фундаментальное ограничение масштабируемости традиционного KNN, которое требует загрузки всего набора данных в память перед вычислением расстояний между экземпляром запроса и всеми сохранёнными точками данных. В фреймворке CViHDKNN вычисление расстояний параллельно проводится между несколькими рабочими узлами кластера Hadoop с использованием разделов данных, распределённых HDFS, что гарантирует, что для обработки полного набора данных не требуется ни один узл. Каждый рабочий узел независимо вычисляет расстояние между экземпляром запроса и записями пациентов, хранящимися в локально назначенном HDFS-фрагменте, определяя локально ближайших соседей внутри своего раздела. Используя возможности параллельной обработки Hadoop, CViHDKNN значительно улучшает масштабируемость и обеспечивает эффективное управление огромными объёмами медицинских данных пациентов. Эта распределённая архитектура также повышает безопасность данных, поскольку чувствительные пациентские записи остаются в распределённой кластерной среде, а не передаются на внешние облачные серверы или централизованные локальные машины. Сочетание сокращения пространства поиска с помощью кластеризации и распределённого расстояния с помощью Hadoop создаёт систему, обеспечивающую как вычислительную эффективность, так и точность прогнозирования, позволяя прогнозировать сердечно-сосудистые заболевания в реальном времени на крупномасштабных медицинских наборах данных. Экспериментальные результаты подтверждают, что распределённая реализация достигает точности классификации 85,25%, что представляет собой значительное улучшение производительности по сравнению с традиционной нераспределённой базовой линией KNN, напрямую обусловленной распределённой и кластеризированной стратегией обработки.
Классификация
Этап классификации CViHDKNN присваивает каждому экземпляру пациента-запроса класс сердечных заболеваний на основе большинства голосов среди K ближайших соседей, выявленных в ходе распределённого поиска. Выбор значения K напрямую влияет на результаты классификации и точность прогнозирования. Когда K = 1, экземпляр запроса назначается метке класса его ближайшего соседа, что приводит к высоколокализованной границе решения, которая может быть чувствительна к шуму в обучающих данных. Когда K = 3, классификация определяется классом большинства среди трёх ближайших соседей — например, если два соседа относятся к классу 1 (без сердечных заболеваний), а один — к классу 2 (наличие сердечных заболеваний), экземпляр запроса классифицируется как класс 1, что обеспечивает более устойчивое и шумоустойчивое решение. Phase-редукция MapReduce объединяет локально идентифицированных ближайших соседей из всех рабочих узлов в глобально ранжированный список, из которого выбираются K ближайших соседей, а затем вычисляет большинство голосов для получения окончательного прогноза класса. Производительность классификационной системы CViHDKNN оценивается с использованием точности, отзыва, F1-балла и общей точности классификации в качестве основных метрик. Интеграция поиска с ограничением кластера с распределённым голосованием большинства обеспечивает более тонкие и точные границы принятия решений, чем стандартная KNN, снижая ложноотрицательные результаты при идентификации пациентов с группой риска и повышая чувствительность — оба являются критичными требованиями для клинически надёжного прогнозирования сердечных заболеваний в масштабных распределённых аналитических средах медицинской аналитики.