- AutoML от H2O можно использовать для автоматизации рабочего процесса машинного обучения, который включает в себя автоматическое обучение и настройку многих моделей в течение заданного пользователем срока.
- Он предоставляет простую функцию-оболочку, которая выполняет большое количество задач, связанных с моделированием, для которых обычно требуется много строк кода.
- Это помогает высвободить время, чтобы сосредоточиться на других аспектах задач конвейера обработки данных, таких как предварительная обработка данных, разработка функций и моделирование. развертывание.
- Создаются составные ансамбли
—один на основе всех ранее обученных моделей
— другой на лучшей модели каждого семейства - Составные ансамбли будут автоматически обучаться на наборах отдельных моделей для создания ансамблевых моделей с высоким уровнем прогнозирования, которые в большинстве случаев будут самыми эффективными моделями в таблице лидеров AutoML.
- Интерфейс H2O AutoML предназначен для использования как можно меньшего количества параметров, так что все, что нужно сделать пользователю, — это указать на свой набор данных.
- H2O AutoML выполняет (простую) предварительную обработку данных, автоматизирует процесс обучения большого набора моделей-кандидатов, настраивает гиперпараметры моделей , и создает составные ансамбли.
- Определите столбец ответа и, при необходимости, укажите временное ограничение или ограничение на общее количество обученных моделей.
- H2O AutoML также является полезным инструментом для опытных пользователей.
- Его можно использовать как в R, так и в Python.
Также ознакомьтесь с нашей статьей о:
Введение в AutoML — будущее отраслевого машинного обучения
Применение AutoML (часть 1) с помощью Auto-Sklearn
Применение AutoML (часть 2) с MLBox
Применение AutoML (часть 3) с TPOT
Автоматическая настройка гиперпараметров
AutoML в облаке
Преимущества
- Полностью интегрирован с новейшими графическими процессорами, чтобы использовать преимущества новейшего и лучшего оборудования.
- Доступные алгоритмы, которые легко использовать в ваших аналитических проектах.
- Быстрее, чем обучение 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 — будущее отраслевого машинного обучения
Применение AutoML (часть 1) с помощью Auto-Sklearn
Применение AutoML (часть 2) с MLBox
Применение AutoML (часть 3) с TPOT
Автоматическая настройка гиперпараметров
AutoML в облаке
Подпишитесьна нас, чтобы не пропустить новые статьи, посвященные науке о данных, машинному обучению и искусственному интеллекту.
Кроме того, дайте нам аплодисменты👏, если вы находите эту статью полезной, так как ваша поддержка стимулирует вдохновение и помогает создавать больше таких классных вещей, как эта. .