• AutoML на H2O може да се използва за автоматизиране на работния процес за машинно обучение, което включва автоматично обучение и настройка на много модели в рамките на определен от потребителя срок.
  • Той предоставя проста функция за обвиване, която изпълнява голям брой задачи, свързани с моделиране, които обикновено изискват много редове код.
  • Това помага за освобождаване на време, за да се съсредоточите върху други аспекти на задачите на тръбопровода за наука за данни, като предварителна обработка на данни, инженерство на функции и модел разгръщането.
  • Създават се подредени ансамбли
    един въз основа на всички предварително обучени модели
    — друг на най-добрия модел от всяко семейство
  • Подредените ансамбли ще бъдат автоматично обучени върху колекции от индивидуални модели, за да произвеждат силно предсказуеми ансамблови модели, които в повечето случаи ще бъдат най-добре представящите се модели в класацията на AutoML.
  • Интерфейсът H2O AutoML е проектиран да има възможно най-малко параметри, така че всичко, което потребителят трябва да направи, е да посочи своя набор от данни
  • H2O AutoML извършва (проста) предварителна обработка на данни, автоматизира процеса на обучение голям избор от кандидат-модели, настройва хиперпараметрите на моделите ,и създава подредени ансамбли.
  • Идентифицирайте колоната за отговор и по избор задайте времево ограничение или ограничение за общия брой обучени модели.
  • AutoML на H2O също е полезен инструмент за напреднал потребител.
  • Може да се използва както в R, така и в Python

Вижте също нашата статия за:

Въведение в AutoML-Бъдещето на индустриалното ML изпълнение
Прилагане на AutoML (част-1) с помощта на Auto-Sklearn
Прилагане на AutoML(част-2) с MLBox
Прилагане на AutoML (част-3) с TPOT
Автоматизирана настройка на хиперпараметър
AutoML в облака

Предимства

  • Напълно интегриран с най-новите GPU, така че да може да се възползва от най-новия и най-добрия хардуер
  • Лесно достъпни алгоритми, лесни за използване във вашите аналитични проекти
  • По-бързо от Python Scikit учене (в контролирана зона за обучение с машинно обучение)
  • Възможност за хоризонтално мащабиране чрез предоставяне на динамични клъстери

Внедряване на Python

→ Инсталиране на H2O AutoML

!pip install h2o

→ Импортиране на пакети

import h2o 
from h2o.automl import H2OAutoML

→ Инициализиране на H2O клъстера

h2o.init()

Това е необходима стъпка, тъй като това развива локалния клъстер за H2O, така че да можете да започнете да използвате H2O и да разработвате модели.

→ Четене на данните

crime = h2o.import_file("https://raw.githubusercontent.com/insaid2018/Term-2/master/CaseStudy/criminal_train.csv")

Ще използваме функцията h2o.import_file(), за да импортираме CSV файла в нашия бележник.

→ Проверка на статистически данни

describe() на H2O не само предоставя мерките за нашите данни, но също така предоставя характеристики на всяка функция

crime.describe()

crime['Criminal'] = crime['Criminal'].asfactor()

→ Разделяне на данните

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

Ще използваме влака и валидните набори, за да изградим и валидираме нашия модел, а с тестовия набор ще видим как се представя.

train, valid, test = crime.split_frame(ratios=[0.7,0.2], seed=1234)
print("Number of rows in train : ", train.shape[0])
print("Number of rows in test : ", test.shape[0])
print("Number of rows in Validation : ", valid.shape[0])

→ напасване на данните

aml = H2OAutoML(max_models = 10, max_runtime_secs=300,exclude_algos=
               ['StackedEnsemble','DeepLearning'], seed = 1)
  • Тук премахнахме алгоритми като Натрупан ансамбъл и Задълбочено обучение, защото в реалния свят искаме нашият модел да бъде възможно най-прост.
  • Въпреки че Stacked Ensemble е един от най-добрите модели в H2O, ние ще го избягваме.

Няколко по-важни хиперпараметъра са:

  • nfolds=5брой сгъвания за k-кратно кръстосано валидиране (nfolds=0 забранява кръстосаното валидиране)
  • balance_classes=False класът данни за тренировка за баланс се брои чрез свръх/недостатъчно вземане на проби
  • max_runtime_secs=3600 колко време ще се изпълни изпълнението на AutoML (в секунди)
  • max_models=None максималният брой модели за изграждане в изпълнение на AutoML (Няма означава, че няма ограничение)
  • include_algos=None списък с алгоритми, до които да се ограничи по време на фазата на изграждане на модела.
  • exclude_algos=None списък с алгоритми за пропускане по време на фазата на изграждане на модел, Нямаще използва всеки възможен алгоритъм.
  • seed=None произволно начало за възпроизводимост

→ Обучение H2O AutoML

aml.train(x = independent_features, y = dependent_features,
          training_frame = train, validation_frame=valid)

→ Проверка на класацията

lb = aml.leaderboard
lb.head(10)

→ получаване на обяснение на модела

explain_model = aml.leader.explain(train)
  • Обясненията могат да се генерират автоматично с едно извикване на функция, осигурявайки прост интерфейс за изследване и обяснение на моделите на AutoML.
  • Голям брой диаграми за сравняване на няколко модела и единичен модел (AutoML лидер) могат да бъдат генерирани автоматично с едно извикване на h2o.explain().

→ Прогнозиране на тестови данни

preds = aml.predict(test)

Предсказват се класове изходни резултати на функцията за прогнозиране на H2O, както и вероятностите за всеки от класовете.

→ Проверка на производителността на модела върху тестови данни

Това ни дава отчет на високо ниво за ефективността на нашия модел

aml.leader.model_performance(test)

Вижте също нашата статия за:

Въведение в AutoML-Бъдещето на индустриалното ML изпълнение
Прилагане на AutoML (част-1) с помощта на Auto-Sklearn
Прилагане на AutoML(част-2) с MLBox
Прилагане на AutoML (част-3) с TPOT
Автоматизирана настройка на хиперпараметър
AutoML в облака

Следвайтени за още предстоящи бъдещи статии, свързани с науката за данните, машинното обучение и изкуствения интелект.

Също така, Пляскайте👏, ако намирате тази статия за полезна, тъй като насърчаването ви катализира вдъхновение и помага за създаването на още готини неща като това .

Посетете ни на https://www.insaid.co/