Compartilhar via


Automatizar o treinamento de modelo com a CLI do ML.NET

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

Para usar a API ML.NET por si só, (sem a CLI ML.NET AutoML), você precisa escolher um treinador (implementação de um algoritmo de machine learning 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 a seleção do algoritmo ideal de todas as opções adiciona à complexidade. Ainda mais, cada algoritmo tem um conjunto de hiperparâmetros a serem ajustados. Portanto, você pode passar semanas e, às vezes, meses na otimização do modelo de machine learning tentando encontrar as melhores combinações de engenharia de recursos, algoritmos de aprendizagem e hiperparâmetros.

A CLI do ML.NET simplifica esse processo usando o AutoML (machine learning automatizado).

Nota

Este artigo refere-se a ML.NET CLI e ML.NET AutoML, que estão atualmente em versão prévia, e o material está sujeito a alterações.

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

A CLI do ML.NET é uma ferramenta .NET. Depois de instalado, você fornece a ele uma tarefa de machine learning e um conjunto de dados de treinamento e ele gera um modelo ML.NET, bem como o código C# a ser executado para usar o modelo em seu aplicativo.

Conforme 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 no algoritmo e nas configurações usadas para o "melhor modelo" gerado.

Mecanismo AutoML funcionando dentro da CLI do ML.NET

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

Atualmente, as Tarefas de ML compatíveis com a CLI ML.NET são:

  • classificação
  • regressão
  • recomendação
  • classificação de imagem
  • previsão
  • treinar

A CLI do ML.NET pode ser instalada com base em seu sistema operacional e em 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 saber mais, confira o guia de instruções Instalar a CLI do ML.NET.

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

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

Há também um comando em que você pode treinar usando um arquivo mbconfig. O arquivo mbconfig é criado quando você inicia uma sessão do Construtor de Modelos.

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

Você pode executá-lo da mesma maneira em do Windows PowerShell, macOS/Linux bashou do Windows CMD. No entanto, o preenchimento automático de tabela (sugestões de parâmetro) não funcionará no CMD do Windows.

Ativos de saída gerados

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

  • Solução C# com:
    • Um aplicativo de console para executar/pontuar o modelo gerado (para fazer previsões em seus aplicativos de usuário final com esse modelo).
    • Um aplicativo de console com o código de treinamento usado para gerar esse modelo (para fins de aprendizado ou treinamento de modelo).
      • Esse modelo serializado ("melhor modelo") também é fornecido como um arquivo de .zip compactado que está pronto para ser usado para executar previsões.
      • Um arquivo mbconfig, que contém dados de configuração que permitem abrir o modelo no Construtor de Modelos.
  • Arquivo de log com informações de todas as iterações/varreduras entre 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 desktop) para fazer predições com esse modelo de aprendizado de máquina gerado.

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

Noções básicas sobre a qualidade do modelo

Ao gerar um 'melhor modelo' com a ferramenta CLI, você vê as métricas de qualidade (como precisão e R-quadrado) conforme apropriado para a tarefa de ML que você está direcionando.

Aqui, essas métricas são resumidas agrupadas pela tarefa 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 de 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 modelo com métricas adicionais.

Para explorar e entender as métricas que são 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 imparcial. 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 que, nesse caso, os cinco primeiros estão relacionados a uma tarefa ML de regressão:

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

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

Consulte também