libsvm的epsilon SVR回归得到的值都是一样的

propellant_j 2019-06-22 07:30:24
我在用libsvm做回归的时候,发现预测得到的值都是一样的,很奇怪。

所用的libsvm是官方版本3.23

数据如下:


代码如下,发现得到的teValue 和testValue 是一样的,是我的参数选择有问题吗?

void InitializeParam()
{
param.kernel_type = RBF;
param.svm_type = EPSILON_SVR;
param.gamma = 1;
param.C = 30;
param.shrinking = 0;
param.eps = 0.1;
param.cache_size = 300;
}

model = svm_train(&prob, ¶m);

double *dec_values = Malloc(double, 1);
svm_node *test = Malloc(struct svm_node, 3);
for (int i = 0; i < 2; i++)
{
test[i].index = i + 1;
test[i].value = 1.0;
}
test[3].index = -1;
test[3].value = 0;
double testValue = svm_predict_values(model, test, dec_values);

double *dec_values2 = Malloc(double, 1);
svm_node *te = Malloc(struct svm_node, 3);
for (int i = 0; i < 2; i++)
{
te[i].index = i + 1;
te[i].value = 1.5;
}
te[3].index = -1;
te[3].value = 99999.9;
double teValue = svm_predict_values(model, te, dec_values2);
...全文
493 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuchao12345 2019-12-20
  • 打赏
  • 举报
回复
楼主,什么原因能讲一下么
propellant_j 2019-06-26
  • 打赏
  • 举报
回复
已经找到原因了

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧