public static double Correct(IEnumerable <Observation> validationSet, BasicClassifier classifier)
 {
     return(validationSet
            .AsParallel()
            .Select(obs => Score(obs, classifier))
            .Average());
 }
        static void Main()
        {
            const string dataPath  = @"..\..\..\Data";
            var          manhattan = new ManhattanDistance();

            var trainingPath = $@"{dataPath}\trainingsample.csv";
            var training     = DataReader.ReadObservations(trainingPath);
            var classifier   = new BasicClassifier(manhattan);

            classifier.Train(training);

            var validationPath = $@"{dataPath}\validationsample.csv";
            var validation     = DataReader.ReadObservations(validationPath);

            var correct = Evaluator.Correct(validation, classifier);

            Console.WriteLine("Correctly classified: {0:P2}", correct);

            // Test functional style
            int Dist(int[] x, int[] y) => (int)manhattan.Between(x, y);

            var funcClassifier = new FunctionalExample(Dist);

            funcClassifier.Train(training);
            var functionalCorrect = Evaluator.Correct(validation, funcClassifier);

            Console.WriteLine("Correctly classified (func): {0:P2}", functionalCorrect);

            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            Console.WriteLine("  Manhattan #");

            var start = DateTime.Now;

            var distance   = new ManhattanDistance();
            var classifier = new BasicClassifier(distance);

            var trainingPath = @"..\..\..\Data\trainingsample.csv";
            var training     = DataReader.ReadObservations(trainingPath);

            classifier.Train(training);

            var validationPath = @"..\..\..\Data\validationsample.csv";
            var validation     = DataReader.ReadObservations(validationPath);

            var correct = Evaluator.Correct(validation, classifier);

            var finish  = DateTime.Now;
            var elapsed = finish - start;

            Console.WriteLine("Correctly classified: {0:P2}", correct);
            Console.WriteLine($"Elapsed time = {elapsed.Seconds}sec {elapsed.Milliseconds}ms");
            Console.ReadLine();
        }
 public static double Correct(
     IEnumerable<Observation> validationSet,
     BasicClassifier classifier)
 {
     return validationSet
         .Select(obs => Score(obs, classifier))
         .Average();
 }
        static void Main(string[] args)
        {
            var distance   = new ManhattanDistance();
            var classifier = new BasicClassifier(distance);

            var trainingPath = @"..\..\..\Data\trainingsample.csv";
            var training     = DataReader.ReadObservations(trainingPath);

            classifier.Train(training);

            var validationPath = @"..\..\..\Data\validationsample.csv";
            var validation     = DataReader.ReadObservations(validationPath);

            var correct = Evaluator.Correct(validation, classifier);

            Console.WriteLine($"Correctly classified:{correct}");
        }
示例#6
0
        static void Main(string[] args)
        {
            var distance     = new ManhattanDistance();
            var classifier   = new BasicClassifier(distance);
            var trainingPath = @"E:\personal\deepLearning\DigitsRecognizer\data\trainingsample.csv";
            var training     = DataReader.ReadObservations(trainingPath);

            classifier.Train(training);

            var validationPath = @"E:\personal\deepLearning\DigitsRecognizer\data\validationsample.csv";
            var validation     = DataReader.ReadObservations(validationPath);

            var correct = Evaluator.Correct(validation, classifier);

            Console.WriteLine("Correctly classified: {0:P2}", correct);
            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            var distance = new ManhattanDistance();
            var classifier = new BasicClassifier(distance);

            var trainingPath = @"..\..\..\Data\trainingsample.csv";
            var training = DataReader.ReadObservations(trainingPath);
            classifier.Train(training);

            var validationPath = @"..\..\..\Data\validationsample.csv";
            var validation = DataReader.ReadObservations(validationPath);

            var correct = Evaluator.Correct(validation, classifier);
            Console.WriteLine("Correctly classified: {0:P2}", correct);

            Console.ReadLine();
        }
示例#8
0
        static void Main(string[] args)
        {
            var distanceAlgorithm = new ManhattanDistance();
            var classifier = new BasicClassifier(distanceAlgorithm);

            var trainingPath = @"G:\Projects\MachineLearning\DigitRecognizer\CSharp\Data\trainingsample.csv";
            var trainingSet = DataReader.ReadObservations(trainingPath);
            classifier.Train(trainingSet);

            var validationPath = @"G:\Projects\MachineLearning\DigitRecognizer\CSharp\Data\validationsample.csv";
            var validationSet = DataReader.ReadObservations(validationPath);

            var correctPercentage = Evaluator.Correct(validationSet, classifier);
            Console.WriteLine("Percentage of correctly classified images: {0:P2}", correctPercentage);

            Benchmark(() => Evaluator.Correct(validationSet, classifier), 1);

            Console.ReadLine();
        }
示例#9
0
        static void Main(string[] args)
        {
            var distance   = new ManhattanDistance();
            var classifier = new BasicClassifier(distance);

            var trainingPath = @"C:\Development\TestApps\MachineLearning\Chapter1\DigitRecognizer\Data\trainingsample.csv";
            var training     = DataReader.ReadObservations(trainingPath);

            classifier.Train(training);
            Console.WriteLine("Total Training Records: {0}", training.Count());

            var validationPath = @"C:\Development\TestApps\MachineLearning\Chapter1\DigitRecognizer\Data\validationsample.csv";
            var validation     = DataReader.ReadObservations(validationPath);

            Console.WriteLine("Total Validation Records: {0}", validation.Count());

            var correct = Evaluator.Correct(validation, classifier);

            Console.WriteLine("Correctly classified: {0:P2}", correct);

            Console.ReadLine();
        }