ML.NET

Uma estrutura de aprendizado de máquina de código aberto e multiplataforma

Comece a usar Model Builder

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.

Obter detalhes: o que é o 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 Builder
O ML.NET Model Builder oferece uma interface visual para criar modelos de machine learning no Visual Studio.

Estendido 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.

Treinamento em ~900 MB de um conjunto de dados de análise da Amazon, o ML.NET produziu um modelo com 93% de precisão, scikit-learn com 92% e H2O com 85%. O ML.NET levou 11 minutos para treinar e testar o modelo, o scikit-learn levou 66 minutos e o H2O levou 105 minutos.

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.

Leia o papel de desempenho do ML.NET

Pronto para começar?

Nosso tutorial passo-a-passo irá ajudá-lo a usar o ML.NET em seu computador.

Comece a usar