$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Datensatzerfassung
Der UCI-Datensatz für Herzkrankheiten ist ein weit verbreiteter Datensatz in der medizinischen und maschinellen Lernforschung zur Vorhersage von Herzkrankheiten. Es enthält verschiedene klinische und diagnostische Merkmale der Patienten und ermöglicht es Gesundheitsfachkräften und Forschern, datenbasierte Vorhersagemodelle zu entwickeln. Der Datensatz klassifiziert Personen anhand mehrerer Patientenmerkmale, darunter Alter, Geschlecht, Brustschmerztyp, Blutdruck, Cholesterinspiegel und Ergebnisse des Elektrokardiogramms (https://archive.ics.uci.edu/dataset/45/heart+disease)29 als wahrscheinlich oder unwahrscheinlich. Der gesamte Arbeitsablauf des vorgeschlagenen Frameworks zur Vorhersage von Herzkrankheiten, einschließlich Datenvorverarbeitung, Implementierung verteilter Modelle und Evaluierungsphasen, ist in Abbildung 1 dargestellt.
Experimentelle Umgebungsanlagen
Die experimentelle Umgebung wurde auf Apache Hadoop 3.x als Kern-Framework für verteilte Rechenleistungen für alle Implementierungen bereitgestellt. Der Cluster verwendete eine Master-Worker-Architektur mit einem dedizierten Master-Node und mehreren Worker-Nodes. Der Master-Node verwaltete Job-Scheduling, Ressourcenzuweisung und Cluster-Koordination mithilfe von YARN (Yet Another Resource Negotiator), während Worker-Nodes verteilte Berechnungsaufgaben parallel ausführten, um groß angelegte medizinische Datensätze effizient zu verarbeiten. Jeder Knoten im Cluster war mit Intel Core i7-Prozessoren (oder einem Äquivalent), 16–32 GB RAM und etwa 1 TB Speicher ausgestattet.
Datenaufnahme in HDFS
Datensatzspeicherung
Der experimentelle Datensatz wurde in HDFS in einem blockverteilten Format gespeichert, wobei die Zielvariable das Vorhandensein oder Fehlen einer Herzerkrankung anzeigte, getrennt vom unabhängigen Funktionssatz, bevor sie über Clusterknoten gespeichert wurde. Feature-spezifische Vorverarbeitung wurde auf alle gespeicherten Datenblöcke unter Verwendung von MapReduce-Workflows angewendet. Numerische Merkmale wie Alter, Blutdruck, Cholesterinwerte und Herzfrequenz wurden mit einem robusten Skalator auf Basis des Interquartilsbereichs normalisiert, wodurch der Einfluss von Ausreißern reduziert wird, die besonders in medizinischen Datensätzen verbreitet sind, in denen Extremwerte seltene oder schwere klinische Zustände darstellen können. Kategoriale Variablen mit mehr als zwei Kategorien, wie cp, restecg und thal, wurden mittels One-Hot-Codierung transformiert, wobei kategoriale Attribute in binäre numerische Darstellungen umgewandelt wurden, die mit den maschinellen Lernalgorithmen 30,31,32 kompatibel sind. Alle Vorverarbeitungsoperationen wurden als verteilte MapReduce-Jobs über HDFS-Datenblöcke hinweg ausgeführt, was eine einheitliche Anwendung der gesamten Pipeline gewährleistete, ohne die Rohdaten an einem einzelnen Punkt zu zentralisieren.
Partitionierung über Knoten hinweg
Der Datensatz wurde in Trainings- und Testsätze mit einer 80:20-Aufteilung unterteilt, wobei 80 % für Training und 20 % für die Auswertung unsichtbarer Daten reserviert waren. Diese Partitionierung wurde konsistent über alle verteilten Worker-Knoten hinweg angewendet, um sicherzustellen, dass jeder Knoten einen proportionalen und repräsentativen Shard des gesamten Datensatzes verarbeitete, Datenverschiebung verhinderte und eine verallgemeinerte Balanced Model unterstützte. Skalierung stellte sicher, dass alle numerischen Variablen während des verteilten Trainings gleichermaßen beitrugen, indem es verhinderte, dass Features mit größeren Größen den Lernprozess über die Knoten hinweg dominierten. Diese strukturierte Partitionierungsstrategie verbesserte die prädiktive Zuverlässigkeit und half, Overfitting zu verhindern, indem sie eine klare Trennung zwischen Trainings- und Evaluationsdaten im verteilten Cluster aufrechterhielt.
Datenvorverarbeitung
Fehlende Wertbehandlung
Medizinische Datensätze enthalten häufig unvollständige Unterlagen aufgrund von Dateneingabefehlern, Gerätefehlern oder der Nichtreaktion des Patienten während der klinischen Datenerhebung. Vor dem Modelltraining wurden alle Datensatzattribute auf fehlende oder null Werte untersucht. Reihen mit fehlenden Werten in kritischen klinischen Merkmalen wie Blutdruck, Cholesterin und Herzfrequenz wurden identifiziert und mittels Mittelwertimputation für numerische Variablen und Modeimputation für kategorische Variablen behandelt. Dieser Ansatz bewahrte die statistische Verteilung des Datensatzes, während gleichzeitig sichergestellt wurde, dass keine Trainingsstichprobe unnötig verworfen wurde, wodurch maximale Datenverfügbarkeit für das Modelllernen über verteilte HDFS-Knoten gewährleistet wurde.
Feature-Skalierung
Numerische Merkmale wie Alter, Blutdruck, Cholesterinspiegel und maximale Herzfrequenz weisen signifikant unterschiedliche Wertbereiche auf, was dazu führen kann, dass Merkmale größerer Größen das Modelltraining unverhältnismäßig beeinflussen. Um dem entgegenzuwirken, wurde auf alle kontinuierlichen numerischen Attribute ein robuster Skaler auf Basis des Interquartilbereichs angewendet. Diese Skalierungsstrategie ist besonders geeignet für medizinische Datensätze, bei denen extreme klinische Werte, die seltene oder schwere Erkrankungen repräsentieren, den Lernprozess sonst verzerren könnten. Die Skalierung stellte sicher, dass alle numerischen Variablen während des Modelltrainings gleichermaßen beitrugen, und wurde konsistent auf alle verteilten Worker-Knoten unter Verwendung von MapReduce-Workflows angewendet.
Kodierung
Kategoriale Variablen mit mehr als zwei unterschiedlichen Kategorien, darunter cp (Brustschmerztyp), Restecg (Ruhe-elektrokardiographische Ergebnisse) und Thal (Thalassämietyp), wurden mittels One-Hot-Codierung transformiert. Dieser Prozess wandelte jedes kategoriale Attribut in eine Menge binärer numerischer Indikatorspalten um und erzeugte Darstellungen, die maschinelle Lernalgorithmen effektiv verarbeiten können, ohne künstliche ordinale Beziehungen zwischen Kategorienwerten einzuführen. Binäre Kategorienvariablen wurden in ihrer ursprünglichen numerischen Form beibehalten. Alle Codierungsoperationen wurden als verteilte MapReduce-Jobs über HDFS-Datenblöcke ausgeführt, was eine konsistente Transformation über alle partitionierten Datensatzsplitter gewährleistete.
Zug-/Testaufteilung
Der vorverarbeitete Datensatz wurde in Trainings- und Testteilsätze mit einer 80:20-Aufteilung aufgeteilt, wobei 80 % dem Modelltraining und 20 % für die Leistungsbewertung auf unbekannten Daten reserviert waren. Die Zielvariable, die das Vorhandensein oder Fehlen einer Herzerkrankung anzeigt, wurde vor der Aufteilung vom unabhängigen Merkmalset getrennt. Diese Partitionierung wurde gleichmäßig auf alle verteilten HDFS-Knoten angewendet, um sicherzustellen, dass jeder Worker-Knoten einen proportionalen und repräsentativen Shard des gesamten Datensatzes verarbeitete und so Datenverschiebung verhinderte. Die 80:20-Split-Strategie verbesserte die prädiktive Zuverlässigkeit, verbesserte die Modellverallgemeinerung und sorgte für eine klare Trennung zwischen Trainings- und Evaluationsdaten im verteilten Cluster-Umfeld, wodurch Überanpassung verhindert wurde.
Modellimplementierung
Das Cluster Visualized Hadoop Distributed Decision Tree (CViHDDT)-Modell klassifiziert Patienten mithilfe eines verteilten Entscheidungsbaums in Risikokategorien. Der Entscheidungsbaum-Algorithmus teilt den Datensatz rekursiv basierend auf den informativsten Merkmalen auf und maximiert so die Trennung zwischen Patienten mit und ohne Herzkrankheit. Innerhalb des verteilten Hadoop-Frameworks wird dieser Prozess über mehrere Rechenknoten hinweg ausgeführt, sodass große Datensätze effizient verarbeitet werden können. Die verteilte Architektur reduziert die Rechenzeit und verbessert die Skalierbarkeit. Der Cluster Visualized Hadoop Distributed K-Nearest Neighbor (CViHDKNN) Algorithmus verwendet denselben Datensatz, wendet jedoch eine andere Klassifikationsstrategie an. Anstatt einen Entscheidungsbaum zu erstellen, identifiziert das Modell die nächstgelegenen benachbarten Patienten anhand medizinischer Merkmale wie Blutdruck, Cholesterinspiegel und durch Bewegung verursachte Angina. Durch verteilte Berechnung gruppiert der KNN-Algorithmus Patienten mit ähnlichen medizinischen Eigenschaften effizient und verwaltet dabei die Rechenkomplexität.
Das Klassifikationsprinzip des verteilten K-nächstgelegenen Nachbarmodells wird in Abbildung 2 dargestellt, wobei eine neue Instanz einer Klasse basierend auf der Mehrheitsklasse unter ihren nächstgelegenen Nachbarn zugewiesen wird. Cluster-Visualisierungstechniken ermöglichen es Gesundheitsfachkräften, Gruppen von Patienten mit ähnlichen klinischen Merkmalen zu identifizieren, wodurch die Interpretierbarkeit verbessert und personalisierte Behandlungsempfehlungen unterstützt werden. Das vorgeschlagene Framework zur Herzkrankheitsprognose integriert Datenvorverarbeitung, verteilte maschinelle Lernalgorithmen und Cluster-Visualisierungstechniken. Durch die Nutzung der verteilten Rechenleistungen von Hadoop verarbeitet das Framework effizient große Gesundheitsdatensätze bei hoher Vorhersagegenauigkeit und Interpretierbarkeit, was eine frühzeitige Erkennung von Herzkrankheiten und verbesserte klinische Entscheidungsfindung ermöglicht.
Cluster visualisierter Hadoop Distributed Decision Tree (CViHDDT):
Verteiltes Entscheidungsbaumtraining
Das vorgeschlagene Cluster Visualized Hadoop Distributed Decision Tree (CViHDDT)-Modell unterscheidet sich grundlegend von der traditionellen Entscheidungsbaumkonstruktion, indem es den Baumbauprozess auf mehrere Knoten im Hadoop-Ökosystem verteilt, anstatt den gesamten Baum auf einer einzigen Maschine zu bauen. Einzelne Worker-Knoten erstellen teilweise Entscheidungsbäume lokal auf ihrem zugewiesenen Teilsatz des Datensatzes, entweder mit MapReduce oder Apache Spark zur parallelen Verarbeitung. Diese lokal konstruierten partiellen Bäume werden anschließend zu einem vollständigen globalen Entscheidungsbaum kombiniert, der den vollständigen verteilten Datensatz umfasst. Diese verteilte Trainingsstrategie beschleunigt das Modelltraining erheblich und ermöglicht es dem Framework, medizinische Datensätze mit mehreren Terabyte effizient im großen Maßstab zu verarbeiten. Die von Hadoop bereitgestellte parallele Recheninfrastruktur stellt sicher, dass das CViHDDT-Modell von Natur aus skalierbar und gut geeignet für Big-Data-basierte Gesundheitslösungen ist. Nach der Konstruktion verteilter Bäume werden Cluster-Visualisierungstechniken angewandt, um die Modellinterpretierbarkeit zu verbessern, indem Entscheidungsbaum-Knoten in Cluster von Patienten mit ähnlichen medizinischen Erkrankungen mithilfe von Algorithmen wie k-means und hierarchischer Clusterung gruppiert werden. Dieser Clustering-Prozess erzeugt klinisch sinnvolle Risikokategorien – wie leichte, moderate und schwere Herzerkrankungen – und ermöglicht es medizinischen Fachkräften, Muster in Patientendaten zu erkennen, den Krankheitsverlauf zu verstehen und personalisierte Behandlungspläne zu erstellen.
Funktionsauswahl
Vor dem Training des verteilten Entscheidungsbaums wendet das CViHDDT-Modell eine strukturierte Vorverarbeitungs- und Merkmalsauswahl-Pipeline auf die von HDFS aufgenommenen medizinischen Rohdaten an. Fehlende Werte werden durch Imputationsalgorithmen behoben, um unvollständige klinische Akten zu verwalten und Datenverlust zu verhindern, ohne Patientenproben zu verwerfen. Die robuste Scaler-Normalisierung wird auf numerische Merkmale wie Blutdruck und Cholesterinspiegel angewandt, um den unverhältnismäßigen Einfluss von Ausreißern in medizinischen Datensätzen abzumildern. Kategoriale Variablen wie Geschlecht und familiäre Vorgeschichte von Herzkrankheiten werden mittels One-Hot- oder Label-Codierung transformiert, um numerische Darstellungen zu erzeugen, die mit maschinellen Lernalgorithmen kompatibel sind. Nach der Vorverarbeitung wird die Merkmalsextraktion durchgeführt, um die wichtigsten klinischen Merkmale zu identifizieren, die am besten für Herzkrankheiten prädiktiv sind. Diese Stufe eliminiert irrelevante und redundante Merkmale aus dem Datensatz, senkt die Rechenkosten in nachfolgenden verteilten Trainingsphasen und stellt sicher, dass nur die diagnostisch am informativsten Eigenschaften – wie Brustschmerztyp, Ruheblutdruck, Serumcholesterin, maximale Herzfrequenz und ST-Depression – als Eingaben für den Aufbauprozess des verteilten Entscheidungsbaums erhalten bleiben. Diese systematische Feature-Reduzierung verbessert die Modelleffizienz, verkürzt die Trainingszeit über verteilte Knoten hinweg und erhöht die allgemeine prädiktive Zuverlässigkeit des CViHDDT-Frameworks, indem der Lernprozess auf Attribute mit der stärksten klinischen Diskriminierungskraft fokussiert wird.
MapReduce-Arbeitsablauf
Das MapReduce-Programmiermodell bildet das rechnerische Rückgrat der verteilten Trainingspipeline CViHDDT und ermöglicht eine parallele Verarbeitung des Herzkrankheitsdatensatzes über alle Worker-Nodes im Hadoop-Cluster. In der Map-Phase verarbeitet jeder Worker-Knoten unabhängig seinen zugewiesenen HDFS-Datensplitter, berechnet partielle Entscheidungsbaumstrukturen und lokale Aufteilungsstatistiken – einschließlich Information Gain und Gini Index-Werte – für jedes Kandidatenattribut, ohne Zugriff auf Daten anderer Knoten zu benötigen. In der Reduce-Phase werden die lokal berechneten Teilbäume und ausreichende Statistiken über alle Knoten aggregiert, um den vollständigen globalen Entscheidungsbaum zu konstruieren, wobei das an jedem Knoten erworbene verteilte Wissen in einem einheitlichen prädiktiven Modell zusammengefasst wird. Diese kartenreduzierte Zerlegung des Baumbauprozesses ermöglicht es dem CViHDDT-Modell, linear mit der Anzahl der Arbeitsknoten zu skalieren, wodurch eine Echtzeitanalyse groß angelegter medizinischer Datensätze rechnerisch möglich wird. Der MapReduce-Workflow unterstützt auch die verteilte Ausführung von Cluster-Visualisierungsverfahren, bei denen Clustering-Algorithmen parallel über HDFS-Datenblöcke angewendet werden, um Patientenakten basierend auf deren Entscheidungsbaum-Knotenzuweisungen in Risikokategorien zu gruppieren. Die Leistungsbewertung des resultierenden Modells verwendet Präzision, Rückruf, F1-Score und Klassifikationsgenauigkeit als primäre Kennzahlen, wobei die verteilte Cluster-Visualisierung Fehlnegative weiter reduziert, indem sie feinere Entscheidungsgrenzen im Baum ermöglicht – was die Sensitivität für die Identifizierung risikoreicher Patienten direkt verbessert und die klinische Zuverlässigkeit des CViHDDT-Herzkrankheitsprognoserahmens erhöht.
Clustervisualisierter Hadoop-verteilter K-nächster Nachbar (CViHDKNN)
Clusterbildung
Das CViHDKNN-Framework (Cluster Visualized Hadoop Distributed K-Nearest Neighbor) beginnt damit, Clustering-Techniken auf den Herzkrankheitsdatensatz vor der Klassifizierung anzuwenden und Patienten mit ähnlichen medizinischen Merkmalen vor der KNN-Suche in kohärente Cluster zu gruppieren. Der Herzkrankheitsdatensatz, der klinische Merkmale wie Alter, Cholesterinwert, Blutdruck, EKG-Ergebnisse und Herzfrequenz enthält, wird vorverarbeitet und über Knoten im Hadoop-Cluster mittels HDFS verteilt. Clustering-Algorithmen, darunter K-Means und Hierarchical Clustering, werden dann auf diese verteilten Datenpartitionen angewendet, um den Datensatz in Gruppen von Patienten zu unterteilen, die verwandte medizinische Profile teilen. Dieser Schritt des Clusterings vor der Klassifikation erfüllt einen entscheidenden rechnerischen Zweck: Indem der KNN-Suchraum auf nur den relevantesten Cluster und nicht den gesamten Datensatz beschränkt wird, reduziert der Algorithmus die Anzahl der Entfernungsberechnungen pro Abfrageinstanz drastisch. Die Visualisierung dieser Cluster bietet zusätzlichen klinischen Nutzen, da sie die Identifikation von Patientengruppen mit eng verwandten medizinischen Merkmalen ermöglicht und eine aussagekräftigere Kategorisierung von Risikoprofilen vor der nächstgelegenen Nachbarklassifikationsstufe unterstützt. Die clusterbasierte Optimierung reduziert nicht nur den Rechenaufwand, sondern verbessert auch die Klassifizierungsgenauigkeit, indem sie sicherstellt, dass jede Abfrage nur mit den kontextuell ähnlichsten Patientenakten verglichen wird, was den Ansatz besonders gut für großflächige Herzkrankheitsdatensätze geeignet macht, bei denen eine umfassende Entfernungsberechnung über den gesamten Datensatz rechnerisch erschwerend wäre.
Verteiltes KNN
Die verteilte KNN-Komponente von CViHDKNN adressiert die grundlegende Skalierbarkeitsbeschränkung des traditionellen KNN, die erfordert, dass der gesamte Datensatz in den Speicher geladen wird, bevor die Abstände zwischen der Abfrageinstanz und allen gespeicherten Datenpunkten berechnet werden. Im CViHDKNN-Framework wird diese Distanzberechnung über mehrere Worker-Knoten im Hadoop-Cluster mittels HDFS-verteilter Datenpartitionen parallelisiert, sodass kein einzelner Knoten den vollständigen Datensatz verarbeiten muss. Jeder Worker-Knoten berechnet unabhängig die Entfernung zwischen der Abfrageinstanz und den Patientendatendaten, die in seinem lokal zugewiesenen HDFS-Datenshard gespeichert sind, und identifiziert die lokal nächstgelegenen Nachbarn innerhalb seiner Partition. Durch die Nutzung der parallelen Verarbeitungsfähigkeiten von Hadoop verbessert CViHDKNN die Skalierbarkeit drastisch und ermöglicht eine effiziente Verwaltung großer Mengen gesundheitsbezogener Patientendaten. Diese verteilte Architektur erhöht zudem die Datensicherheit, da sensible Patientenakten innerhalb der verteilten Clusterumgebung bleiben und nicht auf externe Cloud-Server oder zentralisierte lokale Maschinen übertragen werden. Die Kombination aus clustergesteuerter Suchraumreduzierung und Hadoop-verteilter Entfernungsberechnung ergibt ein System, das sowohl rechnerische Effizienz als auch prädiktive Genauigkeit erreicht und so eine Echtzeitvorhersage von Herzkrankheiten auf groß angelegten medizinischen Datensätzen ermöglicht. Experimentelle Ergebnisse bestätigen, dass die verteilte Implementierung eine Klassifikationsgenauigkeit von 85,25 % erreicht, was eine signifikante Leistungssteigerung gegenüber der traditionellen nicht-verteilten KNN-Basislinie darstellt, die direkt auf die verteilte, clusterverstärkte Verarbeitungsstrategie zurückzuführen ist.
Klassifikation
Die Klassifikationsstufe von CViHDKNN weist jede Abfragepatienteninstanz einer Herzkrankheitsklasse basierend auf der Mehrheitsstimmen der K nächstgelegenen Nachbarn zu, die durch den verteilten Suchprozess identifiziert wurden. Die Wahl des K-Werts beeinflusst direkt die Klassifikationsergebnisse und die prädiktive Genauigkeit. Wenn K = 1 ist, wird die Abfrageinstanz dem Klassenlabel ihres nächstgelegenen Nachbarn zugewiesen, was zu einer stark lokalisierten Entscheidungsgrenze führt, die in den Trainingsdaten empfindlich auf Rauschen reagieren kann. Wenn K = 3 ist, wird die Klassifikation durch die Mehrheitsklasse unter den drei nächsten Nachbarn bestimmt – zum Beispiel, wenn zwei Nachbarn zur Klasse 1 (keine Herzkrankheit) und einer zur Klasse 2 (vorhandene Herzkrankheit) gehören, wird die Abfrageinstanz als Klasse 1 klassifiziert, was eine robustere und rauschtolerantere Entscheidung bietet. Die MapReduce-Reduktionsphase aggregiert die lokal identifizierten nächstgelegenen Nachbarn aller Arbeiterknoten in eine global gerankte Liste, aus der die K nächstgelegenen Nachbarn ausgewählt werden, und berechnet dann die Mehrheitsentscheidung, um die endgültige Klassenvorhersage zu erstellen. Die Leistung des CViHDKNN-Klassifikationsrahmens wird anhand von Präzision, Abruf, F1-Wert und Gesamtklassifikationsgenauigkeit als primäre Kennzahlen bewertet. Die Integration von clusterbeschränkter Suche mit verteilter Mehrheitswahl führt zu feineren und genaueren Entscheidungsgrenzen als Standard-KNN, reduziert falschnegative Ergebnisse bei der Identifizierung von gefährdeten Patienten und verbessert die Sensibilität – beides entscheidende Anforderungen für eine klinisch zuverlässige Herzkrankheitsvorhersage in groß angelegten verteilten Gesundheitsanalyseumgebungen.