Esempio n. 1
0
        static public void SVMCrowdScaleForRegression(int trainNumber)
        {
            string folderName = trainNumber + "Regression";

            SVMLearn svmLearn = new SVMLearn();
            svmLearn.mode = Mode.Regression;
            svmLearn.kernelType = Kernel.Polynomial;
            svmLearn.ExecuteLearner("svm_learn.exe", folderName + "CrowdScale/train.dat", folderName + "CrowdScale/model.txt", folderName + "CrowdScale/learnLog.txt", false);
            new SVMClassify().ExecuteClassifier("svm_classify.exe", folderName + "CrowdScale/test.dat", folderName + "CrowdScale/model.txt", folderName + "CrowdScale/output.txt", folderName + "CrowdScale/clasifylog.txt", false);
        }
Esempio n. 2
0
        static private void SVMExample()
        {
            SVMLearn svmLearn = new SVMLearn();

            svmLearn.ExecuteLearner("svm_learn.exe", "example/train.dat", "example/model.txt", "example/learnLog.txt", false);

            SVMClassify svmClassify = new SVMClassify();

            svmClassify.ExecuteClassifier("svm_classify.exe", "example/test.dat", "example/model.txt", "example/output.txt", "example/clasifylog.txt", false);
        }
Esempio n. 3
0
        static public void SVMCrowdScale(int numberOfTrain, Kernel kernel, int ParamD, double ParamG, double ParamS, double ParamC)
        {
            string   folderName = numberOfTrain + "Classification";
            SVMLearn svmLearn0  = new SVMLearn();

            svmLearn0.kernelType = kernel;
            svmLearn0.ParamD     = ParamD;
            svmLearn0.ParamG     = ParamG;
            svmLearn0.ParamS     = ParamS;
            svmLearn0.ParamC     = ParamC;
            svmLearn0.ExecuteLearner("svm_learn.exe", folderName + "CrowdScale/0train.dat", folderName + "CrowdScale/0model.txt", folderName + "CrowdScale/0learnLog.txt", false);
            new SVMClassify().ExecuteClassifier("svm_classify.exe", folderName + "CrowdScale/0test.dat", folderName + "CrowdScale/0model.txt", folderName + "CrowdScale/0output.txt", folderName + "CrowdScale/0clasifylog.txt", false);

            SVMLearn svmLearn1 = new SVMLearn();

            svmLearn1.kernelType = kernel;
            svmLearn1.ParamD     = ParamD;
            svmLearn1.ParamG     = ParamG;
            svmLearn1.ParamS     = ParamS;
            svmLearn1.ParamC     = ParamC;
            svmLearn1.ExecuteLearner("svm_learn.exe", folderName + "CrowdScale/1train.dat", folderName + "CrowdScale/1model.txt", folderName + "CrowdScale/1learnLog.txt", false);
            new SVMClassify().ExecuteClassifier("svm_classify.exe", folderName + "CrowdScale/1test.dat", folderName + "CrowdScale/1model.txt", folderName + "CrowdScale/1output.txt", folderName + "CrowdScale/1clasifylog.txt", false);

            SVMLearn svmLearn2 = new SVMLearn();

            svmLearn2.kernelType = kernel;
            svmLearn2.ParamD     = ParamD;
            svmLearn2.ParamG     = ParamG;
            svmLearn2.ParamS     = ParamS;
            svmLearn2.ParamC     = ParamC;
            svmLearn2.ExecuteLearner("svm_learn.exe", folderName + "CrowdScale/2train.dat", folderName + "CrowdScale/2model.txt", folderName + "CrowdScale/2learnLog.txt", false);
            new SVMClassify().ExecuteClassifier("svm_classify.exe", folderName + "CrowdScale/2test.dat", folderName + "CrowdScale/2model.txt", folderName + "CrowdScale/2output.txt", folderName + "CrowdScale/2clasifylog.txt", false);

            SVMLearn svmLearn3 = new SVMLearn();

            svmLearn3.kernelType = kernel;
            svmLearn3.ParamD     = ParamD;
            svmLearn3.ParamG     = ParamG;
            svmLearn3.ParamS     = ParamS;
            svmLearn3.ParamC     = ParamC;
            svmLearn3.ExecuteLearner("svm_learn.exe", folderName + "CrowdScale/3train.dat", folderName + "CrowdScale/3model.txt", folderName + "CrowdScale/3learnLog.txt", false);
            new SVMClassify().ExecuteClassifier("svm_classify.exe", folderName + "CrowdScale/3test.dat", folderName + "CrowdScale/3model.txt", folderName + "CrowdScale/3output.txt", folderName + "CrowdScale/3clasifylog.txt", false);

            SVMLearn svmLearn4 = new SVMLearn();

            svmLearn4.kernelType = kernel;
            svmLearn4.ParamD     = ParamD;
            svmLearn4.ParamG     = ParamG;
            svmLearn4.ParamS     = ParamS;
            svmLearn4.ParamC     = ParamC;
            svmLearn4.ExecuteLearner("svm_learn.exe", folderName + "CrowdScale/4train.dat", folderName + "CrowdScale/4model.txt", folderName + "CrowdScale/4learnLog.txt", false);
            new SVMClassify().ExecuteClassifier("svm_classify.exe", folderName + "CrowdScale/4test.dat", folderName + "CrowdScale/4model.txt", folderName + "CrowdScale/4output.txt", folderName + "CrowdScale/4clasifylog.txt", false);
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            //ENTER FULL PATH OF EXECUTABLES.

            SVMLearn learner = new SVMLearn();

            learner.mode       = Mode.Classification;
            learner.kernelType = Kernel.Linear;
            //learner.ParamC = 2;
            //learner.ParamD = 2;
            //learner.LeaveOneOutCrossValidation = true;
            //learner.ParamG = 5;
            //learner.TrainingErrorAndMarginTradeoff = 10;
            learner.Cost = 0.55; //high cost model
            learner.RemoveInconsistentTrainingExamples = true;

            Utilities u = new Utilities();

            SVMLearn[] learners = new SVMLearn[10];
            Dictionary <double, Results> cvResults = new Dictionary <double, Results>(10);
            String outputFolder = @"";

            u.ConstructNFolds(@"", 10, outputFolder, r => r.StartsWith("-"));

            for (int counter = 0; counter < 10; counter++)
            {
                learners[counter]            = new SVMLearn();
                learners[counter].mode       = Mode.Classification;
                learners[counter].kernelType = Kernel.Linear;
                learners[counter].Cost       = 0.35 + counter * 0.20;
                learners[counter].RemoveInconsistentTrainingExamples = true;

                cvResults.Add(learners[counter].Cost, u.PerformCrossValidation(outputFolder, false, learners[counter]));
            }


            StreamWriter learningRate = new StreamWriter(Path.Combine(outputFolder, "learning.txt"));

            foreach (KeyValuePair <double, Results> entry in cvResults)
            {
                Console.WriteLine("Cost: {0}: Accuracy {1}, Precision {2}, Recall {3}",
                                  entry.Key, entry.Value.accuracy, entry.Value.precision, entry.Value.recall);

                learningRate.WriteLine(entry.Key + ", " + entry.Value.accuracy + ", " +
                                       entry.Value.precision + ", " + entry.Value.recall);
            }

            Console.ReadLine();
        }