如何使用 libsvm 库(Matlab)实现 1 对 1 多类分类?
Posted
技术标签:
【中文标题】如何使用 libsvm 库(Matlab)实现 1 对 1 多类分类?【英文标题】:How to realize a 1 vs 1 multiclass classification using libsvm library (Matlab)? 【发布时间】:2016-03-14 13:07:40 【问题描述】:如何使用 libsvm 实现一对一的多类分类?请帮我解决这个问题。
我还从这个答案中阅读了一种对所有方法...Full example of multiple-class SVM with cross-validation using Matlab [closed]
我的测试数据:特征和最后一列是标签
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
];
我的测试数据是
inputTest = [
1 1 1 1
11 11 11 10
29 29 29 30
60 60 60 60
];
【问题讨论】:
【参考方案1】:LIBSVM 提供了一个 Matlab 接口。包里有一个很好的README
如何通过Matlab使用这个接口。
用法如下:
matlab> model = svmtrain(training_label_vector, training_instance_matrix [, 'libsvm_options']);
带有以下参数:
-training_label_vector:
An m by 1 vector of training labels (type must be double).
-training_instance_matrix:
An m by n matrix of m training instances with n features.
It can be dense or sparse (type must be double).
-libsvm_options:
A string of training options in the same format as that of LIBSVM.
但是,由 12 个示例组成的训练数据不足以构建一个好的 SVM 分类器。您应该获得更多有关训练和测试过程的示例。
【讨论】:
以上是关于如何使用 libsvm 库(Matlab)实现 1 对 1 多类分类?的主要内容,如果未能解决你的问题,请参考以下文章