Zbuduj model ryzyka uczenia maszynowego w zakresie zdrowia psychicznego, korzystając z Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Zbuduj model ryzyka uczenia maszynowego w zakresie zdrowia psychicznego za pomocą Amazon SageMaker Data Wrangler

Współautorami tego postu są Shibangi Saha, analityk danych, oraz Graciela Kravtzov, współzałożycielka i dyrektor ds. technicznych firmy Equilibrium Point.

Wiele osób doświadcza nowych objawów chorób psychicznych, takich jak stres, lęk, depresja, używanie substancji psychoaktywnych i zespół stresu pourazowego (PTSD). Według Kaiser Family Foundationokoło połowa dorosłych (47%) w całym kraju zgłosiła negatywny wpływ pandemii na zdrowie psychiczne, co stanowi znaczny wzrost w porównaniu z poziomem sprzed pandemii. Ponadto niektóre płcie i grupy wiekowe należą do osób, które najczęściej zgłaszają stres i zmartwienia, przy czym odsetek ten jest znacznie wyższy niż w innych. Ponadto kilka określonych grup etnicznych częściej niż inne zgłasza „poważny wpływ” na swoje zdrowie psychiczne.

Kilka badań, w tym te zebrane przez Centra Kontroli Chorób (CDC), wykazało znaczny wzrost zgłaszanych przez pacjentów objawów zdrowotnych związanych z zachowaniem. Według raportu CDC, w którym pod koniec czerwca 2020 r. przeprowadzono ankietę wśród dorosłych w całych Stanach Zjednoczonych, 31% respondentów zgłosiło objawy lęku lub depresji, 13% zgłosiło rozpoczęcie lub zwiększenie używania substancji psychoaktywnych, 26% zgłosiło objawy związane ze stresem, a 11% zgłosiło, że w ciągu ostatnich 30 dni miało poważne myśli samobójcze.

Dane zgłaszane przez samych pacjentów, chociaż są absolutnie niezbędne w diagnozowaniu zaburzeń zdrowia psychicznego, mogą podlegać wpływom związanym z utrzymującym się piętnem wokół zdrowia psychicznego i leczenia zdrowia psychicznego. Zamiast polegać wyłącznie na danych zgłaszanych przez samych siebie, możemy oszacować i prognozować cierpienie psychiczne, korzystając z danych z dokumentacji zdrowotnej i danych dotyczących roszczeń, aby spróbować odpowiedzieć na podstawowe pytanie: czy możemy przewidzieć, kto będzie prawdopodobnie potrzebował pomocy w zakresie zdrowia psychicznego, zanim będzie jej potrzebować? Jeśli uda się zidentyfikować te osoby, można opracować i wdrożyć programy i zasoby wczesnej interwencji, aby reagować na wszelkie nowe objawy lub nasilać się u ich podstaw, aby złagodzić skutki i koszty zaburzeń psychicznych.

Łatwiej powiedzieć niż zrobić dla tych, którzy mieli problemy z zarządzaniem i przetwarzaniem dużych ilości złożonych, pełnych luk danych dotyczących roszczeń! W tym poście dzielimy się tym, jak to zrobić Punkt równowagi IoT używany Pogromca danych Amazon SageMaker aby usprawnić przygotowywanie danych dotyczących roszczeń na potrzeby naszego przypadku dotyczącego zdrowia psychicznego, przy jednoczesnym zapewnieniu jakości danych na każdym etapie procesu.

Omówienie rozwiązania

Przygotowanie danych lub inżynieria cech to żmudny proces, wymagający doświadczonych analityków i inżynierów danych, którzy poświęcają dużo czasu i energii na formułowanie receptur na różne transformacje (etapy) potrzebne do nadania danym odpowiedniego kształtu. W rzeczywistości badania pokazują, że przygotowanie danych do uczenia maszynowego (ML) pochłania nawet 80% czasu analityków danych. Zazwyczaj naukowcy i inżynierowie używają różnych platform przetwarzania danych, takich jak Pandas, PySpark i SQL, do kodowania swoich transformacji i tworzenia zadań przetwarzania rozproszonego. Dzięki Data Wrangler możesz zautomatyzować ten proces. Data Wrangler jest składnikiem Studio Amazon SageMaker które zapewnia kompleksowe rozwiązanie do importowania, przygotowywania, przekształcania, cechowania i analizowania danych. Możesz zintegrować Data Wranglera przepływ danych do istniejących przepływów pracy ML, aby uprościć i usprawnić przetwarzanie danych i inżynierię funkcji przy użyciu niewielkiej ilości kodowania lub bez niego.

W tym poście omówimy etapy przekształcania oryginalnych, nieprzetworzonych zestawów danych w funkcje gotowe do obsługi uczenia maszynowego, których można używać do tworzenia modeli predykcyjnych w następnym etapie. Najpierw zagłębiamy się w naturę różnych zbiorów danych wykorzystywanych w naszym przypadku użycia i w jaki sposób połączyliśmy te zbiory danych za pomocą Data Wrangler. Po połączeniach i konsolidacji zestawu danych opisujemy poszczególne transformacje, które zastosowaliśmy w zestawie danych, takie jak deduplikacja, obsługa brakujących wartości i formuły niestandardowe, a następnie opisujemy, w jaki sposób wykorzystaliśmy wbudowaną analizę szybkiego modelu do sprawdzenia bieżącego stanu transformacji dla przewidywań.

Zbiory danych

Na potrzeby naszego eksperymentu najpierw pobraliśmy dane pacjentów od naszego klienta zajmującego się zdrowiem behawioralnym. Dane te obejmują:

  • Dane dotyczące roszczeń
  • Liczy się wizyta na izbie przyjęć
  • Liczy się wizyta w szpitalu
  • Liczba recept na leki związana ze zdrowiem psychicznym
  • Hierarchiczne kodowanie stanów (HCC) diagnozuje czynniki związane ze zdrowiem psychicznym

Celem było połączenie tych oddzielnych zbiorów danych na podstawie identyfikatora pacjenta i wykorzystanie ich do przewidywania diagnozy zdrowia psychicznego. Wykorzystaliśmy Data Wrangler do stworzenia ogromnego zbioru danych składającego się z kilku milionów wierszy danych, który jest połączeniem pięciu oddzielnych zbiorów danych. Użyliśmy także narzędzia Data Wrangler do wykonania kilku transformacji umożliwiających obliczenia kolumnowe. W poniższych sekcjach opisujemy różne zastosowane transformacje przygotowania danych.

Po złączeniu usuń zduplikowane kolumny

Amazon SageMaker Data Wrangler zapewnia liczne transformacje danych ML w celu usprawnienia czyszczenia, przekształcania i cechowania danych. Dodanie transformacji powoduje dodanie kroku do przepływu danych. Każda dodana transformacja modyfikuje zestaw danych i tworzy nową ramkę danych. Wszystkie kolejne transformacje dotyczą wynikowej ramki danych. Data Wrangler zawiera wbudowane transformacje, których można używać do przekształcania kolumn bez żadnego kodu. Możesz także dodać niestandardowe przekształcenia przy użyciu PySpark, Pandas i PySpark SQL. Niektóre transformacje działają w miejscu, podczas gdy inne tworzą nową kolumnę wyjściową w zestawie danych.

Na potrzeby naszych eksperymentów, ponieważ po każdym dołączeniu do identyfikatora pacjenta pozostały zduplikowane kolumny identyfikatora pacjenta. Musieliśmy porzucić te kolumny. Usunęliśmy prawą kolumnę z identyfikatorem pacjenta, jak pokazano na poniższym zrzucie ekranu, korzystając z gotowej kolumny Zarządzaj kolumnami ->Upuść kolumnę transform, aby zachować tylko jedną kolumnę identyfikatora pacjenta (pacjent_id w ostatecznym zestawie danych).

ML8274-obraz001

Przestaw zestaw danych za pomocą aplikacji Pandas

Zbiory danych dotyczące roszczeń obejmowały dane na poziomie pacjenta, obejmujące wizytę w nagłych przypadkach (ER), pacjenta szpitalnego (IP), liczbę recept i dane diagnostyczne już pogrupowane według odpowiadających im kodów HCC (około 189 kodów). Aby zbudować hurtownię danych pacjentów, agregujemy kody HCC roszczeń według pacjentów i przestawiamy kod HCC z wierszy do kolumn. Za pomocą aplikacji Panda przestawiliśmy zbiór danych, zliczyliśmy liczbę kodów HCC według pacjenta, a następnie połączyliśmy się z podstawowym zbiorem danych na podstawie identyfikatora pacjenta. Użyliśmy opcji niestandardowej transformacji w Data Wrangler, wybierając Python (Pandas) jako wybraną platformę.

ML8274-obraz002

Poniższy fragment kodu przedstawia logikę transformacji służącą do obracania tabeli:

# Table is available as variable df
import pandas as pd
import numpy as np table = pd.pivot_table(df, values = 'claim_count', index=['patient_id0'], columns = 'hcc', fill_value=0).reset_index()
df = table

Utwórz nowe kolumny, korzystając z niestandardowych formuł

Przestudiowaliśmy literaturę badawczą, aby określić, które kody HCC są deterministyczne w diagnozach zdrowia psychicznego. Następnie napisaliśmy tę logikę, używając niestandardowej transformacji formuły Data Wrangler, która wykorzystuje wyrażenie SQL Spark do obliczenia kolumny docelowej diagnostyki zdrowia psychicznego (MH), którą dodaliśmy na końcu ramki DataFrame.

ML8274-obraz003

Zastosowaliśmy następującą logikę transformacji:

# Output: MH
IF (HCC_Code_11 > 0 or HCC_Code_22 > 0 or HCC_Code_23 > 0 or HCC_Code_54 > 0 or HCC_Code_55 > 0 or HCC_Code_57 > 0 or HCC_Code_72 > 0, 1, 0)

Upuść kolumny z DataFrame za pomocą PySpark

Po obliczeniu kolumny docelowej (MH) usunęliśmy wszystkie niepotrzebne zduplikowane kolumny. Zachowaliśmy identyfikator pacjenta i kolumnę MH, aby dołączyć do naszego podstawowego zbioru danych. Było to ułatwione dzięki niestandardowej transformacji SQL, która wykorzystuje PySpark SQL jako wybraną przez nas platformę.

ML8274-obraz005

Zastosowaliśmy następującą logikę:

/* Table is available as variable df */ select MH, patient_id0 from df

Aby rozpocząć, przesuń kolumnę MH

Nasz algorytm ML wymaga, aby oznaczone dane wejściowe znajdowały się w pierwszej kolumnie. Dlatego przenieśliśmy obliczoną kolumnę MH na początek ramki DataFrame, aby była gotowa do eksportu.

ML8274-obraz006

Wpisz 0, używając Pand

Nasz algorytm ML wymaga również, aby dane wejściowe nie zawierały pustych pól. Dlatego wypełniliśmy puste pola końcowego zestawu danych wartościami 0. Możemy to łatwo zrobić za pomocą niestandardowej transformacji (Pandas) w Data Wrangler.

ML8274-obraz007

Zastosowaliśmy następującą logikę:

# Table is available as variable df
df.fillna(0, inplace=True)

Odlewana kolumna od pływaka do długiej

W Data Wranglerze możesz także łatwo analizować i rzutować kolumnę na dowolny nowy typ danych. W celu optymalizacji pamięci kolumnę wejściową dotyczącą etykiety zdrowia psychicznego rzutujemy jako zmiennoprzecinkową.

ML8274-obraz008

Szybka analiza modelu: wykres ważności cech

Po utworzeniu ostatecznego zestawu danych wykorzystaliśmy analizę szybkiego modelu w programie Data Wrangler, aby szybko zidentyfikować niespójności danych i sprawdzić, czy dokładność naszego modelu mieści się w oczekiwanym zakresie lub czy musimy kontynuować inżynierię funkcji przed poświęceniem czasu na szkolenie modelu. Modelka uzyskała wynik F1 na poziomie 0.901, gdzie 1 oznaczało najwyższy wynik. Wynik F1 to sposób na połączenie precyzji i przypominalności modelu i jest definiowany jako średnia harmoniczna tych dwóch. Po sprawdzeniu tych początkowych pozytywnych wyników byliśmy gotowi do wyeksportowania danych i kontynuowania uczenia modeli przy użyciu wyeksportowanego zbioru danych.

ML8274-obraz009

Wyeksportuj ostateczny zestaw danych do Amazon S3 za pomocą notatnika Jupyter

Ostatnim krokiem jest wyeksportowanie zbioru danych w jego obecnej formie (przekształconej) do Usługa Amazon Simple Storage (Amazon S3) do wykorzystania w przyszłości w szkoleniu modeli, używamy pliku Zapisz w Amazon S3 (za pośrednictwem Jupyter Notebook) opcja eksportu. Ten notebook uruchamia rozproszony i skalowalny Przetwarzanie Amazon SageMaker zadanie, które stosuje utworzoną recepturę (przepływ danych) do określonych wejść (zwykle większych zbiorów danych) i zapisuje wyniki w Amazon S3. Możesz także wyeksportować przekształcone kolumny (funkcje) do Sklep funkcji Amazon SageMaker lub wyeksportuj transformacje jako potok za pomocą Rurociągi Amazon SageMakerlub po prostu wyeksportuj transformacje jako kod Pythona.

Aby wyeksportować dane do Amazon S3, masz trzy możliwości:

  • Eksportuj przekształcone dane bezpośrednio do Amazon S3 za pośrednictwem interfejsu użytkownika Data Wrangler
  • Wyeksportuj transformacje jako zadanie SageMaker Processing za pomocą notatnika Jupyter (tak jak to robimy w tym poście).
  • Eksportuj transformacje do Amazon S3 poprzez węzeł docelowy. Węzeł docelowy informuje Data Wrangler, gdzie przechowywać dane po ich przetworzeniu. Po utworzeniu węzła docelowego tworzysz zadanie przetwarzania w celu wyprowadzenia danych.

ML8274-obraz010

Wnioski

W tym poście pokazaliśmy, jak Equilibrium Point IoT wykorzystuje Data Wrangler do przyspieszenia procesu ładowania dużych ilości naszych danych o roszczeniach w celu czyszczenia i transformacji danych w ramach przygotowań do ML. Pokazaliśmy także, jak włączyć inżynierię funkcji do niestandardowych transformacji przy użyciu Pand i PySpark w Data Wrangler, co pozwala nam eksportować dane krok po kroku (po każdym łączeniu) w celu zapewnienia jakości. Zastosowanie tych łatwych w użyciu transformacji w Data Wrangler skróciło czas poświęcony na kompleksową transformację danych o prawie 50%. Ponadto funkcja analizy szybkiego modelu w Data Wrangler pozwoliła nam łatwo zweryfikować stan transformacji podczas cyklicznych procesów przygotowywania danych i inżynierii funkcji.

Teraz, gdy przygotowaliśmy dane na potrzeby naszego przypadku użycia w modelowaniu ryzyka dla zdrowia psychicznego, w następnym kroku planujemy zbudować model uczenia maszynowego przy użyciu SageMakera i wbudowanych w niego algorytmów, wykorzystując nasz zbiór danych dotyczących roszczeń do identyfikacji członków, którzy powinni szukać zdrowia psychicznego usług, zanim dojdą do punktu, w którym będą tego potrzebować. Czekać na dalsze informacje!


O autorach

Zbuduj model ryzyka uczenia maszynowego w zakresie zdrowia psychicznego, korzystając z Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Shibangi Saha jest analitykiem danych w Equilibrium Point. Łączy swoją wiedzę specjalistyczną w zakresie danych o roszczeniach płatników opieki zdrowotnej i uczenia maszynowego, aby projektować, wdrażać, automatyzować i dokumentować potoki danych zdrowotnych, raportowanie i procesy analityczne, które dostarczają spostrzeżeń i praktycznych ulepszeń w systemie świadczenia opieki zdrowotnej. Shibangi uzyskała tytuł magistra bioinformatyki w Northeastern University College of Science oraz tytuł licencjata w dziedzinie biologii i informatyki w Khoury College of Computer Science and Information Sciences.

Zbuduj model ryzyka uczenia maszynowego w zakresie zdrowia psychicznego, korzystając z Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Graciela Krawtzow jest współzałożycielem i dyrektorem technicznym firmy Equilibrium Point. Grace zajmowała stanowiska kierownicze na poziomie C/VP w działach inżynierii, operacji i jakości, a także pełniła funkcję konsultanta wykonawczego ds. strategii biznesowej i rozwoju produktów w branży opieki zdrowotnej i edukacyjnej oraz przestrzeni przemysłowej IoT. Grace uzyskała tytuł magistra inżyniera elektromechaniki na Uniwersytecie w Buenos Aires oraz tytuł magistra informatyki na Uniwersytecie Bostońskim.

Zbuduj model ryzyka uczenia maszynowego w zakresie zdrowia psychicznego, korzystając z Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Arunprasath Shankar jest specjalistą ds. rozwiązań w zakresie sztucznej inteligencji i uczenia maszynowego (AI / ML) w AWS, pomagając globalnym klientom skutecznie i wydajnie skalować rozwiązania AI w chmurze. W wolnym czasie Arun lubi oglądać filmy science fiction i słuchać muzyki klasycznej.

Zbuduj model ryzyka uczenia maszynowego w zakresie zdrowia psychicznego, korzystając z Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI. Ajai Sharma jest starszym menedżerem produktu w Amazon SageMaker, gdzie koncentruje się na SageMaker Data Wrangler, narzędziu do wizualnego przygotowywania danych dla analityków danych. Przed AWS Ajai był ekspertem ds. nauki o danych w McKinsey and Company, gdzie kierował projektami skoncentrowanymi na ML dla wiodących firm finansowych i ubezpieczeniowych na całym świecie. Ajai jest pasjonatem nauki o danych i uwielbia odkrywać najnowsze algorytmy i techniki uczenia maszynowego.

Znak czasu:

Więcej z Uczenie maszynowe AWS