Esercitazione su ML.NET - Come iniziare in 10 minuti

Usa il modello

L'ultimo passaggio consiste nell'utilizzare il modello di cui è stato eseguito il training nell'applicazione per l'utente finale.

  1. Sostituire il codice Program.cs nel progetto myMLApp con il codice seguente:

    Program.cs
    using MyMLApp;
    // Add input data
    var sampleData = new SentimentModel.ModelInput()
    {
        Col0 = "This restaurant was wonderful."
    };
    
    // Load model and predict output of sample data
    var result = SentimentModel.Predict(sampleData);
    
    // If Prediction is 1, sentiment is "Positive"; otherwise, sentiment is "Negative"
    var sentiment = result.PredictedLabel == 1 ? "Positive" : "Negative";
    Console.WriteLine($"Text: {sampleData.Col0}\nSentiment: {sentiment}");
  2. Eseguire myMLApp (selezionare Ctrl+F5 o Debug > Avvio senza debug). Verrà visualizzato l'output seguente, che stima se l'istruzione di input è positiva o negativa.

    Output: Testo: Questo ristorante è stato fantastico. Sentiment: positivo

L’interfaccia della riga di comando di ML.NET ha generato il modello sottoposto a training e il codice, che ora è possibile usare nelle applicazioni .NET (ad esempio, l'applicazione SentimentModel per console) seguendo questa procedura:

  1. Nella riga di comando passa alla directory consumeModelApp.
    Terminal
    cd SentimentModel
  2. Aprire Program.cs in qualsiasi editor di codice ed esaminare il codice. Il codice dovrebbe essere simile al seguente:

    Program.cs
    using System;
    
    namespace SentimentModel.ConsoleApp
    {
        class Program
        {
            static void Main(string[] args)
            {
                // Add input data
                SentimentModel.ModelInput sampleData = new SentimentModel.ModelInput()
                {
                  Col0 = @"Wow... Loved this place."
                };
    
                // Make a single prediction on the sample data and print results
                var predictionResult = SentimentModel.Predict(sampleData);
    
                Console.WriteLine("Using model to make single prediction -- Comparing actual Col1 with predicted Col1 from sample data...\n\n");
    
    
                Console.WriteLine($"Col0: @{"Wow... Loved this place."}");
                Console.WriteLine($"Col1: {1F}");
    
    
                Console.WriteLine($"\n\nPredicted Col1: {predictionResult.PredictedLabel}\n\n");
                Console.WriteLine("=============== End of process, hit any key to finish ===============");
                Console.ReadKey();
            }
        }
    }
  3. Eseguire SentimentModel.ConsoleApp. A tale scopo, eseguire il comando seguente nel terminale (assicurarsi di essere nella directory SentimentModel):

    Terminal
    dotnet run

    L'output dovrebbe avere un aspetto simile al seguente:

    Terminal
    Using model to make single prediction -- Comparing actual Col1 with predicted Col1 from sample data...
    
    
    Col0: Wow... Loved this place.
    Col1: 1
    Class                          Score
    -----                          -----
    1                              0.9651076
    0                              0.034892436
    =============== End of process, hit any key to finish ===============
Continua