我正在使用libsvm C#wrapper for svr来预测Salary。预测结果是错误的。 libsvm为所有实例提供相同的值。我有preform网格搜索参数selection.how我可以在这里解决这个问题是我的代码。
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; }
答案 0 :(得分:4)
看起来您执行网格搜索来调整参数,然后手动将它们设置为固定值(C = 512,Gamma = 0.5)。固定参数用于训练......