Bouw een risicomodel voor machine learning in de geestelijke gezondheidszorg met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Bouw een risicomodel voor machine learning in de geestelijke gezondheidszorg met Amazon SageMaker Data Wrangler

Dit bericht is mede geschreven door Shibangi Saha, datawetenschapper, en Graciela Kravtzov, medeoprichter en CTO van Equilibrium Point.

Veel mensen ervaren nieuwe symptomen van psychische aandoeningen, zoals stress, angst, depressie, middelengebruik en posttraumatische stressstoornis (PTSS). Volgens Kaiser Family Foundationheeft ongeveer de helft van de volwassenen (47%) in het hele land negatieve gevolgen voor de geestelijke gezondheid gemeld tijdens de pandemie, een aanzienlijke stijging ten opzichte van het niveau van vóór de pandemie. Bovendien zijn bepaalde geslachten en leeftijdsgroepen het meest geneigd om stress en zorgen te rapporteren, in een veel hoger tempo dan bij andere. Bovendien rapporteren enkele specifieke etnische groepen eerder een “grote impact” op hun geestelijke gezondheid dan andere.

Verschillende onderzoeken, waaronder die verzameld door de Centers for Disease Control (CDC), hebben een aanzienlijke toename van zelfgerapporteerde gedragsmatige gezondheidssymptomen aangetoond. Volgens een CDC-rapport, waarin eind juni 2020 volwassenen in de VS werden ondervraagd, rapporteerde 31% van de respondenten symptomen van angst of depressie, meldde 13% dat ze begonnen waren met of toenemend middelengebruik, 26% rapporteerde stressgerelateerde symptomen en 11% meldde dat hij in de afgelopen 30 dagen ernstige zelfmoordgedachten had.

Zelfgerapporteerde gegevens zijn weliswaar van cruciaal belang bij het diagnosticeren van psychische stoornissen, maar kunnen onderhevig zijn aan invloeden die verband houden met het aanhoudende stigma rond geestelijke gezondheid en behandeling in de geestelijke gezondheidszorg. In plaats van uitsluitend te vertrouwen op zelfgerapporteerde gegevens, kunnen we mentale problemen inschatten en voorspellen met behulp van gegevens uit medische dossiers en claimgegevens om een ​​fundamentele vraag te proberen beantwoorden: kunnen we voorspellen wie waarschijnlijk geestelijke gezondheidszorg nodig heeft voordat ze die nodig hebben? Als deze individuen kunnen worden geïdentificeerd, kunnen programma's en middelen voor vroegtijdige interventie worden ontwikkeld en ingezet om te reageren op eventuele nieuwe of toename van onderliggende symptomen om de effecten en kosten van psychische stoornissen te verzachten.

Makkelijker gezegd dan gedaan voor degenen die moeite hebben met het beheren en verwerken van grote hoeveelheden complexe claimgegevens met veel gaten! In dit bericht delen we hoe Evenwichtspunt IoT gebruikt Amazon SageMaker-gegevens Wrangler om de voorbereiding van claimgegevens te stroomlijnen voor ons gebruiksscenario op het gebied van de geestelijke gezondheidszorg, terwijl de gegevenskwaliteit tijdens elke stap in het proces wordt gewaarborgd.

Overzicht oplossingen

Datavoorbereiding of feature-engineering is een moeizaam proces, waarbij ervaren datawetenschappers en engineers veel tijd en energie besteden aan het formuleren van recepten voor de verschillende transformaties (stappen) die nodig zijn om de data in de juiste vorm te krijgen. Uit onderzoek blijkt zelfs dat datavoorbereiding voor machinaal leren (ML) tot 80% van de tijd van datawetenschappers in beslag neemt. Normaal gesproken gebruiken wetenschappers en ingenieurs verschillende raamwerken voor gegevensverwerking, zoals Pandas, PySpark en SQL, om hun transformaties te coderen en gedistribueerde verwerkingstaken te creëren. Met Data Wrangler kunt u dit proces automatiseren. Data Wrangler is een onderdeel van Amazon SageMaker Studio dat een end-to-end oplossing biedt voor het importeren, voorbereiden, transformeren, featureriseren en analyseren van gegevens. U kunt een Data Wrangler integreren informatiestroom in uw bestaande ML-workflows om gegevensverwerking en feature-engineering te vereenvoudigen en te stroomlijnen met weinig tot geen codering.

In dit bericht doorlopen we de stappen om originele onbewerkte datasets te transformeren in ML-ready functies die we kunnen gebruiken voor het bouwen van de voorspellingsmodellen in de volgende fase. Eerst verdiepen we ons in de aard van de verschillende datasets die voor onze use case worden gebruikt en hoe we deze datasets hebben samengevoegd via Data Wrangler. Na de joins en de consolidatie van de dataset beschrijven we de individuele transformaties die we op de dataset hebben toegepast, zoals deduplicatie, het omgaan met ontbrekende waarden en aangepaste formules, gevolgd door hoe we de ingebouwde Quick Model-analyse hebben gebruikt om de huidige staat van transformaties te valideren voor voorspellingen.

datasets

Voor ons experiment hebben we eerst patiëntgegevens gedownload van onze gedragsgezondheidscliënt. Deze gegevens omvatten het volgende:

  • Claimgegevens
  • Bezoek aan de spoedeisende hulp telt mee
  • Ziekenhuisbezoek telt
  • Het aantal geneesmiddelenrecepten in verband met de geestelijke gezondheid
  • Hiërarchische conditiecodering (HCC) diagnoses tellen met betrekking tot geestelijke gezondheid

Het doel was om deze afzonderlijke datasets op basis van patiënt-ID samen te voegen en de gegevens te gebruiken om een ​​diagnose op het gebied van de geestelijke gezondheid te voorspellen. We hebben Data Wrangler gebruikt om een ​​enorme dataset van enkele miljoenen rijen met gegevens te maken, een samenvoeging van vijf afzonderlijke datasets. We hebben Data Wrangler ook gebruikt om verschillende transformaties uit te voeren om kolomberekeningen mogelijk te maken. In de volgende paragrafen beschrijven we de verschillende gegevensvoorbereidingstransformaties die we hebben toegepast.

Verwijder dubbele kolommen na een join

Amazon SageMaker Data Wrangler biedt talloze ML-gegevenstransformaties om het opschonen, transformeren en functionaliteit van uw gegevens te stroomlijnen. Wanneer u een transformatie toevoegt, wordt er een stap aan de gegevensstroom toegevoegd. Elke transformatie die u toevoegt, wijzigt uw dataset en produceert een nieuw dataframe. Alle daaropvolgende transformaties zijn van toepassing op het resulterende dataframe. Data Wrangler bevat ingebouwde transformaties, die u kunt gebruiken om kolommen zonder code te transformeren. U kunt ook aangepaste transformaties toevoegen met PySpark, Pandas en PySpark SQL. Sommige transformaties worden op hun plaats uitgevoerd, terwijl andere een nieuwe uitvoerkolom in uw gegevensset creëren.

Voor onze experimenten bleven er na elke samenvoeging van de patiënt-ID dubbele patiënt-ID-kolommen achter. We moesten deze kolommen laten vallen. We hebben de juiste patiënt-ID-kolom verwijderd, zoals weergegeven in de volgende schermafbeelding met behulp van de vooraf gebouwde kolom Kolommen beheren ->Kolom laten vallen transformeren, om slechts één patiënt-ID-kolom te behouden (patient_id in de uiteindelijke gegevensset).

ML8274-afbeelding001

Draai een dataset met behulp van Pandas

Claimdatasets waren patiëntniveau met spoedbezoek (ER), ziekenhuisopname (IP), aantal recepten en diagnosegegevens die al waren gegroepeerd op hun corresponderende HCC-codes (ongeveer 189 codes). Om een ​​patiëntdatamart te bouwen, verzamelen we de HCC-codes van claims per patiënt en draaien we de HCC-code van rijen naar kolommen. We hebben Pandas gebruikt om de dataset te draaien, het aantal HCC-codes per patiënt te tellen en vervolgens samen te voegen met de primaire dataset op patiënt-ID. We hebben de aangepaste transformatieoptie in Data Wrangler gebruikt en Python (Pandas) als voorkeursframework gekozen.

ML8274-afbeelding002

Het volgende codefragment toont de transformatielogica voor het draaien van de tabel:

# 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

Maak nieuwe kolommen met aangepaste formules

We hebben onderzoeksliteratuur bestudeerd om te bepalen welke HCC-codes deterministisch zijn bij diagnoses in de geestelijke gezondheidszorg. Vervolgens hebben we deze logica geschreven met behulp van een aangepaste formuletransformatie van Data Wrangler die een Spark SQL-expressie gebruikt om een ​​doelkolom (MH) voor geestelijke gezondheidsdiagnose te berekenen, die we aan het einde van het DataFrame hebben toegevoegd.

ML8274-afbeelding003

We hebben de volgende transformatielogica gebruikt:

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

Verwijder kolommen uit het DataFrame met PySpark

Na berekening van de doelkolom (MH) hebben we alle onnodige dubbele kolommen verwijderd. We hebben de patiënt-ID en de MH-kolom bewaard om deze aan onze primaire dataset toe te voegen. Dit werd mogelijk gemaakt door een aangepaste SQL-transformatie die PySpark SQL gebruikt als een raamwerk van onze keuze.

ML8274-afbeelding005

We hebben de volgende logica gebruikt:

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

Verplaats de MH-kolom om te starten

Ons ML-algoritme vereist dat de gelabelde invoer zich in de eerste kolom bevindt. Daarom hebben we de berekende MH-kolom naar het begin van het DataFrame verplaatst, zodat deze klaar is voor export.

ML8274-afbeelding006

Vul lege velden met 0 in met behulp van Panda's

Ons ML-algoritme vereist ook dat de invoergegevens geen lege velden bevatten. Daarom hebben we de lege velden van de uiteindelijke gegevensset gevuld met nullen. Dit kunnen we eenvoudig doen via een aangepaste transformatie (Panda's) in Data Wrangler.

ML8274-afbeelding007

We hebben de volgende logica gebruikt:

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

Gietkolom van vlotter tot lang

U kunt in Data Wrangler ook eenvoudig een kolom parseren en naar elk nieuw gegevenstype casten. Voor geheugenoptimalisatiedoeleinden hebben we onze invoerkolom voor het geestelijke gezondheidslabel als zwevend weergegeven.

ML8274-afbeelding008

Snelle modelanalyse: grafiek van functiebelang

Nadat we onze definitieve dataset hadden gemaakt, hebben we het Quick Model-analysetype in Data Wrangler gebruikt om snel gegevensinconsistenties te identificeren en of de nauwkeurigheid van ons model binnen het verwachte bereik lag, of dat we door moesten gaan met feature-engineering voordat we de tijd besteedden aan het trainen van het model. Het model leverde een F1-score op van 0.901, waarbij 1 de hoogste was. Een F1-score is een manier om de precisie en herinnering van het model te combineren, en wordt gedefinieerd als het harmonische gemiddelde van de twee. Na inspectie van deze eerste positieve resultaten waren we klaar om de gegevens te exporteren en verder te gaan met modeltraining met behulp van de geëxporteerde dataset.

ML8274-afbeelding009

Exporteer de definitieve dataset naar Amazon S3 via een Jupyter-notebook

Als laatste stap exporteert u de dataset in zijn huidige vorm (getransformeerd) naar Amazon eenvoudige opslagservice (Amazon S3) voor toekomstig gebruik bij modeltraining gebruiken we de Opslaan op Amazon S3 (via Jupyter Notebook) export optie. Deze notebook start een gedistribueerd en schaalbaar Amazon SageMaker-verwerking taak die het gemaakte recept (gegevensstroom) toepast op gespecificeerde invoer (meestal grotere datasets) en de resultaten opslaat in Amazon S3. U kunt uw getransformeerde kolommen (features) ook exporteren naar Amazon SageMaker Feature Store of exporteer de transformaties als een pijplijn met behulp van Amazon SageMaker-pijpleidingen, of exporteer eenvoudigweg de transformaties als Python-code.

Om gegevens naar Amazon S3 te exporteren, heb je drie opties:

  • Exporteer de getransformeerde gegevens rechtstreeks naar Amazon S3 via de Data Wrangler UI
  • Exporteer de transformaties als een SageMaker Processing-taak via een Jupyter-notebook (zoals we doen voor dit bericht).
  • Exporteer de transformaties naar Amazon S3 via een bestemmingsknooppunt. Een bestemmingsknooppunt vertelt Data Wrangler waar de gegevens moeten worden opgeslagen nadat u deze hebt verwerkt. Nadat u een bestemmingsknooppunt hebt gemaakt, maakt u een verwerkingstaak om de gegevens uit te voeren.

ML8274-afbeelding010

Conclusie

In dit bericht hebben we laten zien hoe Equilibrium Point IoT Data Wrangler gebruikt om het laadproces van grote hoeveelheden van onze claimgegevens te versnellen voor het opschonen en transformeren van gegevens ter voorbereiding op ML. We hebben ook gedemonstreerd hoe we feature-engineering kunnen integreren met aangepaste transformaties met behulp van Pandas en PySpark in Data Wrangler, waardoor we gegevens stap voor stap (na elke samenvoeging) kunnen exporteren voor kwaliteitsborgingsdoeleinden. De toepassing van deze gebruiksvriendelijke transformaties in Data Wrangler verminderde de tijd die aan end-to-end datatransformatie werd besteed met bijna 50%. Bovendien stelde de Quick Model-analysefunctie in Data Wrangler ons in staat om eenvoudig de status van transformaties te valideren terwijl we door het proces van datavoorbereiding en feature-engineering lopen.

Nu we de gegevens hebben voorbereid voor onze use case voor het modelleren van risico's voor de geestelijke gezondheidszorg, zijn we van plan om als volgende stap een ML-model te bouwen met behulp van SageMaker en de ingebouwde algoritmen die het biedt, waarbij we onze claimdataset gebruiken om leden te identificeren die geestelijke gezondheidszorg zouden moeten zoeken voordat ze op het punt komen dat ze die nodig hebben. Blijf kijken!


Over de auteurs

Bouw een risicomodel voor machine learning in de geestelijke gezondheidszorg met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Shibangi Saha is een datawetenschapper bij Equilibrium Point. Ze combineert haar expertise op het gebied van gegevens over claims van zorgbetalers en machine learning om pijplijnen, rapportage- en analyseprocessen voor gezondheidsgegevens te ontwerpen, implementeren, automatiseren en documenteren die inzichten en bruikbare verbeteringen in het zorgverleningssysteem stimuleren. Shibangi behaalde haar Master of Science in Bio-informatica aan het Northeastern University College of Science en een Bachelor of Science in Biologie en Computerwetenschappen aan het Khoury College of Computer Science and Information Sciences.

Bouw een risicomodel voor machine learning in de geestelijke gezondheidszorg met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Graciela Kravtzov is de medeoprichter en CTO van Equilibrium Point. Grace heeft leidinggevende posities op C-niveau/VP bekleed binnen Engineering, Operations en Quality, en heeft gediend als uitvoerend consultant voor bedrijfsstrategie en productontwikkeling binnen de gezondheidszorg- en onderwijssector en de IoT-industriële ruimte. Grace behaalde een Master of Science-graad in Elektromechanisch Ingenieur aan de Universiteit van Buenos Aires en een Master of Science-graad in Computerwetenschappen aan de Universiteit van Boston.

Bouw een risicomodel voor machine learning in de geestelijke gezondheidszorg met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Arunprasath Shankar is een Artificial Intelligence en Machine Learning (AI / ML) Specialist Solutions Architect met AWS, die wereldwijde klanten helpt hun AI-oplossingen effectief en efficiënt in de cloud te schalen. In zijn vrije tijd kijkt Arun graag naar scifi-films en luistert hij naar klassieke muziek.

Bouw een risicomodel voor machine learning in de geestelijke gezondheidszorg met Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai. Ajai Sharma is Senior Product Manager voor Amazon SageMaker, waar hij zich richt op SageMaker Data Wrangler, een tool voor visuele gegevensvoorbereiding voor datawetenschappers. Vóór AWS was Ajai Data Science Expert bij McKinsey and Company, waar hij leiding gaf aan ML-gerichte opdrachten voor toonaangevende financiële en verzekeringsmaatschappijen over de hele wereld. Ajai heeft een passie voor datawetenschap en verkent graag de nieuwste algoritmen en machine learning-technieken.

Tijdstempel:

Meer van AWS-machine learning