Обективен

Предизвикателството е да се създаде модел, който използва данни от първите 24 часа от интензивното лечение, за да прогнозира преживяемостта на пациентите. Инициативата на общността GOSSIS на Масачузетския технологичен институт, със сертификат за поверителност от Harvard Privacy Lab, предостави набор от данни за повече от 130 000 посещения на болнични отделения за интензивно лечение (ICU) от пациенти, обхващащи период от една година. Тези данни са част от нарастващи глобални усилия и консорциум, обхващащ Аржентина, Австралия, Нова Зеландия, Шри Ланка, Бразилия и повече от 200 болници в Съединените щати.

Описание на данните

Инициативата на общността GOSSIS на Масачузетския технологичен институт, със сертификат за поверителност от Harvard Privacy Lab, предостави набор от данни за повече от 130 000 посещения на болнични отделения за интензивно лечение (ICU) от пациенти, обхващащи период от една година. Тези данни са част от нарастващи глобални усилия и консорциум, обхващащ Аржентина, Австралия, Нова Зеландия, Шри Ланка, Бразилия и повече от 200 болници в Съединените щати.

Данните включват:

Данни за обучение за 91 713 срещи.
Немаркирани данни от тестове за 39 308 срещи, които включват цялата информация в данните за обучение с изключение на стойностите за hospital_death.
Речник на WiDS Datathon 2020 с допълнителна информация за данните, включително категорията (напр. идентификатор, демографски, жизнени показатели), мерна единица, тип данни (напр. числови, двоични), описание и примери .
Примерни файлове за изпращане

H2O :

H2O е „инструментът за прогнозиране в паметта с отворен код за науката за големи данни“. H2O е богата на функции платформа за машинно обучение с отворен код, известна със своята R и Spark интеграция и лекота на използване. Това е виртуална машина на Java, която е оптимизирана за извършване на обработка в паметта на разпределени, паралелни алгоритми за машинно обучение на клъстери.

Мотивът на H2O е да предостави платформа, която улеснява неспециалистите да правят експерименти с машинно обучение. Архитектурата на H2O може да бъде разделена на различни слоеве, в които горният слой ще бъде с различни API, а долният слой ще бъде H2O JVM.

H2O AutoML

AutoML на H2O може също да бъде полезен инструмент за напреднали потребители, като предоставя проста функция за обвиване, която изпълнява голям брой задачи, свързани с моделиране, които обикновено изискват много редове код, и като им освобождава време да се съсредоточат върху други аспекти на задачите на тръбопровода за наука за данни, като предварителна обработка на данни, инженеринг на функции и внедряване на модел.

AutoML на H2O може да се използва за автоматизиране на работния процес на машинно обучение, което включва автоматично обучение и настройка на много модели в рамките на определен от потребителя срок. Подредените ансамбли — един базиран на всички предварително обучени модели, друг на най-добрия модел от всяка фамилия — ще бъдат автоматично обучени върху колекции от отделни модели, за да произведат силно предсказуеми ансамблови модели, които в повечето случаи ще бъдат най-ефективните модели в Класация на AutoML.

AutoML интерфейс

Интерфейсът H2O AutoML е проектиран да има възможно най-малко параметри, така че всичко, което потребителят трябва да направи, е да посочи своя набор от данни, да идентифицира колоната за отговор и по избор да посочи ограничение във времето или ограничение за общия брой обучени модели.

Пълният изходен код за прогнозиране на оцеляването с помощта на H2O AutoML може да бъде намерен в ядрото на kaggle, дадено по-долу

https://www.kaggle.com/usharengaraju/wids2020-predictionusingh2oautoml

Стартиране на H2O и проверка на клъстера

Има много инструменти за директно взаимодействие с видими от потребителя обекти в H2O клъстера. Всяка нова сесия на python започва с инициализиране на връзка между клиента на python и клъстера H2O. Функцията h2o.init() за инициализиране на H2O.

import h2o
from h2o.automl import H2OAutoML
h2o.init()

Импортиране на библиотеки

# importing libraries
import numpy as np
import pandas as pd
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

Зареждане на данните

# loading dataset 
training_v2= pd.read_csv("../input/widsdatathon2020/training_v2.csv")
# creating independent features X and dependant feature Y
y = pd.DataFrame(training_v2['hospital_death'])
X = training_v2
X = training_v2.drop('hospital_death',axis = 1)

H2OFrame:

H2OFrame е основното хранилище на данни за H2O. H2OFrame е подобно на DataFrame на pandas. Едно от критичните разграничения е, че данните обикновено не се съхраняват в паметта, вместо това се намират на (вероятно отдалечен) H2O клъстер и по този начин H2OFrame представлява просто обработка на тези данни.

features = list(X)
X = y.join(X)
X = h2o.H2OFrame(X)

split_frame():

split_frame() разделя рамка на отделни подмножества с размер, определен от дадените съотношения. Броят на подмножествата винаги е с 1 повече от броя на дадените съотношения. Това не дава точно разделяне и H2O е проектиран да бъде ефективен при големи данни, използвайки метод на вероятностно разделяне, а не точно разделяне.

train,test = X.split_frame(ratios=[.7])

H2OAutoML:

Функцията за автоматично машинно обучение (AutoML) автоматизира процеса на обучение на модела за контролирано машинно обучение. Текущата версия на AutoML обучава и кръстосано валидира случайна гора (DRF), изключително рандомизирана гора (DRF/XRT), произволна мрежа от генерализирани линейни модели (GLM) произволна мрежа от XGBoost (XGBoost), произволна мрежа на Gradient Boosting Machines (GBM), произволна мрежа от Deep Neural Nets (DeepLearning) и 2 подредени ансамбъла, един от всички модели и един от най-добрите модели от всеки вид.

model = H2OAutoML(max_runtime_secs=300, seed = 1)
model.train(x = features, y = 0, training_frame = train

класация:

leaderboard() извлича класацията от H2OAutoML обект и връща H2OFrame с идентификатори на модели в първата колона и показател за оценка във втората колона, сортирани по показателя за оценка.

lb = model.leaderboard
lb.head()

preds = model.predict(test)

Препратки :

Лий, М., Рафа, Дж., Гасеми, М., Полард, Т., Каланиди, С., Бадави, О., Матис, К., Сели, Л. А. (2020). WiDS (Жените в науката за данните) Datathon 2020: Прогноза за смъртността в интензивното отделение. PhysioNet. doi:10.13026/vc0e-th79

Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh, Mark RG, Mietus JE, Moody GB, Peng C-K, Stanley HE. PhysioBank, PhysioToolkit и PhysioNet: Компоненти на нов изследователски ресурс за комплексни физиологични сигнали (2003). Тираж. 101(23):e215-e220.

Официална H20 документация

https://opensourceforu.com/2017/01/introduction-h2o-relation-deep-learning/

https://www.datacamp.com/community/tutorials/h2o-automl