Цель
Задача состоит в том, чтобы создать модель, которая использует данные первых 24 часов интенсивной терапии для прогнозирования выживаемости пациентов. Инициатива сообщества GOSSIS Массачусетского технологического института с сертификатом конфиденциальности Гарвардской лаборатории конфиденциальности предоставила набор данных о более чем 130 000 посещений больничных отделений интенсивной терапии (ОИТ) за период в один год. Эти данные являются частью растущих глобальных усилий и консорциума, охватывающего Аргентину, Австралию, Новую Зеландию, Шри-Ланку, Бразилию и более 200 больниц в США.
Описание данных
Инициатива сообщества GOSSIS Массачусетского технологического института с сертификатом конфиденциальности Гарвардской лаборатории конфиденциальности предоставила набор данных о более чем 130 000 посещений больничных отделений интенсивной терапии (ОИТ) в течение одного года. Эти данные являются частью растущих глобальных усилий и консорциума, охватывающего Аргентину, Австралию, Новую Зеландию, Шри-Ланку, Бразилию и более 200 больниц в США.
Данные включают:
Тренировочные данные для 91 713 встреч.
Немаркированные тестовые данные для 39 308 встреч, которые включают всю информацию в тренировочных данных, за исключением значений для Hospital_death.
Словарь WiDS Datathon 2020 с дополнительной информацией о данных, включая категорию (например, идентификатор, демографические данные, жизненно важные показатели), единицу измерения, тип данных (например, числовой, двоичный), описание и примеры. .
Образцы отправленных файлов
H2O :
H2O - это «механизм прогнозирования в оперативной памяти с открытым исходным кодом для науки о больших данных». H2O - это многофункциональная платформа машинного обучения с открытым исходным кодом, известная своей интеграцией R и Spark и простотой использования. Это виртуальная машина Java, оптимизированная для обработки в памяти распределенных параллельных алгоритмов машинного обучения на кластерах.
Мотив H2O состоит в том, чтобы предоставить платформу, которая упростила бы для неспециалистов возможность экспериментировать с машинным обучением. Архитектура H2O может быть разделена на разные уровни, в которых верхним уровнем будут разные API, а нижним уровнем - быть H2O JVM.
# importing libraries import numpy as np # linear algebra import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv) from sklearn.impute import SimpleImputer from sklearn.metrics import accuracy_score from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier,GradientBoostingClassifier ,AdaBoostClassifier from sklearn.model_selection import train_test_split import lightgbm as lgb from sklearn import preprocessing
Запуск H2O и проверка кластера
Существует множество инструментов для прямого взаимодействия с видимыми пользователем объектами в кластере H2O. Каждый новый сеанс python начинается с инициализации соединения между клиентом python и кластером H2O. Функция h2o.init () для инициализации H2O.
import h2o from h2o.estimators.gbm import H2OGradientBoostingEstimator h2o.init()
H2OFrame:
H2OFrame - это основное хранилище данных для H2O. H2OFrame похоже на DataFrame панд. Одним из важных отличий является то, что данные обычно не хранятся в памяти, вместо этого они расположены в (возможно, удаленном) кластере H2O, и, таким образом, H2OFrame представляет собой простой дескриптор этих данных.
X = h2o.H2OFrame(X)
split_frame ():
split_frame () разбивает кадр на отдельные подмножества размера, определенного заданными соотношениями. Количество подмножеств всегда на 1 больше, чем количество заданных соотношений. Это не дает точного разделения, и H2O предназначен для эффективной работы с большими данными с использованием метода вероятностного разделения, а не точного разделения.
# split into train and validation sets train, valid = X.split_frame(ratios = [.8], seed = 1234)
asfactor () преобразует столбцы в текущем кадре в категории.
train[0] = train[0].asfactor() valid[0] = valid[0].asfactor() param = { "ntrees" : 100 , "max_depth" : 10 , "learn_rate" : 0.02 , "sample_rate" : 0.7 , "col_sample_rate_per_tree" : 0.9 , "min_rows" : 5 , "seed": 4241 , "score_tree_interval": 100 } from h2o.estimators import H2OXGBoostEstimator model = H2OXGBoostEstimator(**param) model.train(x = list(range(1, train.shape[1])), y = 0, training_frame = train,validation_frame = valid) model.model_performance(valid)
Использованная литература :
Ли, М., Раффа, Дж., Гассеми, М., Поллард, Т., Каланиди, С., Бадави, О., Маттис, К., Сели, Л. А. (2020). WiDS (Женщины в науке о данных) Datathon 2020: Прогноз смертности в ОИТ. PhysioNet. DOI: 10.13026 / vc0e-th79
Гольдбергер А.Л., Амарал ЛАН, Гласс Л., Хаусдорф Дж.М., Иванов ПЧ, Марк Р.Г., Митус Дж.Э., Муди ГБ, Пэн С.К., Стэнли Х. PhysioBank, PhysioToolkit и PhysioNet: компоненты нового исследовательского ресурса для сложных физиологических сигналов (2003). Тираж. 101 (23): e215-e220.
Официальная документация H20