相关疑难解决方法(0)

使用Matlab进行交叉验证的多类SVM的完整示例

我现在正在混淆使用Matlab实现带有交叉验证的SVM.stackoverflow上有很多帖子提到了有关SVM及其交叉验证的信息; 然而,即使使用最简单的"fisheriris"数据集也没有完整的例子.

我总结了这些帖子的问题如下:

一个.二进制和多类SVM:由matlab中支持向量机回答, 但没有交叉验证的例子.

湾 使用SVM进行交叉验证: 在MATLAB中进行10倍SVM分类的 示例,但没有多类SVM的示例.

C.一对一和一对一的SVM:1-against-1可以在matlab中的支持向量机上找到 1-against-all可以在libsvm Multi-Class SVM中的多类分类中找到 (一对一) 没有交叉验证的例子

d.libSVM和Matlab内置SVM(统计工具箱)使用libSVM的部分完整示例可以 在一对一SVM中使用10倍交叉验证(使用LibSVM)

即 参数优化 使用libsvm进行交叉验证后重新训练

但是,对于一个人来说,学习并最终为他们的真正问题部署SVM的事情真的很复杂,只要查看这些以前的帖子就会出现问题和错误.至少我是愚蠢的解决拼图问题.

为什么我们不一起为具有以下功能的SVM构建易于理解的代码?

A.只需使用'fisheriris'数据.

B.可以用于二元和多类问题(fisheriris可以选择二进制).

C.实施交叉验证.

D.实施一对一和一对一.

E.两个版本分别使用libSVM和Matlab内置SVM.由于svmtrain与两个包的名称相同,我建议在使用之前将其更改为libsvmtrain和MEX.然后我们也可以比较这两种方法.

F.目前,由于训练/测试数据分离,结果并不总是可重复的.我们能解决这个问题吗

F.(可选)添加参数优化.

G.(可选)添加ROC分析.

我的开始是一些代码,如:

#
% libSVM version_1
clc; clear all;

load fisheriris
[~,~,labels]            = unique(species);              % Labels: 1/2/3
data                    = zscore(meas);                 % Scale features
numInst                 = size(data,1);
numLabels               = max(labels);

%# Split training/testing
idx                     = randperm(numInst);
numTrain                = 100; 
numTest …
Run Code Online (Sandbox Code Playgroud)

matlab svm

23
推荐指数
0
解决办法
4万
查看次数

libsvm中的多类分类

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

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


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

matlab classification machine-learning svm libsvm

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

标签 统计

matlab ×2

svm ×2

classification ×1

libsvm ×1

machine-learning ×1