Руководство по ML.NET — начало работы через 10 минут

Потребляйте свою модель

Последним шагом является использование обученной модели в приложении конечного пользователя.

  1. Замените код Program.cs в проекте myMLApp следующим кодом:

    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. Запустите myMLApp (нажмите CTRL+F5 или выберите Отладка > Начать без отладки). Вы должны увидеть следующие выходные данные, прогнозирующие, является ли входной оператор положительным или отрицательным.

    Результат: Текст: Этот ресторан был замечательным. Настроение: положительное

Интерфейс командной строки ML.NET сгенерировал для вас обученную модель и код, поэтому теперь вы можете использовать модель в приложениях .NET (например, в консольном приложении SentimentModel), выполнив следующие действия:

  1. В командной строке перейдите в каталог consumeModelApp.
    Command prompt
    cd SentimentModel
  2. Откройте Program.cs в любом редакторе кода и проверьте код. Код должен выглядеть примерно так:

    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. Запустите приложение SentimentModel.ConsoleApp. Вы можете сделать это, выполнив следующую команду в терминале (убедитесь, что вы находитесь в каталоге SentimentModel):

    Command prompt
    dotnet run

    Вывод должен выглядеть примерно так:

    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 ===============
Продолжить