Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence를 사용하여 정신 건강 기계 학습 위험 모델을 구축하십시오. 수직 검색. 일체 포함.

Amazon SageMaker Data Wrangler를 사용하여 정신 건강 기계 학습 위험 모델 구축

이 게시물은 데이터 과학자인 Shibangi Saha와 Equilibrium Point의 공동 창립자이자 CTO인 Graciela Kravtzov가 공동 작성했습니다.

많은 사람들이 스트레스, 불안, 우울증, 약물 남용, 외상후 스트레스 장애(PTSD)와 같은 정신 질환의 새로운 증상을 경험하고 있습니다. 에 따르면 카이저 가족 재단, 전국 성인의 약 절반(47%)이 팬데믹 기간 동안 정신 건강에 부정적인 영향을 미쳤다고 보고했는데, 이는 팬데믹 이전 수준에 비해 크게 증가한 수치입니다. 또한 특정 성별과 연령층은 다른 그룹보다 훨씬 높은 비율로 스트레스와 걱정을 보고할 가능성이 가장 높습니다. 또한, 일부 특정 인종 그룹은 다른 인종 그룹보다 정신 건강에 "큰 영향"을 보고할 가능성이 더 높습니다.

질병 통제 센터(CDC)에서 수집한 조사를 포함한 여러 조사에 따르면 자가 보고된 행동 건강 증상이 상당히 증가한 것으로 나타났습니다. 2020년 31월 말 미국 전역의 성인을 대상으로 설문조사를 실시한 한 CDC 보고서에 따르면 응답자의 13%가 불안 또는 우울증 증상을 보고했고, 26%는 약물 사용을 시작하거나 증가했다고 보고했으며, 11%는 스트레스 관련 증상을, 30%는 지난 XNUMX일 동안 심각한 자살 생각을 했다고 보고했습니다.

자가 보고 데이터는 정신 건강 장애를 진단하는 데 절대적으로 중요하지만 정신 건강 및 정신 건강 치료를 둘러싼 지속적인 낙인과 관련된 영향을 받을 수 있습니다. 자체 보고 데이터에만 의존하기보다는 건강 기록 및 청구 데이터의 데이터를 사용하여 정신적 고통을 추정하고 예측하여 근본적인 질문에 답할 수 있습니다. 정신 건강 도움이 필요하기 전에 누가 정신 건강 도움이 필요할지 예측할 수 있습니까? 이러한 개인을 식별할 수 있는 경우, 정신 장애의 영향과 비용을 완화하기 위해 기저 증상의 새로운 증상이나 증가에 대응하기 위한 조기 개입 프로그램과 자원을 개발하고 배포할 수 있습니다.

대량의 복잡하고 격차가 있는 청구 데이터를 관리하고 처리하는 데 어려움을 겪고 있는 사람들에게는 말처럼 쉽지 않습니다! 이번 포스팅에서는 그 방법을 공유해보겠습니다. 평형점 IoT 익숙한 Amazon SageMaker 데이터 랭글러 정신 건강 사용 사례에 대한 청구 데이터 준비를 간소화하는 동시에 프로세스의 각 단계에서 데이터 품질을 보장합니다.

솔루션 개요

데이터 준비 또는 기능 엔지니어링은 숙련된 데이터 과학자와 엔지니어가 데이터를 올바른 형태로 만드는 데 필요한 다양한 변환(단계)에 대한 레시피를 공식화하는 데 많은 시간과 에너지를 소비하는 지루한 프로세스입니다. 실제로 연구에 따르면 기계 학습(ML)을 위한 데이터 준비는 데이터 과학자 시간의 최대 80%를 소비하는 것으로 나타났습니다. 일반적으로 과학자와 엔지니어는 Pandas, PySpark, SQL과 같은 다양한 데이터 처리 프레임워크를 사용하여 변환을 코딩하고 분산 처리 작업을 생성합니다. Data Wrangler를 사용하면 이 프로세스를 자동화할 수 있습니다. 데이터 랭글러는 다음의 구성 요소입니다. 아마존 세이지 메이커 스튜디오 데이터 가져오기, 준비, 변환, 기능화 및 분석을 위한 엔드투엔드 솔루션을 제공합니다. Data Wrangler를 통합할 수 있습니다. 데이터 흐름 코딩을 거의 또는 전혀 사용하지 않고 데이터 처리 및 기능 엔지니어링을 단순화하고 간소화합니다.

이 게시물에서는 원본 원시 데이터세트를 다음 단계에서 예측 모델을 구축하는 데 사용할 ML 지원 기능으로 변환하는 단계를 안내합니다. 먼저, 사용 사례에 사용된 다양한 데이터세트의 특성과 Data Wrangler를 통해 이러한 데이터세트를 결합한 방법을 살펴봅니다. 조인 및 데이터세트 통합 후 중복 제거, 누락된 값 처리, 사용자 지정 수식 등 데이터세트에 적용한 개별 변환에 대해 설명하고, 이어서 기본 제공 빠른 모델 분석을 사용하여 변환의 현재 상태를 검증한 방법을 설명합니다. 예측을 위해.

데이터 세트

실험을 위해 먼저 행동 건강 클라이언트에서 환자 데이터를 다운로드했습니다. 이 데이터에는 다음이 포함됩니다.

  • 청구 데이터
  • 응급실 방문 횟수
  • 입원환자 방문수
  • 정신 건강과 관련된 약물 처방 건수
  • 계층적 상태 코딩(HCC)은 정신 건강과 관련된 진단 횟수를 나타냅니다.

목표는 환자 ID를 기반으로 이러한 별도의 데이터 세트를 결합하고 데이터를 활용하여 정신 건강 진단을 예측하는 것이었습니다. 우리는 Data Wrangler를 사용하여 수백만 행의 데이터로 구성된 대규모 데이터 세트를 생성했습니다. 이는 XNUMX개의 개별 데이터 세트를 결합한 것입니다. 또한 Data Wrangler를 사용하여 열 계산이 가능하도록 여러 변환을 수행했습니다. 다음 섹션에서는 적용한 다양한 데이터 준비 변환에 대해 설명합니다.

조인 후 중복 열 삭제

Amazon SageMaker Data Wrangler는 수많은 ML 데이터 변환을 제공하여 데이터 정리, 변환 및 기능화를 간소화합니다. 변환을 추가하면 데이터 흐름에 단계가 추가됩니다. 추가하는 각 변환은 데이터 세트를 수정하고 새 데이터 프레임을 생성합니다. 모든 후속 변환은 결과 데이터 프레임에 적용됩니다. Data Wrangler에는 코드 없이 열을 변환하는 데 사용할 수 있는 변환이 내장되어 있습니다. PySpark, Pandas 및 PySpark SQL을 사용하여 사용자 지정 변환을 추가할 수도 있습니다. 일부 변환은 제자리에서 작동하는 반면 다른 변환은 데이터 세트에 새 출력 열을 생성합니다.

실험의 경우 환자 ID를 조인할 때마다 중복된 환자 ID 열이 남게 되었습니다. 우리는 이 열을 삭제해야 했습니다. 다음 스크린샷에 표시된 것처럼 사전 빌드된 열을 사용하여 오른쪽 환자 ID 열을 삭제했습니다. 열 관리 –>열 삭제 하나의 환자 ID 열(최종 데이터 세트의 Patient_id)만 유지하기 위해 변환합니다.

ML8274-image001

Pandas를 사용하여 데이터 세트 피벗

청구 데이터 세트는 응급 방문(ER), 입원 환자(IP), 처방 건수 및 해당 HCC 코드(약 189개 코드)별로 이미 그룹화된 진단 데이터를 포함하는 환자 수준이었습니다. 환자 데이터마트를 구축하기 위해 우리는 환자별로 청구 HCC 코드를 집계하고 HCC 코드를 행에서 열로 전환합니다. 우리는 Pandas를 사용하여 데이터 세트를 피벗하고 환자별 HCC 코드 수를 계산한 다음 환자 ID의 기본 데이터 세트에 조인했습니다. 우리는 Python(Pandas)을 프레임워크로 선택하여 Data Wrangler의 사용자 지정 변환 옵션을 사용했습니다.

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 코드가 결정적인지 결정하기 위해 연구 문헌을 연구했습니다. 그런 다음 Spark SQL 표현식을 사용하여 DataFrame 끝에 추가한 정신 건강 진단 대상 열(MH)을 계산하는 Data Wrangler 사용자 지정 수식 변환을 사용하여 이 논리를 작성했습니다.

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 열을 보존했습니다. 이는 우리가 선택한 프레임워크로 PySpark SQL을 사용하는 사용자 지정 SQL 변환을 통해 촉진되었습니다.

ML8274-image005

우리는 다음 논리를 사용했습니다.

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

MH 열을 이동하여 시작

ML 알고리즘에서는 레이블이 지정된 입력이 첫 번째 열에 있어야 합니다. 따라서 내보내기 준비를 위해 MH 계산 열을 DataFrame의 시작 부분으로 이동했습니다.

ML8274-image006

Pandas를 사용하여 공백을 0으로 채우기

또한 ML 알고리즘에서는 입력 데이터에 빈 필드가 없어야 합니다. 따라서 최종 데이터세트의 빈 필드를 0으로 채웠습니다. Data Wrangler의 사용자 지정 변환(Pandas)을 통해 이 작업을 쉽게 수행할 수 있습니다.

ML8274-image007

우리는 다음 논리를 사용했습니다.

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

부동 소수점에서 긴 열로 캐스팅

또한 Data Wrangler에서는 쉽게 열을 새로운 데이터 유형으로 구문 분석하고 캐스팅할 수 있습니다. 메모리 최적화를 위해 정신 건강 레이블 입력 열을 float로 캐스팅했습니다.

ML8274-image008

빠른 모델 분석: 특성 중요도 그래프

최종 데이터 세트를 생성한 후 Data Wrangler의 빠른 모델 분석 유형을 활용하여 데이터 불일치를 신속하게 식별하고 모델 정확도가 예상 범위 내에 있는지 또는 모델 교육 시간을 소비하기 전에 특성 엔지니어링을 계속해야 하는지 여부를 확인했습니다. 모델은 1의 F0.901 점수를 반환했으며 1이 가장 높습니다. F1 점수는 모델의 정밀도와 재현율을 결합한 방법으로, 이 둘의 조화 평균으로 정의됩니다. 이러한 초기 긍정적 결과를 검사한 후 데이터를 내보내고 내보낸 데이터 세트를 사용하여 모델 교육을 진행할 준비가 되었습니다.

ML8274-image009

Jupyter 노트북을 통해 최종 데이터 세트를 Amazon S3로 내보냅니다.

마지막 단계로 데이터세트를 현재 형식(변환된)으로 내보내려면 아마존 단순 스토리지 서비스 (Amazon S3) 향후 모델 교육에 사용하기 위해 Amazon S3에 저장(Jupyter Notebook을 통해) 내보내기 옵션. 이 노트북은 분산되고 확장 가능한 노트북을 시작합니다. Amazon SageMaker 처리 생성된 레시피(데이터 흐름)를 지정된 입력(일반적으로 더 큰 데이터 세트)에 적용하고 결과를 Amazon S3에 저장하는 작업입니다. 변환된 열(기능)을 다음으로 내보낼 수도 있습니다. Amazon SageMaker 기능 스토어 또는 다음을 사용하여 변환을 파이프라인으로 내보냅니다. Amazon SageMaker 파이프 라인, 또는 단순히 변환을 Python 코드로 내보냅니다.

Amazon S3로 데이터를 내보내려면 다음 세 가지 옵션이 있습니다.

  • Data Wrangler UI를 통해 변환된 데이터를 Amazon S3로 직접 내보냅니다.
  • Jupyter 노트북을 통해 변환을 SageMaker 처리 작업으로 내보냅니다(이 게시물에서와 마찬가지로).
  • 대상 노드를 통해 변환을 Amazon S3로 내보냅니다. 대상 노드는 데이터를 처리한 후 데이터를 저장할 위치를 Data Wrangler에게 알려줍니다. 대상 노드를 생성한 후 데이터를 출력하는 처리 작업을 생성합니다.

ML8274-image010

결론

이 게시물에서는 Equilibrium Point IoT가 Data Wrangler를 사용하여 ML 준비 시 데이터 정리 및 변환을 위해 대량의 청구 데이터 로드 프로세스 속도를 높이는 방법을 보여주었습니다. 또한 Data Wrangler에서 Pandas 및 PySpark를 사용하여 기능 엔지니어링을 사용자 지정 변환과 통합하는 방법을 시연하여 품질 보증 목적으로 데이터를 단계별로(각 조인 후) 내보낼 수 있었습니다. Data Wrangler에 이러한 사용하기 쉬운 변환을 적용하면 엔드투엔드 데이터 변환에 소요되는 시간이 거의 50% 단축됩니다. 또한 Data Wrangler의 Quick Model 분석 기능을 사용하면 데이터 준비 및 기능 엔지니어링 프로세스를 순환하면서 변환 상태를 쉽게 확인할 수 있었습니다.

이제 정신 건강 위험 모델링 사용 사례에 대한 데이터를 준비했으므로 다음 단계로 SageMaker와 SageMaker가 제공하는 내장 알고리즘을 사용하여 ML 모델을 구축하고 청구 데이터 세트를 활용하여 정신 건강을 추구해야 하는 회원을 식별할 계획입니다. 필요한 지점에 도달하기 전에 서비스를 제공합니다. 계속 지켜봐 주시기 바랍니다!


저자에 관하여

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence를 사용하여 정신 건강 기계 학습 위험 모델을 구축하십시오. 수직 검색. 일체 포함.시방기 사하 Equilibrium Point의 데이터 과학자입니다. 그녀는 의료 지불자 청구 데이터와 기계 학습에 대한 전문 지식을 결합하여 의료 제공 시스템에서 통찰력과 실행 가능한 개선을 촉진하는 의료 데이터 파이프라인, 보고 및 분석 프로세스를 설계, 구현, 자동화 및 문서화합니다. Shibangi는 Northeastern University College of Science에서 생물정보학 석사 학위를, Khoury College of Computer Science and Information Sciences에서 생물학 및 컴퓨터 과학 학사 학위를 받았습니다.

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence를 사용하여 정신 건강 기계 학습 위험 모델을 구축하십시오. 수직 검색. 일체 포함.그라시엘라 크라브초프 Equilibrium Point의 공동 창립자이자 CTO입니다. Grace는 엔지니어링, 운영 및 품질 부문에서 C레벨/VP 리더십 직책을 맡았으며 의료 및 교육 산업과 IoT 산업 분야에서 비즈니스 전략 및 제품 개발을 위한 수석 컨설턴트로 활동했습니다. Grace는 부에노스아이레스 대학에서 전자 기계 공학 석사 학위를, 보스턴 대학에서 컴퓨터 과학 석사 학위를 받았습니다.

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence를 사용하여 정신 건강 기계 학습 위험 모델을 구축하십시오. 수직 검색. 일체 포함.아룬 프라 사스 샨 카르 AWS의 인공 지능 및 기계 학습 (AI / ML) 전문 솔루션 아키텍트로서 글로벌 고객이 클라우드에서 AI 솔루션을 효과적이고 효율적으로 확장 할 수 있도록 지원합니다. 여가 시간에 Arun은 공상 과학 영화를보고 클래식 음악을 듣는 것을 즐깁니다.

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence를 사용하여 정신 건강 기계 학습 위험 모델을 구축하십시오. 수직 검색. 일체 포함. 아자이 샤르마 Amazon SageMaker의 수석 제품 관리자로서 데이터 과학자를 위한 시각적 데이터 준비 도구인 SageMaker Data Wrangler를 담당하고 있습니다. AWS 이전에 Ajai는 McKinsey and Company에서 데이터 과학 전문가로 근무하며 전 세계 주요 금융 및 보험 회사의 ML 중심 업무를 이끌었습니다. Ajai는 데이터 과학에 열정을 갖고 있으며 최신 알고리즘과 기계 학습 기술을 탐구하는 것을 좋아합니다.

타임 스탬프 :

더보기 AWS 기계 학습