from:https://blog.csdn.net/tao1107291820/article/details/51581322

在libsvm的使用中,为了得到更好的c、gama参数,可以通过多次使用libsvm中的svm_cross_validation函数进行参数寻优,下面是svm_cross_validation的一种使用方法:

svm_problem的定义:

struct svm_problem
{
int l;
double *y;
struct svm_node **x;
};

1.首先明白svm_cross_validation函数的输入与输出,

输入:prob,param,nr_fold。

prob是将所有样本的特征和类别按照libsvm要求的格式转换成 svm_problem结构体数组, prob的长度要求能够被nr_fold整除

param是分类器训练参数

nr_fold是交叉验证的折数

输出:target

target是一个double类型的数组,长度为prob.l,存储的是对prob中各个样本的识别结果,将target与存储类别的数组prob.y进行比较可以得到此次交叉验证的识别准确率。

函数大概运行步骤:

如果做5折交叉验证,svm_cross_validation函数会建立一个索引数组perm,然后把数组perm当作索引访问prob达到打乱prob的效果,再将prob分成5份,4份用于训练,剩下一份测试,target存储测试结果,这样分5次后,target就保存了对prob中所有元素的测试结果,并且存储顺序和prob中样本的排列是一样的。将target与prob.y依次对比就得到此次交叉验证的识别准确率。

demo: https://download.csdn.net/download/liushuai_123/7378795

使用libsvm中的svm_cross_validation函数进行交叉验证相关推荐

  1. 【MATLAB自带的svmtrain和libsvm中的svmtrain函数的区别】

    MATLAB自带的svmtrain和libsvm中的svmtrain函数的区别 libsvm中的svmtrain是mex文件,调用c运行,由于MEX文件执行效率高,故matlab中如果有文件重名的话, ...

  2. R语言使用caret包的train函数构建xgboost模型(基于linear算法)模型构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标

    R语言使用caret包的train函数构建xgboost模型(基于linear算法)模型构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tun ...

  3. R语言使用caret包的train函数构建xgboost模型(基于gbtree算法)模型构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标

    R语言使用caret包的train函数构建xgboost模型(基于gbtree算法)模型构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tun ...

  4. R语言使用caret包的train函数构建多项式核SVM模型(多项式核函数)模型构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标

    R语言使用caret包的train函数构建多项式核SVM模型(多项式核函数)模型构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tuneGri ...

  5. R语言使用caret包的train函数构建xgboost模型(基于dart算法)模型构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标

    R语言使用caret包的train函数构建xgboost模型(基于dart算法)模型构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tuneG ...

  6. R语言使用caret包的train函数构建惩罚判别分析模型(pda)构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标

    R语言使用caret包的train函数构建惩罚判别分析模型(pda)构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tuneGrid参数超参数 ...

  7. crossvalind函数 (交叉验证函数)

    crossvalind是cross-valindation的缩写,意即交叉检验. 常用的形式有:  ①Indices =crossvalind('Kfold', N, K)  ②[Train, Tes ...

  8. 编写一个判断素数的函数,并在主函数中调用该函数,以验证其正确性

    编程语言基础-C语言-第六章 函数-课后编程题6 分析: main():1.输入一个数  2.判断(如果 真  输出该数    如果  假   输出不是素数) 自定义函数:判断素数,返回1和0 素数: ...

  9. graphviz python_python中使用scikit-learn和pandas决策树进行iris鸢尾花数据分类建模交叉验证...

    原文链接: http://tecdat.cn/?p=9326​tecdat.cn 在这篇文章中,我将使用python中的决策树(用于分类).重点将放在基础知识和对最终决策树的理解上. 导入 因此,首先 ...

最新文章

  1. SQLSERVER model数据库
  2. 前端之模拟数据 - HackerVirus - 博客园
  3. Linux tty驱动程序一 架构
  4. win7删除微软拼音输入法
  5. VMWARE虚拟机中CentOs7网络连接
  6. 华为P50E全方位曝光:延续P50设计 换装骁龙778G 4G芯片
  7. AR VR或将彻底变革广告营销行业
  8. 阿里巴巴微服务技术实践
  9. POS机商户巡检系统 后台+手机APP
  10. SQL四种方法实现行列转换超详细
  11. cJSON字符串解析
  12. mpvue(3)主页面搭建
  13. 教程篇(7.0) 01. 介绍FortiClient和FortiClient EMS ❀ FortiClient EMS ❀ Fortinet 网络安全专家 NSE 5
  14. 两个3G模块相互通信
  15. 【软件分析/静态程序分析学习笔记】5.数据流分析基础(Data Flow Analysis-Foundations)
  16. 格式化磁盘重装ubuntn18.04系统后恢复timeshift备份文件
  17. 图片转为JPG格式,Windows上好用的格式转换工具
  18. 学期计算机教学工作反思,小学信息技术老师一月工作反思总结教育教学笔记
  19. Python:实现费马检测算法(附完整源码)
  20. 求助!PIP安装出问题

热门文章

  1. 上传本地项目到git
  2. Mac 10.12彻底关闭Dashboard
  3. php安装编译时 configure: error: Cannot find OpenSSL's evp.h
  4. CuteEditor6.0使用配置心得体会(转)
  5. 云栖社区云栖号(团队博客)攻略【2018版】
  6. 网站的SEO以及它和站长工具的之间秘密
  7. 微软老兵 Antoine LeBlond 将正式离职
  8. python3 实现对比conf 文件差异
  9. node.js 实现扫码二维码登录
  10. Ios: 如何保護iOS束文件屬性列表,圖像,SQLite,媒體文件