全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6575 6
2017-10-29
悬赏 25 个论坛币 未解决
在网上搜到的SAS实现K折交叉验证的程序,基本上都是使用surveyselect。但是K折交叉验证的定义是:将所有数据集分成K份,不重复地每次取其中一份做测试集,用其他k-1份做训练集训练模型。
我自己运行程序后发现,使用surveyselect进行K次抽样后,测试集会出现重复抽样的情况,即不是每一条记录都能作为一次测试集。由于我需要使用logistic回归,不能使用glm或reg自带的交叉验证功能,那么请问如何用SAS实现K折交叉验证呢?
相关网站:http://altons.github.io/sas/2013/05/22/cross-validation-using-sas/
程序示例:
  • /*利用10-折交叉验证法计算测试集上的预测准确率*/  
  • %let k=10;                            /*定义宏变量-交叉验证的折数k*/  
  • %let rate=%sysevalf((&k-1)/&k);       /*给出交叉验证的样本抽样比率*/  
  •   
  • /*生成交叉验证的10个样例*/  
  • proc surveyselect data=sample1  
  •               out=sample2            /*生成的样例全部放在数据集cv中*/  
  •               seed=158  
  •               samprate=&rate    /*抽样比率设定,宏变量rate的调用要加&*/  
  •               outall            /*输出全部数据*/  
  •               reps=10;          /*指定样本重复的次数*/  
  • run;  



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-11-25 16:51:42
使用 EM可以很简单地完成
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-11-29 11:19:02
感谢分享!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-1 15:11:23
希望对你有帮助
(model validation techniques)
http://www.listendata.com/2015/01/model-validation-in-logistic-regression.html


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-12-13 20:49:10
ydyydylzylzy 发表于 2017-11-25 16:51
使用 EM可以很简单地完成
您好,能具体说说吗?谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-4-17 19:00:08
ightar 发表于 2017-12-1 15:11
希望对你有帮助
(model validation techniques)
http://www.listendata.com/2015/01/model-validation-in ...
really helpful
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群