Diagnoza chorób na podstawie danych tabelarycznych

Diagnoza pacjentów pod kątem występowania cukrzycy

Zadanie, które stanęło przed nami to określenie na podstawie dostarczonych danych, czy pacjent należy do jednej z trzech kategorii: pacjent zdrowy, pacjent w stanie przedcukrzycowym, pacjent chory na cukrzycę.

Zaczęliśmy od analizyogromnej bazy danych zawierającej 253680 rekordów. Dane te zostały dostarczone w postaci pliku CSV z 22 kolumnami. Każda kolumna przedstawiała różne aspekty zdrowia i stylu życia pacjenta, min: ciśnienie krwi, poziom cholesterolu, indeks masy ciała (BMI), czy pacjent jest palaczem, czy doznał udaru, jak często wykonuje aktywność fizyczną, czy jest często konsumuje alkohol, stan zdrowia psychicznego, wiek oraz dochód.

Dane te zostały starannie podzielone według przynależności do poszczególnych kategorii zdrowotnych: pacjent zdrowy (213 703 rekordy), pacjent w stanie przedcukrzycowym (4 631 rekordy), pacjent chory na cukrzycę (35 554 rekordy).

Analiza danych

Wykres korelacji często stosowany jest w analizie danych do zilustrowania wzajemnych relacji pomiędzy różnymi zmiennymi. Matematycznie korelacja określona jest współczynnikiem korelacji, który może przyjąć wartość od -1 do 1, wskazując tym samym na kierunek i siłę zależności pomiędzy zmiennymi. Wartość 1 oznacza korelację dodatnią, -1 korelację ujemną, a 0 brak korelacji.

W kontekście przewidywania cukrzycy, wykres korelacji może pomóc w identyfikacji cech (zmiennych), które są silniej lub słabiej związane z obecnością choroby. Przykładowo, wysoki współczynnik korelacji pomiędzy wiekiem a występowaniem cukrzycy może sugerować, że starsze osoby są bardziej narażone na rozwinięcie tej choroby. Dodatkowo jeżeli dany parametr jest mało istotny, a badanie jest drogie, można zrezygnować z takiego badania.

Rozwiązania Techniczne:

1. Inżynieria cech

Inżynieria cech to kluczowy etap w budowie modeli uczenia maszynowego, który obejmuje:
- wybieranie
- przekształcanie
- łączenie
- eliminowanie
zmiennych zwiększając precyzję i efektywność modelu. Nie tylko optymalizuje to jakość przewidywań, ale często modele radzą sobie lepiej, gdy dysponują mniejszą, ale bardziej istotną liczbą cech, co ułatwia generalizację i redukuje ryzyko przetrenowania.

W naszym przypadku skoncentrowaliśmy się na usuwaniu kolumn, które wydawały się mieć niski wpływ na nasz cel predykcyjny, czyli diagnozę cukrzycy. Usunęliśmy kolumny
- owoce,
- warzywa,
- ubezpieczenie zdrowotne,
- brak wizyty u lekarza z powodu kosztów

Co więcej, pomimo że kolumny takie jak edukacja i przychód mogły wykazywać wyższą korelację z cukrzycą, zdecydowaliśmy się je usunąć. Istotne jest tu zaznaczenie, że korelacja nie implikuje przyczynowości. Innymi słowy, nawet jeśli wyższy poziom edukacji lub wyższy przychód mogą być skorelowane z niższą częstotliwością występowania cukrzycy, nie oznacza to, że jedna z tych zmiennych powoduje drugą.

2. Niezbalansowanie danych

Podczas pracy nad tym projektem, napotkaliśmy typowy problem w dziedzinie machine learning, jakim jest niezbalansowanie danych.
W naszym zbiorze, liczba rekordów związanych z każdą kategorią zdrowotną była różna, co mogło prowadzić do preferencji algorytmów w kierunku najliczniejszych klas.
Jest to naturalna tendencja algorytmów machine learning - przyjęcie strategii klasyfikacji, która najczęściej prowadzi do poprawnej odpowiedzi.

W celu przeciwdziałania temu zjawisku, zastosowaliśmy metody równoważenia klas, takie jak oversampling czy metoda SMOTE, które pomagają zrównoważyć dane poprzez powielanie rekordów w mniejszych klasach lub/i redukcję rekordów w większych klasach.
Dzięki temu algorytm nie faworyzował żadnej kategorii, co pozwoliło na lepsze i bardziej precyzyjne przewidywania. W tym przypadku, oversampling przyniósł lepsze wyniki.

3. Waga

Podczas optymalizacji naszego modelu, świadomie zdecydowaliśmy się umieścić silniejszy nacisk na precyzyjne klasyfikowanie pacjentów cierpiących na cukrzycę, uważając, że błędne zignorowanie potencjalnie chorych jednostek mogłoby prowadzić do poważniejszych konsekwencji niż fałszywe alarmy.

Warto jednak podkreślić, że choć położenie większej wagi na konkretną klase (w tym przypadku pacjentów z cukrzycą) pomaga w lepszym identyfikowaniu przypadków tej choroby, często odbywa się to kosztem precyzji identyfikacji innych klas.
Mówiąc inaczej, model może stać się bardziej podatny na fałszywie pozytywne diagnozy cukrzycy wśród jednostek zdrowych. Jednakże, w kontekście konsekwencji błędnej diagnozy uzasadnione było przyjęcie takiego kompromisu, aby maksymalizować dokładność wykrywania rzeczywistych przypadków cukrzycy i tym samym zminimalizować ryzyko przeoczenia krytycznych przypadków tej choroby.

Wynik

Po dokładnej analizie i wielu godzinach pracy nad tym projektem, osiągnęliśmy skuteczność przewidywań na poziomie 90%. Ten projekt podkreśla, jak potężne narzędzie dla przyszłości zdrowia publicznego może być machine learning. Przy właściwym wykorzystaniu, technologie te mogą przyczynić się do skuteczniejszego wykrywania i zarządzania przewlekłymi chorobami, takimi jak cukrzyca. Biorąc pod uwagę skomplikowane i różnorodne dane, które były wykorzystane w tym projekcie, jesteśmy pewni, że technologie AI mogą przynieść korzyści w wielu innych obszarach zdrowia publicznego.

Skontaktuj się i zacznij podejmować skuteczniejsze decyzje na podstawie analizy danych