• 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 в облаке

Подпишитесьна нас, чтобы не пропустить новые статьи, посвященные науке о данных, машинному обучению и искусственному интеллекту.

Кроме того, дайте нам аплодисменты👏, если вы находите эту статью полезной, так как ваша поддержка стимулирует вдохновение и помогает создавать больше таких классных вещей, как эта. .

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