ML.NET
Uma estrutura de aprendizado de máquina de código aberto e multiplataforma
Compatível com Windows, Linux e macOS
//Step 1. Create an ML Context
var ctx = new MLContext();
//Step 2. Read in the input data from a text file for model training
IDataView trainingData = ctx.Data
.LoadFromTextFile<ModelInput>(dataPath, hasHeader: true);
//Step 3. Build your data processing and training pipeline
var pipeline = ctx.Transforms.Text
.FeaturizeText("Features", nameof(SentimentIssue.Text))
.Append(ctx.BinaryClassification.Trainers
.LbfgsLogisticRegression("Label", "Features"));
//Step 4. Train your model
ITransformer trainedModel = pipeline.Fit(trainingData);
//Step 5. Make predictions using your trained model
var predictionEngine = ctx.Model
.CreatePredictionEngine<ModelInput, ModelOutput>(trainedModel);
var sampleStatement = new ModelInput() { Text = "This is a horrible movie" };
var prediction = predictionEngine.Predict(sampleStatement);
//Step 1. Create an ML Context
let ctx = MLContext()
//Step 2. Read in the input data from a text file
let trainingData = ctx.Data.LoadFromTextFile<ModelInput>(dataPath, hasHeader=true)
//Step 3. Build your data processing and training pipeline
let scope = ctx.BinaryClassification.Trainers.LbfgsLogisticRegression("Label", "Features")
let pipeline = ctx.Transforms.Text.FeaturizeText("Features", "Text").Append(scope)
//Step 4. Train your model
let trainedModel = pipeline.Fit(trainingData)
//Step 5. Make predictions using your model
let predictionEngine = ctx.Model.CreatePredictionEngine<ModelInput, ModelOutput>(trainedModel)
let sampleStatement = { Label = false; Text = "This is a horrible movie" }
let prediction = predictionEngine.Predict(sampleStatement)
Criado para desenvolvedores do .NET
Com ML.NET, você pode criar modelos de ML personalizados usando C# ou F# sem precisar sair do ecossistema do .NET.
O ML.NET permite reutilizar todo o conhecimento, habilidades, código e bibliotecas que você já tem como desenvolvedor do .NET para integrar facilmente o Machine Learning com seus aplicativos Web, móveis, de área de trabalho, jogos e IoT.
Você pode encontrar mais amostras ML.NET no GitHub, ou dê uma olhada nos Tutoriais do ML.NET.
O aprendizado de máquina personalizado fica mais fácil com o AutoML
ML.NET oferece Model Builder (uma ferramenta de interface do usuário simples) e ML.NET CLI para facilitar muito a criação de modelos de ML personalizados.
Essas ferramentas usam o ML Automatizado (AutoML), uma tecnologia de ponta que automatiza o processo de criação de modelos de melhor desempenho para seu cenário de Aprendizado de Máquina. Tudo o que você precisa fazer é carregar seus dados e o AutoML cuida do restante do processo de criação do modelo.
Explorar o ML.NET Model BuilderEstendido com TensorFlow e mais
O ML.NET foi projetado como uma plataforma extensível para que você possa consumir outras estruturas ML populares (TensorFlow, ONNX, Infer.NET e muito mais) e ter acesso a ainda mais cenários de aprendizado de máquina, como classificação de imagens, detecção de objetos e muito mais.
Dados originados do artigo Aprendizado de máquina na Microsoft com o ML.NET. Resultados da análise de sentimentos usando cerca de 900 MB de um conjunto de dados de uma avaliação da Amazon. É melhor ter uma maior precisão e um menor tempo de execução.
Alto desempenho e precisão
Usando um conjunto de dados de análise da Amazon de 9 GB, o ML.NET treina um modelo de análise de sentimento com 95% precisão. Outras estruturas populares de Machine Learning não processaram o conjunto de dados devido a erros de memória. Com treinamento em 10% do conjunto de dados, para permitir que todas as estruturas concluam o treinamento, o ML.NET demonstrou mais velocidade e precisão.
A avaliação de desempenho encontrou resultados semelhantes em outros cenários de machine learning, incluindo previsão de taxa de cliques e previsão de atraso de voo.
Pronto para começar?
Nosso tutorial passo-a-passo irá ajudá-lo a usar o ML.NET em seu computador.