Exemple #1
0
        private string FlushResultsToFile(TimeSpan took, PmlEvaluation eval)
        {
            var date     = DateTime.Now;
            var filename = date.ToString("yyyyMMddTHHmmss.") + classifier.GetType().Name.ToLower() + ".eval";

            if (File.Exists(filename))
            {
                File.Delete(filename);
            }

            var m         = classifier.Impl.GetType().GetMethod("toString");
            var classdesc = m == null ? null : (string)m.Invoke(classifier.Impl, new object[0]);

            var contents = "Evaluation Took " + took + "ms\n\n";

            if (!String.IsNullOrWhiteSpace(classdesc))
            {
                contents += "Classifier:\n==========\n\n" + classdesc + "\n\n";
            }
            contents += eval.ToSummaryString("Summary:\n=======\n\n", true);
            try { contents += eval.ToClassDetailsString("\n\nClass Details:\n=============\n\n"); } catch {}
            try { contents += eval.ToMatrixString("\n\nConfusion Matrix:\n================\n\n"); } catch {}

            File.WriteAllText(filename, contents);
            return(contents);
        }
Exemple #2
0
        private PmlEvaluation EvaluateImpl(Action <PmlEvaluation> eval, bool quiet)
        {
            var start      = DateTime.Now;
            var evaluation = new PmlEvaluation(new Evaluation(runtime.Impl));

            eval(evaluation);
            var description = FlushResultsToFile(DateTime.Now.Subtract(start), evaluation);

            if (!quiet)
            {
                Console.WriteLine("\n" + description);
            }
            return(evaluation);
        }