Xây dựng mô hình rủi ro học máy về sức khỏe tâm thần bằng cách sử dụng Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Xây dựng mô hình rủi ro máy học về sức khỏe tâm thần bằng cách sử dụng Amazon SageMaker Data Wrangler

Bài đăng này được đồng viết bởi Shibangi Saha, Nhà khoa học dữ liệu và Graciela Kravtzov, Người đồng sáng lập và Giám đốc công nghệ, của Điểm cân bằng.

Nhiều người đang trải qua các triệu chứng mới của bệnh tâm thần, chẳng hạn như căng thẳng, lo lắng, trầm cảm, sử dụng chất kích thích và rối loạn căng thẳng sau chấn thương (PTSD). Dựa theo Quỹ Kaiser Family, khoảng một nửa số người trưởng thành (47%) trên toàn quốc đã báo cáo các tác động tiêu cực đến sức khỏe tâm thần trong thời kỳ đại dịch, một sự gia tăng đáng kể so với mức trước đại dịch. Ngoài ra, một số giới tính và nhóm tuổi nhất định nằm trong số những nhóm có khả năng bị căng thẳng và lo lắng nhất, với tỷ lệ cao hơn nhiều so với những nhóm tuổi khác. Ngoài ra, một số nhóm dân tộc cụ thể có nhiều khả năng báo cáo “tác động lớn” đến sức khỏe tâm thần của họ hơn những nhóm dân tộc khác.

Một số cuộc khảo sát, bao gồm cả những cuộc khảo sát do Trung tâm Kiểm soát Dịch bệnh (CDC) thu thập, đã cho thấy sự gia tăng đáng kể các triệu chứng sức khỏe hành vi tự báo cáo. Theo một báo cáo của CDC, khảo sát người lớn trên khắp Hoa Kỳ vào cuối tháng 2020 năm 31, 13% người được hỏi báo cáo các triệu chứng lo âu hoặc trầm cảm, 26% cho biết đã bắt đầu hoặc tăng sử dụng chất kích thích, 11% báo cáo các triệu chứng liên quan đến căng thẳng và 30% cho biết đã có ý định tự tử nghiêm trọng trong XNUMX ngày qua.

Dữ liệu tự báo cáo, trong khi hoàn toàn quan trọng trong việc chẩn đoán các rối loạn sức khỏe tâm thần, có thể chịu ảnh hưởng liên quan đến sự kỳ thị liên tục xung quanh việc điều trị sức khỏe tâm thần và sức khỏe tâm thần. Thay vì chỉ dựa vào dữ liệu tự báo cáo, chúng ta có thể ước tính và dự báo tình trạng đau khổ về tinh thần bằng cách sử dụng dữ liệu từ hồ sơ sức khỏe và dữ liệu xác nhận quyền sở hữu để cố gắng trả lời một câu hỏi cơ bản: liệu chúng ta có thể dự đoán ai có khả năng sẽ cần trợ giúp về sức khỏe tâm thần trước khi họ cần không? Nếu những cá nhân này có thể được xác định, các chương trình và nguồn lực can thiệp sớm có thể được phát triển và triển khai để ứng phó với bất kỳ triệu chứng cơ bản mới hoặc gia tăng nào nhằm giảm thiểu tác động và chi phí của rối loạn tâm thần.

Nói thì dễ hơn làm đối với những người phải vật lộn với việc quản lý và xử lý khối lượng lớn dữ liệu yêu cầu phức tạp, có lỗ hổng! Trong bài đăng này, chúng tôi chia sẻ cách Điểm cân bằng IoT đã sử dụng Trình sắp xếp dữ liệu Amazon SageMaker để hợp lý hóa việc chuẩn bị dữ liệu xác nhận quyền sở hữu cho trường hợp sử dụng sức khỏe tâm thần của chúng tôi, đồng thời đảm bảo chất lượng dữ liệu xuyên suốt từng bước trong quy trình.

Tổng quan về giải pháp

Chuẩn bị dữ liệu hoặc kỹ thuật tính năng là một quá trình tẻ nhạt, đòi hỏi các nhà khoa học và kỹ sư dữ liệu có kinh nghiệm dành nhiều thời gian và năng lượng để xây dựng công thức cho các bước chuyển đổi khác nhau (các bước) cần thiết để đưa dữ liệu về đúng hình dạng của nó. Trên thực tế, nghiên cứu cho thấy việc chuẩn bị dữ liệu cho máy học (ML) tiêu tốn đến 80% thời gian của các nhà khoa học dữ liệu. Thông thường, các nhà khoa học và kỹ sư sử dụng các khung xử lý dữ liệu khác nhau, chẳng hạn như Pandas, PySpark và SQL, để viết mã các phép biến đổi của chúng và tạo các công việc xử lý phân tán. Với Data Wrangler, bạn có thể tự động hóa quá trình này. Data Wrangler là một thành phần của Xưởng sản xuất Amazon SageMaker cung cấp giải pháp end-to-end để nhập, chuẩn bị, biến đổi, tạo lông và phân tích dữ liệu. Bạn có thể tích hợp Data Wrangler dòng dữ liệu vào quy trình làm việc ML hiện tại của bạn để đơn giản hóa và hợp lý hóa việc xử lý dữ liệu và kỹ thuật tính năng bằng cách sử dụng ít hoặc không cần mã hóa.

Trong bài đăng này, chúng tôi hướng dẫn các bước chuyển đổi tập dữ liệu thô ban đầu thành các tính năng sẵn sàng cho ML để sử dụng cho việc xây dựng mô hình dự đoán trong giai đoạn tiếp theo. Đầu tiên, chúng tôi đi sâu vào bản chất của các bộ dữ liệu khác nhau được sử dụng cho trường hợp sử dụng của chúng tôi và cách chúng tôi kết hợp các bộ dữ liệu này thông qua Data Wrangler. Sau khi kết hợp và hợp nhất tập dữ liệu, chúng tôi mô tả các phép biến đổi riêng lẻ mà chúng tôi đã áp dụng trên tập dữ liệu như loại bỏ trùng lặp, xử lý các giá trị bị thiếu và công thức tùy chỉnh, tiếp theo là cách chúng tôi sử dụng phân tích Mô hình nhanh tích hợp sẵn để xác thực trạng thái hiện tại của các phép biến đổi để dự đoán.

Bộ dữ liệu

Đối với thử nghiệm của chúng tôi, lần đầu tiên chúng tôi tải xuống dữ liệu bệnh nhân từ khách hàng sức khỏe hành vi của chúng tôi. Dữ liệu này bao gồm những điều sau:

  • Dữ liệu xác nhận quyền sở hữu
  • Số lượt khám tại phòng cấp cứu
  • Số lượt khám bệnh nội trú
  • Số lượng kê đơn thuốc liên quan đến sức khỏe tâm thần
  • Mã hóa tình trạng phân cấp (HCC) chẩn đoán số lượng liên quan đến sức khỏe tâm thần

Mục tiêu là kết hợp các bộ dữ liệu riêng biệt này dựa trên ID bệnh nhân và sử dụng dữ liệu để dự đoán chẩn đoán sức khỏe tâm thần. Chúng tôi đã sử dụng Data Wrangler để tạo một tập dữ liệu khổng lồ bao gồm vài triệu hàng dữ liệu, là sự kết hợp của năm tập dữ liệu riêng biệt. Chúng tôi cũng sử dụng Data Wrangler để thực hiện một số phép biến đổi để cho phép tính toán cột. Trong các phần sau, chúng tôi mô tả các phép biến đổi chuẩn bị dữ liệu khác nhau mà chúng tôi đã áp dụng.

Thả các cột trùng lặp sau khi tham gia

Amazon SageMaker Data Wrangler cung cấp nhiều chuyển đổi dữ liệu ML để hợp lý hóa việc dọn dẹp, chuyển đổi và làm sạch dữ liệu của bạn. Khi bạn thêm một biến đổi, nó sẽ thêm một bước vào luồng dữ liệu. Mỗi biến đổi bạn thêm sẽ sửa đổi tập dữ liệu của bạn và tạo ra khung dữ liệu mới. Tất cả các chuyển đổi tiếp theo áp dụng cho khung dữ liệu kết quả. Data Wrangler bao gồm các biến đổi được tích hợp sẵn, bạn có thể sử dụng để biến đổi các cột mà không cần bất kỳ mã nào. Bạn cũng có thể thêm các phép biến đổi tùy chỉnh bằng PySpark, Pandas và PySpark SQL. Một số biến đổi hoạt động tại chỗ, trong khi những biến đổi khác tạo cột đầu ra mới trong tập dữ liệu của bạn.

Đối với các thử nghiệm của chúng tôi, vì sau mỗi lần tham gia vào ID bệnh nhân, chúng tôi đã để lại các cột ID bệnh nhân trùng lặp. Chúng tôi cần phải loại bỏ các cột này. Chúng tôi đã bỏ cột ID bệnh nhân bên phải, như được hiển thị trong ảnh chụp màn hình sau bằng cách sử dụng Quản lý các cột ->Thả cột biến đổi, để duy trì một cột ID bệnh nhân (bệnh nhân_id trong tập dữ liệu cuối cùng).

ML8274-hình ảnh001

Xoay tập dữ liệu bằng Pandas

Tập dữ liệu xác nhận quyền sở hữu là cấp độ bệnh nhân với lượt khám khẩn cấp (ER), bệnh nhân nội trú (IP), số lượng đơn thuốc và dữ liệu chẩn đoán đã được nhóm theo mã HCC tương ứng của họ (khoảng 189 mã). Để tạo tập dữ liệu về bệnh nhân, chúng tôi tổng hợp mã HCC xác nhận quyền sở hữu theo bệnh nhân và xoay mã HCC từ hàng sang cột. Chúng tôi đã sử dụng Pandas để xoay tập dữ liệu, đếm số lượng mã HCC theo bệnh nhân, sau đó kết hợp với tập dữ liệu chính trên ID bệnh nhân. Chúng tôi đã sử dụng tùy chọn chuyển đổi tùy chỉnh trong Data Wrangler, chọn Python (Pandas) làm khuôn khổ lựa chọn.

ML8274-hình ảnh002

Đoạn mã sau hiển thị logic chuyển đổi để xoay bảng:

# 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

Tạo cột mới bằng công thức tùy chỉnh

Chúng tôi đã nghiên cứu tài liệu nghiên cứu để xác định mã HCC nào là xác định trong chẩn đoán sức khỏe tâm thần. Sau đó, chúng tôi đã viết logic này bằng cách sử dụng biến đổi công thức tùy chỉnh Data Wrangler sử dụng biểu thức Spark SQL để tính toán cột mục tiêu Chẩn đoán sức khỏe tâm thần (MH), mà chúng tôi đã thêm vào cuối DataFrame.

ML8274-hình ảnh003

Chúng tôi đã sử dụng logic chuyển đổi sau:

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

Thả các cột khỏi DataFrame bằng PySpark

Sau khi tính toán cột mục tiêu (MH), chúng tôi đã loại bỏ tất cả các cột trùng lặp không cần thiết. Chúng tôi đã giữ lại ID bệnh nhân và cột MH để kết hợp với tập dữ liệu chính của chúng tôi. Điều này được tạo điều kiện thuận lợi bởi một biến đổi SQL tùy chỉnh sử dụng PySpark SQL làm khuôn khổ mà chúng tôi lựa chọn.

ML8274-hình ảnh005

Chúng tôi đã sử dụng logic sau:

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

Di chuyển cột MH để bắt đầu

Thuật toán ML của chúng tôi yêu cầu đầu vào được gắn nhãn nằm trong cột đầu tiên. Do đó, chúng tôi đã di chuyển cột được tính toán MH đến đầu DataFrame để sẵn sàng xuất.

ML8274-hình ảnh006

Điền vào chỗ trống bằng 0 bằng cách sử dụng Pandas

Thuật toán ML của chúng tôi cũng yêu cầu dữ liệu đầu vào không có trường trống. Do đó, chúng tôi đã lấp đầy các trường trống của tập dữ liệu cuối cùng bằng các số 0. Chúng tôi có thể dễ dàng thực hiện điều này thông qua một biến đổi tùy chỉnh (Pandas) trong Data Wrangler.

ML8274-hình ảnh007

Chúng tôi đã sử dụng logic sau:

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

Đúc cột từ phao sang dài

Bạn cũng có thể phân tích cú pháp và truyền một cột sang bất kỳ kiểu dữ liệu mới nào một cách dễ dàng trong Data Wrangler. Vì mục đích tối ưu hóa bộ nhớ, chúng tôi đặt cột đầu vào nhãn sức khỏe tâm thần của mình dưới dạng float.

ML8274-hình ảnh008

Phân tích mô hình nhanh: Biểu đồ mức độ quan trọng của tính năng

Sau khi tạo tập dữ liệu cuối cùng, chúng tôi đã sử dụng kiểu phân tích Mô hình nhanh trong Data Wrangler để nhanh chóng xác định sự không nhất quán của dữ liệu và xem độ chính xác của mô hình của chúng tôi có nằm trong phạm vi dự kiến ​​hay không hoặc nếu chúng tôi cần tiếp tục kỹ thuật tính năng trước khi dành thời gian đào tạo mô hình. Mô hình trả về điểm F1 là 0.901, trong đó 1 là điểm cao nhất. Điểm F1 là một cách kết hợp độ chính xác và độ thu hồi của mô hình, và nó được định nghĩa là trung bình hài hòa của cả hai. Sau khi kiểm tra những kết quả khả quan ban đầu này, chúng tôi đã sẵn sàng xuất dữ liệu và tiến hành đào tạo mô hình bằng cách sử dụng tập dữ liệu đã xuất.

ML8274-hình ảnh009

Xuất tập dữ liệu cuối cùng sang Amazon S3 qua sổ ghi chép Jupyter

Bước cuối cùng, xuất tập dữ liệu ở dạng hiện tại (đã chuyển đổi) sang Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) để sử dụng trong tương lai cho đào tạo người mẫu, chúng tôi sử dụng Lưu vào Amazon S3 (qua Jupyter Notebook) tùy chọn xuất khẩu. Máy tính xách tay này bắt đầu một phân phối và có thể mở rộng Chế biến Amazon SageMaker công việc áp dụng công thức đã tạo (luồng dữ liệu) cho các đầu vào được chỉ định (thường là tập dữ liệu lớn hơn) và lưu kết quả trong Amazon S3. Bạn cũng có thể xuất các cột (tính năng) đã chuyển đổi của mình sang Cửa hàng tính năng Amazon SageMaker hoặc xuất các phép biến đổi dưới dạng một đường dẫn bằng cách sử dụng Đường ống Amazon SageMakerhoặc chỉ cần xuất các phép biến đổi dưới dạng mã Python.

Để xuất dữ liệu sang Amazon S3, bạn có ba tùy chọn:

  • Xuất dữ liệu đã chuyển đổi trực tiếp sang Amazon S3 qua giao diện người dùng Data Wrangler
  • Xuất các phép biến đổi dưới dạng công việc Xử lý SageMaker thông qua sổ ghi chép Jupyter (như chúng tôi làm cho bài đăng này).
  • Xuất các phép biến đổi sang Amazon S3 thông qua một nút đích. Một nút đích cho Data Wrangler biết nơi lưu trữ dữ liệu sau khi bạn đã xử lý. Sau khi bạn tạo một nút đích, bạn tạo một công việc xử lý để xuất dữ liệu.

ML8274-hình ảnh010

Kết luận

Trong bài đăng này, chúng tôi đã giới thiệu cách điểm cân bằng IoT sử dụng Data Wrangler để tăng tốc quá trình tải một lượng lớn dữ liệu xác nhận quyền sở hữu của chúng tôi để làm sạch và chuyển đổi dữ liệu để chuẩn bị cho ML. Chúng tôi cũng đã trình bày cách kết hợp kỹ thuật tính năng với các biến đổi tùy chỉnh bằng cách sử dụng Pandas và PySpark trong Data Wrangler, cho phép chúng tôi xuất dữ liệu từng bước (sau mỗi lần kết hợp) cho mục đích đảm bảo chất lượng. Việc áp dụng các phép biến đổi dễ sử dụng này trong Data Wrangler đã cắt giảm gần 50% thời gian dành cho việc chuyển đổi dữ liệu đầu cuối. Ngoài ra, tính năng phân tích Mô hình nhanh trong Data Wrangler cho phép chúng tôi dễ dàng xác nhận trạng thái của các phép biến đổi khi chúng tôi xoay vòng trong quá trình chuẩn bị dữ liệu và kỹ thuật tính năng.

Bây giờ chúng tôi đã chuẩn bị trước dữ liệu cho trường hợp sử dụng mô hình rủi ro sức khỏe tâm thần của mình, bước tiếp theo, chúng tôi dự định xây dựng mô hình ML bằng cách sử dụng SageMaker và các thuật toán tích hợp mà nó cung cấp, sử dụng tập dữ liệu yêu cầu của chúng tôi để xác định các thành viên nên tìm kiếm sức khỏe tâm thần trước khi họ đến một điểm mà họ cần. Giữ nguyên!


Về các tác giả

Xây dựng mô hình rủi ro học máy về sức khỏe tâm thần bằng cách sử dụng Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Shibangi Saha là Nhà khoa học dữ liệu tại Điểm cân bằng. Cô kết hợp chuyên môn của mình trong lĩnh vực chăm sóc sức khỏe người trả tiền yêu cầu dữ liệu và máy học để thiết kế, triển khai, tự động hóa và lập tài liệu cho các quy trình phân tích, báo cáo và dữ liệu y tế nhằm thúc đẩy thông tin chi tiết và các cải tiến có thể hành động trong hệ thống cung cấp dịch vụ chăm sóc sức khỏe. Shibangi đã nhận bằng Thạc sĩ Khoa học Tin học Sinh học từ Trường Cao đẳng Khoa học Đại học Northeastern và bằng Cử nhân Khoa học Sinh học và Khoa học Máy tính từ Trường Cao đẳng Khoa học Máy tính và Khoa học Thông tin Khoury.

Xây dựng mô hình rủi ro học máy về sức khỏe tâm thần bằng cách sử dụng Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Graciela Kravtzov là Người đồng sáng lập và CTO của Điểm cân bằng. Grace đã giữ các vị trí lãnh đạo cấp C / VP trong lĩnh vực Kỹ thuật, Vận hành và Chất lượng, đồng thời là nhà tư vấn điều hành cho chiến lược kinh doanh và phát triển sản phẩm trong ngành chăm sóc sức khỏe và giáo dục và không gian công nghiệp IoT. Grace đã nhận được bằng Thạc sĩ Khoa học về Kỹ sư Cơ điện tại Đại học Buenos Aires và bằng Thạc sĩ Khoa học về Khoa học Máy tính của Đại học Boston.

Xây dựng mô hình rủi ro học máy về sức khỏe tâm thần bằng cách sử dụng Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Arunprasath Shankar là Kiến trúc sư chuyên về giải pháp trí tuệ nhân tạo và máy học (AI / ML) của AWS, giúp khách hàng toàn cầu mở rộng quy mô các giải pháp AI của họ một cách hiệu quả và hiệu quả trên đám mây. Khi rảnh rỗi, Arun thích xem phim khoa học viễn tưởng và nghe nhạc cổ điển.

Xây dựng mô hình rủi ro học máy về sức khỏe tâm thần bằng cách sử dụng Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái. Ajai Sharma là Giám đốc Sản phẩm Cấp cao của Amazon SageMaker, nơi ông tập trung vào SageMaker Data Wrangler, một công cụ chuẩn bị dữ liệu trực quan cho các nhà khoa học dữ liệu. Trước AWS, Ajai là Chuyên gia Khoa học Dữ liệu tại McKinsey and Company, nơi ông đã lãnh đạo các cam kết tập trung vào ML cho các công ty tài chính và bảo hiểm hàng đầu trên toàn thế giới. Ajai đam mê khoa học dữ liệu và thích khám phá các thuật toán và kỹ thuật máy học mới nhất.

Dấu thời gian:

Thêm từ Học máy AWS