Как использовать ML.NET для создания моделей машинного обучения в приложениях .NET

В Audacia мы используем ML.NET для создания надежных моделей машинного обучения. ML.NET — это кроссплатформенная платформа, которая позволяет разработчикам создавать собственные модели машинного обучения с помощью C# или F#. Он разработан так, чтобы его было легко использовать даже разработчикам, не имеющим опыта создания моделей машинного обучения. Одним из существенных преимуществ использования ML.NET является то, что он является частью .NET.

В этой статье рассказывается, как Audacia использует ML.NET для быстрого и эффективного создания полноценных моделей машинного обучения. Мы рассмотрим реальное применение ML.NET в проектах Audacia и преимущества, которые оно привнесло в процесс разработки.

Использование ML.NET для консультационного проекта по машинному обучению

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

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

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

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

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

Построение модели машинного обучения с помощью ML.NET

1. Определение сценария

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

2. Выбор данных и загрузка их в ML.NET

Теперь, когда наш сценарий определен, мы можем выбрать данные, которые будут использоваться для обучения нашей модели. ML.NET позволяет загружать данные из различных источников, включая файлы CSV и базы данных SQL Server. Для больших наборов данных загрузка из базы данных может быть более эффективной.

3. Обучение модели

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

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

4. Тестирование и оценка модели

Такие функции, как Test и Evaluate, можно использовать для обеспечения точности и ожидаемой производительности. В ML.NET эти функции позволяют протестировать вашу модель на наборе данных, которых она раньше не видела, и оценить ее производительность на основе таких показателей, как точность и воспроизводимость.

5. Сохранение и использование модели

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

Преимущества использования ML.NET для проектов машинного обучения

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

Вот четыре основных преимущества:

1. Более быстрое прототипирование: с помощью ML.NET разработчики могут быстро создавать и тестировать модели машинного обучения, не беспокоясь о сложностях традиционных языков программирования, таких как Python, C++ или Ruby. Это может значительно сэкономить время на этапе прототипирования проекта, позволяя разработчикам экспериментировать и быстрее выполнять итерации.

2. Масштабируемость: ML.NET может обрабатывать большие наборы данных и предназначена для работы с распределенными системами, что делает ее масштабируемой для использования в приложениях корпоративного уровня. Это означает, что разработчики, использующие ML.NET, могут легко масштабировать свои модели для производственного использования.

3. Повышенная гибкость: благодаря полной интеграции с .NET, ML.NET обеспечивает итеративный и гибкий процесс разработки, позволяя разработчикам быстро вносить изменения и обновления в модель по мере необходимости. Это означает, что команды могут легко сотрудничать и повторять модели, что приводит к ускорению циклов разработки и ускорению выхода на рынок.

Кроме того, простой в использовании API и готовые модели ML.NET позволяют разработчикам быстро экспериментировать и создавать прототипы с различными сценариями машинного обучения, обеспечивая конкурентное преимущество в быстро меняющемся мире разработки программного обеспечения.

4. Совместимость с существующей инфраструктурой: ML.NET построен на .NET, что означает, что его можно легко интегрировать в существующую ИТ-инфраструктуру. Это может сэкономить время и деньги вашего предприятия, поскольку устраняет необходимость в полной перестройке вашего стека технологий.

Разработка искусственного интеллекта и машинного обучения с помощью ML.NET

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

Audacia — британская компания по разработке программного обеспечения со штаб-квартирой в Лидсе. Узнайте больше технических идей от наших команд консультантов, бизнес-аналитиков, разработчиков и тестировщиков в нашем блоге технологических идей. Эта статья была написана главным консультантом Audacia Оуэном Лейси.