k-折交叉验证(k-fold CrossValidation)
来源:互联网 发布:徐州2016年gdp数据 编辑:程序博客网 时间:2024/04/20 11:49
k-折交叉验证(k-fold crossValidation):
在机器学习中,将数据集A分为训练集(training set)B和测试集(test set)C,在样本量不充足的情况下,为了充分利用数据集对算法效果进行测试,将数据集A随机分为k个包,每次将其中一个包作为测试集,剩下k-1个包作为训练集进行训练。
在matlab中,可以利用:
indices=crossvalind('Kfold',x,k);
来实现随机分包的操作,其中x为一个N维列向量(N为数据集A的元素个数,与x具体内容无关,只需要能够表示数据集的规模),k为要分成的包的总个数,输出的结果indices是一个N维列向量,每个元素对应的值为该单元所属的包的编号(即该列向量中元素是1~k的整随机数),利用这个向量即可通过循环控制来对数据集进行划分。例:
在机器学习中,将数据集A分为训练集(training set)B和测试集(test set)C,在样本量不充足的情况下,为了充分利用数据集对算法效果进行测试,将数据集A随机分为k个包,每次将其中一个包作为测试集,剩下k-1个包作为训练集进行训练。
在matlab中,可以利用:
indices=crossvalind('Kfold',x,k);
来实现随机分包的操作,其中x为一个N维列向量(N为数据集A的元素个数,与x具体内容无关,只需要能够表示数据集的规模),k为要分成的包的总个数,输出的结果indices是一个N维列向量,每个元素对应的值为该单元所属的包的编号(即该列向量中元素是1~k的整随机数),利用这个向量即可通过循环控制来对数据集进行划分。例:
[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
//上述结果为输出算法MLKNN的几个验证指标及最后一轮验证的输出和结果矩阵,每个指标都是一个k元素的行向量
转载请注明出处,请尊重他人劳动成果
- k-折交叉验证(k-fold CrossValidation)
- k-折交叉验证(k-fold CrossValidation)
- k-折交叉验证(k-fold crossValidation)
- k-折交叉验证(k-fold crossValidation)
- k-折交叉验证(k-fold crossValidation)
- K-折交叉验证(k-fold crossValidation)
- k-折交叉验证(k-fold CrossValidation) matlab代码
- 机器学习--k-折交叉验证(k-fold crossValidation)
- 模式识别之k-折交叉验证(k-fold crossValidation)
- K-折交叉验证(k-fold crossValidation)以及在matlab中的实现
- K-fold 交叉验证
- k折交叉验证;k-fold交叉验证;k-fold cross-validation
- k-fold交叉验证,神经网络,matlab
- 【机器学习】交叉验证和K-折交叉验证cross-validation and k-fold cross-validation
- 在微博文本分类任务中应用五折交叉验证(5-fold crossValidation)
- K-折交叉验证
- K折交叉验证
- k折交叉验证
- windows ftp 上传到 linux 中文件内容改变
- struts2标签细节积累
- 在iphone程序打开其它程序(Launching Other Apps within an iPhone Application)
- perl MIME::Lite 发送邮件 格式问题 如换行 字体等
- linux下gcc命令的有关参数
- k-折交叉验证(k-fold CrossValidation)
- 超强1000个jquery插件!(连载中。。。。最近更新2011年01月25日)推荐程序员导航网http://www.je666.com
- 基于Google GWT的图形编辑框架gwt-html5-graph发布了!
- 设计模式-简单工厂、工厂方法、抽象工厂之小结与区别
- RubyMine安装、破解
- 【Android 4.0】conversion to dalvik format failed with error 1
- 第二章:iptables简介与基础
- mysql在JSP页面中分页查看的解决
- Launching Other Apps within an iPhone Application