public static void DisplayTestDataResults(Classifier.MLDotNet.AffirmativeClassifier model, string testDataPath) { var dataView = System.IO.File.ReadAllLines(testDataPath); Console.WriteLine("=============== Displaying Model Results with Test data==============="); foreach (var item in dataView) { var elements = item.Split(','); if (elements[0].ToLower() != "isaffirmative") { var prediction = model.Predict(elements[1]); DisplayPredictionResults(elements[1], prediction.Prediction, prediction.Probability); } } Console.WriteLine(); }
static void Main(string[] args) { bool train = true; Classifier.MLDotNet.AffirmativeClassifier model; if (train) { // Train a new model using training data model = new Classifier.MLDotNet.AffirmativeClassifier(_trainDataPath, _testDataPath); // Store the trained model var savedModel = model.Export(); var encodedModel = Convert.ToBase64String(savedModel, Base64FormattingOptions.None); File.WriteAllText(_base64ModelPath, encodedModel); Console.WriteLine($"Model trained using: {model.TrainingMethodName}"); Console.WriteLine($"Encoded model stored in '{_base64ModelPath}'\r\n"); } else { // Load an existing model byte[] modelData = System.Convert.FromBase64String(_base64EncodedModel); model = new Classifier.MLDotNet.AffirmativeClassifier(modelData); } var evaluationResults = model.Evaluate(_testDataPath); DisplayEvaluationResults(evaluationResults.Accuracy, evaluationResults.Auc, evaluationResults.F1Score); DisplayTestDataResults(model, _testDataPath); string input = string.Empty; do { Console.Write("\n\nUtterance: "); input = Console.ReadLine(); if (input != string.Empty) { var result = model.Predict(input); DisplayPredictionResults(input, result.Prediction, result.Probability); } }while (input != string.Empty); }