Автоматизация обучения модели с помощью интерфейса командной строки ML.NET
Интерфейс командной строки ML.NET автоматизирует создание моделей для разработчиков .NET.
Чтобы использовать непосредственно API ML.NET (без ML.NET AutoML CLI), необходимо выбрать обучатель (реализацию алгоритма машинного обучения для конкретной задачи), а также набор преобразований данных (обработки признаков) для применения к вашим данным. Оптимальный конвейер будет отличаться для каждого набора данных, и выбор оптимального алгоритма из всех вариантов усложняет задачу. Кроме того, каждый алгоритм имеет набор гиперпараметров для настройки. Таким образом, вы можете тратить недели и иногда месяцы на оптимизацию модели машинного обучения, пытаясь найти лучшие сочетания функций, алгоритмов обучения и гиперпараметров.
Интерфейс командной строки ML.NET упрощает этот процесс с помощью автоматизированного машинного обучения (AutoML).
Заметка
Эта статья относится к ML.NET CLI и ML.NET autoML, которые в настоящее время находятся в предварительной версии, и материалы могут быть изменены.
Что такое интерфейс командной строки ML.NET (CLI)?
Интерфейс командной строки ML.NET — это .NET. После установки вы даете ему задачу машинного обучения и набор данных обучения, и оно создает модель ML.NET, а также код C# для использования модели в вашем приложении.
Как показано на следующем рисунке, просто создать высококачественную модель ML.NET (сериализованную модель .zip файл) и пример кода C# для запуска и оценки этой модели. Кроме того, код C# для создания и обучения этой модели также создается, чтобы можно было изучить и итерировать алгоритм и параметры, используемые для создания "лучшей модели".
Вы можете создавать эти ресурсы из собственных наборов данных без написания кода самостоятельно, поэтому он также повышает производительность, даже если вы уже знаете ML.NET.
В настоящее время задачи машинного обучения, поддерживаемые интерфейсом командной строки ML.NET, являются следующими:
- классификация
- регрессия
- рекомендация
- Классификация изображений
- прогнозирование
- поезд
Интерфейс командной строки 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
Также существует команда, с помощью которой можно обучать, используя файл mbconfig. Файл
Можно запустить его так же, как в Windows PowerShell, bash на macOS/Linuxили в Windows CMD. Однако табличное автозавершение (предложения параметров) не будет работать на Windows CMD.
Сгенерированные выходные активы
Команды задач машинного обучения в ИНТЕРФЕЙСе командной строки создают следующие ресурсы в выходной папке:
- Решение C# с помощью:
- Консольное приложение для запуска и оценки созданной модели (для прогнозирования в приложениях конечных пользователей с помощью этой модели).
- Консольное приложение с кодом обучения, используемое для создания этой модели (для обучения или переобучения модели).
- Эта сериализованная модель ("лучшая модель") также предоставляется в виде сжатого .zip файла, готового к использованию для выполнения прогнозов.
- Файл mbconfig, содержащий данные конфигурации, позволяющие открыть модель в построителе моделей.
- Файл журнала с информацией обо всех итерациях и проходах по нескольким алгоритмам, включая их детальную конфигурацию и конвейер.
Первые два ресурса можно использовать непосредственно в приложениях конечного пользователя (например, веб-приложения ASP.NET Core, службы и настольные приложения) для создания прогнозов с помощью этой сгенерированной модели машинного обучения.
Третий ресурс, код обучения, показывает, какой код API ML.NET использовался интерфейсом командной строки для обучения созданной модели, чтобы можно было переобучить модель и исследовать и проводить итерации над тем, какие конкретные алгоритмы и гиперпараметры были выбраны интерфейсом командной строки и AutoML за кулисами.
Общие сведения о качестве модели
При создании "лучшей модели" с помощью средства CLI вы увидите метрики качества (например, точность и R-Squared) в соответствии с целевой задачей машинного обучения.
Здесь эти метрики сгруппированы по задаче машинного обучения, чтобы понять качество созданной автоматически "лучшей модели".
Метрики для моделей классификации
На следующем рисунке отображается список метрик классификации для пяти лучших моделей, найденных интерфейсом командной строки:
Метрики классификации
Точность — это популярная метрика для проблем классификации, однако точность не всегда является лучшей метрикой, чтобы выбрать лучшую модель, как описано в следующих ссылках. Существуют случаи, когда необходимо оценить качество модели с дополнительными метриками.
Чтобы изучить и понять метрики, выводимые интерфейсом командной строки, см. раздел метрики оценки для классификации.
Метрики для моделей регрессии и рекомендаций
Модель регрессии хорошо подходит для данных, если различия между наблюдаемыми значениями и прогнозируемыми значениями модели являются небольшими и беспристрастными. Регрессия может быть оценена с помощью определенных метрик.
Вы увидите аналогичный список метрик для пяти лучших моделей качества, найденных интерфейсом командной строки, за исключением этого, первые пять связаны с задачей машинного обучения регрессии:
Чтобы изучить и понять метрики, выводимые интерфейсом командной строки, см. показатели оценки для регрессии.
См. также
- Как установить средство командной строки ML.NET
- Руководство по . Анализ тональности с помощью интерфейса командной строки ML.NET
- справочник по команде CLI
ML.NET - Телеметрия в ML.NET CLI