Автоматизация обучения модели с помощью интерфейса командной строки ML.NET

ML.NET CLI автоматизирует создание моделей для разработчиков, использующих .NET.

Чтобы использовать ML.NET API сам по себе (без ML.NET AutoML CLI), вам нужно выбрать алгоритм обучения (реализация алгоритма машинного обучения для конкретной задачи) и набор преобразований данных (конструирование признаков), применяемые к вашим данным. Оптимальный конвейер индивидуален для каждого набора данных, а выбор оптимального алгоритма из всех возможных вариантов только усложняет задачу. Кроме того, каждый алгоритм имеет набор настраиваемых гиперпараметров. Таким образом, вы можете потратить недели (а иногда и месяцы) на оптимизацию модели машинного обучения, пытаясь найти лучшие сочетания конструирования признаков, алгоритмов обучения и гиперпараметров.

ML.NET CLI упрощает этот процесс с помощью автоматизированного машинного обучения (AutoML).

Примечание.

Эта статья относится к ML.NET CLI и ML.NET AutoML, которые в настоящее время находятся в предварительной версии, и материалы могут быть изменены.

Что такое интерфейс командной строки ML.NET CLI?

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

Как показано на следующем рисунке, можно легко создать высококачественную модель ML.NET (ZIP-файл сериализованной модели), а также пример кода C# для запуска и оценки этой модели. Кроме того, создается код C# для создания и обучения этой модели, поэтому вы можете исследовать алгоритм и параметры, используемые для созданной "оптимальной модели", и выполнять итерацию по ним.

Ядро AutoML, работающее в программе командной строки ML.NET

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

Сейчас ML.NET CLI поддерживает следующие задачи машинного обучения:

  • классификация данных
  • регрессия
  • Рекомендация
  • классификация изображений.
  • прогноз
  • train

Интерфейс командной строки ML.NET можно установить на основе операционной системы и архитектуры с помощью следующей команды:

dotnet tool install --global mlnet-<OS>-<ARCH>

Например, версию x64 Windows можно установить с помощью следующих компонентов:

dotnet tool install --global mlnet-win-x64

Дополнительные сведения см. в руководстве по установке ML.NET CLI .

Пример использования (сценарий классификации):

mlnet classification --dataset "yelp_labelled.txt" --label-col 1 --has-header false --train-time 10

Классификация ML.NET из командной строки

Его можно схожим образом запустить в Windows PowerShell, оболочке Bash в macOS или Linux или в Windows CMD. Однако функция табличного автозавершения (предложения параметров) не будет работать в Windows CMD.

Созданные выходные ресурсы

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

  • Готовый к использованию ZIP-файл сериализованной модели ("оптимальной модели") для выполнения прогнозов.
  • Решение C# с помощью:
    • код C# для запуска или оценки созданной модели (для прогнозирования в приложениях пользователей);
    • обучающий код C#, используемый для создания этой модели (в учебных целях или для переобучения модели).
  • Файл журнала с информацией обо всех итерациях/проходах по нескольким оцениваемым алгоритмам, включая их подробную конфигурацию или конвейер.

Первые два ресурса можно использовать непосредственно в приложениях конечного пользователя (например, ASP.NET веб-приложения, службы и классические приложения) для прогнозирования с помощью модели машинного обучения.

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

Общие сведения о качестве модели

При создании "оптимальной модели" с помощью средства CLI вы регистрируете метрики качества (такие как точность и достоверность аппроксимации), необходимые для требуемой задачи машинного обучения.

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

Метрики моделей классификации

Ниже приведено изображение со списком метрик для классификации пяти ведущих моделей в CLI:

Метрики классификации для пяти основных моделей

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

Чтобы изучить метрики, выводимые интерфейсом командной строки, см. раздел Метрики для классификации.

Метрики для моделей регрессии и рекомендаций

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

Вы увидите аналогичный список метрик для пяти основных моделей качества в CLI, только в этом случае пять основных моделей относятся к задаче машинного обучения с регрессией:

Метрики регрессии для пяти основных моделей

Чтобы изучить метрики, выводимые интерфейсом командной строки, см. раздел Метрики для регрессии.

См. также