Руководство 3. Развертывание модели кредитных рисков в Студии машинного обучения (классической)

ОБЛАСТЬ ПРИМЕНЕНИЯ:Галочка означает, что эта статья применима к студии машинного обучения (классическая модель). Студия машинного обучения (классическая модель) Знак Машинное обучение Azure

Важно!

Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.

Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.

Прекращается поддержка документации по Студии машинного обучения (классическая версия). В будущем она может не обновляться.

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

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

Оценка кредитных рисков — это сложная задача. Мы немного упростим ее для этого руководства. На примере этой задачи вы создадите решение прогнозной аналитики с помощью Студии машинного обучения (классической). Для этого вы используете Студию машинного обучения (классическую) и веб-службу машинного обучения.

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

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

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

Эта часть руководства состоит из таких этапов:

  • Подготовка к развертыванию
  • Развертывание веб-службы
  • Тестирование веб-службы
  • Управление веб-службой
  • Доступ к веб-службе

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

Выполните действия, описанные во второй части этого руководства.

Подготовка к развертыванию

Чтобы другие пользователи могли применить модель прогнозирования, созданную с помощью этого руководства, ее можно развернуть как веб-службу в Azure.

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

Подготовка к развертыванию проводится в три этапа:

  1. Удаление одной из моделей
  2. Преобразование обучающего эксперимента в прогнозный эксперимент
  3. Развертывание прогностического эксперимента в качестве веб-службы

Удаление одной из моделей

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

Допустим, вы решили, что модель дерева с усилением подходит для эксперимента лучше, чем модель опорных векторов. Поэтому сначала мы удалим модуль Two-Class Support Vector Machine (Двухклассовый метод опорных векторов) и все модули, которые использовались для его обучения. Сначала создайте копию эксперимента, нажав кнопку Сохранить как в нижней части полотна эксперимента.

Необходимо удалить следующие модули:

  • Two-Class Support Vector Machine (Двухклассовый метод опорных векторов);
  • модули Train Model (Обучение модели) и Score Model (Оценка модели), которые были к нему подключены;
  • оба модуля Normalize Data (Нормализация данных);
  • Evaluate Model (Анализ модели) — так как процесс анализа уже завершен.

Поочередно выберите каждый из этих модулей и нажмите клавишу DELETE или щелкните модуль правой кнопкой мыши и выберите Delete (Удалить).

Выделяет, какие модули необходимо удалить, чтобы удалить модель метода опорных векторов.

Теперь ваша модель должна выглядеть примерно так:

Итог эксперимента, когда модель метода опорных векторов удалена.

Теперь мы готовы к развертыванию этой модели с использованием модуля Two-Class Boosted Decision Tree (Двухклассовое увеличивающееся дерево принятия решений).

Преобразование обучающего эксперимента в прогностический эксперимент

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

  1. Сохраните обученную модуль и замените обучающие модули.
  2. удаление из эксперимента модулей, которые были необходимы только для обучения;
  3. Определение расположений для получения входных данных и создания выходных данных веб-службы.

Эти действия можно выполнять вручную. Вы также можете выполнить все три шага автоматически. Для этого щелкните в нижней части холста эксперимента Set Up Web Service (Настроить веб-службу) и выберите Predictive Web Service (Прогнозная веб-служба).

Совет

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

При щелчке Set Up Web Service(Настроить веб-службу) происходит следующее.

  • Обученная модель сохраняется как отдельный модуль Trained Model (Обученная модель) и доступна в палитре модулей слева от холста эксперимента (в разделе Trained Models (Обученные модели)).
  • Удаляются следующие модули, которые мы использовали для обучения:
    • Two-Class Boosted Decision Tree (Двухклассовое увеличивающееся дерево принятия решений);
    • Train Model (Обучение модели);
    • Split Data (Разделение данных);
    • второй модуль Execute R Script (Выполнение скрипта R), который использовался для тестовых данных.
  • Сохраненная обученная модель добавляется обратно в эксперимент.
  • Добавляются модули Web service input (Входные данные веб-службы) и Web service output (Выходные данные веб-службы). Они определяют, откуда поступают пользовательские данные при обращении к веб-службе и какие данные возвращаются.

Примечание

Как можно заметить, эксперимент сохраняется на двух вкладках, которые добавляются в верхней части холста эксперимента. Исходный обучающий эксперимент теперь размещается на вкладке Training experiment (Обучающий эксперимент), а только что созданный прогнозный эксперимент — на вкладке Predictive experiment (Прогнозный эксперимент). В качестве веб-службы следует развертывать именно прогнозный эксперимент.

С этим экспериментом необходимо выполнить одно дополнительное действие. Ранее вы добавили два модуля Execute R Script (Выполнение скрипта R), чтобы реализовать функцию взвешивания данных. Это необходимо только для обучения и тестирования, поэтому из итоговой модели эти модули можно удалить. Студия машинного обучения (классическая) уже удалила один из модулей Execute R Script (Выполнение скрипта R) при удалении модуля Split Data (Разделение данных). Теперь можно удалить второй модуль и подключить модуль Metadata Editor (Редактор метаданных) непосредственно к модулю Score Model (Оценка модели).

Теперь наш эксперимент должен выглядеть следующим образом:

Оценка обученной модели

Примечание

Возможно, вас удивляет, почему мы оставили набор данных UCI German Credit Card Data в прогнозном эксперименте. Служба будет использовать только данные пользователя. Изначальный набор данных больше не используется, зачем же оставлять его в модели?

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

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

Запустите эксперимент в последний раз (нажмите Выполнить). Чтобы убедиться в том, что модуль по-прежнему работает, щелкните выходные данные модуля Score Model (Оценка модели) и выберите View Results (Просмотреть результаты). Вы увидите, что изначальные данные отображаются вместе со значением кредитного риска (расчетные метки) и оценочным значением вероятности (расчетные вероятности).

Развертывание веб-службы

Эксперимент можно развернуть в виде классической веб-службы или новой веб-службы на основе Azure Resource Manager.

Развертывание в виде классической веб-службы

Чтобы развернуть классическую веб-службу на основе нашего эксперимента, щелкните Deploy Web Service (Развернуть веб-службу) под холстом и выберите пункт Deploy Web Service [Classic] (Развернуть веб-службу [классическую]). Студия машинного обучения (классическая) развернет эксперимент как веб-службу и откроет панель мониторинга для этой веб-службы. Отсюда можно вернуться к эксперименту (View snapshot (Просмотр моментального снимка) или View latest (Просмотр последних)) и выполнить простой тест веб-службы (см. раздел Тестирование веб-службы ниже). На этой странице также приведены сведения о создании приложений, которые могут обращаться к веб-службе (подробнее об этом в следующем шаге руководства).

Панель мониторинга веб-службы

Службу можно настраивать на вкладке КОНФИГУРАЦИЯ . На этой вкладке можно изменить имя службы (по умолчанию она получает имя эксперимента) и предоставить ее описание. Можно также задать более удобочитаемые метки для входных и выходных данных.

Настройка веб-службы

Развертывание в качестве новой веб-службы

Примечание

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

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

  1. Щелкните под холстом действие Deploy Web Service (Развернуть веб-службу) и выберите Deploy Web Service [New] (Развернуть веб-службу [новую]). Студия машинного обучения (классическая) направит вас на страницу развертывания эксперимента в веб-службах Машинного обучения.

  2. Введите имя этой веб-службы.

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

  4. Щелкните Развернуть.

Через несколько минут откроется страница быстрого запуска для новой веб-службы.

Службу можно настраивать на вкладке Configure (Конфигурация). Здесь вы можете изменить заголовок службы или ввести для нее описание.

Чтобы проверить работу веб-службы, щелкните вкладку Test (Тестирование) (см. раздел Тестирование веб-службы ниже). Чтобы получить сведения о создании приложений, которые могут обращаться к веб-службе, щелкните вкладку Consume (Использование) (дополнительные сведения см. в следующем шаге этого руководства).

Совет

После развертывания веб-службы ее можно обновить. Например, если требуется скорректировать модель, измените обучающий эксперимент, настройте параметры модели и нажмите кнопку Deploy Web Service (Развернуть веб-службу), а затем выберите вариант Deploy Web Service [Classic] (Развернуть веб-службу [классическую]) или Deploy Web Service [New] (Развернуть веб-службу [новую]). При повторном развертывании эксперимента веб-служба заменяется обновленной моделью.

Тестирование веб-службы

При обращении к веб-службе пользовательские данные поступают в модуль Web service input (Входные данные веб-службы), а оттуда передаются для оценки в модуль Score Model (Оценка модели). Прогнозный эксперимент настроен так, чтобы модель ожидала поступления данных в том же формате, в котором был исходный набор данных о кредитных рисках. Результаты возвращаются из веб-службы пользователю через модуль Web service output (Выходные данные веб-службы).

Совет

Прогнозный эксперимент настроен так, чтобы из модуля Score Model (Оценка модели) возвращались полные результаты. Они включают все входные данные, а также значение кредитного риска и оценку вероятности. Но если нужно, вы можете возвращать что-нибудь другое, например только значение кредитного риска. Для этого добавьте модуль Select Columns (Выбор столбцов) между модулями Score Model (Оценка модели) и Web service output (Выходные данные веб-службы), чтобы исключить ненужные столбцы из возвращаемых данных веб-службы.

Классическую веб-службу можно протестировать в Студии машинного обучения (классической) или на портале веб-служб Машинного обучения Azure. Новую веб-службу можно протестировать только на портале веб-служб машинного обучения Azure.

Совет

При тестировании на портале веб-служб машинного обучения можно подготовить с помощью портала образец данных для проверки службы "запрос и ответ". Для этого на странице Настройка выберите "Да" для параметра Sample Data Enabled? (Использовать образец данных?). Теперь, когда вы откроете вкладку "Запрос-ответ" на странице Тестирование, портал создаст образец данных на основе исходного набора данных о кредитных рисках.

Тестирование классической веб-службы

Классическую веб-службу можно протестировать в Студии машинного обучения (классической) или на портале веб-служб Машинного обучения Azure.

Тестирование в Студии машинного обучения (классической)

  1. На странице DASHBOARD (Панель мониторинга) нажмите кнопку Test (Тестировать) в разделе Default Endpoint (Конечная точка по умолчанию). Появится диалоговое окно, предлагающее ввести входные данные для службы. Это те же столбцы, которые были в исходном наборе данных о кредитных рисках.

  2. Введите набор данных и нажмите кнопку ОК.

Тестирование на портале веб-служб машинного обучения

  1. На странице DASHBOARD (Панель мониторинга) нажмите кнопку Test preview (Предварительный просмотр теста) в разделе Default Endpoint (Конечная точка по умолчанию). На портале веб-служб машинного обучения откроется страница тестирования конечной точки веб-службы, где будет предложено ввести входные данные для службы. Это те же столбцы, которые были в исходном наборе данных о кредитных рисках.

  2. Щелкните Test Request-Response (Тестировать "запрос-ответ").

Тестирование новой веб-службы

Новую веб-службу можно протестировать только на портале веб-служб машинного обучения Azure.

  1. На портале веб-служб машинного обучения щелкните Test (Тестировать) в верхней части страницы. Откроется страница Test (Тестирование), на которой можно ввести данные для службы. Отображаемые поля ввода соответствуют столбцам, которые существовали в исходном наборе данных о кредитных рисках.

  2. Введите набор данных и щелкните Test Request-Response(Тестировать "запрос-ответ").

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

Управление веб-службой

Развернутой веб-службой (классической или новой) можно управлять с помощью портала веб-служб машинного обучения.

Вот как можно отслеживать производительность веб-службы.

  1. Войдите на портал веб-служб Машинного обучения.
  2. Щелкните Веб-службы.
  3. Щелкните нужную веб-службу.
  4. Щелкните Панель мониторинга.

Доступ к веб-службе

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

Это веб-служба Azure, которая может получать и возвращать данные с помощью REST API одним из двух способов:

  • Запрос и ответ — пользователь отправляет одну или несколько строк данных о кредитах в службу с помощью протокола HTTP, а служба в качестве ответа возвращает один или несколько наборов результатов.
  • Пакетное выполнение — пользователь сохраняет одну или несколько строк данных о кредитах в BLOB-объекте Azure, а затем отправляет адрес BLOB-объекта в Azure. Служба оценивает все строки данных во входном BLOB-объекте, сохраняет результаты в другом BLOB-объекте и возвращает URL-адрес данного контейнера.

Примечание

В именах столбцов признаков в Студии (классической) учитывается регистр. Убедитесь, что во входных данных для вызова веб-службы используются те же имена столбцов, что и в наборе данных для обучения.

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

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

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

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

В рамках этого руководства вы выполнили такие задачи:

  • Подготовка к развертыванию
  • Развертывание веб-службы
  • Тестирование веб-службы
  • Управление веб-службой
  • Доступ к веб-службе

Можно также разработать настраиваемое приложение для доступа к веб-службе с помощью стартового кода в языках программирования R, C# и Python.