ML.NET

Un framework di Machine Learning open source e multipiattaforma

Attività iniziali Model Builder

Supportato in 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)

Creato per sviluppatori .NET

Con ML.NET, puoi creare modelli personalizzati di Machine Learning usando C# o F# senza dover uscire dall'ecosistema .NET.

ML.NET consente di riutilizzare tutte le conoscenze, le competenze, il codice e le librerie già in uso dagli sviluppatori .NET, per poter integrare facilmente il Machine Learning in app Web, per dispositivi mobili, desktop, giochi e IoT.

Approfondimenti: Informazioni su ML.NET

Machine Learning personalizzato semplificato con AutoML

ML.NET offre Model Builder (un semplice strumento dell'interfaccia utente) e l’interfaccia della riga di comando (CLI) ML.NET per semplificare la compilazione di modelli di Machine Learning personalizzati.

Questi strumenti usano Machine Learning automatizzato (AutoML), una tecnologia all'avanguardia che automatizza il processo di compilazione di modelli con prestazioni ottimali per lo scenario di Machine Learning. Tutto quello che devi fare è caricare i dati e AutoML si occupa del resto del processo di compilazione del modello.

Esplora ML.NET Model Builder
ML.NET Model Builder fornisce un'interfaccia visiva per la creazione di modelli di Machine Learning in Visual Studio.

Esteso con TensorFlow e altro ancora

ML.NET è stato progettato come piattaforma estensibile, in modo da poter usare altri framework di ML popolari (TensorFlow, ONNX, Infer.NET e altri ancora) e avere accesso a un numero ancora maggiore di scenari di apprendimento automatico, come la classificazione delle immagini, il rilevamento di oggetti e altro ancora.

Eseguendo l'addestramento su un dataset di recensioni Amazon di circa 900 MB, ML.NET ha prodotto un modello con un'accuratezza del 93%, scikit-learn del 92% e H2O dell'85%. ML.NET ha impiegato 11 minuti per addestrare e testare il modello, scikit-learn 66 minuti e H2O 105 minuti.

Fonte dei dati: documento Machine Learning at Microsoft with ML.NET. Risultati per l'analisi del sentiment eseguita con 900 MB di un set di dati di recensioni Amazon. L'accuratezza dei dati e il runtime più basso sono migliori.

Prestazioni elevate e accuratezza

Usando un set di dati di recensioni Amazon di 9 GB, ML.NET ha eseguito il training di un modello di analisi del sentiment con un'accuratezza del 95%. Altri framework di Machine Learning più diffusi non sono riusciti a elaborare il set di dati a causa di errori di memoria. Con il training sul 10% del set di dati, per consentire a tutti i framework di completare il training, ML.NET ha dimostrato la velocità e la precisione più elevate.

La valutazione delle prestazioni ha trovato risultati simili in altri scenari di apprendimento automatico, tra cui il tasso di clickthrough e la previsione del ritardo del volo.

Leggi il documento sulle prestazioni ML.NET

Pronti per iniziare?

Questa esercitazione dettagliata ti aiuterà a ottenere ML.NET in esecuzione nel computer.

Attività iniziali