使用libsvm中的svm_cross_validation函数进行交叉验证
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函数进行交叉验证相关推荐
- 【MATLAB自带的svmtrain和libsvm中的svmtrain函数的区别】
MATLAB自带的svmtrain和libsvm中的svmtrain函数的区别 libsvm中的svmtrain是mex文件,调用c运行,由于MEX文件执行效率高,故matlab中如果有文件重名的话, ...
- R语言使用caret包的train函数构建xgboost模型(基于linear算法)模型构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标
R语言使用caret包的train函数构建xgboost模型(基于linear算法)模型构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tun ...
- R语言使用caret包的train函数构建xgboost模型(基于gbtree算法)模型构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标
R语言使用caret包的train函数构建xgboost模型(基于gbtree算法)模型构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tun ...
- R语言使用caret包的train函数构建多项式核SVM模型(多项式核函数)模型构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标
R语言使用caret包的train函数构建多项式核SVM模型(多项式核函数)模型构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tuneGri ...
- R语言使用caret包的train函数构建xgboost模型(基于dart算法)模型构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标
R语言使用caret包的train函数构建xgboost模型(基于dart算法)模型构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tuneG ...
- R语言使用caret包的train函数构建惩罚判别分析模型(pda)构建分类模型、trainControl函数设置交叉验证参数、自定义调优评估指标
R语言使用caret包的train函数构建惩罚判别分析模型(pda)构建分类模型.trainControl函数设置交叉验证参数.自定义调优评估指标.tuneLength参数和tuneGrid参数超参数 ...
- crossvalind函数 (交叉验证函数)
crossvalind是cross-valindation的缩写,意即交叉检验. 常用的形式有: ①Indices =crossvalind('Kfold', N, K) ②[Train, Tes ...
- 编写一个判断素数的函数,并在主函数中调用该函数,以验证其正确性
编程语言基础-C语言-第六章 函数-课后编程题6 分析: main():1.输入一个数 2.判断(如果 真 输出该数 如果 假 输出不是素数) 自定义函数:判断素数,返回1和0 素数: ...
- graphviz python_python中使用scikit-learn和pandas决策树进行iris鸢尾花数据分类建模交叉验证...
原文链接: http://tecdat.cn/?p=9326tecdat.cn 在这篇文章中,我将使用python中的决策树(用于分类).重点将放在基础知识和对最终决策树的理解上. 导入 因此,首先 ...
最新文章
- SQLSERVER model数据库
- 前端之模拟数据 - HackerVirus - 博客园
- Linux tty驱动程序一 架构
- win7删除微软拼音输入法
- VMWARE虚拟机中CentOs7网络连接
- 华为P50E全方位曝光:延续P50设计 换装骁龙778G 4G芯片
- AR VR或将彻底变革广告营销行业
- 阿里巴巴微服务技术实践
- POS机商户巡检系统 后台+手机APP
- SQL四种方法实现行列转换超详细
- cJSON字符串解析
- mpvue(3)主页面搭建
- 教程篇(7.0) 01. 介绍FortiClient和FortiClient EMS ❀ FortiClient EMS ❀ Fortinet 网络安全专家 NSE 5
- 两个3G模块相互通信
- 【软件分析/静态程序分析学习笔记】5.数据流分析基础(Data Flow Analysis-Foundations)
- 格式化磁盘重装ubuntn18.04系统后恢复timeshift备份文件
- 图片转为JPG格式,Windows上好用的格式转换工具
- 学期计算机教学工作反思,小学信息技术老师一月工作反思总结教育教学笔记
- Python:实现费马检测算法(附完整源码)
- 求助!PIP安装出问题
热门文章
- 上传本地项目到git
- Mac 10.12彻底关闭Dashboard
- php安装编译时 configure: error: Cannot find OpenSSL's evp.h
- CuteEditor6.0使用配置心得体会(转)
- 云栖社区云栖号(团队博客)攻略【2018版】
- 网站的SEO以及它和站长工具的之间秘密
- 微软老兵 Antoine LeBlond 将正式离职
- python3 实现对比conf 文件差异
- node.js 实现扫码二维码登录
- Ios: 如何保護iOS束文件屬性列表,圖像,SQLite,媒體文件