Поделиться через


Анализ данных с помощью машинного обучения Azure

В этом учебнике показано, как построить прогнозную модель машинного обучения с помощью конструктора Машинного обучения Azure. Эта модель основана на данных, хранящихся в Azure Synapse. Сценарий в учебнике состоит в том, чтобы предсказать, купит ли клиент велосипед, чтобы магазин велосипедов Adventure Works мог создать таргетированную маркетинговую кампанию.

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

Для пошагового изучения этого учебника потребуется следующее:

  • Пул SQL, в который предварительно загружены демонстрационные данные AdventureWorksDW. Чтобы подготовить этот пул SQL, выберите загрузку демонстрационных данных и следуйте указаниям, приведенным в статье Создание пула SQL. Если хранилище данных уже существует, но в нем нет демонстрационных данных, вы можете загрузить их вручную.
  • Рабочая область Машинного обучения Azure. Чтобы создать новую, следуйте инструкциям в этом учебнике.

Получение данных

Используемые данные находятся в представлении dbo.vTargetMail в AdventureWorksDW. Чтобы можно было использовать хранилище данных в этом учебнике, данные сначала экспортируются в учетную запись Azure Data Lake Storage, так как Azure Synapse в настоящее время не поддерживает наборы данных. Для экспорта данных из хранилища данных в Azure Data Lake Storage с помощью действия копирования можно использовать Фабрику данных Azure. Используйте следующий запрос для импорта:

SELECT [CustomerKey]
  ,[GeographyKey]
  ,[CustomerAlternateKey]
  ,[MaritalStatus]
  ,[Gender]
  ,cast ([YearlyIncome] as int) as SalaryYear
  ,[TotalChildren]
  ,[NumberChildrenAtHome]
  ,[EnglishEducation]
  ,[EnglishOccupation]
  ,[HouseOwnerFlag]
  ,[NumberCarsOwned]
  ,[CommuteDistance]
  ,[Region]
  ,[Age]
  ,[BikeBuyer]
FROM [dbo].[vTargetMail]

Когда данные станут доступны в Azure Data Lake Storage, хранилища данных в Машинном обучении Azure можно будет использовать для подключения к службам хранилища Azure. Выполните следующие действия, чтобы создать хранилище данных и соответствующий набор данных.

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

  2. В левой области в разделе Управление щелкните Хранилища данных, а затем щелкните Новое хранилище данных.

    Снимок экрана левой области интерфейса Машинного обучения Azure

  3. Укажите имя хранилища данных, выберите тип "Хранилище BLOB-объектов Azure", укажите расположение и учетные данные. Затем нажмите кнопку Создать.

  4. В левой области в разделе Ресурсы щелкните Наборы данных. Выберите Создать набор данных с параметром Из хранилища данных.

  5. Укажите имя набора данных и выберите тип Таблицы. Затем нажмите кнопку Далее, чтобы продолжить.

  6. В разделе Select or create a datastore (Выбор или создание хранилища данных) выберите параметр Созданное ранее хранилище данных. Выберите созданное ранее хранилище данных. Нажмите кнопку "Далее" и укажите параметры пути и файлов. Обязательно укажите заголовок столбца, если файлы содержат его.

  7. Наконец, нажмите кнопку Создать, чтобы создать набор данных.

Настройка эксперимента в конструкторе

Теперь выполните следующие действия для настройки конструктора:

  1. В левой области в разделе Автор щелкните вкладку Конструктор.

  2. Выберите Удобные готовые компоненты, чтобы создать конвейер.

  3. В области параметров справа укажите имя конвейера.

  4. Кроме того, выберите в кнопке "Параметры" целевой вычислительный кластер, используемый для всего эксперимента, указав на подготовленный ранее кластер. Закройте область параметров.

Импорт данных

  1. В области слева под полем поиска выберите вкладку Наборы данных.

  2. Перетащите созданный ранее набор данных на холст.

    Снимок экрана: компонент набора данных на холсте.

Очистка данных

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

  1. Выберите в области слева подвкладку Компоненты.

  2. Перетащите компонент Выбор столбцов в наборе данных в раздел Преобразование данных < Манипуляции на холст. Подключите этот компонент к компоненту Набор данных.

    Снимок экрана: компонент выбора столбца на холсте.

  3. Щелкните компонент, чтобы открыть область свойств. Щелкните "Изменить столбец", чтобы указать столбцы, которые вы хотите удалить.

  4. Исключите два столбца: CustomerAlternateKey и GeographyKey. Щелкните Сохранить.

    Снимок экрана, на котором показаны удаленные столбцы.

Создание модели

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

  1. Перетащите компонент Разделение данных на холст.

  2. В области свойств в поле Доля строк в первом наборе выходных данных введите значение 0,8.

    Снимок экрана, на котором показано соотношение разделения 0,8.

  3. Перетащите компонент Двуклассовое ускоренное дерево решений на холст.

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

  5. Для модели "Train Model" в параметре Столбец метки в области "Свойства" выберите параметр «Изменить столбец». Выберите столбец BikeBuyer в качестве прогнозируемого и щелкните Сохранить.

    Снимок экрана, на котором выбран столбец с меткой BikeBuyer.

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

Оцените модель

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

  1. Перетащите компонент Оценка модели на холст и подключите его к компонентам Обучение модели и Разделение данных.

  2. Перетащите на холст эксперимента модуль Two-Class Bayes Averaged Perceptron (Двухклассовый усредненный перцептрон Байеса). Мы сравним эффективность этого алгоритма и алгоритма двухклассового увеличивающегося дерева принятия решений.

  3. Скопируйте и вставьте компоненты Обучение модели и Оценка модели на холст.

  4. Перетащите компонент Оценка модели на холст для сравнения двух алгоритмов.

  5. Нажмите кнопку Отправить, чтобы настроить выполнение конвейера.

    Снимок экрана: все остальные компоненты на холсте.

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

    Снимок экрана с результатами.

Отображенные метрики представляют собой ROC-кривую, lift-кривую, а также диаграмму соотношения полноты и точности. При изучении этих метрик становится понятно, что первая модель является более эффективной, чем вторая. Чтобы просмотреть прогнозы первой модели, щелкните правой кнопкой мыши компонент "Оценка модели" и выберите "Визуализировать оцененный набор данных", чтобы увидеть прогнозируемые результаты.

Вы увидите два дополнительных столбца, добавленные в тестовый набор данных.

  • Оценка вероятности: вероятность того, что клиент является покупателем велосипеда.
  • Оценочные метки: классификация, выполненная моделью, — покупатель велосипеда (1) или нет (0). Порог вероятности для маркировки равен 50 % и может быть изменен.

Сравните столбец BikeBuyer (фактическое значение) со столбцом Scored Labels (прогнозное значение), чтобы оценить, насколько хорошо модель справилась. Эту модель затем можно использовать, чтобы делать прогнозы для новых клиентов. Вы можете опубликовать эту модель как веб-службу или записывать результаты в Azure Synapse.

Следующие шаги

Дополнительные сведения о Машинном обучении Azure см. в статье Введение в машинное обучение в Azure.

Дополнительные сведения о встроенных оценках в хранилище данных см. здесь.