matlab.10折交叉验证
clc
clear all
% 导入数据
data = load('F:\work_matlab\Matlab\wdbc.txt');
[data_r, data_c] = size(data);
%将数据样本随机分割为10部分
indices = crossvalind('Kfold', data_r, 10);
for i = 1 : 10% 获取第i份测试数据的索引逻辑值test = (indices == i);% 取反,获取第i份训练数据的索引逻辑值train = ~test;%1份测试,9份训练test_data = data(test, 1 : data_c - 1);test_label = data(test, data_c);train_data = data(train, 1 : data_c - 1);train_label = data(train, data_c);% 使用数据的代码
end
10折交叉验证:
load fisheriris
indices = crossvalind('Kfold',species,10); %10为交叉验证折数
cp = classperf(species);
for i = 1:10 %实验记进行10次(交叉验证折数),求10次的平均值作为实验结果,test = (indices == i); train = ~test; %产生测试集合训练集索引class = classify(meas(test,:),meas(train,:),species(train,:));classperf(cp,class,test)
end
cp.ErrorRate
留一交叉验证:
load carbig
x = Displacement; y = Acceleration;
% x为轿车形状的大小,y为轿车轿车速度从0到60公里所用时间
N = length(x);
% N为x长度=406
sse = 0;
for i = 1:100[train,test] = crossvalind('LeaveMOut',N,1);yhat = polyval(polyfit(x(train),y(train),2),x(test));sse = sse + sum((yhat - y(test)).^2);
end
CVerr = sse / 100
自定义函数
[M,N]=size(data);//数据集为一个M*N的矩阵,其中每一行代表一个样本indices=crossvalind('Kfold',data(1:M,N),10);//进行随机分包for k=1:10//交叉验证k=10,10个包轮流作为测试集test = (indices == k); //获得test集元素在数据集中对应的单元编号train = ~test;//train集元素的编号为非test元素的编号train_data=data(train,:);//从数据集中划分出train样本的数据train_target=target(:,train);//获得样本集的测试目标,在本例中是实际分类情况test_data=data(test,:);//test样本集test_target=target(:,test);[HammingLoss(1,k),RankingLoss(1,k),OneError(1,k),Coverage(1,k),Average_Precision(1,k),Outputs,Pre_Labels.MLKNN]=MLKNN_algorithm(train_data,train_target,test_data,test_target);//要验证的算法end
matlab.10折交叉验证相关推荐
- R语言caret包构建xgboost模型实战:特征工程(连续数据离散化、因子化、无用特征删除)、配置模型参数(随机超参数寻优、10折交叉验证)并训练模型
R语言caret包构建xgboost模型实战:特征工程(连续数据离散化.因子化.无用特征删除).配置模型参数(随机超参数寻优.10折交叉验证)并训练模型 目录
- 机器学习 - 随机森林手动10 折交叉验证
随机森林的 10 折交叉验证 再回到之前的随机森林(希望还没忘记,机器学习算法-随机森林初探(1)) library(randomForest) set.seed(304) rf1000 <- ...
- 10折交叉验证(10-fold Cross Validation)与留一法(Leave-One-Out)、分层采样(Stratification)
10折交叉验证我们构建一个分类器,输入为运动员的身高.体重,输出为其从事的体育项目-体操.田径或篮球. 一旦构建了分类器,我们就可能有兴趣回答类似下述的问题: 1. 该分类器的精确率怎么样? 2. 该 ...
- 《写给程序员的数据挖掘实践指南》——5.2. 10折交叉验证的例子
本节书摘来自异步社区出版社<写给程序员的数据挖掘实践指南>一书中的第5章,第5.2节,作者:[美]Ron Zacharski(扎哈尔斯基),更多章节内容可以访问云栖社区"异步社区 ...
- 《机器学习》课后习题 3.4 选择两个 UCI 数据集,比较 10 折交叉验证法和留 法所估计出的对率回归的错误率.
参考了han同学的答案,数据集也可在han同学的github上下载. 3.4 选择两个 UCI 数据集,比较 10 折交叉验证法和留 法所估计出的对率回归的错误率. import numpy as n ...
- 10折交叉验证(10-fold Cross Validation)与留一法(Leave-One-Out)、分层采样(Stratification)...
10折交叉验证 我们构建一个分类器,输入为运动员的身高.体重,输出为其从事的体育项目-体操.田径或篮球. 一旦构建了分类器,我们就可能有兴趣回答类似下述的问题: 1. 该分类器的精确率怎么样? 2. ...
- matlab-K折交叉验证与分层K折交叉验证
文章目录 K折交叉验证有什么用? 如何实现K折交叉验证? K折交叉验证的要点:(文字版) 如何实现K折交叉验证(图片版) 如何实现K折交叉验证(matlab版) 为啥我们需要分层K折交叉验证? 如何实 ...
- 十折交叉验证10-fold cross validation, 数据集划分 训练集 验证集 测试集
机器学习 数据挖掘 数据集划分 训练集 验证集 测试集 Q:如何将数据集划分为测试数据集和训练数据集? A:three ways: 1.像sklearn一样,提供一个将数据集切分成训练集和测试集的函数 ...
- k折交叉验证法python实现_Jason Brownlee专栏| 如何解决不平衡分类的k折交叉验证-不平衡分类系列教程(十)...
作者:Jason Brownlee 编译:Florence Wong – AICUG 本文系AICUG翻译原创,如需转载请联系(微信号:834436689)以获得授权 在对不可见示例进行预测时,模型评 ...
最新文章
- 温度转换的python程序_Python通过小实例入门学习---1.0(温度转换)
- (转)python requests 高级用法 -- 包括SSL 证书错误的解决方案
- QT的QSignalMapper类的使用
- 请问:如何实现文件日志功能?要求每天换一个文件。文件名以日期区分
- 【CF603E】Pastoral Oddities cdq分治+并查集
- 电路板上的插头怎么拔下来_空调插头一直不拔费电吗?实测一周竟然发现了真相!...
- HGE引擎适用于MFC的修改
- python进程的状态及创建
- mqtt发布json数据_微服务实战:从架构到发布(一)
- 吉米多维奇数学分析_《吉米多维奇数学分析习题集》到底是一本怎样的书?
- 知识图谱构建流程原型、工具、数据、表示、推理以及可视化
- Windows Xp下 无法定位程序输入点WSAPoll于动态链接库ws2_32.dll 的解决办法
- C空间不够如何盘瘦身
- 计算机的标准输入法,维语输入法电脑版
- 小刘的自学安卓开发第一天
- mysql c 打开数据库文件怎么打开_vs中打开数据库文件路径
- 全网最全最新的免版权图库
- 关键点检测——无监督
- 可转债量化系列之二:估值择时策略初探
- 视频教程-Apache Shiro权限框架实战+项目案例视频课程-Java