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

Подведение итогов. Алгоритм линейной регрессии — это линейный подход к моделированию отношений между зависимыми и независимыми переменными.

Шаг 1 — создание рабочей области машинного обучения Azure – стандартные элементы

  1. Войдите на Портал Azure, используя свои учетные данные Microsoft.
  2. Выберите + Создать ресурс, найдите Машинное обучение и создайте новый ресурс Машинного обучения Azure с планом Машинное обучение Azure. Используйте следующие настройки:
  • Подписка: ваша подписка Azure.
  • Группа ресурсов: Создайте или выберите группу ресурсов.
  • Имя рабочей области. Введите уникальное имя рабочей области.
  • Регион: выберите ближайший географический регион.
  • Учетная запись хранения: Обратите внимание на новую учетную запись хранения по умолчанию, которая будет создана для вашей рабочей области.
  • Хранилище ключей: Обратите внимание на новое хранилище ключей по умолчанию, которое будет создано для вашей рабочей области.
  • Аналитика приложений: Обратите внимание на новый ресурс аналитики приложений по умолчанию, который будет создан для вашей рабочей области.
  • Реестр контейнеров: нет (один будет создан автоматически при первом развертывании модели в контейнере)

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

4. Выберите Запустить студию (или откройте новую вкладку браузера и перейдите на https://ml.azure.com и войдите в студию машинного обучения Azure, используя свою учетную запись Microsoft).

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

Шаг 2. Создайте стандартный вычислительный ресурс

  1. В Студии машинного обучения Azure выберите три строки в левом верхнем углу, чтобы просмотреть различные страницы интерфейса (возможно, вам потребуется увеличить размер экрана). Вы можете использовать эти страницы в левой панели для управления ресурсами в вашей рабочей области. Выберите страницу вычислений (в разделе Управление).
  2. На странице «Вычисления» выберите вкладку «Вычислительные кластеры» и добавьте новый вычислительный кластер со следующими параметрами для обучения модели машинного обучения:
  • Местоположение: Выберите то же, что и ваше рабочее пространство. Если этого места нет в списке, выберите ближайшее к вам.
  • Уровень виртуальной машины: выделенный
  • Тип виртуальной машины: ЦП
  • Размер виртуальной машины:
  • Выберите Выбрать из всех вариантов
  • Найдите и выберите Standard_DS11_v2.
  • Выберите Далее
  • Вычислительное имя: введите уникальное имя
  • Минимальное количество узлов: 0
  • Максимальное количество узлов: 2
  • Секунды простоя перед уменьшением масштаба: 120
  • Включить доступ по SSH: Очистить
  • Выберите Создать

Шаг 3. Создайте конвейер в Designer

  1. В Студии машинного обучения Azure разверните левую панель, щелкнув значок с тремя линиями в левом верхнем углу экрана. Просмотрите страницу конструктора (в разделе Автор) и выберите +, чтобы создать новый конвейер.
  2. В правом верхнем углу экрана выберите «Настройки». Если панель настроек не отображается, щелкните значок колеса рядом с именем конвейера вверху.
  3. В параметрах необходимо указать цель вычислений, на которой будет выполняться конвейер. В разделе Выберите тип вычислений выберите Вычислительный кластер. Затем в разделе Выберите вычислительный кластер Azure ML выберите ранее созданный вычислительный кластер.
  4. В разделе «Настройки» в разделе «Сведения о черновике» измените название черновика (Pipeline-Created-on-date) на Auto Price Training.

Нажмите значок закрытия в правом верхнем углу панели настроек, чтобы закрыть панель.

Шаг 4. Добавьте и изучите набор данных

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

  1. Рядом с названием конвейера слева щелкните значок со стрелкой, чтобы развернуть панель, если она еще не развернута. Панель должна открываться по умолчанию на панели библиотеки активов, обозначенной значком книг в верхней части панели. На панели есть панель поиска для поиска ресурсов и две кнопки: «Данные» и «Компонент».
  2. Щелкните Компонент. Найдите и поместите набор данных о ценах на автомобили (необработанные) на холст.
  3. Щелкните правой кнопкой мыши (Ctrl + щелчок на Mac) набор данных о ценах на автомобили (необработанный) на холсте и нажмите «Предварительный просмотр данных».
  4. Просмотрите схему данных Вывод набора данных и обратите внимание на то, что вы можете видеть распределения различных столбцов в виде гистограмм.
  5. Прокрутите набор данных вправо, пока не увидите столбец «Цена», который является меткой, предсказываемой вашей моделью.
  6. Прокрутите назад влево и выберите заголовок столбца нормализованных потерь. Затем просмотрите статистику по этому столбцу. Обратите внимание, что в этом столбце довольно много пропущенных значений. Отсутствующие значения ограничивают полезность столбца для прогнозирования ценовой метки, поэтому вы можете исключить его из обучения.
  7. Закройте окно визуализации результатов данных о ценах на автомобили (необработанные), чтобы вы могли видеть набор данных на холсте следующим образом:

Шаг 5. Добавьте преобразование данных

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

Дважды щелкните модуль «Нормализация данных», чтобы просмотреть панель его параметров. Вам нужно будет указать метод преобразования и столбцы, которые необходимо преобразовать. Установите метод преобразования на MinMax. Примените правило, выбрав Изменить столбец, чтобы включить следующие имена столбцов:

Шаг 6. Запуск конвейера

Примечание. Чтобы применить преобразование данных, необходимо запустить конвейер.

Шаг 7. Создайте конвейер обучения (важный шаг)

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

  1. В библиотеке активов найдите и поместите модуль Train Model на холст под модулем Split Data. Затем соедините выход Набор данных результатов1 (слева) модуля «Разделить данные» с входом Набор данных (справа) модуля «Обучение модели».

2. Обучаемая модель будет предсказывать значение цены, поэтому выберите модуль «Обучение модели» и измените его настройки, чтобы установить в столбце «Метка» значение цены (точное соответствие регистру и правописанию!)

В библиотеке активов найдите и поместите модуль линейной регрессии на холст слева от модуля «Разделить данные» и над модулем «Обучение модели». Затем подключите его выход к входу Untrained model (слева) модуля Train Model.

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

В библиотеке активов найдите и поместите модуль Score Model на холст под модулем Train Model. Затем соедините выход модуля Train Model с входом Trained model (слева) модуля Score Model; и перетащите выходные данные набора данных результатов2 (справа) модуля «Разделить данные» на вход «Набор данных» (справа) модуля Score Model.

Убедитесь, что ваш конвейер выглядит так:

Шаг 8. Запускаем эту красоту

Модель прогнозирует значения для ценника, но насколько надежны ее прогнозы? Чтобы оценить это, вам нужно оценить модель.

Шаг 9. Оцените модель

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

Для этого давайте добавим модуль оценки модели:

На панели Evaluation_results просмотрите показатели производительности регрессии:

  • Средняя абсолютная ошибка (MAE)
  • Среднеквадратичная ошибка (RMSE)
  • Относительная квадратичная ошибка (RSE)
  • Коэффициент детерминации (R2)
  • Относительная абсолютная ошибка (RAE)

Шаг 10. Создайте и запустите конвейер логического вывода

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

Добавьте модуль «Выполнение скрипта Python» из раздела «Язык Python», заменив весь скрипт Python по умолчанию следующим кодом (который выбирает только столбец «Выставленные метки» и переименовывает его в «предсказанная_цена»):

Когда конвейер завершится, выберите Сведения о задании. На новой вкладке щелкните правой кнопкой мыши модуль Execute Python Script. Выберите Данные предварительного просмотра, а затем Набор данных результатов, чтобы увидеть прогнозируемые цены для трех автомобилей во входных данных.

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

Шаг 11. Разверните службу

Тестирование на последнем этапе — позволяет ввести некоторые данные для проверки конечной точки в реальном времени.

Резюме учебника:

  1. Очистил и преобразовал набор автомобильных данных, а затем использовал функции автомобиля для обучения модели. Модель прогнозирует цену автомобиля, который является ярлыком.

2. также протестирован сервис, готовый к подключению к клиентскому приложению

Сервис развернут 👍

созданная мной веб-служба размещена в экземпляре контейнера Azure.

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

В этом упражнении мы исследуем следующее;

  • Используйте конструктор AML для обучения регрессионной модели
  • Используйте модель регрессии для логического вывода
  • Развертывание регрессионной модели как услуги