Создание приложения для анализа данных машинного обучения

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

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

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

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

Хотя в этом руководстве используется набор данных в форматах Excel или csv, описанный в нем процесс работает для любого табличного набора данных и научит вас, как выполнять прогнозы и использовать возможности Windows ML для вашего собственного уникального бизнес-кейса.

Обучите модель регрессии с несколькими метками с помощью PyTorch

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

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

На последнем этапе подготовки данных вы преобразуете входные и выходные данные модели в тензорный (Tensor) формат, поскольку для моделей машинного обучения требуется тензорное представление значений (многомерный массив). К счастью, очень легко преобразовать входные данные модели в тензоры с помощью PyTorch, используя пакет torch.Tensor PyTorch. В этом руководстве мы преобразуем входные данные набора данных с помощью всего нескольких строк кода.

Рисунок 1: Преобразуйте входные и выходные данные вашей модели в тензорный формат
Рисунок 1: Преобразуйте входные и выходные данные вашей модели в тензорный формат

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

Класс нейронной сети Pytorch nn.Module обеспечивает простой способ построения нейронной сети. Вам нужно только определить прямую функцию, так как обратная функция будет определена автоматически.

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

Рисунок 3: Результат обучения нашей модели нейронной сети
Рисунок 3: Результат обучения нашей модели нейронной сети

Развертывание модели с помощью API машинного обучения Windows

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

Рисунок 4: Интеграция и оценка модели машинного обучения с API Windows ML
Рисунок 4: Интеграция и оценка модели машинного обучения с API Windows ML

WindowsML API поддерживает все типы функций ONNX четырех описательных классов: тензоры, последовательность, карта и изображение. Это руководство поможет вам определить правильные входные данные на основе требований вашей модели. Чтобы создать тензорный ввод с помощью Windows ML API, вы можете использовать класс TensorFloat для определения 32-битного тензорного объекта с плавающей запятой. Этот класс предоставляет несколько методов для создания тензора - в этом руководстве мы используем метод CreateFromArray для создания входных данных тензора с точным размером, который требуется вашей модели.

Метод CreateFromArray требует двух параметров - массива видов и массива тензорных данных. Сам тензор - это просто список значений - наши данные, а массив видов сообщает вам, как интерпретировать массив данных. Если вы следовали руководству, модель сетевой регрессии, которую вы построили в предыдущей части, имеет четыре входных значения, каждое из которых представляет возможные размеры четырех физических характеристик цветка ириса. Размер пакета определяет количество выборок, которые будут распространяться по сети - в нашем случае размер пакета равен 1. Итак, форма входного тензора равна [1 × 4]. Этот массив видов сообщает вам, что массив данных имеет 2 измерения. Первое измерение имеет длину 1, а второе измерение - длину 4.

Рисунок 5: Определение входного тензора модели с помощью Windows ML API
Рисунок 5: Определение входного тензора модели с помощью Windows ML API

Начало работы

Завершив часть кода машинного обучения, вы можете легко интегрировать свою модель с приложением Windows. И если вам нужен ярлык, чтобы увидеть все это в действии, вы можете просмотреть полный образец кода в нашем репозитории GitHub - «Образец анализа данных», чтобы получить доступ к готовому приложению Windows. Это предварительно созданное приложение включает в себя графический интерфейс приложения и код управления пользовательским интерфейсом - все, что вам нужно для тестирования вашей модели!

Рисунок 6: Приложение Windows ML для тестирования сети регрессии
Рисунок 6: Приложение Windows ML для тестирования сети регрессии

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

Источник: https://habr.com/ru/company/microsoft/blog/574698/


Интересные статьи

Интересные статьи

UPD: Прошло больше месяца с тех пор, как я написал первоначальный черновик этой статьи. С тех пор я опубликовал еще три записи в блоге и более двадцати на моем канале в Телеграм. Настройк...
В статье приводится метод построения проекции галактической орбиты Солнечной системы через анализ пространственного перепада космологического красного смещения. Кроме известных движений вращения ...
Компьютер — это просто. Или нет? Любой человек, интересующийся сферой информационных технологий, хоть раз задумывался о том, как на самом деле работает компьютер. А и действительно, с помощью ко...
Высказать то, что слова не могут передать; почувствовать самые разнообразные эмоции, переплетающиеся в ураган чувств; оторваться от земли, неба и даже самой Вселенной, отправившись в путешест...
Взгляните на экран. Что вы видите? Страницу веб-сайта с текстом и картинками, верно? Но, а если копнуть глубже? Все эти разные по смысловой нагрузке и способу подачи элементы состоят из цифро...