爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7126|回复: 1

有人用过十折交叉验证吗

[复制链接]

新浪微博达人勋

发表于 2021-4-2 20:14:00 | 显示全部楼层 |阅读模式
Python
系统平台:
问题截图: -
问题概况: K折交叉验证的方法是
把整个数据集随机分成 K“层”
对于每一份来说:
1).以该份作为测试集,其余作为训练集; (用其中 K-1 层训练模型,然后用第K层验证)
2).在训练集上得到模型;
3).在测试集上得到生成误差,这样对每一份数据都有一个预测结果;(记录从每个预测结果获得的误差)
记录下的 k 个误差的平均值,被称为交叉验证误差(cross-validation error)。可以被用做衡量模型表现的标准
取误差最小的那一个模型。

我是在用回归来算一个预测值 但是回归里用到的变量个数想用10-fold cross-validation来选
如果我用一个变量是按照以上流程 那加入新的变量是不是直接把数据合并为一个整体 然后再按照流程算呀?
我看过提问的智慧: 看过
自己思考时长(天): 15

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-4-2 22:54:58 | 显示全部楼层
本帖最后由 demonisgood 于 2021-4-2 22:57 编辑

  你好像理解错了交叉验证的作用,交叉验证只是用来寻找最优的参数,且交叉验证仅用于训练集(一开始就需要将数据分成训练集和测试集,严格情况下需要分为训练集 验证集 测试集)中(测试集除了在最后预报,都不用理会)。例如,以留一交叉验证为例,在最优子集回归问题中,我们可以假定最优的特征个数及其组合是存在的,假设此时的组合有(特征1,特征2)和(特征1,特征2,特征3)。假设我们的训练集为1~60个数据,那么我们可以用交叉验证的方法去预报每一个训练集的值(用2~60拟合模型预报1,用1,3~60拟合模型去预报2....),一轮下来得到预报的训练集,将预报的训练集的值与实际训练集的值对比,可以得到得分情况(得分可以用相关系数,绝对误差,R_squre得人),假设对比发现(特征1,特征2)的组合更好,那么就用(特征1,特征2)这个组合去再次拟合模型,的到最后的模型,此时就可以将这个模型拿来预报了。

grid_search_cross_validation.png
grid_search_workflow.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表