MATLAB SVM:使用相同的数据集进行训练和测试会产生不同的结果

Posted

技术标签:

【中文标题】MATLAB SVM:使用相同的数据集进行训练和测试会产生不同的结果【英文标题】:MATLAB SVM: Using the same dataset for training and testing gives different results 【发布时间】:2017-07-01 02:46:42 【问题描述】:

我正在使用函数“fitcsvm”在具有 4 个类的数据集上使用一对多的方法训练具有多项式内核的 SVM。为了进行完整性检查,我尝试将生成的模型应用于我使用函数“predict”进行训练的同一数据集。我为每个 SVM 的所有观察预测标签,并选择与特定观察的后验概率最高的 SVM 对应的标签作为其最终标签。但是,训练和测试错误并不完全相同。这背后的原因是什么?

【问题讨论】:

能否提供一些代码和数据?! 【参考方案1】:

这 4 个类的实例数是否相同?如果不是,那么fitcsvm 可能会将准确度归一化以考虑到这一点。

这对于 Mathworks 技术支持来说听起来也是个好问题。

【讨论】:

4个类的实例数相同。

以上是关于MATLAB SVM:使用相同的数据集进行训练和测试会产生不同的结果的主要内容,如果未能解决你的问题,请参考以下文章

Inria 数据集使用 neg 文件训练 matlab 错误

如何标记 PCA 获得的训练投影以用于训练 SVM 进行分类? MATLAB

使用GTSDB训练集实现基于最大稳定极值区域和SVM的交通标志检测识别算法matlab仿真

基于CIFAR10图像数据集和SVM的图像分类算法matlab仿真

使用在 Matlab 中训练的 SVM 模型在 python 中进行分类

R中的svm,训练数据集[关闭]