public void KNearestNeighborsTest() { Tuple <double[], double> tuple1 = new Tuple <double[], double>(new double[] { 3, 104, 2 }, 0); Tuple <double[], double> tuple2 = new Tuple <double[], double>(new double[] { 2, 100, 1 }, 0); Tuple <double[], double> tuple3 = new Tuple <double[], double>(new double[] { 1, 81, 0 }, 0); Tuple <double[], double> tuple4 = new Tuple <double[], double>(new double[] { 101, 10, 0 }, 1); Tuple <double[], double> tuple5 = new Tuple <double[], double>(new double[] { 99, 5, 0 }, 1); Tuple <double[], double> tuple6 = new Tuple <double[], double>(new double[] { 98, 2, 0 }, 1); Tuple <double[], double> tuple7 = new Tuple <double[], double>(new double[] { 3, 2, 20 }, 2); Tuple <double[], double> tuple8 = new Tuple <double[], double>(new double[] { 4, 2, 21 }, 2); Tuple <double[], double> tuple9 = new Tuple <double[], double>(new double[] { 2, 2, 23 }, 2); List <Tuple <double[], double> > movies = new List <Tuple <double[], double> >() { tuple1, tuple2, tuple3, tuple4, tuple5, tuple6, tuple7, tuple8, tuple9 }; KNearestNeighborsClassifier kNearestNeighborsClassifier = new KNearestNeighborsClassifier(movies, 3, new EuclideMetric()); var result = kNearestNeighborsClassifier.Classify(new double[] { 3, 104, 2 }); result = kNearestNeighborsClassifier.Classify(new double[] { 101, 10, 0 }); result = kNearestNeighborsClassifier.Classify(new double[] { 80, 10, 0 }); result = kNearestNeighborsClassifier.Classify(new double[] { 5, 90, 1 }); result = kNearestNeighborsClassifier.Classify(new double[] { 4, 2, 21 }); result = kNearestNeighborsClassifier.Classify(new double[] { 3, 3, 25 }); }
private SmartphonePositions AnalyzeAccelerometerData(IEnumerable <ICoorinateContainer> coordinates) { if (coordinates == null || coordinates.Count() == 0) { return(SmartphonePositions.Not_Found); } return(KNearestNeighborsClassifier.GetInstance().DefineMove(coordinates)); }
public static string RunTest() { string res; //var fn = @"train.csv"; //var f = File.ReadLines(fn); //var data = from z in f.Skip(1) // let zz = z.Split(',').Select(int.Parse) // select new // { // Label = zz.First(), // Image = zz.Skip(1).ToArray() // }; //var classefier = new MuliclassSupportVectorLearning<Linear>(); //classefier.Learn(,) //var testData = new TestDataFileReader().GetTestData() // .OrderBy(a => Guid.NewGuid()).ToList(); // shuffle //SensorsDataModel model = new SensorsDataModel(); //StringBuilder res = new StringBuilder(); //foreach (var test in testData) //{ // SmartphonePositions position = model.AnalyzeAccelerometerData(test.AccelerometerDataRecords // .Select(d => new AccelerometerDataRecord { X = d.X, Y = d.Y, Z = d.Z }).ToList()); // res.Append($"{test.SmartphonePosition} -> {position} </br>"); //} var testDataReader = new TestDataFileReader(); var testDataPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "learning_data", "test", "sample.out"); var coordinates = testDataReader.ParseCoordinatesFromString(File.ReadAllText(testDataPath)); var move = KNearestNeighborsClassifier.GetInstance().DefineMove(coordinates); res = move.ToString(); return(res); }