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

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

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

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

            var classifier = new ANN_BP(problem.Dimension)
            {
                TrainSet         = tSet,
                MaximumIteration = int.MaxValue,
                ANN_Eta          = 0.5,
                ANN_Epsilon      = 1e-3,
                LogInterval      = 1000
            };

            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("ANN_BP (2-class) Correct Ratio, expected: greater than 0.930, actual: {0}.", correctRatio));
        }
Esempio n. 2
0
        public void Binary_SVM_SMO_Test()
        {
            Logger.Info("Binary_SVM_SMO_Test");

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

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

            var classifier = new Binary_SVM_SMO(problem)
            {
                TrainSet = tSet,
                Kernel   = new GaussianRBFKernel(0.001)
            };


            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;

            Assert.IsTrue(correctRatio > 0.950, string.Format("SVM-SMO (2-class) Correct Ratio, expected: greater than 0.970, actual: {0}.", correctRatio));
        }
Esempio n. 3
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. 4
0
        public void AdaBoost_Test()
        {
            Logger.Info("AdaBoost_Test");

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

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

            var classifier = new AdaBoost(tSet, 1000, problem.Dimension);

            classifier.Train();

            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("AdaBoost (2-class) Correct Ratio, expected: greater than 0.900, actual: {0}.", correctRatio));
        }