Esempio n. 1
0
        public void TestTrainValidData()
        {
            List <List <object> > validData = new List <List <object> >();

            for (int i = 0; i < 5; i++)
            {
                validData.Add(GenerateValidList(5));
            }
            List <object> validTargetData = GenerateValidTargetData(5);

            KnnModel.Train(validData, validTargetData);
        }
Esempio n. 2
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. 3
0
 public bool Train(List <List <object> > X, List <object> Y)
 {
     try
     {
         Model.Train(X, Y);
     } catch (InvalidDataFormatException)
     {
         return(false);
     }
     return(true);
 }