public void Test_Base_Classifier_training() { //arrange var distance = new ManhattanDistance(); var classifier = new BasicClassifier(distance); string trainingPath = Path.Combine(TestContext.DeploymentDirectory, "digits", "trainingsample.csv"); var trainingData = DataReader.ReadObservations(trainingPath); classifier.Train(trainingData); //act string labelResult = classifier.Predict(trainingData[0].Pixels); //assert Assert.IsFalse(string.IsNullOrEmpty(labelResult)); }
static void Main(string[] args) { var distance = new ManhattanDistance(); var classifier = new BasicClassifier(distance); var trainingPath = Path.Combine(Directory.GetParent(Directory.GetCurrentDirectory() + "../../..").ToString(), "DigitsRecognizerTests", "datasamples", "digits", "trainingsample.csv"); var training = DataReader.ReadObservations(trainingPath); classifier.Train(training); var validationPath = Path.Combine(Directory.GetParent(Directory.GetCurrentDirectory() + "../../..").ToString(), "DigitsRecognizerTests", "datasamples", "digits", "validationsample.csv"); var validation = DataReader.ReadObservations(validationPath); var correct = Evaluator.Correct(validation, classifier); Console.WriteLine("Correctly classified: {0:P2}", correct); Console.ReadLine(); }
public void Test_model_Evaluator_correction_averaging() { // arrange var distance = new ManhattanDistance(); var classifier = new BasicClassifier(distance); string trainingPath = Path.Combine(TestContext.DeploymentDirectory, "digits", "trainingsample.csv"); string validationPath = Path.Combine(TestContext.DeploymentDirectory, "digits", "validationsample.csv"); var trainingData = DataReader.ReadObservations(trainingPath); var validationData = DataReader.ReadObservations(validationPath); classifier.Train(trainingData); // act var result = Evaluator.Correct(validationData, classifier); // assert Assert.AreEqual(result, 0.934); }
static void Main(string[] args) { var distance = new ManhattenDistance(); var classifier = new BasicClassifier(distance); var trainingPath = @"C:\Users\Patterson\Documents\Machine Learning\trainingsample.csv"; var training = DataReader.ReadObservations(trainingPath); classifier.Train(training); var validationPath = @"C:\Users\Patterson\Documents\Machine Learning\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 dataPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\train.csv"; Observation[] trainingdata = DataReader.ReadObservations(dataPath); //List<int> Selectionlist = new List<int>(); //for (int i = 0; i < data.Length; i++) //{ // Selectionlist.Add(i); //} //Observation[] trainingData = new Observation[(int)(data.Length * .8)]; //for (int i = 0; i < trainingData.Length; i++) //{ // Random r = new Random(); // int rInt = r.Next(0, Selectionlist.Count); // trainingData[i] = data[rInt]; // Selectionlist.RemoveAt(rInt); //} classifier.Train(trainingdata); var testdataPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\test.csv"; Observation[] testdata = DataReader.ReadObservations(testdataPath); Evaluator evaluator = new Evaluator(); evaluator.Predict(testdata, classifier); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < testdata.Length; i++) { writeProperty(stringBuilder, (i + 1).ToString(), true, false); writeProperty(stringBuilder, testdata[i].Label, false, true); } File.WriteAllText(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\sample_submission.csv", stringBuilder.ToString()); Console.ReadLine(); }
static void Main(string[] args) { var distance = new ManhattanDistance(); var classifier = new BasicClassifier(distance); var trainingPath = @"C:\Vikas\Knowledge\MachineLearning\DigitsRecognizer\trainingsample.csv"; var training = DataReader.ReadObservations(trainingPath); classifier.Train(training); var validationPath = @"C:\Vikas\Knowledge\MachineLearning\DigitsRecognizer\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) { string path = Environment.CurrentDirectory.Split(new[] { "\\bin" }, StringSplitOptions.None)[0]; // data from: https://www.kaggle.com/c/digit-recognizer var trainingSet = DataReader.ReadObservations($@"{path}\Data\train.csv"); var validation = DataReader.ReadObservations($@"{path}\Data\validation.csv"); var manhattanClassifier = new BasicClassifier(Distance.Manhattan); manhattanClassifier.Train(trainingSet); var manhattenCorrect = Evaluator.Correct(validation, manhattanClassifier); Console.WriteLine("Manhattan correctly classified: {0:P2}", manhattenCorrect); var euclideanClassifier = new BasicClassifier(Distance.Euclidean); euclideanClassifier.Train(trainingSet); var euclideanCorrect = Evaluator.Correct(validation, euclideanClassifier); Console.WriteLine("Euclidean correctly classified: {0:P2}", euclideanCorrect); Console.ReadLine(); }