0

我正在使用 libsvm C# wrapper for svr 来预测 Salary .predicted 结果是错误的。libsvm 为所有实例提供相同的值。我有预制网格搜索参数选择。我该如何解决这个问题这是我的代码。

Problem train = Problem.Read(@"H:\test.csv");
Problem test = Problem.Read(@"H:\testsvmf1.csv");


//For this example (and indeed, many scenarios), the default
//parameters will suffice.
Parameter parameters = new Parameter();
//double C;
//double Gamma;


//This will do a grid optimization to find the best parameters
//and store them in C and Gamma, outputting the entire
//search to params.txt.

ParameterSelection.Grid(train, parameters, @"H:\params.txt", out C, out Gamma);
parameters.C = 512;
parameters.Gamma = 0.5;
parameters.SvmType = SvmType.NU_SVR;
double cv = Training.PerformCrossValidation(train,parameters,10);

Console.Write(cv);
//Train the model using the optimal parameters.

Model model = Training.Train(train, parameters);


//Perform classification on the test data, putting the
//results in results.txt.

Prediction.Predict(test, @"H:\resultsnew1.txt", model, false);

}

public static SvmType NU_SVR { get; set; }
4

1 回答 1

4

看起来您执行网格搜索来调整参数,但随后您手动将它们设置为固定值 (C=512,Gamma=0.5)。固定参数用于训练...

于 2013-07-01T06:36:21.717 回答