Automatize o treinamento de modelos com a CLI ML.NET

A CLI ML.NET automatiza a geração de modelos para desenvolvedores .NET.

Para usar a API ML.NET por si só, (sem a ML.NET AutoML CLI), você precisa escolher um instrutor (implementação de um algoritmo de aprendizado de máquina para uma tarefa específica) e o conjunto de transformações de dados (engenharia de recursos) para aplicar aos seus dados. O pipeline ideal variará para cada conjunto de dados e selecionar o algoritmo ideal de todas as opções aumenta a complexidade. Além disso, cada algoritmo tem um conjunto de hiperparâmetros a serem ajustados. Assim, você pode passar semanas e, às vezes, meses na otimização de modelos de aprendizado de máquina tentando encontrar as melhores combinações de engenharia de recursos, algoritmos de aprendizagem e hiperparâmetros.

A ML.NET CLI simplifica esse processo usando aprendizado de máquina automatizado (AutoML).

Nota

Este artigo refere-se a ML.NET CLI e ML.NET AutoML, que estão atualmente em visualização, e o material pode estar sujeito a alterações.

O que é a ML.NET interface de linha de comando (CLI)?

A CLI ML.NET é uma ferramenta .NET. Uma vez instalado, você dá a ele uma tarefa de aprendizado de máquina e um conjunto de dados de treinamento, e ele gera um modelo de ML.NET, bem como o código C# a ser executado para usar o modelo em seu aplicativo.

Como mostrado na figura a seguir, é simples gerar um modelo de ML.NET de alta qualidade (modelo serializado .zip arquivo) mais o código C# de exemplo para executar/pontuar esse modelo. Além disso, o código C# para criar/treinar esse modelo também é gerado, para que você possa pesquisar e iterar o algoritmo e as configurações usadas para o "melhor modelo" gerado.

Motor AutoML trabalhando dentro da CLI ML.NET

Você pode gerar esses ativos a partir de seus próprios conjuntos de dados sem codificar sozinho, portanto, isso também melhora sua produtividade, mesmo que você já saiba ML.NET.

Atualmente, as tarefas de ML suportadas pela ML.NET CLI são:

  • classificação
  • regressão
  • Recomendação
  • Classificação de imagens
  • previsão
  • Comboio

A ML.NET CLI pode ser instalada com base no seu sistema operacional e sua arquitetura com o seguinte comando:

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

Por exemplo, a versão x64 do Windows pode ser instalada com:

dotnet tool install --global mlnet-win-x64

Para obter mais informações, consulte o guia de instruções Instalar o ML.NET da CLI .

Um exemplo de uso (cenário de classificação):

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

ML.NET classificação a partir da linha de comando

Você pode executá-lo da mesma forma no Windows PowerShell, macOS/Linux bash ou Windows CMD. No entanto, o preenchimento automático tabular (sugestões de parâmetros) não funcionará no Windows CMD.

Ativos de produção gerados

Os comandos da tarefa ML na CLI geram os seguintes ativos na pasta de saída:

  • Um modelo serializado .zip ("melhor modelo") pronto para uso para executar previsões.
  • Solução C# com:
    • Código C# para executar/pontuar o modelo gerado (para fazer previsões em seus aplicativos de usuário final com esse modelo).
    • Código C# com o código de treinamento usado para gerar esse modelo (para fins de aprendizagem ou retreinamento de modelo).
  • Arquivo de log com informações de todas as iterações/varreduras nos vários algoritmos avaliados, incluindo sua configuração/pipeline detalhado.

Os dois primeiros ativos podem ser usados diretamente em seus aplicativos de usuário final (por exemplo, aplicativos Web ASP.NET Core, serviços e aplicativos de área de trabalho) para fazer previsões com esse modelo de ML gerado.

O terceiro ativo, o código de treinamento, mostra qual ML.NET código de API foi usado pela CLI para treinar o modelo gerado, para que você possa treinar novamente seu modelo e investigar e iterar em quais treinadores/algoritmos específicos e hiperparâmetros foram selecionados pela CLI e AutoML sob as cobertas.

Compreender a qualidade do modelo

Quando você gera um "melhor modelo" com a ferramenta CLI, vê métricas de qualidade (como precisão e R-Squared) como apropriadas para a tarefa de ML que você está direcionando.

Aqui, essas métricas são resumidas, agrupadas por tarefa de ML, para que você possa entender a qualidade do seu "melhor modelo" gerado automaticamente.

Métricas para modelos de classificação

A imagem a seguir exibe a lista de métricas de classificação para os cinco principais modelos encontrados pela CLI:

Métricas de classificação para os cinco principais modelos

A precisão é uma métrica popular para problemas de classificação, no entanto, a precisão nem sempre é a melhor métrica para selecionar o melhor modelo, conforme explicado nas referências a seguir. Há casos em que você precisa avaliar a qualidade do seu modelo com métricas adicionais.

Para explorar e entender as métricas geradas pela CLI, consulte Métricas de avaliação para classificação.

Métricas para modelos de Regressão e Recomendação

Um modelo de regressão se ajusta bem aos dados se as diferenças entre os valores observados e os valores previstos do modelo forem pequenas e imparciais. A regressão pode ser avaliada com determinadas métricas.

Você verá uma lista semelhante de métricas para os cinco principais modelos de qualidade encontrados pela CLI, exceto neste caso, os cinco principais estão relacionados a uma tarefa de ML de regressão:

Métricas de regressão para os cinco principais modelos

Para explorar e entender as métricas geradas pela CLI, consulte Métricas de avaliação para regressão.

Consulte também