Machine Learning (ML) veio de um chavão que é bom ter em seu aplicativo para um recurso obrigatório que funciona e agrega valor. Os cientistas de dados desenvolvem modelos de ML em várias estruturas de ML, como TensorFlow, Scikit-learn, PyTorch, Azure ML etc. treinar modelos de ML. Também exigiu tempo e esforço adicionais para integrar esse modelo em aplicativos .NET.
O ML.NET tornou esse trabalho muito mais fácil para os desenvolvedores .NET com o Model Builder, uma extensão gráfica do Visual Studio para criar, treinar e implantar modelos de ML personalizados. Usando o Model Builder do ML.NET e sua funcionalidade AutoML, os desenvolvedores que não têm experiência em aprendizado de máquina, como eu, ainda podem desenvolver e usar modelos de ML em minutos.
Sobre ML.NET
Antes de mergulharmos em nosso exemplo, vamos falar um pouco sobre a história do ML.NET e seu estado atual.
O ML.NET tem suas origens no projeto Microsoft Research de 2002 chamado TMSN, que significa “pesquisa e navegação de mineração de teste”. Mais tarde, foi renomeado para TLC, “o código de aprendizado”. Guerra ML.NET derivada da biblioteca TLC. Inicialmente, foi usado em produtos internos da Microsoft.
A primeira versão publicamente disponível ML.NET 1.0 foi lançada em 2019. Ela incluiu o suplemento Model Builder e recursos AutoML (Automated Machine Learning).
A versão atual é 1.6.0. Mais detalhes sobre todos os lançamentos podem ser encontrados na página oficial de lançamento do ML.NET.
Algumas tarefas que podemos fazer com o ML.NET são:
- Análise de sentimentos
– Recomendação do produto
– Previsão de preços
– Segmentação de clientes
– Detecção de objetos
- Detecção de fraude
– Detecção de picos de vendas
– Classificação de imagem
- Previsão de vendas
Instalar e configurar
A versão mínima necessária do Visual Studio é 16.6.1. As etapas a seguir são feitas no Visual Studio 16.9.2. Assim, se você estiver usando uma versão diferente, alguns detalhes podem ser diferentes.
Instale o ML.NET Model Builder
- Abra o instalador do Visual Studio
- Verifique o desenvolvimento de desktop .NET opção
- No painel do lado direito, expanda Desenvolvimento de desktop .NET> expandir Opcional > verifique o Construtor de Modelos ML.NET (visualização)
Observação:o ML.NET Model Builder está disponível no desenvolvimento multiplataforma .NET opção.
Ative o ML.NET Model Builder no Visual Studio
- Vá para Ferramentas > Opções > Ambiente > Recursos de visualização
- Verifique Ativar o ML.NET Model Builder caixa de seleção
Criação do modelo de ML
Clique com o botão direito do mouse no projeto e selecione Adicionar > Aprendizado de máquina
Selecione um cenário
Selecione Classificação de texto – adicionaremos um recurso simples de análise de sentimentos:
Selecione o ambiente de treinamento
No nosso caso, é uma máquina local.
Adicionar dados
Usaremos o arquivo ZIP do conjunto de dados UCI Sentiment Labeled Sentences disponível para download.
Selecione a saída que você deseja prever
No nosso caso, é a segunda coluna, então selecionaremos col1 . As colunas de entrada são selecionadas automaticamente, pois temos apenas duas colunas disponíveis.
Treine o modelo
Selecione o horário para treinar e clique em Iniciar treinamento :
As imagens abaixo mostram a saída e os resultados do treinamento:
Avalie o modelo
Se entrarmos Janice foi legal na entrada de dados de amostra, a saída mostra que esta frase é positiva com 100% de certeza:
Se digitarmos Janice foi rude na entrada de dados de amostra, a saída mostra que esta frase não é positiva com 100% de certeza:
Implantar e consumir o modelo de ML
Tudo o que resta é usar o modelo que construímos em nosso aplicativo. Precisamos adicionar uma referência ao nosso projeto de modelo de ML.
Além disso, precisamos instalar o Microsoft.ML do NuGet.
O Microsoft.ML é compatível apenas com x64 e x86 arquitetura do processador. Assim, certifique-se de selecionar um deles ao criar o aplicativo.
E isso é tudo. Aqui podemos ver nosso código em ação.
Conclusão
Todo o processo, desde a instalação do ML.NET até o primeiro aplicativo com funcionalidade ML, pode ser feito em alguns minutos. Claro, é um exemplo muito básico com o único propósito de se familiarizar com o framework ML.NET. No entanto, mesmo sem experiência anterior, pude construir um aplicativo que, com alguns ajustes e melhorias, pode realmente funcionar em um cenário da vida real.
Dito isso, ML.NET é uma ferramenta. Você poderá usá-lo com mais eficiência com mais conhecimento sobre algoritmos e princípios de aprendizado de máquina.
Obrigado por chegar até o final e espero que você se junte a nós no próximo artigo sobre ML.NET.