Учебник. Как использовать Azure ML Designer

Автор: Кристьян Эльянд | Исследователь технологий

Недавно Azure запустила новую службу машинного обучения, которая призвана стать центральным узлом для выполнения всех задач по обработке и анализу данных. В этой записи блога я пошагово расскажу о модуле конструктора — инструменте, который позволяет нам подготавливать данные, обучать модели машинного обучения и развертывать их с помощью перетаскивания. стиль. Наша цель — построить модель машинного обучения для прогнозирования того, будет ли потребление электроэнергии одним домохозяйством больше 22 кВтч или меньше 22 кВтч.

1. О данных

Ссылка для скачивания данных. Данные отражают суточное потребление электроэнергии одним домохозяйством за 1-летний период с октября 2018 г. по сентябрь 2019 г.:

  • дата — дата потребления;
  • месяц — месяц, соответствующий дате;
  • день недели — пронумерован от 1 до 7, начиная с понедельника;
  • осадки — дождь/снегопад в мм за указанную дату;
  • температура — средняя температура на эту дату;
  • сумма — фактическое потребление электроэнергии домохозяйством в кВтч;
  • amount_-1d — фактическое потребление электроэнергии за предыдущий день;
  • количество›22 — бинарная переменная, указывающая, было ли потребление больше 22 кВтч или меньше 22 кВтч. Это будет наш целевой столбец!

2. Предпосылки

2.1. Создайте учетную запись Microsoft Azure

Для начала вам потребуется подписка Azure. Вы можете создать новую подписку или получить доступ к информации о существующей подписке с Портала Azure. На момент написания статьи Azure предоставляет вам первоначальный бесплатный кредит в размере 170 долларов США для опробования облачных сервисов, но вам все равно нужно ввести данные своей кредитной карты для создания учетной записи.

2.2. Создать группу ресурсов

После входа в облако Azure разумно начать с создания новой группы ресурсов. Таким образом, мы можем удалить все платные ресурсы сразу после того, как закончим свою работу. Сначала нажмите "Группы ресурсов".

Далее выбираем «Добавить»

В открывшейся форме есть следующие поля:

  • Подписка — должна быть предварительно заполнена для вас. В моем примере это моя подписка E-Lab.
  • Группа ресурсов — введите название вашей группы ресурсов. Я назвал это «мл-тренинг».
  • Регион — выберите ближайший регион (в моем случае Западная Европа) — это расположение сервера для вашей группы ресурсов.

После заполнения формы нажмите «Проверить + создать», а затем снова «Создать». Вот и все — теперь вы сможете найти только что созданную группу ресурсов по ее имени.

2.3. Создать ресурс

Платформа Azure имеет концепцию ресурсов, что означает конкретную службу. Чтобы создать ресурс машинного обучения, используйте поле поиска на верхней панели навигации. Найдите «машинное обучение» и нажмите «Машинное обучение»:

На следующей странице нажмите «Добавить»:

В форме запрашивается следующая информация:

  • Имя рабочей области: дайте имя своему сервису и запомните его;
  • Подписка: это должно быть предварительно заполнено для вас;
  • Группа ресурсов: спросите у ИТ-администратора или своего менеджера, какая группа ресурсов будет правильной, или введите имя для создания новой группы ресурсов (группа ресурсов содержит связанные ресурсы для решения Azure).
  • Местоположение: выберите то же местоположение, что и для группы ресурсов;
  • Редакция Workspace: NB: выберите «Enterprise» — машинное обучение через веб-интерфейс доступно только в редакции Enterprise!
  • Нажмите «Обзор + Создать» -> вы будете перенаправлены на страницу обзора. Если все верно, нажмите «Создать», и Azure создаст все ресурсы, необходимые для рабочей области машинного обучения.

Если все пойдет так, как ожидалось, вы увидите (через 1–2 минуты), что развертывание завершено. Нажмите «Перейти к ресурсу»:

3. Загрузите данные и включите вычислительную мощность

Машинное обучение Azure несколько сложно понять, поскольку на самом деле это не одна служба, а набор различных служб. Кроме того, Microsoft много меняет службу машинного обучения, поэтому не удивляйтесь, если пользовательский интерфейс будет выглядеть по-другому, пока вы его читаете. Совсем недавно Microsoft создала новую студию машинного обучения, которая позволяет нам выполнять весь рабочий процесс.

Во избежание возможных проблем, связанных с изменениями пользовательского интерфейса, войдите в новую студию машинного обучения по следующей ссылке: https://ml.azure.com/ и войдите под своей учетной записью.

3.1. Загрузить данные

Во-первых, давайте загрузим образцы данных (загрузите данные, если вы еще этого не сделали). Перейдите в раздел Наборы данных слева и нажмите на него:

Нажмите «Создать набор данных» -> выберите «Из локальных файлов», дайте имя набору данных и нажмите «Далее».

Теперь просмотрите загруженный набор данных и нажмите «Далее»:

Откроется предварительный просмотр набора данных. Если в селекторе Заголовки столбцов указано «Нет заголовков», выберите «Использовать заголовки из первого файла». Предварительный просмотр набора данных должен выглядеть так (обратите внимание на названия столбцов, выделенные жирным шрифтом):

Следующий вид позволяет отменить выбор некоторых столбцов, если это необходимо. Для этого упражнения оставьте все как есть и нажмите «Далее»:

В последнем представлении нажмите «Подтвердить», и набор данных будет создан. Теперь вы должны увидеть набор данных в разделе «Зарегистрированные наборы данных»:

3.2. Создайте вычисление

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

Перейдите к разделу «Вычисления» на левой панели и выберите «Обучающие кластеры»:

Нажмите Новый. Вы можете выбрать среди большого разнообразия различных размеров машины. Во время недавнего обновления Microsoft скрыла стоимость ресурса, но вы можете найти ее на странице с ценами. Для нашего текущего теста:

  • Дайте имя вашему вычислительному экземпляру;
  • Давайте выберем DS2 v2, который включает в себя 2 виртуальных ЦП, 7 ГБ ОЗУ и стоит 0,14 евро в час;
  • Установите минимальное и максимальное количество узлов равным 1;
  • Нажмите «Создать» — создание вычислительного кластера может занять 1–2 минуты.

4. ML-дизайнер

Теперь мы готовы начать работу с Designer. Откройте его на левой панели навигации и нажмите знак +, чтобы добавить новый конвейер.

После открытия правая панель должна сообщить вам, что не выбрана цель вычислений. Нажмите «Выбрать цель вычислений» и выберите наш только что созданный экземпляр вычислений.

4.1. Подготовка данных

На левой навигационной панели конструктора нажмите «Наборы данных», и вы сможете увидеть загруженные данные о потреблении одного домохозяйства в разделе «Мои наборы данных». Чтобы использовать эти данные, просто перетащите их в серую рабочую область:

4.1.1. Выберите соответствующие столбцы

Цель нашей модели состоит в том, чтобы предсказать, будет ли ежедневное потребление электроэнергии выборочными домохозяйствами больше или меньше 22 кВтч. В наших исторических данных для этого есть специальный признак «сумма›22». Позже мы будем использовать эту функцию в качестве «целевого» столбца нашей модели машинного обучения.

Наш исходный набор данных включает некоторые столбцы, которые мы не хотим использовать для обучения. Например, мы не хотим использовать конкретную дату, потому что это больше никогда не повторится. Кроме того, мы не хотим включать функцию «количество», которая отражает точное потребление электроэнергии в данный день.

Выполните выбор столбца следующим образом:

  • Выберите «Преобразование данных» на левой панели навигации;
  • Найдите «Выбрать столбцы» и перетащите его на панель инструментов;
  • Соедините элемент «Набор данных» с элементом «Выбрать столбцы», перетащив между ними стрелку;
  • Выберите месяц, день недели, осадки, температуру, количество_-1d и количество›22;
  • Нажмите «Сохранить».

4.1.2. Разделение данных на обучающие и тестовые наборы данных

В каждом эксперименте ML данные должны быть разделены для обучения и тестирования наборов данных. Первый необходим для обучения модели, а второй — для проверки результатов модели. Операция разделения важна, чтобы избежать «переобучения» — ситуации, когда модель ML изучает не общие закономерности, а детали конкретных данных.

Выполните расщепление следующим образом:

  • Выберите «Преобразование данных» на левой панели навигации;
  • Найдите «Разделить данные» и перетащите его на панель инструментов;
  • Соедините элемент селектора столбцов с элементом разделенных данных;
  • Вставьте 0,8 в «Доля строк в первом выходном наборе данных» — это означает, что мы будем использовать 80% данных для обучения модели, а остальные данные — для тестирования.
  • Вставьте 1234 в поле «Случайное начальное число».

Вывод должен выглядеть примерно так, как показано ниже:

Чтобы проверить, работает ли конвейер должным образом, нажмите «Выполнить» в правой верхней части страницы. «Выполнение» операции может занять некоторое время, но после ее завершения вы сможете щелкнуть правой кнопкой мыши по элементам и визуализировать результаты. Например, ожидаемый результат элемента «Разделить данные» — два набора данных.

4.2. Обучение модели

Теперь мы готовы к некоторому обучению модели:

  • Выберите «Алгоритмы машинного обучения» на левой панели навигации;
  • Найдите «Усиленное дерево решений с двумя классами» и перетащите его на панель инструментов;
  • Выберите «Обучение модели» на левой панели навигации;
  • Найдите «Модель поезда» и перетащите ее на панель инструментов;
  • Соедините элемент «Дерево решений» и левую часть элемента «Разделить данные» с «Моделью обучения» (рисунок ниже).
  • Нажмите на элемент «Модель поезда» и выберите «количество›22» в качестве столбца «Метка».

Вы готовы обучить свою модель: нажмите «Выполнить» в правом верхнем углу страницы. Если все пойдет так, как ожидалось, ваша модель должна быть обучена без ошибок.

4.3. Оценка и оценка модели

После того, как вы обучите свою модель, используя 80 процентов данных, вы можете использовать остальные 20 процентов для оценки модели:

  • Выберите «Оценка и оценка модели» на левой панели навигации;
  • Найдите модуль Score Model и перетащите его на панель инструментов.
  • Подключите выход модуля Train Model к левому входному порту Score Model. Подключите выход тестовых данных (правый порт) модуля Split Data к правому входному порту Score Model.
  • Найдите модуль «Оценить модель» и перетащите его на панель инструментов.
  • Соедините выход модуля Score Model с левым входом Evaluate Model.

Давайте снова запустим конвейер (выберите «Выполнить» в правом верхнем углу страницы). После успешного запуска щелкните правой кнопкой мыши модуль «Оценочная модель» и выберите «Визуализировать оцененный набор данных». Это позволяет вам сравнить фактическую метку с предсказанной и увидеть вероятность этой оценки.

Попробуйте то же самое с модулем «Модель оценки». Здесь вы можете увидеть сводную статистику производительности модели.

Вот и все — теперь вы знаете основной рабочий процесс обучения моделей машинного обучения с помощью Azure ML Designer. Далее попробуйте обучить другую модель или развернуть существующую, следуя этому руководству.