Экспериментируем с Azure ML: Классификация, деревья решений

в 8:29, , рубрики: azure machine learning, microsoft, Microsoft Azure, Алгоритмы, Блог компании Microsoft, машинное обучение

В конце февраля этого года Хабр взорвала статья про открытый курс машинного обучения от сообщества Open Data Science. Наш MVP, Mikhail_Komarov, решил поэкспериментировать и пройти его с использованием Azure ML для реализации некоторых алгоритмов. Под катом вы найдёте разбор для 3 части курса «Классификация, деревья решений и метод ближайших соседей».

Экспериментируем с Azure ML: Классификация, деревья решений - 1

Далее повествование будет вестись от имени автора.

Идея этого материала возникла по мере прохождения курса «Открытый курс машинного обучения». Задачу для себя я ставил так: «Есть эталонные решения на Python, часть этих решений можно портировать на Azure ML, при этом портирование осуществить таким образом, чтобы максимально использовать функционал Azure ML. Каким образом это сделать?»

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

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

Сначала решим задачу импорта данных как новый DataSet. К сожалению, на Azure ML ограниченный функционал импорта, поэтому мы заранее меняем разделитель элементов в файлах для соответствия стандартному CSV. В Azure ML есть такой же пробный DataSet, но мы будем использовать из курса.

Экспериментируем с Azure ML: Классификация, деревья решений - 2

С учётом того, что в задании строят дерево, дерево с подбором параметров, лес и лес с подбором параметров, мы создаём вот такую структуру.

Экспериментируем с Azure ML: Классификация, деревья решений - 3

Чтобы не тратить время на частности и сосредоточиться на главном, предлагаю вам взять за основу мой эксперимент из галереи и при необходимости изменить его. Если вы не хотите заводить бесплатную учётную запись, вы можете попробовать без неё, просто удалив модуль на Python.

Детали работы в облаке

Я остановлюсь на некоторых деталях, которые помогут понять работу эксперимента в облаке Azure ML.

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

Экспериментируем с Azure ML: Классификация, деревья решений - 4

2. Делаем категориальные признаки. Отметим, что Azure ML в автоматическом режиме парсит категориальные признаки в столбцы с нулями и единицами.

Экспериментируем с Azure ML: Классификация, деревья решений - 5

3. Так как в Azure ML нет алгоритма простого дерева, то для первого приближения возьмём Two-Class Boosted Decision Tree и в параметрах установим одно дерево.

Экспериментируем с Azure ML: Классификация, деревья решений - 6

4. Теперь посмотрим результат работы, модуль Evaluate Model.

Экспериментируем с Azure ML: Классификация, деревья решений - 7

5. Получим следующий набор результатов.

Экспериментируем с Azure ML: Классификация, деревья решений - 8

Это картина в целом, но есть ещё детали, такие как подбор параметров и кросс-валидация.

Ниже вы можете увидеть результат для дерева.

Экспериментируем с Azure ML: Классификация, деревья решений - 9

Экспериментируем с Azure ML: Классификация, деревья решений - 10

Детали реализации подбора параметров можно посмотреть в Tune Model Hyperparameters. Не забудьте установить в параметрах модели Parameter Range.

Экспериментируем с Azure ML: Классификация, деревья решений - 11

Спасибо за внимание и лёгкого облака!

Автор

Экспериментируем с Azure ML: Классификация, деревья решений - 12Михаил Комаров — занимается поддержкой существующих и реализацией новых систем, направленных на повышение эффективности работы в корпоративном сегменте. До работы в крупном корпоративном секторе работал тренером по информационным технологиям. Общий опыт работы в сфере ИТ составляет более 20 лет. Из интересов, виртуализация, инфраструктура, анализ данных и машинное обучение. MVP по Cloud and Data Center Management c 2011 года.

Хочу отметить помощь Евгения Григоренко в работе над экспериментом и Елизаветы Швец за решение общих вопросов и подготовку публикации.


Напоминаем, что Azure можно попробовать бесплатно

Автор: Schvepsss

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js