Это серия из двух частей, в первой части я расскажу вам о процессе создания прогнозной модели с помощью Azure Machine Learning Studio. Затем в следующей части я интегрирую веб-службу машинного обучения с PowerApps с помощью Power Automate. По сути, это сквозное развертывание модели машинного обучения с использованием Azure ML studio, PowerApps и Power Automate.
Введение в Студию машинного обучения Azure
Студия машинного обучения Microsoft Azure (классическая версия) — это инструмент для совместной работы с функцией перетаскивания, который можно использовать для создания, тестирования и развертывания решений прогнозной аналитики для ваших данных. Студия машинного обучения Azure (классическая) публикует модели в виде веб-служб, которые могут легко использоваться пользовательскими приложениями или инструментами бизнес-аналитики, такими как Excel. Студия машинного обучения (классическая версия) — это место, где встречаются наука о данных, прогнозная аналитика, облачные ресурсы и ваши данные.
Теперь без промедления приступим к моделированию.
На более широком уровне существует 5 шагов для создания любой модели машинного обучения:
- Сбор данных
- Очистка данных и предварительная обработка
- Модель обучающих данных
- Модель данных оценки
- Оценка модели данных
Настройка среды
- Войдите в свою учетную запись Microsoft и перейдите на https://studio.azureml.net.
- Если вы новый пользователь, зарегистрируйтесь, используя Free Workspace.
- Создайте новый эксперимент, и все готово для создания вашей модели.
Я возьму в качестве примера образец набора данных под названием «Набор данных бинарной классификации доходов переписи взрослых» и собираюсь предсказать, будет ли какой-либо конкретный доход взрослого выше или ниже 50 000 долларов США в год.
ПРИМЕЧАНИЕ. Каждый компонент в Studio называется методом перетаскивания. После добавления каждого метода вам необходимо соединить его с предыдущим методом и запустить.
Сбор данных
- Выберите Сохраненные наборы данных в меню навигации.
- Перетащите «набор данных бинарной классификации доходов взрослых переписи населения» из выборок.
3. Щелкните правой кнопкой мыши набор данных и выберите визуализировать, чтобы проверить все столбцы и строки в наборе данных.
Очистка данных
- Сначала нам нужно проверить отсутствующие значения, если они есть, заменить их на 0.
2. Добавьте метод Summarize Data, соедините его с набором данных и после запуска визуализируйте его. Он покажет статистическую сводку набора данных.
3. Как мы видим, пропущено много значений, поэтому выберите метод Очистить пропущенные данные и визуализируйте его.
4. Теперь перетащите Выбрать столбцы в наборе данных, чтобы выбрать только те функции, которые нам нужны в качестве обучающих данных.
5. Есть много категориальных столбцов, которые являются типами String Feature, их необходимо преобразовать в категориальный тип. Выберите метод Редактировать метаданные, выберите все столбцы, которые необходимо преобразовать, и запустите его.
6. Теперь, если мы визуализируем наш набор данных и, в частности, целевую функцию, то есть доход, в нем есть серьезная проблема дисбаланса классов.
Проблема дисбаланса классов в основном означает, что наша выходная метка не сбалансирована. Это может привести к тому, что алгоритм машинного обучения будет смещаться в сторону определенного класса на основе максимального количества выходных данных, например, в нашем случае ≤50k, что покажет неточность в оценке нашей модели. Мы можем решить эту проблему путем недостаточной выборки (понижающей выборки) мажоритарного класса. Мы будем использовать модуль SMOTE, чтобы увеличить количество недопредставленных случаев в наборе данных, используемом для машинного обучения. SMOTE — лучший способ увеличить количество редких случаев, чем простое дублирование существующих случаев.
7. Выберите метод SMOTE и запустите его для недостаточной выборки целевых данных.
Модель обучающих данных
- Перед обучением данных необходимо разделить данные на обучающий и тестовый наборы. Мы используем модуль Split Data, соединяем его с SMOTE и запускаем. Мы можем выбрать размер теста и случайное начальное число из свойств.
2. Теперь мы будем обучать наши данные с помощью алгоритма классификации машинного обучения под названием Двухклассовое усиленное дерево решений. В свойствах выберите «Диапазон параметров» в режиме «Создать тренажёр», который активирует все гиперпараметры, которые необходимо настроить.
3. Выберите Настроить гиперпараметры модели на панели навигации и подключите один вход из Усиленного дерева решений с двумя классами, а другой — из Разделить данные.
4. Теперь измените его свойства, как указано ниже.
Модель данных оценки
Выберите Оценочная модель в навигации и подключите один вход из гиперпараметров модели Tune, а другой — из тестового набора Разделить данные.
Оценка модели данных
Теперь выберите Оценить модель и присоединитесь к Оценочной модели и запустите ее.
Давайте визуализируем наши результаты
Я сравню две модели, одну с субдискретизацией и одну без субдискретизации цели на основе кривой ROC и точности. Это показатели классификации, которые определяют, насколько эффективна модель.
Точность – это доля правильных прогнозов, полученных нашей моделью. Это отношение количества правильных прогнозов к общему количеству прогнозов. Точность является идеальной метрикой в случае сбалансированного набора данных, но с несбалансированным набором данных по классам, где существует значительное несоответствие между количеством положительных и отрицательных меток, она сама по себе не имеет значения. не буду рассказывать всю историю.
Кривая ROC (кривая рабочих характеристик приемника) – это график, показывающий эффективность модели классификации при всех пороговых значениях классификации.
- Точность модели A больше, чем у модели B при пороге 0,5.
- Кривая ROC более положительна в модели A, чем в модели B.
Таким образом, можно сделать вывод, что модель A, т. е. модель с субдискретизацией, создает более точную и эффективную модель.
Вывод
В этом блоге мы рассказали, как создать прогнозную модель с помощью Azure ML Studio. В следующей части серии мы создадим веб-сервис нашей модели и интегрируем его с Power Apps и Power Automate.
Спасибо за чтение!!!