Estamos felizes em anunciar o lançamento do ML.NET 1.0 hoje. O ML.NET é uma estrutura de aprendizado de máquina livre, de plataforma cruzada e de código aberto, projetada para trazer o poder do aprendizado de máquina (ML) para aplicativos .NET.

https://github.com/dotnet/machinelearning
Introdução: http://dot.net/ml
O ML.NET permite que você treine, construa e envie modelos personalizados de aprendizado de máquina usando C # ou F # para cenários como análise de sentimentos, classificação de problemas, previsão, recomendações e muito mais. Você pode verificar esses cenários e tarefas comuns em nosso repositório de amostras do ML.NET .
O ML.NET foi desenvolvido originalmente na Microsoft Research e evoluiu para uma estrutura significativa usada por muitos produtos da Microsoft, como Windows Defender, Microsoft Office (idéias de design do Powerpoint, recomendações do Excel Chart), Aprendizado de Máquina do Azure, influenciadores de chave do PowerBI para citar alguns!
Desde o seu lançamento, o ML.NET está sendo usado por muitas organizações como SigParser (Detecção de Spam Email), William Mullens (Classificação Legal de Questões) e Evolution Software (Detecção de Nível de Umidade para Avelãs) . Você pode acompanhar a jornada dessas e de muitas outras organizações que usam o ML.NET em nossa vitrine de clientes do ML.NET . Esses usuários nos dizem que a facilidade de uso do ML.NET, a capacidade de reutilizar suas habilidades em .NET e manter sua pilha de tecnologias inteiramente em .NET são os principais drivers para o uso do ML.NET.
Juntamente com o lançamento do ML.NET 1.0, também estamos adicionando novos recursos de visualização, como o poder do AutoML (Automatic Machine Learning) e novas ferramentas, como o ML.NET CLI e o ML.NET Model Builder, que significa adicionar modelos de aprendizado de máquina a seus aplicativos. apenas um clique direito de distância!

O restante deste post se concentra nessas novas experiências.
Componentes principais do ML.NET
O ML.NET tem como objetivo fornecer o fluxo de trabalho final para consumir o ML em aplicativos .NET em várias etapas de aprendizado de máquina (pré-processamento, engenharia de recursos, modelagem, avaliação e operacionalização). O ML.NET 1.0 fornece os seguintes componentes principais:
- Representação de dados
- Tipos de dados fundamentais do pipeline de dados ML, como IDataView - o tipo de pipeline de dados fundamental
- Leitores para suportar a leitura de dados de arquivos de texto delimitados ou IEnumerable de objetos
- Suporte para tarefas de aprendizado de máquina:
- Classificação binária
- Classificação multi-classe
- Regressão
- Ranking
- Detecção de anomalias
- Agrupamento
- Recomendação (pré-visualização)
- Transformação e caracterização de dados
- Text
- Categorias
- Seleção de recursos
- Normalização e manipulação de valor ausente
- Caracterização da imagem
- Séries temporais (visualização)
- Suporte para integração do modelo ONNX e TensorFlow (visualização)
- Outros
- Compreensão e explicabilidade do modelo
- Transformações customizadas definidas pelo usuário
- Operações de esquema
- Suporte para manipulação e validação cruzada de conjuntos de dados
Visualização automatizada do aprendizado de máquina
Começar hoje o aprendizado de máquina envolve uma curva de aprendizado acentuada. Ao criar modelos personalizados de aprendizado de máquina, você precisa descobrir qual tarefa de aprendizado de máquina escolher para o seu cenário (ou seja, classificação ou regressão?), Transforme seus dados em um formato que os algoritmos de ML possam entender (por exemplo, dados textuais -> vetores numéricos), e ajuste esses algoritmos de ML para fornecer o melhor desempenho. Se você é novo no ML, cada uma dessas etapas pode ser bastante assustadora!
O Aprendizado de máquina automatizado simplifica sua jornada com o ML, descobrindo automaticamente como transformar seus dados de entrada e selecionando o algoritmo de melhor desempenho com as configurações certas, permitindo que você construa facilmente os melhores modelos de ML personalizados da sua classe.
O suporte ao AutoML no ML.NET está em pré-visualização e atualmente suportamos tarefas de regressão (usada para cenários como Previsão de preço) e classificação (usada para cenários como análise de sentimentos, classificação de documentos, detecção de spam etc.).
Você pode experimentar a experiência do AutoML no ML.NET em três fatores de forma, usando o ML.NET Model Builder, o ML.NET CLI ou usando a API do AutoML diretamente (exemplos podem ser encontrados aqui ).
Para usuários iniciantes no Machine Learning, recomendamos iniciar o ML.NET Model Builder no Visual Studio e o ML.NET CLI em qualquer plataforma. A API do AutoML também é muito útil para cenários em que você deseja criar modelos em tempo real.
Visualização do Model Builder
A fim de simplificar a jornada dos desenvolvedores .NET para criar modelos ML, hoje também estamos animados em anunciar o ML.NET Model Builder. Com o construtor ML.NET Model, adicionar aprendizado de máquina aos seus aplicativos fica a apenas um clique de distância!
O Model Builder é uma ferramenta simples de interface do usuário para desenvolvedores que usa o AutoML para criar os melhores modelos ML da classe, usando o conjunto de dados que você fornece. Além disso, o Model Builder também gera código de treinamento e consumo de modelo para o modelo com melhor desempenho, permitindo adicionar rapidamente ML ao seu aplicativo existente.

Saiba mais sobre o ML.NET Model Builder
O Model Builder está atualmente em pré-visualização e gostaríamos que você experimentasse e nos dissesse o que pensa!
Visualização da CLI do ML.NET
A CLI do ML.NET (interface da linha de comandos) é outra ferramenta nova que estamos apresentando hoje!
O ML.NET CLI é uma ferramenta dotnet que permite gerar modelos ML.NET usando o AutoML e o ML.NET. A CLI do ML.NET itera rapidamente pelo seu conjunto de dados para uma tarefa específica do ML (atualmente suporta regressão e classificação) e produz o melhor modelo.
A CLI, além de produzir o melhor modelo, também permite aos usuários gerar código de treinamento e consumo de modelo para o modelo com melhor desempenho.
O ML.NET CLI é multiplataforma e é um complemento fácil para o .NET CLI. A extensão do Model Builder Visual Studio também usa a CLI do ML.NET para fornecer recursos ao construtor de modelos.
Você pode instalar a CLI do ML.NET através deste comando.
dotnet tool install -g mlnet
A figura a seguir mostra a CLI do ML.NET criando um conjunto de dados de análise de sentimentos.

Saiba mais sobre a CLI do ML.NET
O CLI do ML.NET também está em pré-visualização e gostaríamos que você o experimentasse e compartilhasse seus pensamentos abaixo!
Comece!
Se ainda não o fez, é fácil começar a usar o ML.NET e você pode fazê-lo em algumas etapas simples, como mostrado abaixo. O exemplo abaixo mostra como você pode executar a análise de sentimentos com o ML.NET .
Você também pode explorar vários outros recursos de aprendizado, como tutoriais e recursos para o ML.NET, além de exemplos do ML.NET, demonstrando cenários populares como recomendação de produtos, detecção de anomalias e muito mais em ação.
O que vem a seguir com o ML.NET
Embora estejamos muito entusiasmados com o lançamento do ML.NET 1.0 hoje, a equipe já está trabalhando duro para habilitar os seguintes recursos para o lançamento do ML.NET pós 1.0.
- Experiência em AutoML para cenários adicionais de ML
- Suporte aprimorado para cenários de aprendizado profundo
- Suporte para outras fontes adicionais, como SQL Server, CosmosDB, armazenamento de Blob do Azure e muito mais.
- Expansão no Azure para treinamento e consumo de modelos
- Suporte para cenários e recursos adicionais de ML ao usar o Model Builder e a CLI
- Integração nativa para aprendizado de máquina em escala com .NET para Apache Spark e ML.NET
- Novos tipos de ML no .NET, por exemplo, DataFrame