Build a mental health machine learning risk model using Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Z Amazon SageMaker Data Wrangler zgradite model tveganja za strojno učenje za duševno zdravje

To objavo sta skupaj napisala Shibangi Saha, podatkovni znanstvenik, in Graciela Kravtzov, soustanoviteljica in tehnična direktorica podjetja Equilibrium Point.

Številni posamezniki doživljajo nove simptome duševne bolezni, kot so stres, anksioznost, depresija, uživanje substanc in posttravmatska stresna motnja (PTSM). Po navedbah Fundacija družine Kaiser, je približno polovica odraslih (47 %) po vsej državi poročala o negativnih vplivih na duševno zdravje med pandemijo, kar je znatno povečanje glede na ravni pred pandemijo. Poleg tega so nekateri spoli in starostne skupine med tistimi, ki najverjetneje poročajo o stresu in zaskrbljenosti, pri čemer so stopnje veliko višje od drugih. Poleg tega obstaja večja verjetnost, da bo nekaj posebnih etničnih skupin poročalo o "velikem vplivu" na njihovo duševno zdravje kot druge.

Več raziskav, vključno s tistimi, ki jih je zbral Center za nadzor bolezni (CDC), je pokazalo znatno povečanje vedenjskih zdravstvenih simptomov, o katerih so poročali sami. Po poročilu enega CDC, ki je konec junija 2020 anketiral odrasle po ZDA, je 31 % anketirancev poročalo o simptomih anksioznosti ali depresije, 13 % jih je poročalo, da so začeli ali povečali uživanje substanc, 26 % jih je poročalo o simptomih, povezanih s stresom, in 11 % poročali, da so v zadnjih 30 dneh resno razmišljali o samomoru.

Čeprav so podatki, ki jih poročajo sami, absolutno kritični pri diagnosticiranju motenj duševnega zdravja, so lahko podvrženi vplivom, povezanim s stalno stigmo, ki obdaja duševno zdravje in zdravljenje duševnega zdravja. Namesto da bi se zanašali samo na podatke, ki jih poročamo sami, lahko ocenimo in napovemo duševno stisko z uporabo podatkov iz zdravstvenih kartotek in podatkov o zahtevkih, da bi poskušali odgovoriti na temeljno vprašanje: ali lahko predvidimo, kdo bo verjetno potreboval duševno pomoč, preden jo potrebuje? Če je te posameznike mogoče identificirati, je mogoče razviti programe in vire zgodnje intervencije ter jih uporabiti za odziv na kakršne koli nove ali povečane osnovne simptome za ublažitev učinkov in stroškov duševnih motenj.

Lažje reči kot storiti za tiste, ki imajo težave z upravljanjem in obdelavo velikih količin zapletenih podatkov o zahtevkih, polnih vrzeli! V tej objavi delimo, kako Equilibrium Point IoT Rabljeni Amazon SageMaker Data Wrangler da poenostavimo pripravo podatkov o zahtevkih za naš primer uporabe za duševno zdravje, hkrati pa zagotovimo kakovost podatkov v vsakem koraku v procesu.

Pregled rešitev

Priprava podatkov ali inženiring funkcij je dolgočasen proces, ki zahteva izkušene podatkovne znanstvenike in inženirje, ki porabijo veliko časa in energije za oblikovanje receptov za različne transformacije (korake), potrebne za spravitev podatkov v pravo obliko. Dejansko raziskave kažejo, da priprava podatkov za strojno učenje (ML) porabi do 80 % časa podatkovnih znanstvenikov. Običajno znanstveniki in inženirji uporabljajo različna ogrodja za obdelavo podatkov, kot so Pandas, PySpark in SQL, za kodiranje svojih transformacij in ustvarjanje opravil porazdeljene obdelave. Z Data Wranglerjem lahko avtomatizirate ta proces. Data Wrangler je sestavni del Amazon SageMaker Studio ki ponuja celovito rešitev za uvoz, pripravo, preoblikovanje, predstavljanje in analizo podatkov. Integrirate lahko Data Wrangler pretok podatkov v vaše obstoječe poteke dela ML, da poenostavite in racionalizirate obdelavo podatkov in inženiring funkcij z uporabo malo ali nič kodiranja.

V tem prispevku se sprehodimo skozi korake za preoblikovanje izvirnih neobdelanih naborov podatkov v funkcije, pripravljene za ML, ki jih uporabimo za izdelavo modelov napovedi v naslednji fazi. Najprej se poglobimo v naravo različnih naborov podatkov, uporabljenih za naš primer uporabe, in na to, kako smo te nabore podatkov združili prek orodja Data Wrangler. Po združitvah in konsolidaciji nabora podatkov opišemo posamezne transformacije, ki smo jih uporabili za nabor podatkov, kot je odstranjevanje podvojitev, obravnavanje manjkajočih vrednosti in formule po meri, čemur sledi, kako smo uporabili vgrajeno analizo hitrega modela za preverjanje trenutnega stanja transformacij. za napovedi.

Podatkovni nizi

Za naš poskus smo najprej prenesli podatke o bolnikih iz našega odjemalca vedenjskega zdravja. Ti podatki vključujejo naslednje:

  • Podatki o terjatvah
  • Obisk urgence šteje
  • Bolnišnični obisk šteje
  • Število predpisanih zdravil je povezano z duševnim zdravjem
  • Hierarhično kodiranje stanja (HCC) diagnosticira števila, povezana z duševnim zdravjem

Cilj je bil združiti te ločene nize podatkov na podlagi ID-ja bolnika in uporabiti podatke za napovedovanje diagnoze duševnega zdravja. Data Wrangler smo uporabili za ustvarjanje ogromnega nabora podatkov z več milijoni vrstic podatkov, ki je združitev petih ločenih naborov podatkov. Uporabili smo tudi Data Wrangler za izvedbo več transformacij, da bi omogočili izračune stolpcev. V naslednjih razdelkih opisujemo različne transformacije priprave podatkov, ki smo jih uporabili.

Spustite podvojene stolpce po združitvi

Amazon SageMaker Data Wrangler ponuja številne pretvorbe podatkov ML za poenostavitev čiščenja, preoblikovanja in predstavljanja vaših podatkov. Ko dodate transformacijo, doda korak podatkovnemu toku. Vsaka transformacija, ki jo dodate, spremeni vaš nabor podatkov in ustvari nov podatkovni okvir. Vse nadaljnje transformacije veljajo za nastali podatkovni okvir. Data Wrangler vključuje vgrajene transformacije, ki jih lahko uporabite za transformacijo stolpcev brez kode. Dodate lahko tudi transformacije po meri z uporabo PySpark, Pandas in PySpark SQL. Nekatere transformacije delujejo na mestu, medtem ko druge ustvarijo nov izhodni stolpec v vašem naboru podatkov.

Za naše poskuse smo imeli po vsakem združevanju ID-ja pacienta podvojene stolpce ID-ja pacienta. Te stolpce smo morali opustiti. Izpustili smo desni stolpec z ID-jem pacienta, kot je prikazano na naslednjem posnetku zaslona z uporabo vnaprej izdelanega Upravljanje stolpcev ->Spustite stolpec transformacijo, da ohranite samo en stolpec z ID-jem pacienta (pacient_id v končnem nizu podatkov).

ML8274-slika001

Zavrtite nabor podatkov s Pandas

Podatkovni nizi zahtevkov so bili na ravni pacienta z nujnim obiskom (ER), bolnišničnim (IP), številom receptov in podatki o diagnozah, ki so že razvrščeni po njihovih ustreznih kodah HCC (približno 189 kod). Za izgradnjo pacientovega podatkovnega trga združimo kode zahtevkov HCC po pacientih in zavrtimo kodo HCC iz vrstic v stolpce. Uporabili smo Pandas za vrtenje nabora podatkov, štetje števila kod HCC po pacientu in nato pridružitev primarnemu naboru podatkov na ID-ju pacienta. Uporabili smo možnost transformacije po meri v programu Data Wrangler in izbrali Python (Pandas) kot izbrano ogrodje.

ML8274-slika002

Naslednji delček kode prikazuje logiko preoblikovanja za vrtenje tabele:

# 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

Ustvarite nove stolpce z uporabo formul po meri

Preučevali smo raziskovalno literaturo, da bi ugotovili, katere kode HCC so deterministične pri diagnozah duševnega zdravja. To logiko smo nato napisali s pretvorbo formule po meri Data Wrangler, ki uporablja izraz Spark SQL za izračun ciljnega stolpca diagnoze duševnega zdravja (MH), ki smo ga dodali na konec DataFrame.

ML8274-slika003

Uporabili smo naslednjo logiko transformacije:

# 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)

Spustite stolpce iz DataFrame s pomočjo PySpark

Po izračunu ciljnega (MH) stolpca smo izpustili vse nepotrebne podvojene stolpce. Ohranili smo ID bolnika in stolpec MH, da bi se pridružili našemu primarnemu naboru podatkov. To je olajšala pretvorba SQL po meri, ki uporablja PySpark SQL kot okvir po naši izbiri.

ML8274-slika005

Uporabili smo naslednjo logiko:

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

Za začetek premaknite stolpec MH

Naš algoritem ML zahteva, da je označeni vnos v prvem stolpcu. Zato smo premaknili izračunani stolpec MH na začetek DataFrame, da je pripravljen za izvoz.

ML8274-slika006

Izpolnite prazna mesta z 0 z uporabo Pande

Naš algoritem ML prav tako zahteva, da vhodni podatki nimajo praznih polj. Zato smo prazna polja končnega nabora podatkov izpolnili z ničlami. To lahko preprosto storimo s pretvorbo po meri (Pandas) v Data Wranglerju.

ML8274-slika007

Uporabili smo naslednjo logiko:

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

Cast stolpec od lebdečega do dolgega

V Data Wranglerju lahko tudi preprosto razčlenite in pretvorite stolpec v katero koli novo podatkovno vrsto. Za namene optimizacije pomnilnika naš vnosni stolpec oznake duševnega zdravja pretvorimo v plavajoči.

ML8274-slika008

Hitra analiza modela: graf pomembnosti značilnosti

Po ustvarjanju našega končnega nabora podatkov smo uporabili vrsto analize hitrega modela v Data Wranglerju za hitro prepoznavanje nedoslednosti podatkov in ali je bila natančnost našega modela v pričakovanem obsegu ali če smo morali nadaljevati z inženiringom funkcij, preden smo porabili čas za usposabljanje modela. Model je vrnil oceno F1 0.901, pri čemer je bila 1 najvišja. Rezultat F1 je način združevanja natančnosti in priklica modela in je opredeljen kot harmonična sredina obeh. Po pregledu teh začetnih pozitivnih rezultatov smo bili pripravljeni na izvoz podatkov in nadaljevanje usposabljanja modela z uporabo izvoženega nabora podatkov.

ML8274-slika009

Izvozite končni nabor podatkov v Amazon S3 prek prenosnega računalnika Jupyter

Kot zadnji korak izvozite nabor podatkov v trenutni (preoblikovani) obliki v Preprosta storitev shranjevanja Amazon (Amazon S3) za prihodnjo uporabo pri usposabljanju modelov uporabljamo Shrani v Amazon S3 (prek Jupyter Notebook) možnost izvoza. Ta prenosni računalnik je distribuiran in razširljiv Obdelava Amazon SageMaker opravilo, ki uporabi ustvarjeni recept (pretok podatkov) za določene vnose (običajno večje nabore podatkov) in shrani rezultate v Amazon S3. Svoje transformirane stolpce (funkcije) lahko tudi izvozite v Trgovina s funkcijami Amazon SageMaker ali izvozite transformacije kot cevovod z uporabo Amazonski cevovodi SageMakerali preprosto izvozite transformacije kot kodo Python.

Za izvoz podatkov v Amazon S3 imate tri možnosti:

  • Izvozite transformirane podatke neposredno v Amazon S3 prek uporabniškega vmesnika Data Wrangler
  • Izvozite transformacije kot opravilo obdelave SageMaker prek zvezka Jupyter (kot počnemo za to objavo).
  • Izvozite transformacije v Amazon S3 prek ciljnega vozlišča. Ciljno vozlišče pove Data Wranglerju, kam naj shrani podatke, potem ko jih obdelate. Ko ustvarite ciljno vozlišče, ustvarite opravilo obdelave za izhod podatkov.

ML8274-slika010

zaključek

V tej objavi smo predstavili, kako Equilibrium Point IoT uporablja Data Wrangler za pospešitev postopka nalaganja velikih količin naših podatkov o zahtevkih za čiščenje in preoblikovanje podatkov v pripravi na ML. Pokazali smo tudi, kako vključiti inženiring funkcij s transformacijami po meri z uporabo Pandas in PySpark v Data Wranglerju, kar nam omogoča izvoz podatkov korak za korakom (po vsaki pridružitvi) za namene zagotavljanja kakovosti. Uporaba teh enostavnih transformacij v Data Wranglerju je skrajšala čas, porabljen za pretvorbo podatkov od konca do konca, za skoraj 50 %. Poleg tega nam je funkcija analize hitrega modela v Data Wranglerju omogočila preprosto preverjanje stanja transformacij, ko krožimo skozi proces priprave podatkov in inženiringa funkcij.

Zdaj, ko smo pripravili podatke za naš primer uporabe modeliranja tveganja za duševno zdravje, kot naslednji korak načrtujemo izgradnjo modela ML z uporabo SageMakerja in vgrajenih algoritmov, ki jih ponuja, z uporabo našega nabora podatkov o trditvah za identifikacijo članov, ki bi morali iskati duševno zdravje storitev, preden pridejo do točke, ko jo potrebujejo. Ostani na vezi!


O avtorjih

Build a mental health machine learning risk model using Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertical Search. Ai.Shibangi Saha je podatkovni znanstvenik pri Equilibrium Point. Združuje svoje strokovno znanje o podatkih o odškodninskih zahtevkih plačnikov zdravstvenega varstva in strojnem učenju za načrtovanje, implementacijo, avtomatizacijo in dokumentiranje cevovodov zdravstvenih podatkov, poročanja in analitičnih procesov, ki spodbujajo vpoglede in učinkovite izboljšave v sistemu zagotavljanja zdravstvenega varstva. Shibangijeva je magistrirala iz bioinformatike na Northeastern University College of Science in diplomirala iz biologije in računalništva na Khoury College of Computer Science and Information Sciences.

Build a mental health machine learning risk model using Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertical Search. Ai.Graciela Kravcov je soustanovitelj in tehnični direktor podjetja Equilibrium Point. Grace je bila na vodilnih položajih C-level/VP v inženirstvu, operacijah in kakovosti ter je bila izvršna svetovalka za poslovno strategijo in razvoj izdelkov v zdravstveni in izobraževalni industriji ter industrijskem prostoru IoT. Grace je prejela magisterij iz inženirja elektromehanike na Univerzi v Buenos Airesu in magisterij iz računalništva na Univerzi v Bostonu.

Build a mental health machine learning risk model using Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertical Search. Ai.Arunprasath Shankar je arhitekt za umetno inteligenco in strojno učenje (AI / ML) Specialist Solutions Architect z AWS, ki svetovnim strankam pomaga, da svoje rešitve AI učinkovito in uspešno lestvijo v oblaku. V prostem času Arun rad gleda znanstvenofantastične filme in posluša klasično glasbo.

Build a mental health machine learning risk model using Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertical Search. Ai. Ajai Sharma je višji produktni vodja za Amazon SageMaker, kjer se osredotoča na SageMaker Data Wrangler, vizualno orodje za pripravo podatkov za podatkovne znanstvenike. Pred AWS je bil Ajai strokovnjak za podatkovno znanost pri McKinsey and Company, kjer je vodil posle, osredotočene na strojno upravljanje, za vodilna finančna in zavarovalniška podjetja po vsem svetu. Ajai je navdušen nad podatkovno znanostjo in rad raziskuje najnovejše algoritme in tehnike strojnega učenja.

Časovni žig:

Več od Strojno učenje AWS