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

Creați un model de risc de învățare automată pentru sănătatea mintală folosind Amazon SageMaker Data Wrangler

Această postare este co-scrisă de Shibangi Saha, Data Scientist, și Graciela Kravtzov, co-fondatoare și CTO, Equilibrium Point.

Mulți indivizi se confruntă cu noi simptome de boli mintale, cum ar fi stresul, anxietatea, depresia, consumul de substanțe și tulburarea de stres post-traumatic (PTSD). Conform Fundația familiei Kaiser, aproximativ jumătate dintre adulți (47%) la nivel național au raportat efecte negative asupra sănătății mintale în timpul pandemiei, o creștere semnificativă față de nivelurile pre-pandemie. De asemenea, anumite sexe și grupuri de vârstă sunt printre cele mai susceptibile de a raporta stres și îngrijorare, la rate mult mai mari decât altele. În plus, câteva grupuri etnice specifice au mai multe șanse să raporteze un „impact major” asupra sănătății lor mintale decât altele.

Mai multe sondaje, inclusiv cele colectate de Centers for Disease Control (CDC), au arătat creșteri substanțiale ale simptomelor de sănătate comportamentală auto-raportate. Potrivit unui raport CDC, care a chestionat adulții din SUA la sfârșitul lunii iunie 2020, 31% dintre respondenți au raportat simptome de anxietate sau depresie, 13% au raportat că au început sau au crescut consumul de substanțe, 26% au raportat simptome legate de stres și 11% a raportat că a avut gânduri serioase de sinucidere în ultimele 30 de zile.

Datele auto-raportate, deși sunt absolut critice în diagnosticarea tulburărilor de sănătate mintală, pot fi supuse influențelor legate de stigmatizarea continuă a sănătății mintale și a tratamentului pentru sănătatea mintală. În loc să ne bazăm doar pe datele auto-raportate, putem estima și prognoza suferința mintală folosind date din fișele de sănătate și datele despre revendicări pentru a încerca să răspundem la o întrebare fundamentală: putem prezice cine va avea probabil nevoie de ajutor pentru sănătatea mintală înainte de a avea nevoie de el? Dacă acești indivizi pot fi identificați, programele și resursele de intervenție timpurie pot fi dezvoltate și desfășurate pentru a răspunde la orice simptome noi sau la creșterea simptomelor subiacente pentru a atenua efectele și costurile tulburărilor mintale.

Mai ușor de spus decât de făcut pentru cei care s-au luptat cu gestionarea și procesarea unor volume mari de date complexe, pline de lacune! În această postare, vă împărtășim cum Punctul de echilibru IoT utilizat Amazon SageMaker Data Wrangler pentru a eficientiza pregătirea datelor privind reclamațiile pentru cazul nostru de utilizare a sănătății mintale, asigurând în același timp calitatea datelor pe parcursul fiecărei etape a procesului.

Prezentare generală a soluțiilor

Pregătirea datelor sau ingineria caracteristicilor este un proces obositor, care necesită oameni de știință de date și ingineri cu experiență să cheltuiască mult timp și energie pentru a formula rețete pentru diferitele transformări (pași) necesari pentru a aduce datele în forma corectă. De fapt, cercetările arată că pregătirea datelor pentru învățarea automată (ML) consumă până la 80% din timpul cercetătorilor de date. De obicei, oamenii de știință și inginerii folosesc diverse cadre de procesare a datelor, cum ar fi Pandas, PySpark și SQL, pentru a-și codifica transformările și pentru a crea joburi de procesare distribuită. Cu Data Wrangler, puteți automatiza acest proces. Data Wrangler este o componentă a Amazon SageMaker Studio care oferă o soluție end-to-end pentru a importa, pregăti, transforma, prezenta și analiza date. Puteți integra un Data Wrangler flux de date în fluxurile dvs. de lucru ML existente pentru a simplifica și eficientiza procesarea datelor și ingineria caracteristicilor folosind puțină sau deloc codificare.

În această postare, parcurgem pașii pentru a transforma seturile de date brute originale în caracteristici pregătite pentru ML pentru a le folosi pentru construirea modelelor de predicție în etapa următoare. În primul rând, analizăm natura diferitelor seturi de date utilizate pentru cazul nostru de utilizare și modul în care ne-am alăturat acestor seturi de date prin Data Wrangler. După îmbinări și consolidarea setului de date, descriem transformările individuale pe care le-am aplicat pe setul de date, cum ar fi deduplicarea, gestionarea valorilor lipsă și formulele personalizate, urmate de modul în care am folosit analiza Quick Model încorporată pentru a valida starea actuală a transformărilor. pentru previziuni.

Datasets

Pentru experimentul nostru, am descărcat mai întâi datele pacientului de la clientul nostru de sănătate comportamentală. Aceste date includ următoarele:

  • Date de revendicare
  • Vizitele la camera de urgență contează
  • Vizita pacientului internat contează
  • Numărul de prescripții de medicamente legate de sănătatea mintală
  • Codarea ierarhică a stării (HCC) diagnostichează numărătoarele legate de sănătatea mintală

Scopul a fost să se alăture acestor seturi de date separate pe baza ID-ului pacientului și să utilizeze datele pentru a prezice un diagnostic de sănătate mintală. Am folosit Data Wrangler pentru a crea un set de date masiv de câteva milioane de rânduri de date, care este o unire a cinci seturi de date separate. De asemenea, am folosit Data Wrangler pentru a efectua mai multe transformări pentru a permite calculele pe coloane. În secțiunile următoare, descriem diferitele transformări de pregătire a datelor pe care le-am aplicat.

Aruncă coloanele duplicate după o alăturare

Amazon SageMaker Data Wrangler oferă numeroase transformări de date ML pentru a simplifica curățarea, transformarea și prezentarea datelor dvs. Când adăugați o transformare, aceasta adaugă un pas fluxului de date. Fiecare transformare pe care o adăugați vă modifică setul de date și produce un nou cadru de date. Toate transformările ulterioare se aplică cadrului de date rezultat. Data Wrangler include transformări încorporate, pe care le puteți folosi pentru a transforma coloanele fără niciun cod. De asemenea, puteți adăuga transformări personalizate folosind PySpark, Pandas și PySpark SQL. Unele transformări funcționează în loc, în timp ce altele creează o nouă coloană de ieșire în setul de date.

Pentru experimentele noastre, deoarece după fiecare conectare la ID-ul pacientului, am rămas cu coloane duplicat ID-ul pacientului. Trebuia să aruncăm aceste coloane. Am renunțat la coloana din dreapta cu ID-ul pacientului, așa cum se arată în următoarea captură de ecran, folosind modelul pre-construit Gestionați coloanele ->Aruncați coloana transform, pentru a menține o singură coloană ID pacient (ID_pacient în setul de date final).

ML8274-image001

Pivotați un set de date folosind Pandas

Seturile de date privind revendicările au fost la nivel de pacient cu vizita de urgență (ER), pacientul internat (IP), numărul de prescripții și datele de diagnostic deja grupate după codurile HCC corespondente (aproximativ 189 de coduri). Pentru a construi un datamart pentru pacient, cumulăm codurile HCC ale revendicărilor în funcție de pacient și pivotăm codul HCC de la rânduri la coloane. Am folosit Pandas pentru a pivota setul de date, a număra numărul de coduri HCC în funcție de pacient și apoi am alăturat setului de date primar pe ID-ul pacientului. Am folosit opțiunea de transformare personalizată în Data Wrangler, alegând Python (Pandas) ca cadru de alegere.

ML8274-image002

Următorul fragment de cod arată logica de transformare pentru pivotarea tabelului:

# 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

Creați coloane noi folosind formule personalizate

Am studiat literatura de cercetare pentru a determina care coduri HCC sunt deterministe în diagnosticele de sănătate mintală. Apoi am scris această logică folosind o transformare de formulă personalizată Data Wrangler care utilizează o expresie Spark SQL pentru a calcula o coloană țintă a diagnosticului de sănătate mintală (MH), pe care am adăugat-o la sfârșitul DataFrame.

ML8274-image003

Am folosit următoarea logică de transformare:

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

Eliminați coloanele din DataFrame folosind PySpark

După calcularea coloanei țintă (MH), am renunțat la toate coloanele duplicat inutile. Am păstrat ID-ul pacientului și coloana MH pentru a se alătura setului nostru de date principal. Acest lucru a fost facilitat de o transformare SQL personalizată care utilizează PySpark SQL ca cadru la alegerea noastră.

ML8274-image005

Am folosit următoarea logică:

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

Mutați coloana MH pentru a începe

Algoritmul nostru ML necesită ca intrarea etichetată să fie în prima coloană. Prin urmare, am mutat coloana calculată MH la începutul DataFrame pentru a fi gata pentru export.

ML8274-image006

Completați spațiile libere cu 0 folosind Pandas

Algoritmul nostru ML necesită, de asemenea, ca datele de intrare să nu aibă câmpuri goale. Prin urmare, am completat câmpurile goale ale setului de date final cu 0. Putem face acest lucru cu ușurință printr-o transformare personalizată (Pandas) în Data Wrangler.

ML8274-image007

Am folosit următoarea logică:

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

Coloana turnată de la float la lung

De asemenea, puteți analiza și proiecta o coloană la orice tip de date nou cu ușurință în Data Wrangler. În scopul optimizării memoriei, am proiectat coloana de intrare a etichetei de sănătate mintală ca float.

ML8274-image008

Analiză rapidă a modelului: graficul importanței caracteristicilor

După crearea setului nostru de date final, am folosit tipul de analiză Quick Model în Data Wrangler pentru a identifica rapid inconsecvențele datelor și dacă precizia modelului nostru a fost în intervalul așteptat sau dacă trebuie să continuăm ingineria caracteristicilor înainte de a petrece timpul de instruire a modelului. Modelul a returnat un scor F1 de 0.901, 1 fiind cel mai mare. Un scor F1 este o modalitate de a combina precizia și reamintirea modelului și este definit ca media armonică a celor două. După inspectarea acestor rezultate pozitive inițiale, eram gata să exportăm datele și să continuăm cu antrenamentul modelului folosind setul de date exportat.

ML8274-image009

Exportați setul de date final pe Amazon S3 printr-un notebook Jupyter

Ca pas final, pentru a exporta setul de date în forma sa actuală (transformată) în Serviciul Amazon de stocare simplă (Amazon S3) pentru utilizare viitoare la antrenamentul modelului, folosim Salvați pe Amazon S3 (prin Jupyter Notebook) opțiunea de export. Acest notebook începe o distribuție și scalabilă Procesare Amazon SageMaker job care aplică rețeta creată (fluxul de date) intrărilor specificate (de obicei seturi de date mai mari) și salvează rezultatele în Amazon S3. De asemenea, puteți exporta coloanele (funcțiile) transformate în Magazinul de caracteristici Amazon SageMaker sau exportați transformările ca o conductă folosind Pipelines Amazon SageMaker, sau pur și simplu exportați transformările ca cod Python.

Pentru a exporta date în Amazon S3, aveți trei opțiuni:

  • Exportați datele transformate direct în Amazon S3 prin interfața de utilizare Data Wrangler
  • Exportați transformările ca un job de procesare SageMaker printr-un blocnotes Jupyter (așa cum facem pentru această postare).
  • Exportați transformările în Amazon S3 printr-un nod de destinație. Un nod de destinație îi spune lui Data Wrangler unde să stocheze datele după ce le-ați procesat. După ce creați un nod destinație, creați un job de procesare pentru a scoate datele.

ML8274-image010

Concluzie

În această postare, am prezentat modul în care Equilibrium Point IoT utilizează Data Wrangler pentru a accelera procesul de încărcare a unor cantități mari de date despre reclamații pentru curățarea și transformarea datelor în pregătirea pentru ML. De asemenea, am demonstrat cum să încorporăm ingineria caracteristicilor cu transformări personalizate folosind Pandas și PySpark în Data Wrangler, permițându-ne să exportăm datele pas cu pas (după fiecare alăturare) în scopuri de asigurare a calității. Aplicarea acestor transformări ușor de utilizat în Data Wrangler a redus timpul petrecut cu transformarea datelor de la capăt la capăt cu aproape 50%. De asemenea, funcția de analiză rapidă a modelului din Data Wrangler ne-a permis să validăm cu ușurință starea transformărilor pe măsură ce parcurgem procesul de pregătire a datelor și de inginerie a caracteristicilor.

Acum că am pregătit datele pentru cazul nostru de utilizare a modelării riscului pentru sănătatea mintală, ca pas următor, intenționăm să construim un model ML folosind SageMaker și algoritmii încorporați pe care îi oferă, utilizând setul nostru de date privind reclamațiile pentru a identifica membrii care ar trebui să caute sănătate mintală. servicii înainte de a ajunge într-un punct în care au nevoie de ele. Rămâneţi aproape!


Despre Autori

Build a mental health machine learning risk model using Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertical Search. Ai.Shibangi Saha este Data Scientist la Equilibrium Point. Ea își combină experiența în datele privind cererile de plată a plătitorilor de asistență medicală și învățarea automată pentru a proiecta, implementa, automatiza și documenta procesele de conducte de date de sănătate, raportare și analiză care generează informații și îmbunătățiri acționabile în sistemul de furnizare a asistenței medicale. Shibangi și-a primit masterul în bioinformatică de la Northeastern University College of Science și o licență în biologie și informatică de la 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 Kravtzov este co-fondatorul și CTO al Equilibrium Point. Grace a ocupat poziții de conducere la nivel C/VP în Inginerie, Operațiuni și Calitate și a servit ca consultant executiv pentru strategia de afaceri și dezvoltarea de produse în industriile de sănătate și educație și spațiul industrial IoT. Grace a primit o diplomă de master în inginer electromecanic de la Universitatea din Buenos Aires și o diplomă de master în informatică de la Universitatea din Boston.

Build a mental health machine learning risk model using Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertical Search. Ai.Arunprasath Shankar este un arhitect specializat în soluții de inteligență artificială și învățare automată (AI / ML) cu AWS, ajutând clienții globali să își scaleze soluțiile de AI în mod eficient și eficient în cloud. În timpul liber, lui Arun îi place să urmărească filme SF și să asculte muzică clasică.

Build a mental health machine learning risk model using Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertical Search. Ai. Ajai Sharma este Senior Product Manager pentru Amazon SageMaker, unde se concentrează pe SageMaker Data Wrangler, un instrument vizual de pregătire a datelor pentru oamenii de știință de date. Înainte de AWS, Ajai a fost expert în știința datelor la McKinsey and Company, unde a condus angajamente axate pe ML pentru companii de finanțe și asigurări de top din întreaga lume. Ajai este pasionat de știința datelor și îi place să exploreze cei mai noi algoritmi și tehnici de învățare automată.

Timestamp-ul:

Mai mult de la Învățare automată AWS