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); }
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); }
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); }
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(); }