Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligenceを使用して、メンタルヘルスの機械学習リスクモデルを構築します。 垂直検索。 愛。

Amazon SageMakerDataWranglerを使用してメンタルヘルスの機械学習リスクモデルを構築する

この投稿は、データサイエンティストのShibangi Sahaと、EquilibriumPointの共同創設者兼CTOであるGracielaKravtzovによって共同執筆されました。

多くの人が、ストレス、不安、うつ病、物質使用、心的外傷後ストレス障害(PTSD)などの精神疾患の新しい症状を経験しています。 によると カイザー家族財団、全国の成人の約半数(47%)が、パンデミック中のメンタルヘルスへの悪影響を報告しており、パンデミック前のレベルから大幅に増加しています。 また、特定の性別や年齢層は、他の人よりもはるかに高い割合で、ストレスや心配を報告する可能性が最も高いもののXNUMXつです。 さらに、いくつかの特定の民族グループは、他のグループよりもメンタルヘルスに「大きな影響」を報告する可能性が高くなります。

米国疾病対策センター(CDC)によって収集された調査を含むいくつかの調査では、自己申告による行動上の健康症状の大幅な増加が示されています。 2020年31月下旬に全米の成人を調査したあるCDCレポートによると、回答者の13%が不安またはうつ病の症状を報告し、26%が薬物使用の開始または増加を報告し、11%がストレス関連の症状を報告し、30%が過去XNUMX日間に自殺について深刻な考えを持っていると報告した。

自己申告のデータは、メンタルヘルス障害の診断に絶対的に重要ですが、メンタルヘルスとメンタルヘルス治療を取り巻く継続的なスティグマに関連する影響を受ける可能性があります。 自己申告のデータだけに頼るのではなく、健康記録と請求データからのデータを使用して精神的苦痛を推定および予測し、基本的な質問に答えようとすることができます。 これらの個人を特定できれば、精神障害の影響とコストを軽減するために、根本的な症状の新規または増加に対応するための早期介入プログラムとリソースを開発および展開できます。

大量の複雑でギャップの多い請求データの管理と処理に苦労している人にとっては、言うのは簡単です。 この投稿では、その方法を共有します 平衡点IoT 中古 AmazonSageMakerデータラングラー プロセスの各ステップを通じてデータ品質を確保しながら、メンタルヘルスのユースケースのクレームデータの準備を合理化します。

ソリューションの概要

データの準備や特徴工学は退屈なプロセスであり、経験豊富なデータサイエンティストやエンジニアは、データを適切な形にするために必要なさまざまな変換(ステップ)のレシピを作成するために多くの時間とエネルギーを費やす必要があります。 実際、研究によると、機械学習(ML)のデータ準備は、データサイエンティストの時間の最大80%を消費します。 通常、科学者やエンジニアは、Pandas、PySpark、SQLなどのさまざまなデータ処理フレームワークを使用して、変換をコーディングし、分散処理ジョブを作成します。 データラングラーを使用すると、このプロセスを自動化できます。 データラングラーはのコンポーネントです Amazon SageMakerスタジオ これは、データをインポート、準備、変換、機能化、および分析するためのエンドツーエンドのソリューションを提供します。 データラングラーを統合できます データフロー 既存のMLワークフローに組み込んで、コーディングをほとんどまたはまったく使用せずに、データ処理と特徴エンジニアリングを簡素化および合理化します。

この投稿では、元の生のデータセットをML対応の機能に変換して、次の段階で予測モデルを構築するために使用する手順について説明します。 まず、ユースケースに使用されるさまざまなデータセットの性質と、データラングラーを介してこれらのデータセットを結合する方法について詳しく説明します。 結合とデータセットの統合の後、重複排除、欠落値の処理、カスタム数式など、データセットに適用した個々の変換について説明し、続いて組み込みのクイックモデル分析を使用して変換の現在の状態を検証する方法について説明します。予測のため。

データセット

私たちの実験では、最初に行動健康クライアントから患者データをダウンロードしました。 このデータには次のものが含まれます。

  • クレームデータ
  • 緊急治療室の訪問数
  • 入院患者の訪問数
  • メンタルヘルスに関連する薬の処方数
  • 階層的状態コーディング(HCC)は、メンタルヘルスに関連するカウントを診断します

目標は、患者IDに基づいてこれらの個別のデータセットを結合し、そのデータを利用してメンタルヘルス診断を予測することでした。 Data Wranglerを使用して、XNUMXつの別々のデータセットの結合である数百万行のデータの大規模なデータセットを作成しました。 また、データラングラーを使用して、列の計算を可能にするいくつかの変換を実行しました。 次のセクションでは、適用したさまざまなデータ準備変換について説明します。

結合後に重複する列を削除する

Amazon SageMaker Data Wranglerは、データのクリーニング、変換、機能化を合理化するために、多数のMLデータ変換を提供します。 変換を追加すると、データフローにステップが追加されます。 追加する変換ごとにデータセットが変更され、新しいデータフレームが生成されます。 以降のすべての変換は、結果のデータフレームに適用されます。 Data Wranglerには、コードなしで列を変換するために使用できる組み込みの変換が含まれています。 PySpark、Pandas、およびPySparkSQLを使用してカスタム変換を追加することもできます。 一部の変換は適切に機能しますが、他の変換はデータセットに新しい出力列を作成します。

私たちの実験では、患者IDで結合するたびに、重複した患者ID列が残ったためです。 これらの列を削除する必要がありました。 次のスクリーンショットに示すように、事前に作成されたものを使用して、適切な患者ID列を削除しました 列の管理 –>ドロップカラム 変換して、XNUMXつの患者ID列(最終データセットのpatient_id)のみを維持します。

ML8274-image001

パンダを使用してデータセットをピボットする

クレームデータセットは、緊急訪問(ER)、入院患者(IP)、処方数、および対応するHCCコード(約189コード)によってすでにグループ化されている診断データを含む患者レベルでした。 患者データマートを構築するために、患者ごとにクレームHCCコードを集約し、HCCコードを行から列にピボットします。 Pandasを使用してデータセットをピボットし、患者ごとにHCCコードの数をカウントしてから、患者IDのプライマリデータセットに参加しました。 選択したフレームワークとしてPython(Pandas)を選択し、DataWranglerでカスタム変換オプションを使用しました。

ML8274-image002

次のコードスニペットは、テーブルをピボットするための変換ロジックを示しています。

# 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

カスタム数式を使用して新しい列を作成する

メンタルヘルス診断においてどのHCCコードが決定論的であるかを決定するために研究文献を研究しました。 次に、SparkSQL式を使用してMentalHealth Diagnosisターゲット列(MH)を計算するData Wranglerカスタム数式変換を使用してこのロジックを記述しました。これは、DataFrameの最後に追加しました。

ML8274-image003

次の変換ロジックを使用しました。

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

PySparkを使用してDataFrameから列を削除します

ターゲット(MH)列の計算後、不要な重複列をすべて削除しました。 プライマリデータセットに結合するために、患者IDとMH列を保持しました。 これは、選択したフレームワークとしてPySparkSQLを使用するカスタムSQL変換によって容易になりました。

ML8274-image005

次のロジックを使用しました。

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

MHカラムを移動して開始します

MLアルゴリズムでは、ラベル付けされた入力が最初の列にある必要があります。 したがって、MH計算列をDataFrameの先頭に移動して、エクスポートの準備をしました。

ML8274-image006

パンダを使用して0で空白を埋めます

MLアルゴリズムでは、入力データに空のフィールドがないことも必要です。 したがって、最終的なデータセットの空のフィールドに0を入力しました。 これは、データラングラーのカスタム変換(パンダ)を介して簡単に行うことができます。

ML8274-image007

次のロジックを使用しました。

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

フロートからロングへのキャストカラム

Data Wranglerでは、列を解析して新しいデータ型に簡単にキャストすることもできます。 メモリを最適化するために、メンタルヘルスラベルの入力列をfloatとしてキャストします。

ML8274-image008

クイックモデル分析:特徴重要度グラフ

最終的なデータセットを作成した後、データラングラーのクイックモデル分析タイプを利用して、データの不整合をすばやく特定し、モデルの精度が期待される範囲内にあるかどうか、またはモデルのトレーニングに時間を費やす前に特徴エンジニアリングを継続する必要があるかどうかを確認しました。 モデルは1のF0.901スコアを返し、1が最高でした。 F1スコアは、モデルの適合率と再現率を組み合わせる方法であり、XNUMXつの調和平均として定義されます。 これらの最初の肯定的な結果を調べた後、データをエクスポートし、エクスポートされたデータセットを使用してモデルトレーニングを進める準備が整いました。

ML8274-image009

Jupyterノートブックを介して最終的なデータセットをAmazonS3にエクスポートします

最後のステップとして、データセットを現在の形式(変換済み)でエクスポートするには Amazon シンプル ストレージ サービス (Amazon S3)モデルトレーニングでの将来の使用のために、 Amazon S3に保存(Jupyter Notebook経由) エクスポートオプション。 このノートブックは、分散型でスケーラブルなものを開始します Amazon SageMaker処理 作成されたレシピ(データフロー)を指定された入力(通常はより大きなデータセット)に適用し、結果をAmazonS3に保存するジョブ。 変換された列(機能)をにエクスポートすることもできます Amazon SageMaker フィーチャーストア または、を使用して変換をパイプラインとしてエクスポートします AmazonSageMakerパイプライン、または単に変換をPythonコードとしてエクスポートします。

データをAmazonS3にエクスポートするには、次のXNUMXつのオプションがあります。

  • 変換されたデータをデータラングラーUIを介してAmazonS3に直接エクスポートします
  • 変換をSageMaker処理ジョブとしてJupyterノートブックを介してエクスポートします(この投稿の場合と同様)。
  • 宛先ノードを介して変換をAmazonS3にエクスポートします。 宛先ノードは、データを処理した後、データを保存する場所をDataWranglerに通知します。 宛先ノードを作成した後、データを出力するための処理ジョブを作成します。

ML8274-image010

まとめ

この投稿では、Equilibrium PointIoTがDataWranglerを使用して、MLの準備としてデータのクリーニングと変換のために大量のクレームデータの読み込みプロセスを高速化する方法を紹介しました。 また、Data WranglerでPandasとPySparkを使用して、特徴エンジニアリングをカスタム変換に組み込む方法を示しました。これにより、品質保証の目的でデータを段階的に(各結合後に)エクスポートできます。 これらの使いやすい変換をデータラングラーに適用すると、エンドツーエンドのデータ変換にかかる時間が50%近く短縮されます。 また、データラングラーのクイックモデル分析機能により、データ準備と特徴エンジニアリングのプロセスを循環するときに、変換の状態を簡単に検証できました。

メンタルヘルスリスクモデリングのユースケースのデータを準備したので、次のステップとして、SageMakerとそれが提供する組み込みアルゴリズムを使用してMLモデルを構築し、クレームデータセットを利用してメンタルヘルスを求める必要があるメンバーを特定する予定です。彼らがそれを必要とするポイントに到達する前にサービス。 乞うご期待!


著者について

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligenceを使用して、メンタルヘルスの機械学習リスクモデルを構築します。 垂直検索。 愛。シバンギサハ 平衡点のデータサイエンティストです。 彼女は、医療費支払者の請求データと機械学習の専門知識を組み合わせて、医療提供システムの洞察と実用的な改善を推進する医療データパイプライン、レポート、分析プロセスの設計、実装、自動化、文書化を行っています。 Shibangiは、ノースイースタン大学理学部でバイオインフォマティクスの理学士号を、Khouryコンピューターサイエンス情報科学部で生物学とコンピューターサイエンスの理学士号を取得しています。

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligenceを使用して、メンタルヘルスの機械学習リスクモデルを構築します。 垂直検索。 愛。グラシエラ・クラフツォフ EquilibriumPointの共同創設者兼CTOです。 Graceは、エンジニアリング、運用、品質の分野でCレベル/ VPのリーダーシップを発揮し、ヘルスケアおよび教育業界とIoT産業分野でのビジネス戦略と製品開発のエグゼクティブコンサルタントを務めてきました。 グレースは、ブエノスアイレス大学で機電技術者の理学修士号を、ボストン大学でコンピューターサイエンスの修士号を取得しています。

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligenceを使用して、メンタルヘルスの機械学習リスクモデルを構築します。 垂直検索。 愛。アルンプラサト・シャンカール は、AW​​Sの人工知能と機械学習(AI / ML)スペシャリストソリューションアーキテクトであり、世界中のお客様がクラウドでAIソリューションを効果的かつ効率的に拡張できるよう支援しています。 余暇には、SF映画を見たり、クラシック音楽を聴いたりしています。

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligenceを使用して、メンタルヘルスの機械学習リスクモデルを構築します。 垂直検索。 愛。 アジャイシャルマ はAmazonSageMakerのシニアプロダクトマネージャーであり、データサイエンティスト向けのビジュアルデータ準備ツールであるSageMakerDataWranglerに焦点を当てています。 AWSの前は、AjaiはMcKinsey and Companyのデータサイエンスエキスパートであり、世界中の主要な金融および保険会社のMLに焦点を当てたエンゲージメントを主導していました。 Ajaiはデータサイエンスに情熱を注いでおり、最新のアルゴリズムと機械学習技術を探求するのが大好きです。

タイムスタンプ:

より多くの AWS機械学習