相关疑难解决方法(0)

MATLAB中10倍SVM分类的示例

我需要一个某种描述性的例子,展示如何对两类数据进行10倍SVM分类.在MATLAB文档中只有一个例子,但它不是10倍.有人能帮我吗?

matlab machine-learning svm

22
推荐指数
1
解决办法
5万
查看次数

使用libsvm进行交叉验证后重新培训

我知道交叉验证用于选择好的参数.找到它们之后,我需要在不使用-v选项的情况下重新训练整个数据.

但我面临的问题是,在使用-v选项训练后,我获得了交叉验证的准确性(例如85%).没有模型,我看不到C和gamma的值.在那种情况下,我如何重新训练?

顺便说一句,我应用10倍交叉验证.例如

optimization finished, #iter = 138
nu = 0.612233
obj = -90.291046, rho = -0.367013
nSV = 165, nBSV = 128
Total nSV = 165
Cross Validation Accuracy = 98.1273%
Run Code Online (Sandbox Code Playgroud)

需要一些帮助..

为了获得最佳的C和gamma,我使用LIBSVM FAQ中提供的代码

bestcv = 0;
for log2c = -6:10,
  for log2g = -6:3,
    cmd = ['-v 5 -c ', num2str(2^log2c), ' -g ', num2str(2^log2g)];
    cv = svmtrain(TrainLabel,TrainVec, cmd);
    if (cv >= bestcv),
      bestcv = cv; bestc = 2^log2c; bestg = 2^log2g;
    end
    fprintf('(best c=%g, g=%g, rate=%g)\n',bestc, bestg, …
Run Code Online (Sandbox Code Playgroud)

matlab classification machine-learning svm libsvm

17
推荐指数
1
解决办法
2万
查看次数

多类SVM(一对一)

我知道LIBSVM在多类SVM方面只允许一对一分类.但是,我想稍微调整它以执行一对一的分类.我试图在下面进行一对一的比赛.这是正确的方法吗?

代码:

TrainLabel;TrainVec;TestVec;TestLaBel;
u=unique(TrainLabel);
N=length(u);
if(N>2)
    itr=1;
    classes=0;
    while((classes~=1)&&(itr<=length(u)))
        c1=(TrainLabel==u(itr));
        newClass=c1;
        model = svmtrain(TrainLabel, TrainVec, '-c 1 -g 0.00154'); 
        [predict_label, accuracy, dec_values] = svmpredict(TestLabel, TestVec, model);
        itr=itr+1;
    end
itr=itr-1;
end
Run Code Online (Sandbox Code Playgroud)

我可能犯了一些错误.我想听听一些反馈.谢谢.

第二部分:正如葡萄藤所说:我需要做汇总(或投票作为简化解决方案)来得出最终答案.我不知道该怎么做.我需要一些帮助; 我看到了python文件,但仍然不太确定.我需要一些帮助.

matlab machine-learning svm libsvm

11
推荐指数
1
解决办法
3万
查看次数

在matlab中支持向量机

你能举一个在matlab中使用支持向量机(SVM)对4个类进行分类的例子:

atribute_1  atribute_2 atribute_3 atribute_4 class
1           2          3           4             0
1           2          3           5             0
0           2          6           4             1
0           3          3           8             1
7           2          6           4             2
9           1          7           10            3
Run Code Online (Sandbox Code Playgroud)

matlab artificial-intelligence classification machine-learning svm

10
推荐指数
2
解决办法
2万
查看次数

在一对一SVM中使用10倍交叉验证(使用LibSVM)

我想在MATLAB中的一对一 支持向量机分类中进行10倍交叉验证.

我试图以某种方式混合这两个相关的答案:

但是因为我是MATLAB及其语法的新手,所以到目前为止我还没有成功.

另一方面,我在LibSVM README文件中看到了以下几行关于交叉验证的内容,我在那里找不到任何相关示例:

选项-v随机将数据分成n个部分,并计算它们的交叉验证准确度/均方误差.

有关输出的含义,请参阅libsvm FAQ.

有人能给我一个10倍交叉验证和一对一分类的例子吗?

matlab classification machine-learning svm libsvm

10
推荐指数
1
解决办法
2万
查看次数

libsvm中的多类分类

我正在使用libsvm,我必须实现多类的分类,而不是全部.

我该怎么做?2011版本
是否libsvm使用此功能?


我认为我的问题不是很清楚.如果libsvm没有自动使用one,那么我将为每个类使用一个svm,否则我如何在svmtrain函数中定义这个参数.我读过libsvm的自述文件.

matlab classification machine-learning svm libsvm

9
推荐指数
1
解决办法
3万
查看次数

如何使用libsvm库(Matlab)实现1对1多类分类?

如何使用libsvm实现一对一多类分类?请帮我解决这个问题.

我还从这个答案中读到了一对一的方法...... 使用Matlab进行交叉验证的多类SVM的完整示例[关闭]

我的测试数据:功能和最后一列是标签

D = [

1           1          1           1             1
1           1          1           9             1
1           1          1           1             1
11          11         11          11            2
11          11         11          11            2
11          11         11          11            2
30          30         30          30            3
30          30         30          30            3
30          30         30          30            3
60          60         60          60            4
60          60         60          60            4
60          60         60          60            4
];
Run Code Online (Sandbox Code Playgroud)

我的测试数据是

inputTest = [
    1           1           1           1             
    11          11          11          10 …
Run Code Online (Sandbox Code Playgroud)

matlab svm libsvm

0
推荐指数
1
解决办法
354
查看次数