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

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

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

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

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

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

Необходимые компоненты

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

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

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

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

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

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

  2. Выберите Создать рабочую область

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

Поле Description
имя рабочей области. Введите уникальное имя для идентификации рабочей области. Имена должны быть уникальными в группе ресурсов. Используйте имя, которое позволит легко запомнить рабочую область и отличить ее от областей, созданных другими пользователями. В имени рабочей области не учитывается регистр.
Отток подписок Выберите подписку Azure, которую нужно использовать.
Группа ресурсов Используйте группу ресурсов, которая есть в подписке, или введите имя, чтобы создать группу ресурсов. Группа ресурсов содержит связанные ресурсы для решения Azure. Для использования существующей группы ресурсов требуется роль участника или владельца. Дополнительные сведения о доступе см. в разделе Управление доступом к рабочей области Машинного обучения Azure.
Область/регион Для создания рабочей области выберите ближайший к пользователям и ресурсам данных регион Azure.
  1. Выберите Создать, чтобы создать рабочую область

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

Другие способы создания рабочей области в Azure, управление Машинное обучение Azure рабочими областями на портале или с помощью пакета SDK для Python (версии 2).

Создание задания автоматизированного Машинное обучение

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

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

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

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

    Get started page

  3. Выберите +Создать задание автоматизированного машинного обучения.

Создание и загрузка набора данных в качестве ресурса данных

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

  1. Создайте новый ресурс данных, выбрав "Из локальных файлов " в раскрывающемся списке "Создать ресурс данных".

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

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

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

    4. Выберите элемент Отправка файлов в раскрывающемся списке Отправка.

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

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

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

    7. Убедитесь, что данные правильно отформатированы с помощью формы схемы . Данные должны быть заполнены следующим образом. Убедившись, что данные точны, нажмите кнопку "Далее".

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

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

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

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

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

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

Настроить задание

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

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

  2. Заполните форму Настроить задание следующим образом:

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

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

    3. Выберите в качестве типа вычислений вычислительный кластер.

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

      1. Чтобы использовать бессерверные вычисления, включите предварительную версию функции, выберите бессерверные и пропустите остальную часть этого шага.
      2. Чтобы создать собственный целевой объект вычислений, нажмите кнопку +Создать , чтобы настроить целевой объект вычислений.
        1. Заполните форму Выбрать виртуальную машину, чтобы настроить вычислительную среду.

          Поле Description Значение для руководства
          Расположение Регион, из которого вы хотите запустить компьютер западная часть США 2
          Уровень виртуальных машин Выберите приоритет, который должен иметь ваш эксперимент. Выделенные
          Тип виртуальной машины Выберите тип виртуальной машины для вычислительной среды. ЦП (центральный процессор)
          размер виртуальной машины; Выберите размер виртуальной машины для вычислительной среды. Список рекомендуемых размеров выводится с учетом ваших данных и типа эксперимента. Standard_DS12_V2
        2. Выберите Далее, чтобы заполнить форму Настройка параметров.

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

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

          Settings page

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

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

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

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

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

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

      Выберите Сохранить.

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

  4. В форме [необязательно] Проверка и тестирование:

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

Внимание

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

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

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

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

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

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

Run iteration detail

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

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

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

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

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

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

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

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

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

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

    Примечание.

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

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

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

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

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

    Model explanation dashboard

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

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

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

Проверьте, завершено ли выполнение эксперимента. Для этого вернитесь на страницу родительского задания, выбрав Job 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. Выберите Развернуть.

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

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

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

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

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

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

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

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

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

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

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

Внимание

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

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

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

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

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

    Screenshot of the selections to delete a resource group in the Azure portal.

  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 г.