Esempio n. 1
0
        public void KNN_Test()
        {
            Logger.Info("KNN_Test");

            var problem = ProblemFactory.CreateClassificationProblem(ClassificationProblemType.ChessBoard);

            Logger.Info("Loading training data.");

            var tSet = problem.TrainingSet;
            var vSet = problem.ValidationSet;

            var classifier = new KNN
            {
                KNN_K    = 7,
                TrainSet = tSet
            };

            classifier.Train();

            Logger.Info("Doing cross-validation.");

            var hit = (from e in vSet.Examples let iResult = classifier.Predict(e.X) where e.Label.Id == iResult select e).Count();

            var correctRatio = 1.0 * hit / vSet.Count;

            Logger.Info("CorrectRatio: {0}", correctRatio);

            Assert.IsTrue(correctRatio > 0.900, string.Format("KNN (2-class) Correct Ratio, expected: greater than 0.900, actual: {0}.", correctRatio));
        }
Esempio n. 2
0
        public void TestPredictRunsSuccessfullyWithoutException()
        {
            TestTrainValidData();
            List <object> validData = GenerateValidList(5);

            KnnModel.Predict(validData, CalcDistance);
            KnnModel.PredictTopN(validData, CalcDistance, 6);
        }
Esempio n. 3
0
 public object Predict(List <object> inputData, Func <List <double>, List <double>, double> distanceCalculationFunction)
 {
     return(Model.Predict(inputData, distanceCalculationFunction));
 }