Erstellen Sie mit Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ein Risikomodell für maschinelles Lernen im Bereich der psychischen Gesundheit. Vertikale Suche. Ai.

Erstellen Sie mit Amazon SageMaker Data Wrangler ein Risikomodell für maschinelles Lernen für psychische Gesundheit

Dieser Beitrag wurde gemeinsam von Shibangi Saha, Datenwissenschaftlerin, und Graciela Kravtzov, Mitbegründerin und CTO von Equilibrium Point, verfasst.

Viele Menschen leiden unter neuen Symptomen einer psychischen Erkrankung wie Stress, Angstzuständen, Depressionen, Substanzkonsum und posttraumatischer Belastungsstörung (PTSD). Entsprechend Kaiser FamilienstiftungEtwa die Hälfte der Erwachsenen (47 %) im ganzen Land berichteten über negative Auswirkungen auf die psychische Gesundheit während der Pandemie, ein deutlicher Anstieg gegenüber dem Niveau vor der Pandemie. Darüber hinaus berichten bestimmte Geschlechter und Altersgruppen am häufigsten über Stress und Sorgen, und zwar deutlich häufiger als andere. Darüber hinaus berichten einige bestimmte ethnische Gruppen eher von „erheblichen Auswirkungen“ auf ihre psychische Gesundheit als andere.

Mehrere Umfragen, darunter auch die der Centers for Disease Control (CDC), haben einen erheblichen Anstieg der selbstberichteten verhaltensbedingten Gesundheitssymptome gezeigt. Laut einem CDC-Bericht, der Ende Juni 2020 Erwachsene in den USA befragte, berichteten 31 % der Befragten über Symptome von Angstzuständen oder Depressionen, 13 % gaben an, mit dem Substanzkonsum begonnen oder diesen erhöht zu haben, 26 % berichteten über stressbedingte Symptome und 11 % berichteten über Symptome von Angstzuständen oder Depressionen. gaben an, in den letzten 30 Tagen ernsthafte Selbstmordgedanken gehabt zu haben.

Selbstberichtete Daten sind zwar für die Diagnose von psychischen Störungen von entscheidender Bedeutung, können jedoch Einflüssen unterliegen, die mit der anhaltenden Stigmatisierung der psychischen Gesundheit und der psychischen Gesundheitsbehandlung zusammenhängen. Anstatt uns ausschließlich auf selbst gemeldete Daten zu verlassen, können wir psychische Belastungen mithilfe von Daten aus Gesundheitsakten und Anspruchsdaten abschätzen und vorhersagen, um eine grundlegende Frage zu beantworten: Können wir vorhersagen, wer wahrscheinlich psychische Hilfe benötigen wird, bevor sie diese benötigen? Wenn diese Personen identifiziert werden können, können Frühinterventionsprogramme und -ressourcen entwickelt und eingesetzt werden, um auf neue oder zunehmende zugrunde liegende Symptome zu reagieren und die Auswirkungen und Kosten psychischer Störungen zu mildern.

Leichter gesagt als getan für diejenigen, die mit der Verwaltung und Verarbeitung großer Mengen komplexer, lückenhafter Schadensdaten zu kämpfen haben! In diesem Beitrag verraten wir, wie das geht Gleichgewichtspunkt IoT benutzt Amazon SageMaker Data Wrangler um die Vorbereitung der Schadensdaten für unseren Anwendungsfall im Bereich der psychischen Gesundheit zu optimieren und gleichzeitig die Datenqualität in jedem Schritt des Prozesses sicherzustellen.

Lösungsüberblick

Die Datenvorbereitung oder das Feature-Engineering ist ein langwieriger Prozess, bei dem erfahrene Datenwissenschaftler und -ingenieure viel Zeit und Energie aufwenden müssen, um Rezepte für die verschiedenen Transformationen (Schritte) zu formulieren, die erforderlich sind, um die Daten in die richtige Form zu bringen. Tatsächlich zeigen Untersuchungen, dass die Datenvorbereitung für maschinelles Lernen (ML) bis zu 80 % der Zeit von Datenwissenschaftlern in Anspruch nimmt. Typischerweise verwenden Wissenschaftler und Ingenieure verschiedene Datenverarbeitungs-Frameworks wie Pandas, PySpark und SQL, um ihre Transformationen zu codieren und verteilte Verarbeitungsjobs zu erstellen. Mit Data Wrangler können Sie diesen Prozess automatisieren. Data Wrangler ist eine Komponente von Amazon SageMaker-Studio Das bietet eine End-to-End-Lösung zum Importieren, Vorbereiten, Transformieren, Featureisieren und Analysieren von Daten. Sie können einen Data Wrangler integrieren Datenfluss in Ihre bestehenden ML-Workflows integrieren, um die Datenverarbeitung und das Feature-Engineering mit wenig bis gar keinem Programmieraufwand zu vereinfachen und zu rationalisieren.

In diesem Beitrag gehen wir die Schritte durch, um ursprüngliche Rohdatensätze in ML-fähige Funktionen umzuwandeln, die für die Erstellung der Vorhersagemodelle in der nächsten Phase verwendet werden. Zunächst befassen wir uns mit der Art der verschiedenen Datensätze, die für unseren Anwendungsfall verwendet werden, und wie wir diese Datensätze über Data Wrangler zusammengeführt haben. Nach den Verknüpfungen und der Datensatzkonsolidierung beschreiben wir die einzelnen Transformationen, die wir auf den Datensatz angewendet haben, wie Deduplizierung, Umgang mit fehlenden Werten und benutzerdefinierten Formeln. Anschließend beschreiben wir, wie wir die integrierte Schnellmodellanalyse verwendet haben, um den aktuellen Status der Transformationen zu validieren für Vorhersagen.

Datensätze

Für unser Experiment haben wir zunächst Patientendaten von unserem Verhaltensgesundheits-Client heruntergeladen. Zu diesen Daten gehören:

  • Schadensdaten
  • Der Besuch in der Notaufnahme zählt
  • Es zählt der stationäre Besuch
  • Anzahl der Arzneimittelverschreibungen im Zusammenhang mit der psychischen Gesundheit
  • Hierarchische Zustandskodierung (HCC) diagnostiziert Zählungen im Zusammenhang mit der psychischen Gesundheit

Das Ziel bestand darin, diese separaten Datensätze basierend auf der Patienten-ID zusammenzuführen und die Daten zur Vorhersage einer Diagnose der psychischen Gesundheit zu nutzen. Wir haben Data Wrangler verwendet, um einen riesigen Datensatz mit mehreren Millionen Datenzeilen zu erstellen, der eine Verbindung von fünf separaten Datensätzen darstellt. Wir haben Data Wrangler auch verwendet, um mehrere Transformationen durchzuführen, um Spaltenberechnungen zu ermöglichen. In den folgenden Abschnitten beschreiben wir die verschiedenen Datenvorbereitungstransformationen, die wir angewendet haben.

Löschen Sie doppelte Spalten nach einem Join

Amazon SageMaker Data Wrangler bietet zahlreiche ML-Datentransformationen, um die Bereinigung, Transformation und Featureisierung Ihrer Daten zu optimieren. Wenn Sie eine Transformation hinzufügen, wird dem Datenfluss ein Schritt hinzugefügt. Jede von Ihnen hinzugefügte Transformation ändert Ihren Datensatz und erzeugt einen neuen Datenrahmen. Alle nachfolgenden Transformationen gelten für den resultierenden Datenrahmen. Data Wrangler enthält integrierte Transformationen, mit denen Sie Spalten ohne Code transformieren können. Sie können auch benutzerdefinierte Transformationen mit PySpark, Pandas und PySpark SQL hinzufügen. Einige Transformationen werden direkt ausgeführt, während andere eine neue Ausgabespalte in Ihrem Datensatz erstellen.

Für unsere Experimente blieben uns nach jeder Verknüpfung der Patienten-ID doppelte Patienten-ID-Spalten übrig. Wir mussten diese Spalten löschen. Wir haben die rechte Patienten-ID-Spalte entfernt, wie im folgenden Screenshot unter Verwendung der vorgefertigten Option gezeigt Spalten verwalten ->Spalte löschen transformieren, um nur eine Patienten-ID-Spalte (patient_id im endgültigen Datensatz) beizubehalten.

ML8274-image001

Pivotieren Sie einen Datensatz mit Pandas

Die Anspruchsdatensätze waren auf Patientenebene mit Notfallbesuchen (ER), stationären Patienten (IP), Verschreibungszahlen und Diagnosedaten, die bereits nach den entsprechenden HCC-Codes gruppiert waren (ca. 189 Codes). Um einen Patienten-Datamart zu erstellen, aggregieren wir die HCC-Codes der Ansprüche nach Patient und schwenken den HCC-Code von Zeilen in Spalten um. Wir haben Pandas verwendet, um den Datensatz zu plotten, die Anzahl der HCC-Codes pro Patient zu zählen und ihn dann anhand der Patienten-ID mit dem primären Datensatz zu verknüpfen. Wir haben die benutzerdefinierte Transformationsoption in Data Wrangler verwendet und Python (Pandas) als Framework unserer Wahl gewählt.

ML8274-image002

Der folgende Codeausschnitt zeigt die Transformationslogik zum Pivotieren der Tabelle:

# 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

Erstellen Sie neue Spalten mit benutzerdefinierten Formeln

Wir haben Forschungsliteratur untersucht, um festzustellen, welche HCC-Codes für die Diagnose psychischer Erkrankungen von entscheidender Bedeutung sind. Anschließend haben wir diese Logik mithilfe einer benutzerdefinierten Formeltransformation von Data Wrangler geschrieben, die einen Spark-SQL-Ausdruck verwendet, um eine Zielspalte (MH) für die Diagnose der psychischen Gesundheit zu berechnen, die wir am Ende des DataFrame hinzugefügt haben.

ML8274-image003

Wir haben die folgende Transformationslogik verwendet:

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

Löschen Sie Spalten mit PySpark aus dem DataFrame

Nach der Berechnung der Zielspalte (MH) haben wir alle unnötigen doppelten Spalten gelöscht. Wir haben die Patienten-ID und die MH-Spalte beibehalten, um sie mit unserem primären Datensatz zu verbinden. Dies wurde durch eine benutzerdefinierte SQL-Transformation ermöglicht, die PySpark SQL als Framework unserer Wahl verwendet.

ML8274-image005

Wir haben die folgende Logik verwendet:

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

Bewegen Sie die MH-Spalte zum Anfang

Unser ML-Algorithmus erfordert, dass sich die beschriftete Eingabe in der ersten Spalte befindet. Daher haben wir die MH-berechnete Spalte an den Anfang des DataFrame verschoben, damit sie für den Export bereit ist.

ML8274-image006

Füllen Sie Lücken mit Pandas mit 0 aus

Unser ML-Algorithmus erfordert außerdem, dass die Eingabedaten keine leeren Felder enthalten. Daher haben wir die leeren Felder des endgültigen Datensatzes mit Nullen gefüllt. Wir können dies ganz einfach über eine benutzerdefinierte Transformation (Pandas) in Data Wrangler tun.

ML8274-image007

Wir haben die folgende Logik verwendet:

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

Gusssäule von Float bis Long

Sie können in Data Wrangler auch problemlos eine Spalte analysieren und in einen beliebigen neuen Datentyp umwandeln. Zur Speicheroptimierung wandeln wir unsere Eingabespalte für die Beschriftung der psychischen Gesundheit in Float um.

ML8274-image008

Schnelle Modellanalyse: Diagramm zur Merkmalsbedeutung

Nachdem wir unseren endgültigen Datensatz erstellt hatten, verwendeten wir den Analysetyp „Schnelles Modell“ in Data Wrangler, um Dateninkonsistenzen schnell zu identifizieren und festzustellen, ob die Genauigkeit unseres Modells im erwarteten Bereich lag oder ob wir mit der Feature-Entwicklung fortfahren mussten, bevor wir die Zeit für das Training des Modells aufwendeten. Das Modell ergab einen F1-Score von 0.901, wobei 1 der höchste Wert ist. Ein F1-Score ist eine Möglichkeit, die Präzision und den Rückruf des Modells zu kombinieren, und wird als harmonisches Mittel aus beiden definiert. Nachdem wir diese ersten positiven Ergebnisse überprüft hatten, waren wir bereit, die Daten zu exportieren und mit dem Modelltraining unter Verwendung des exportierten Datensatzes fortzufahren.

ML8274-image009

Exportieren Sie den endgültigen Datensatz über ein Jupyter-Notebook nach Amazon S3

Als letzter Schritt erfolgt der Export des Datensatzes in seiner aktuellen Form (transformiert). Amazon Simple Storage-Service (Amazon S3) Für die zukünftige Verwendung im Modelltraining verwenden wir die Auf Amazon S3 speichern (über Jupyter Notebook) Exportoption. Dieses Notebook startet verteilt und skalierbar Amazon SageMaker-Verarbeitung Job, der das erstellte Rezept (Datenfluss) auf bestimmte Eingaben (normalerweise größere Datensätze) anwendet und die Ergebnisse in Amazon S3 speichert. Sie können Ihre transformierten Spalten (Features) auch nach exportieren Amazon SageMaker Feature Store oder exportieren Sie die Transformationen als Pipeline mit Amazon SageMaker-Pipelines, oder exportieren Sie die Transformationen einfach als Python-Code.

Um Daten nach Amazon S3 zu exportieren, haben Sie drei Möglichkeiten:

  • Exportieren Sie die transformierten Daten über die Data Wrangler-Benutzeroberfläche direkt nach Amazon S3
  • Exportieren Sie die Transformationen als SageMaker-Verarbeitungsauftrag über ein Jupyter-Notebook (wie wir es für diesen Beitrag tun).
  • Exportieren Sie die Transformationen über einen Zielknoten nach Amazon S3. Ein Zielknoten teilt Data Wrangler mit, wo die Daten gespeichert werden sollen, nachdem Sie sie verarbeitet haben. Nachdem Sie einen Zielknoten erstellt haben, erstellen Sie einen Verarbeitungsauftrag zur Ausgabe der Daten.

ML8274-image010

Zusammenfassung

In diesem Beitrag haben wir gezeigt, wie Equilibrium Point IoT Data Wrangler nutzt, um den Ladevorgang großer Mengen unserer Schadensdaten für die Datenbereinigung und -transformation zur Vorbereitung auf ML zu beschleunigen. Wir haben auch demonstriert, wie man Feature-Engineering mit benutzerdefinierten Transformationen mithilfe von Pandas und PySpark in Data Wrangler integriert, sodass wir Daten zu Qualitätssicherungszwecken Schritt für Schritt (nach jedem Join) exportieren können. Die Anwendung dieser benutzerfreundlichen Transformationen in Data Wrangler reduzierte den Zeitaufwand für die End-to-End-Datentransformation um fast 50 %. Außerdem ermöglichte uns die Funktion „Schnelle Modellanalyse“ in Data Wrangler eine einfache Validierung des Transformationsstatus, während wir den Prozess der Datenvorbereitung und Feature-Entwicklung durchlaufen.

Nachdem wir nun die Daten für unseren Anwendungsfall zur Modellierung von Risiken für die psychische Gesundheit vorbereitet haben, planen wir als nächsten Schritt die Erstellung eines ML-Modells mit SageMaker und den integrierten Algorithmen, die es bietet, und nutzen unseren Anspruchsdatensatz, um Mitglieder zu identifizieren, die sich um psychische Gesundheit bemühen sollten Dienstleistungen, bevor sie den Punkt erreichen, an dem sie sie benötigen. Bleiben Sie dran!


Über die Autoren

Erstellen Sie mit Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ein Risikomodell für maschinelles Lernen im Bereich der psychischen Gesundheit. Vertikale Suche. Ai.Shibangi Saha ist Datenwissenschaftler bei Equilibrium Point. Sie kombiniert ihr Fachwissen in den Bereichen Krankenversicherungsdaten und maschinelles Lernen, um Pipelines, Berichts- und Analyseprozesse für Gesundheitsdaten zu entwerfen, zu implementieren, zu automatisieren und zu dokumentieren, die Erkenntnisse und umsetzbare Verbesserungen im Gesundheitsversorgungssystem ermöglichen. Shibangi erhielt ihren Master of Science in Bioinformatik vom Northeastern University College of Science und einen Bachelor of Science in Biologie und Informatik vom Khoury College of Computer Science and Information Sciences.

Erstellen Sie mit Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ein Risikomodell für maschinelles Lernen im Bereich der psychischen Gesundheit. Vertikale Suche. Ai.Graciela Kravtzov ist Mitbegründer und CTO von Equilibrium Point. Grace hatte Führungspositionen auf C-Ebene/VP in den Bereichen Technik, Betrieb und Qualität inne und fungierte als leitende Beraterin für Geschäftsstrategie und Produktentwicklung in der Gesundheits- und Bildungsbranche sowie im IoT-Industriebereich. Grace erhielt einen Master of Science in Elektromechanik von der Universität Buenos Aires und einen Master of Science in Informatik von der Boston University.

Erstellen Sie mit Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ein Risikomodell für maschinelles Lernen im Bereich der psychischen Gesundheit. Vertikale Suche. Ai.Arunprasath Shankar ist ein auf AWS spezialisierter Lösungsarchitekt für künstliche Intelligenz und maschinelles Lernen (AI / ML), der globalen Kunden hilft, ihre KI-Lösungen effektiv und effizient in der Cloud zu skalieren. In seiner Freizeit sieht Arun gerne Science-Fiction-Filme und hört klassische Musik.

Erstellen Sie mit Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ein Risikomodell für maschinelles Lernen im Bereich der psychischen Gesundheit. Vertikale Suche. Ai. Ajai Sharma ist Senior Product Manager für Amazon SageMaker, wo er sich auf SageMaker Data Wrangler konzentriert, ein visuelles Datenaufbereitungstool für Datenwissenschaftler. Vor AWS war Ajai Data Science-Experte bei McKinsey and Company, wo er ML-fokussierte Projekte für führende Finanz- und Versicherungsunternehmen weltweit leitete. Ajai hat eine Leidenschaft für Datenwissenschaft und liebt es, die neuesten Algorithmen und Techniken des maschinellen Lernens zu erforschen.

Zeitstempel:

Mehr von AWS Maschinelles Lernen