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.
    Command prompt
    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):

    Command prompt
    dotnet run

    L'output dovrebbe avere un aspetto simile al seguente:

    Command prompt
    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