- 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 в облака
Следвайтени за още предстоящи бъдещи статии, свързани с науката за данните, машинното обучение и изкуствения интелект.
Също така, Пляскайте👏, ако намирате тази статия за полезна, тъй като насърчаването ви катализира вдъхновение и помага за създаването на още готини неща като това .