Это серия из двух частей, в первой части я расскажу вам о процессе создания прогнозной модели с помощью Azure Machine Learning Studio. Затем в следующей части я интегрирую веб-службу машинного обучения с PowerApps с помощью Power Automate. По сути, это сквозное развертывание модели машинного обучения с использованием Azure ML studio, PowerApps и Power Automate.

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

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

Теперь без промедления приступим к моделированию.

На более широком уровне существует 5 шагов для создания любой модели машинного обучения:

  1. Сбор данных
  2. Очистка данных и предварительная обработка
  3. Модель обучающих данных
  4. Модель данных оценки
  5. Оценка модели данных

Настройка среды

  1. Войдите в свою учетную запись Microsoft и перейдите на https://studio.azureml.net.
  2. Если вы новый пользователь, зарегистрируйтесь, используя Free Workspace.
  3. Создайте новый эксперимент, и все готово для создания вашей модели.

Я возьму в качестве примера образец набора данных под названием «Набор данных бинарной классификации доходов переписи взрослых» и собираюсь предсказать, будет ли какой-либо конкретный доход взрослого выше или ниже 50 000 долларов США в год.

ПРИМЕЧАНИЕ. Каждый компонент в Studio называется методом перетаскивания. После добавления каждого метода вам необходимо соединить его с предыдущим методом и запустить.

Сбор данных

  1. Выберите Сохраненные наборы данных в меню навигации.
  2. Перетащите «набор данных бинарной классификации доходов взрослых переписи населения» из выборок.

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

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

  1. Сначала нам нужно проверить отсутствующие значения, если они есть, заменить их на 0.

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

3. Как мы видим, пропущено много значений, поэтому выберите метод Очистить пропущенные данные и визуализируйте его.

4. Теперь перетащите Выбрать столбцы в наборе данных, чтобы выбрать только те функции, которые нам нужны в качестве обучающих данных.

5. Есть много категориальных столбцов, которые являются типами String Feature, их необходимо преобразовать в категориальный тип. Выберите метод Редактировать метаданные, выберите все столбцы, которые необходимо преобразовать, и запустите его.

6. Теперь, если мы визуализируем наш набор данных и, в частности, целевую функцию, то есть доход, в нем есть серьезная проблема дисбаланса классов.

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

7. Выберите метод SMOTE и запустите его для недостаточной выборки целевых данных.

Модель обучающих данных

  1. Перед обучением данных необходимо разделить данные на обучающий и тестовый наборы. Мы используем модуль Split Data, соединяем его с SMOTE и запускаем. Мы можем выбрать размер теста и случайное начальное число из свойств.

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

3. Выберите Настроить гиперпараметры модели на панели навигации и подключите один вход из Усиленного дерева решений с двумя классами, а другой — из Разделить данные.

4. Теперь измените его свойства, как указано ниже.

Модель данных оценки

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

Оценка модели данных

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

Давайте визуализируем наши результаты

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

Точность – это доля правильных прогнозов, полученных нашей моделью. Это отношение количества правильных прогнозов к общему количеству прогнозов. Точность является идеальной метрикой в ​​случае сбалансированного набора данных, но с несбалансированным набором данных по классам, где существует значительное несоответствие между количеством положительных и отрицательных меток, она сама по себе не имеет значения. не буду рассказывать всю историю.
Кривая ROC (кривая рабочих характеристик приемника) – это график, показывающий эффективность модели классификации при всех пороговых значениях классификации.

  • Точность модели A больше, чем у модели B при пороге 0,5.
  • Кривая ROC более положительна в модели A, чем в модели B.

Таким образом, можно сделать вывод, что модель A, т. е. модель с субдискретизацией, создает более точную и эффективную модель.

Вывод

В этом блоге мы рассказали, как создать прогнозную модель с помощью Azure ML Studio. В следующей части серии мы создадим веб-сервис нашей модели и интегрируем его с Power Apps и Power Automate.

Спасибо за чтение!!!

Ссылки и дополнительная литература: