$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Uzyskiwanie danych
Zestaw danych UCI Heart Disease to szeroko stosowany zestaw danych w badaniach medycznych i nauce maszynowym do przewidywania chorób serca. Zawiera różne kliniczne i diagnostyczne cechy pacjentów, umożliwiając specjalistom medycznym i badaczom opracowanie modeli predykcyjnych opartych na danych. Zestaw danych klasyfikuje osoby jako prawdopodobne lub mało prawdopodobne na chorobę serca na podstawie kilku atrybutów pacjenta, w tym wieku, płci, rodzaju bólu w klatce piersiowej, ciśnienia krwi, poziomu cholesterolu i wyników elektrokardiogramu (https://archive.ics.uci.edu/dataset/45/heart+disease)29. Ogólny przepływ proponowanego działania przewidywania choroby serca, w tym przetwarzanie danych, wdrożenie rozproszonego modelu i etapy oceny, przedstawiono na Rysunku 1.
Konfiguracja środowiska eksperymentalnego
Środowisko eksperymentalne zostało wdrożone na Apache Hadoop 3.x jako podstawowa infrastruktura obliczeniowa rozproszona dla wszystkich implementacji. Klaster korzystał z architektury master-worker z jednym dedykowanym węzłem master i wieloma węzłami worker. Węzeł master zarządzał harmonogramem zadań, alokacją zasobów i koordynacją klastra za pomocą YARN (Yet Another Resource Negotiator), podczas gdy węzły worker wykonywały zadania obliczeniowe rozproszone równolegle, aby efektywnie przetwarzać duże zbiory danych medycznych. Każdy węzeł w klastrze został zaopatrzony w procesory Intel Core i7 (lub odpowiednik), 16–32 GB pamięci RAM i około 1 TB pamięci masowej.
Wprowadzanie danych do HDFS
Przechowywanie zestawu danych
Eksperymentalny zestaw danych był przechowywany w HDFS w formacie rozproszonym na bloki, przy czym zmienna docelowa wskazująca obecność lub brak choroby serca była oddzielona od niezależnego zestawu cech przed przechowywaniem na węzłach klastra. Przetwarzanie specyficzne dla cech zostało zastosowane do wszystkich przechowywanych bloków danych za pomocą przepływów pracy MapReduce. Cechy numeryczne, w tym wiek, ciśnienie krwi, poziom cholesterolu i tętno, zostały znormalizowane za pomocą skalera opartego na odstępie międzykwartylowym, zmniejszając wpływ wartości ekstremalnych, które są szczególnie powszechne w zbiorach danych medycznych, gdzie wartości skrajne mogą reprezentować rzadkie lub poważne stany kliniczne. Zmienne kategoryczne z więcej niż dwoma kategoriami, takie jak cp, restecg i thal, zostały przekształcone za pomocą kodowania one-hot, zamieniając atrybuty kategoryczne na binarne reprezentacje numeryczne zgodne z wejściami algorytmów uczenia maszynowego30,31,32. Wszystkie operacje przetwarzania wstępnego były wykonywane jako rozproszone zadania MapReduce na blokach danych HDFS, zapewniając jednolite zastosowanie pełnego potoku bez centralizowania surowych danych w żadnym pojedynczym punkcie.
Rozdzielenie na węzły
Zestaw danych został podzielony na zbiory treningowe i testowe przy użyciu podziału 80:20, z 80% przydzieloną do treningu i 20% zarezerwowaną na ewaluację na niewidzianych danych. Ta metoda podziału była spójnie stosowana na wszystkich rozproszonych węzłach worker, aby zapewnić, że każdy węzeł przetwarzał proporcjonalną i reprezentatywną część pełnego zestawu danych, zapobiegając zniekształceniu danych i wspierając zrównoważoną generalizację modelu. Skalowanie zapewniało, że wszystkie zmienne numeryczne współpracowały równo w trakcie rozproszonego treningu, zapobiegając dominacji procesu uczenia przez cechy o większych wartościach w całym klastrze. Ta strukturalna strategia podziału zwiększyła niezawodność predykcyjną i pomogła zapobiec przetrenowaniu, utrzymując jasną separację między danymi treningowymi a ewaluacyjnymi w całym rozproszonym klastrze.
Przetwarzanie wstępne danych
Obsługa brakujących wartości
Zestawy danych medycznych często zawierają niekompletne zapisy z powodu błędów wprowadzania danych, awarii urządzeń lub braku odpowiedzi pacjenta podczas zbierania danych klinicznych. Przed treningiem modelu wszystkie atrybuty zestawu danych zostały sprawdzone pod kątem brakujących lub pustych wartości. Wiersze z brakującymi wartościami w krytycznych cechach klinicznych, takich jak ciśnienie krwi, cholesterol i tętno, zostały zidentyfikowane i przetworzone za pomocą średniej imputeacji dla zmiennych numerycznych i imputeacji modalnej dla zmiennych kategorycznych. To podejście zachowało statystyczną dystrybucję zestawu danych, zapewniając jednocześnie, że żaden przypadek treningowy nie został odrzucony bez potrzeby, utrzymując maksymalną dostępność danych dla uczenia modelu na rozproszonych węzłach HDFS.
Skalowanie cech
Cecha numeryczne, w tym wiek, ciśnienie krwi, poziom cholesterolu i maksymalne tętno, wykazują znacznie różne zakresy wartości, co może powodować, że cechy o większych wartościach będą nieproporcjonalnie