Учебник. Обучение модели классификации без написания кода с помощью AutoML в Студии машинного обучения Azure

Узнайте, как обучить модель классификации без написания кода с помощью автоматизированного машинного обучения в Студии машинного обучения Azure. Эта модель классификации прогнозирует согласие клиента на депозит с фиксированным сроком, предложенный финансовым учреждением.

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

Вам не потребуется писать код при работе с этим учебником — вы будете использовать интерфейс Студии для обучения. Вы узнаете, как выполнять указанные далее задачи.

  • Создайте рабочую область машинного обучения Azure.
  • Выполнение эксперимента автоматического машинного обучения.
  • Просмотр сведений о модели.
  • Развертывание рекомендуемой модели.

Также опробуйте автоматизированное машинное обучение для таких типов моделей:

Предварительные требования

  • Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure.

  • Скачайте файл данных bankmarketing_train.csv. Столбец y в нем указывает, подписан ли клиент на депозит с фиксированным сроком. Впоследствии он будет выбран в этом учебнике как целевой столбец для прогнозов.

Создание рабочей области

Рабочая область машинного обучения Azure — это основной ресурс в облаке для экспериментов, обучения и развертывания моделей машинного обучения. Она связывает подписку и группу ресурсов Azure с легко используемым объектом в службе.

Существует много способов создания рабочей области. В этом руководстве показано, как создать рабочую область с помощью портала Azure, веб-консоли для управления ресурсами Azure.

  1. Войдите на портал Azure с помощью учетных данных вашей подписки Azure.

  2. В верхнем левом углу окна портала Azure щелкните три полоски и выберите + Создать ресурс.

    Снимок экрана: пункт "+ Создать ресурс".

  3. С помощью строки поиска выполните поиск по запросу Машинное обучение.

  4. Выберите Машинное обучение.

    Снимок экрана: результаты поиска для выбора пункта "Машинное обучение".

  5. В области Машинное обучение выберите Создать.

  6. Укажите следующие сведения для настройки новой рабочей области:

    Поле Описание
    имя рабочей области. Введите уникальное имя для идентификации рабочей области. В этом примере мы используем docs-ws. Имена должны быть уникальными в группе ресурсов. Используйте имя, которое позволит легко запомнить рабочую область и отличить ее от областей, созданных другими пользователями.
    Subscription Выберите подписку Azure, которую нужно использовать.
    группа ресурсов. Используйте группу ресурсов, которая есть в подписке, или введите имя, чтобы создать группу ресурсов. Группа ресурсов содержит связанные ресурсы для решения Azure. В этом примере мы используем docs-aml.
    Location Выберите ближайшее к пользователям и ресурсам данных расположение, чтобы создать рабочую область.
  7. После окончания настройки рабочей области выберите Просмотр и создание.

  8. Щелкните Создать, чтобы создать рабочую область.

    Предупреждение

    Создание рабочей области в облаке может занять несколько минут.

    По завершении процесса появится сообщение об успешном развертывании.

  9. Чтобы просмотреть новую рабочую область, выберите Перейти к ресурсу.

  10. В представлении портала рабочей области выберите Запустить Студию, чтобы перейти в Студию машинного обучения Azure.

Важно!

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

Вход в Студию

Выполните указанные ниже действия по настройке и выполнению эксперимента с помощью студии "Машинное обучение Azure" в объединенном веб-интерфейсе на странице https://ml.azure.com, включающем в себя средства машинного обучения для выполнения сценариев обработки и анализа данных и предназначенном для специалистов в этой области с любым уровнем навыков. Студия не поддерживается в браузерах Internet Explorer.

  1. Войдите в Студию машинного обучения Azure.

  2. Выберите свою подписку и рабочую область, которую создали.

  3. Выберите Начать.

  4. На панели слева выберите Automated ML (Автоматизированное ML) в разделе Автор.

    Так как это ваш первый эксперимент автоматизированного машинного обучения, вы увидите пустой список и ссылки на документацию.

    Страница "Начало работы"

  5. Выберите +Новое выполнение автоматизированного машинного обучения.

Создание и загрузка набора данных

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

  1. Создайте набор данных, выбрав из раскрывающегося списка + Create DataSet (+Создать набор данных) пункт From local files (Из локальных файлов).

    1. В форме Общие сведения присвойте набору данных имя и по желанию добавьте описание. Так как интерфейс автоматизированного машинного обучения сейчас поддерживает только табличные наборы данных, по умолчанию следует использовать тип набора данных Табличный.

    2. Выберите Далее внизу слева.

    3. В форме Выбор хранилища данных и файлов выберите хранилище данных по умолчанию, которое было автоматически настроено при создании рабочей области workspaceblobstore (хранилище BLOB-объектов Azure) . Сюда вы будете загружать файл данных, чтобы сделать его доступным для рабочей области.

    4. Нажмите кнопку Обзор.

    5. Выберите файл bankmarketing_train.csv на локальном компьютере. Это тот файл, который вы скачали при подготовке необходимых компонентов.

    6. Присвойте набору данных уникальное имя и укажите дополнительное описание.

    7. Нажмите кнопку Далее внизу слева, чтобы отправить его в контейнер по умолчанию, который был автоматически настроен при создании рабочей области.

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

    8. Убедитесь, что форма Settings and preview (Настройки и предварительный просмотр) заполнена, как описано ниже, и щелкните Далее.

      Поле Описание Значение для руководства
      Формат файла Свойство определяет структуру и тип данных, хранящихся в файле. С разделителями
      Разделитель Один или несколько символов для указания границы между  отдельными, независимыми регионами в виде простого текста или других потоков данных. Запятая
      Кодирование Определяет, какой бит следует использовать в таблице схемы символов, чтобы считать набор данных. UTF-8
      Заголовки столбцов Указывает, как будут обрабатываться заголовки набора данных, если таковые имеются. Все файлы имеют одинаковые заголовки
      Пропустить строки Указывает, сколько строк, если таковые имеются, пропускается в наборе данных. None
    9. Форма Схема позволяет выполнять дальнейшую настройку данных для этого эксперимента. В этом примере выберите переключатель для функции day_of_week, чтобы не включать его. Выберите Далее. Форма схемы

    10. В форме Confirm details (Подтверждение сведений) проверьте правильность сведений, которые ранее были введены в формах Basic info, Datastore and file selection (Базовые сведения, хранилище данных и выбор файлов) и Settings and preview (Параметры и просмотр).

    11. Выберите Создать, чтобы завершить создание набора данных.

    12. Выберите набор данных, когда он появится в списке.

    13. Используйте Просмотр данных, чтобы убедиться, что вы не включили day_of_week, затем выберите Закрыть.

    14. Нажмите кнопку Далее.

Настройка запуска

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

  1. Выберите переключатель Создать.

  2. Заполните форму Configure Run (Настройка выполнения) следующим образом.

    1. Введите для эксперимента имя my-1st-automl-experiment.

    2. Выберите y в качестве столбца целевого объекта, для которого будут выполняться прогнозы. Этот столбец содержит сведения о том, подписан ли клиент на срочный депозит или нет.

    3. Выберите +Создать вычислительную среду и настройте целевой объект вычислений. Целевым объектом вычислений называется локальная или облачная среда, в которой будет запущен сценарий обучения или размещена развернутая служба. Для этого эксперимента мы используем облачный вычислительный ресурс.

      1. Заполните форму Виртуальная машина, чтобы настроить вычислительную среду.

        Поле Описание Значение для руководства
        Приоритет виртуальной машины Выберите приоритет, который должен иметь ваш эксперимент. Выделенные
        Virtual machine type Выберите тип виртуальной машины для вычислительной среды. ЦП (центральный процессор)
        Virtual machine size Выберите размер виртуальной машины для вычислительной среды. Список рекомендуемых размеров выводится с учетом ваших данных и типа эксперимента. Standard_DS12_V2
      2. Выберите Далее, чтобы заполнить форму Настройка параметров.

        Поле Описание Значение для руководства
        Имя вычислительной среды Уникальное имя для идентификации контекста вычислительной среды. automl-compute
        Min/Max nodes (Минимальное и максимальное количество узлов) Для профилирования данных необходимо указать один или больше узлов. Min nodes (Минимум узлов): 1
        Max nodes (Максимум узлов): 6
        Время до уменьшения масштаба (сек) Время простоя перед автоматическим уменьшением масштаба кластера до минимального количества узлов. 1800 (по умолчанию)
        Дополнительные параметры Параметры для настройки и авторизации виртуальной сети для эксперимента. None
      3. Выберите Создать, чтобы создать целевой объект вычислений.

        Операция займет несколько минут.

        Страница "Параметры"

      4. Когда создание целевого объекта вычислений завершится, выберите его из раскрывающегося списка.

    4. Выберите Далее.

  3. В форме Тип задачи и параметры завершите настройку эксперимента автоматического машинного обучения, указав тип задачи и параметры конфигурации машинного обучения.

    1. Выберите Классификация в качестве типа задачи машинного обучения.

    2. Выберите View additional configuration settings (Просмотреть дополнительные параметры конфигурации) и заполните поля следующим образом. Эти настройки предназначены для лучшего управления заданием для обучения. В противном случае применяются значения по умолчанию, основанные на выборе эксперимента и данных.

      Дополнительные конфигурации Описание Значение для руководства
      Основная метрика Оценочная метрика, по которой будет проверяться алгоритм машинного обучения. AUC_weighted
      Пояснения для наилучшей модели Автоматическое отображение пояснений для лучшей модели, созданной с помощью автоматизированного машинного обучения. Включить
      Запрещенные алгоритмы Алгоритмы, которые вы хотите исключить из задания обучения. None
      Критерий выхода Если условия соблюдены, задание обучения останавливается. Время задания обучения (ч): 1
      Порог оценки метрики: None
      Проверка Выберите тип перекрестной проверки и число тестов. Тип проверки:
      перекрестная проверка в  k-кратном порядке .

      Количество проверок: 2
      Параллелизм Максимальное число выполняемых параллельных итераций за одну итерацию. Максимальное число параллельных итераций: 5

      Щелкните Сохранить.

  4. Нажмите кнопку Готово, чтобы запустить эксперимент. Откроется экран Сведения о выполнении, содержащий в верхней части значение Состояние выполнения после начала подготовки эксперимента. Это состояние обновляется по мере выполнения эксперимента. Уведомления также отображаются в правом верхнем углу студии, сообщая о состоянии эксперимента.

Важно!

Подготовка к запуску эксперимента занимает 10-15 минут. С начала эксперимента на каждую итерацию уходит 2-3 минуты.

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

Изучение моделей

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

В ожидании завершения всех моделей эксперимента вы можете щелкнуть Algorithm name (Имя алгоритма) для любой завершенной модели, чтобы просмотреть сведения о ее эффективности.

Чтобы просмотреть свойства, метрики и диаграммы производительности выбранной модели, воспользуйтесь вкладками Подробности и Метрики из следующего примера:

Сведения о выполнении итераций

Пояснения к модели

Пока вы ожидаете завершения моделей, вы также можете взглянуть на пояснения к модели и узнать, какие функции данных (необработанные или спроектированные) влияют на прогнозы конкретной модели.

Эти пояснения к модели можно создавать по запросу и суммировать на панели мониторинга с пояснениями к модели, которая находится на вкладке Пояснения (предварительная версия) .

Создание пояснений к модели:

  1. Выберите Запустить 1 в верхней части окна, чтобы вернуться к экрану Модели.

  2. Перейдите на вкладку Модели.

  3. Для этого руководства выберите первую модель MaxAbsScaler, LightGBM.

  4. Нажмите кнопку Создать пояснение к модели в верхней части окна. Справа появится панель Пояснение к модели.

  5. Выберите ранее созданный объект automl-compute. Этот кластер вычислений запускает дочерний сеанс для создания пояснений к модели.

  6. Нажмите Создать в нижней части окна. В верхней части экрана появится зеленое сообщение об успешном выполнении.

    Примечание

    Сеанс создания пояснений занимает от 2 до 5 минут.

  7. Нажмите кнопку Пояснения (предварительная версия) . Эта вкладка заполняется после завершения сеанса создания пояснений.

  8. Разверните панель слева и выберите строку с надписью необработанные данные в разделе Функции.

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

    В этом примере Длительность имеет наибольшее влияние на прогнозы этой модели.

    Панель мониторинга с пояснением к модели

Развертывание лучшей модели

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

Для этого эксперимента развертывание в веб-службе предоставит финансовому учреждению итеративное и масштабируемое решение для определения потенциальных клиентов по депозитам с фиксированным сроком.

Проверьте, завершено ли выполнение эксперимента. Для этого вернитесь на страницу родительского выполнения, выбрав Run 1 (Запуск 1) в верхней части экрана. Состояние Завершено отображается в левом верхнем углу экрана.

После выполнения эксперимента страница Сведения заполняется данными раздела Best model summary (Сводка по лучшей модели). В контексте этого эксперимента лучшей моделью принимается VotingEnsemble, исходя из значения метрики AUC_weighted.

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

  1. Выберите VotingEnsemble, чтобы открыть страницу для конкретной модели.

  2. Нажмите кнопку Развернуть в левом верхнем углу.

  3. Заполните панель Deploy a model (Развертывание модели), как показано ниже.

    Поле Значение
    Deployment name (Имя развертывания) my-automl-deploy
    Deployment description (Описание развертывания) My first automated machine learning experiment deployment (Первое развертывание эксперимента автоматического машинного обучения)
    Тип вычисления Выберите "Вычислительная операция Azure (ACI)"
    Включить проверку подлинности Отключите.
    Использовать настраиваемые развертывания Отключите. Это позволяет автоматически создавать файл драйвера (скрипт оценки) и файл среды по умолчанию.

    Для этого примера мы воспользуемся стандартными параметрами, доступными в меню Дополнительно.

  4. Выберите Развернуть.

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

Теперь у вас есть рабочая веб-служба для создания прогнозов.

Перейдите к дальнейшим действиям, чтобы узнать больше о том, как использовать новую веб-службу, и протестируйте прогнозы, используя встроенную поддержку Power BI в Машинном обучении Azure.

Очистка ресурсов

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

Удаление промежуточного развертывания

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

  1. Перейдите в Машинное обучение Azure. Перейдите в свою рабочую область и слева под областью Ресурсы выберите Конечные точки.

  2. Выберите развертывание для удаления и щелкните Удалить.

  3. Выберите Продолжить.

удаление группы ресурсов.

Важно!

Созданные вами ресурсы могут использоваться в качестве необходимых компонентов при работе с другими руководствами по Машинному обучению Azure.

Если вы не планируете использовать созданные вами ресурсы, удалите их, чтобы с вас не взималась плата:

  1. На портале Azure выберите Группы ресурсов в левой части окна.

  2. Выберите созданную группу ресурсов из списка.

  3. Выберите Удалить группу ресурсов.

    Снимок экрана с выбранными параметрами для удаления группы ресурсов на портале Azure.

  4. Введите имя группы ресурсов. Теперь щелкните Удалить.

Дальнейшие действия

В ходе работы с этим руководством по автоматизированному машинному обучению вы создали и развернули модель классификации с помощью интерфейса автоматизированного машинного обучения в службе "Машинное обучение Azure". Дополнительные сведения и дальнейшие процедуры вы найдете в следующих статьях:

Примечание

Этот набор данных о банковском маркетинге предоставляется на условиях лицензии Creative Commons (CCO: Public Domain). Все права на отдельное содержимое базы данных предоставляются на условиях лицензии на содержимое базы данных и доступны в Kaggle. Этот набор данных изначально предоставлялся в базе данных UCI для машинного обучения.

[Moro et al., 2014] S. Moro, P. Cortez and P. Rita. A Data-Driven Approach to Predict the Success of Bank Telemarketing. (Основанный на данных подход, позволяющий прогнозировать успешность телемаркетинга в банке.) Decision Support Systems (Системы поддержки принятия решений), Elsevier, 62:22-31, Июнь 2014 г.