Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }