Создайте модель рисков машинного обучения для психического здоровья с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Создайте модель риска машинного обучения для психического здоровья с помощью Amazon SageMaker Data Wrangler.

Этот пост написан в соавторстве с Шибанги Саха, специалистом по данным, и Грасиэлой Кравцов, соучредителем и техническим директором Equilibrium Point.

Многие люди испытывают новые симптомы психического заболевания, такие как стресс, тревога, депрессия, употребление психоактивных веществ и посттравматическое стрессовое расстройство (ПТСР). В соответствии с Семейный фонд Кайзера, около половины взрослых (47%) по всей стране сообщили о негативных последствиях для психического здоровья во время пандемии, что является значительным увеличением по сравнению с допандемическим уровнем. Кроме того, определенные половые и возрастные группы чаще всего сообщают о стрессе и беспокойстве, при этом уровень стресса намного выше, чем у других. Кроме того, некоторые конкретные этнические группы с большей вероятностью сообщают о «значительном влиянии» на свое психическое здоровье, чем другие.

Несколько опросов, в том числе собранных Центрами по контролю и профилактике заболеваний (CDC), показали значительное увеличение симптомов поведенческого здоровья, о которых сообщают сами люди. Согласно одному отчету CDC, в ходе которого в конце июня 2020 года были опрошены взрослые в США, 31% респондентов сообщили о симптомах тревоги или депрессии, 13% сообщили о начале или увеличении употребления психоактивных веществ, 26% сообщили о симптомах, связанных со стрессом, и 11% сообщили о симптомах, связанных со стрессом. сообщили о серьезных мыслях о самоубийстве в течение последних 30 дней.

Самостоятельно сообщаемые данные, хотя и являются абсолютно важными для диагностики расстройств психического здоровья, могут подвергаться влиянию, связанному с сохраняющейся стигмой, связанной с психическим здоровьем и лечением психических заболеваний. Вместо того, чтобы полагаться исключительно на данные, о которых сообщают сами люди, мы можем оценить и спрогнозировать психические расстройства, используя данные из медицинских карт и данных о заявлениях, чтобы попытаться ответить на фундаментальный вопрос: можем ли мы предсказать, кому, вероятно, понадобится психиатрическая помощь, прежде чем она им понадобится? Если эти люди могут быть идентифицированы, программы и ресурсы раннего вмешательства могут быть разработаны и развернуты для реагирования на любые новые или усиливающиеся основные симптомы, чтобы смягчить последствия и затраты на психические расстройства.

Легче сказать, чем сделать для тех, кто боролся с управлением и обработкой больших объемов сложных, полных пробелов данных о претензиях! В этом посте мы расскажем, как Точка равновесия Интернета вещей используемый Обработчик данных Amazon SageMaker чтобы упростить подготовку данных о претензиях для нашего варианта использования в области психического здоровья, обеспечивая при этом качество данных на каждом этапе процесса.

Обзор решения

Подготовка данных или разработка признаков — это утомительный процесс, требующий от опытных специалистов по данным и инженеров, которые тратят много времени и энергии на формулирование рецептов различных преобразований (шагов), необходимых для приведения данных в правильную форму. На самом деле, исследования показывают, что подготовка данных для машинного обучения (МО) занимает до 80% времени специалистов по данным. Как правило, ученые и инженеры используют различные платформы обработки данных, такие как Pandas, PySpark и SQL, для кодирования своих преобразований и создания заданий распределенной обработки. С Data Wrangler вы можете автоматизировать этот процесс. Data Wrangler является компонентом Студия Amazon SageMaker которое предоставляет комплексное решение для импорта, подготовки, преобразования, придания характеристик и анализа данных. Вы можете интегрировать Data Wrangler поток данных в ваши существующие рабочие процессы машинного обучения, чтобы упростить и оптимизировать обработку данных и разработку функций с минимальным кодированием или вообще без него.

В этом посте мы рассмотрим шаги по преобразованию исходных необработанных наборов данных в готовые к машинному обучению функции, которые можно использовать для построения моделей прогнозирования на следующем этапе. Во-первых, мы углубимся в природу различных наборов данных, используемых для нашего варианта использования, и как мы объединили эти наборы данных с помощью Data Wrangler. После объединения и консолидации набора данных мы описываем отдельные преобразования, которые мы применили к набору данных, такие как дедупликация, обработка отсутствующих значений и пользовательские формулы, а затем то, как мы использовали встроенный анализ быстрой модели для проверки текущего состояния преобразований. для предсказаний.

Datasets

Для нашего эксперимента мы сначала загрузили данные пациентов из нашего клиента по поведенческому здоровью. Эти данные включают следующее:

  • Данные о претензиях
  • Количество посещений отделения неотложной помощи
  • Количество посещений стационара
  • Количество рецептов на лекарства, связанных с психическим здоровьем
  • Иерархическое кодирование состояний (HCC) диагностирует показатели, связанные с психическим здоровьем.

Цель состояла в том, чтобы объединить эти отдельные наборы данных на основе идентификатора пациента и использовать данные для прогнозирования диагноза психического здоровья. Мы использовали Data Wrangler для создания массивного набора данных из нескольких миллионов строк данных, который представляет собой объединение пяти отдельных наборов данных. Мы также использовали Data Wrangler для выполнения нескольких преобразований, позволяющих выполнять вычисления столбцов. В следующих разделах мы опишем различные преобразования подготовки данных, которые мы применили.

Удаление повторяющихся столбцов после соединения

Amazon SageMaker Data Wrangler обеспечивает множество преобразований данных машинного обучения, чтобы упростить очистку, преобразование и придание характеристик вашим данным. Когда вы добавляете преобразование, оно добавляет шаг к потоку данных. Каждое преобразование, которое вы добавляете, изменяет ваш набор данных и создает новый фрейм данных. Все последующие преобразования применяются к результирующему фрейму данных. Data Wrangler включает встроенные преобразования, которые можно использовать для преобразования столбцов без какого-либо кода. Вы также можете добавлять собственные преобразования с помощью PySpark, Pandas и PySpark SQL. Некоторые преобразования работают на месте, в то время как другие создают новый выходной столбец в вашем наборе данных.

Для наших экспериментов, поскольку после каждого соединения идентификатора пациента у нас оставались повторяющиеся столбцы идентификатора пациента. Нам нужно было удалить эти столбцы. Мы удалили правый столбец идентификатора пациента, как показано на следующем снимке экрана, используя предварительно созданный Управление столбцами ->Удалить столбец Преобразование, чтобы сохранить только один столбец идентификатора пациента (patient_id в окончательном наборе данных).

ML8274-изображение001

Поверните набор данных с помощью Pandas

Наборы данных о претензиях были на уровне пациентов с посещением неотложной помощи (ER), стационарным (IP), подсчетом рецептов и данными диагнозов, уже сгруппированными по соответствующим кодам HCC (примерно 189 кодов). Для создания витрины данных пациентов мы объединяем коды HCC заявлений по пациентам и переводим код HCC из строк в столбцы. Мы использовали Pandas для поворота набора данных, подсчета количества кодов HCC по каждому пациенту, а затем присоединения к основному набору данных по идентификатору пациента. Мы использовали параметр пользовательского преобразования в Data Wrangler, выбрав Python (Pandas) в качестве предпочтительной платформы.

ML8274-изображение002

В следующем фрагменте кода показана логика преобразования для поворота таблицы:

# 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 являются детерминированными в диагнозах психического здоровья. Затем мы написали эту логику, используя преобразование настраиваемой формулы Data Wrangler, которое использует выражение Spark SQL для вычисления целевого столбца диагностики психического здоровья (MH), который мы добавили в конец DataFrame.

ML8274-изображение003

Мы использовали следующую логику преобразования:

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

Удаление столбцов из DataFrame с помощью PySpark

После расчета целевого столбца (MH) мы удалили все ненужные повторяющиеся столбцы. Мы сохранили идентификатор пациента и столбец MH, чтобы присоединиться к нашему основному набору данных. Этому способствовало пользовательское преобразование SQL, которое использует PySpark SQL в качестве выбранной нами платформы.

ML8274-изображение005

Мы использовали следующую логику:

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

Переместите столбец MH, чтобы начать

Наш алгоритм ML требует, чтобы помеченный ввод находился в первом столбце. Поэтому мы переместили вычисляемый столбец MH в начало DataFrame, чтобы он был готов к экспорту.

ML8274-изображение006

Заполните пробелы 0, используя Pandas

Наш алгоритм ML также требует, чтобы входные данные не имели пустых полей. Поэтому мы заполнили пустые поля окончательного набора данных нулями. Мы можем легко сделать это с помощью пользовательского преобразования (Pandas) в Data Wrangler.

ML8274-изображение007

Мы использовали следующую логику:

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

Приведение столбца из float в long

Вы также можете легко анализировать и приводить столбец к любому новому типу данных в Data Wrangler. В целях оптимизации памяти мы преобразовали входной столбец метки психического здоровья в число с плавающей запятой.

ML8274-изображение008

Быстрый анализ модели: график важности функций

После создания нашего окончательного набора данных мы использовали тип анализа Quick Model в Data Wrangler, чтобы быстро определить несоответствия данных и определить, была ли точность нашей модели в ожидаемом диапазоне, или если нам нужно было продолжить проектирование функций, прежде чем тратить время на обучение модели. Модель вернула оценку F1 0.901, где 1 — самый высокий показатель. Показатель F1 — это способ сочетания точности и полноты модели, и он определяется как среднее гармоническое двух значений. После проверки этих первоначальных положительных результатов мы были готовы экспортировать данные и приступить к обучению модели с использованием экспортированного набора данных.

ML8274-изображение009

Экспортируйте окончательный набор данных в Amazon S3 через блокнот Jupyter.

В качестве последнего шага, чтобы экспортировать набор данных в его текущей форме (преобразованной) в Простой сервис хранения Amazon (Amazon S3) для будущего использования при обучении моделей мы используем Сохранить в Amazon S3 (через блокнот Jupyter) экспортный вариант. Этот ноутбук запускает распределенную и масштабируемую Обработка Amazon SageMaker задание, которое применяет созданный рецепт (поток данных) к указанным входным данным (обычно большим наборам данных) и сохраняет результаты в Amazon S3. Вы также можете экспортировать преобразованные столбцы (функции) в Магазин функций Amazon SageMaker или экспортировать преобразования как конвейер, используя Конвейеры Amazon SageMakerили просто экспортируйте преобразования в виде кода Python.

Для экспорта данных в Amazon S3 у вас есть три варианта:

  • Экспорт преобразованных данных напрямую в Amazon S3 через пользовательский интерфейс Data Wrangler.
  • Экспортируйте преобразования как задание обработки SageMaker через блокнот Jupyter (как мы делаем для этого поста).
  • Экспортируйте преобразования в Amazon S3 через целевой узел. Узел назначения сообщает Data Wrangler, где хранить данные после их обработки. После создания целевого узла вы создаете задание обработки для вывода данных.

ML8274-изображение010

Заключение

В этом посте мы продемонстрировали, как Equilibrium Point IoT использует Data Wrangler для ускорения процесса загрузки больших объемов данных о наших претензиях для очистки и преобразования данных при подготовке к машинному обучению. Мы также продемонстрировали, как интегрировать разработку функций с пользовательскими преобразованиями с помощью Pandas и PySpark в Data Wrangler, что позволяет нам экспортировать данные шаг за шагом (после каждого соединения) для обеспечения качества. Применение этих простых в использовании преобразований в Data Wrangler сократило время, затрачиваемое на сквозное преобразование данных, почти на 50 %. Кроме того, функция анализа быстрой модели в Data Wrangler позволила нам легко проверять состояние преобразований по мере прохождения процесса подготовки данных и проектирования функций.

Теперь, когда мы подготовили данные для нашего варианта использования моделирования рисков для психического здоровья, в качестве следующего шага мы планируем построить модель машинного обучения с использованием SageMaker и встроенных алгоритмов, которые он предлагает, используя наш набор данных требований для определения участников, которым следует обратиться за психическим здоровьем. услуги, прежде чем они доберутся до точки, где они в ней нуждаются. Быть в курсе!


Об авторах

Создайте модель рисков машинного обучения для психического здоровья с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Шибанги Саха работает специалистом по данным в Equilibrium Point. Она сочетает свой опыт работы с данными о требованиях плательщиков медицинских услуг и машинным обучением для разработки, внедрения, автоматизации и документирования конвейеров данных о здоровье, процессов отчетности и аналитики, которые способствуют получению информации и действенным улучшениям в системе предоставления медицинских услуг. Шибанги получила степень магистра биоинформатики в Научном колледже Северо-восточного университета и степень бакалавра биологических и компьютерных наук в Колледже компьютерных и информационных наук Хури.

Создайте модель рисков машинного обучения для психического здоровья с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Грасиела Кравцов является соучредителем и техническим директором Equilibrium Point. Грейс занимала руководящие должности C-level/VP в отделах проектирования, эксплуатации и качества, а также работала исполнительным консультантом по бизнес-стратегии и разработке продуктов в сфере здравоохранения и образования, а также в промышленном пространстве IoT. Грейс получила степень магистра наук в области инженера-электромеханика в Университете Буэнос-Айреса и степень магистра компьютерных наук в Бостонском университете.

Создайте модель рисков машинного обучения для психического здоровья с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Арунпрасат Шанкар является специалистом по архитектуре решений в области искусственного интеллекта и машинного обучения (AI / ML) в AWS, помогая клиентам во всем мире эффективно масштабировать свои решения AI в облаке. В свободное время Арун любит смотреть научно-фантастические фильмы и слушать классическую музыку.

Создайте модель рисков машинного обучения для психического здоровья с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай. Аджай Шарма является старшим менеджером по продуктам в Amazon SageMaker, где он занимается SageMaker Data Wrangler, визуальным инструментом подготовки данных для специалистов по данным. До прихода в AWS Аджай был экспертом по науке о данных в McKinsey and Company, где руководил проектами по машинному обучению для ведущих финансовых и страховых компаний по всему миру. Аджаи увлечен наукой о данных и любит изучать новейшие алгоритмы и методы машинного обучения.

Отметка времени:

Больше от Машинное обучение AWS