关于本站
人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!
经管之家新媒体交易平台
提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】
论文
- 毕业论文 | 写毕业论文
- 毕业论文 | 为毕业论文找思路
- 毕业论文 | 可以有时间好好写 ...
- 毕业论文 | 毕业论文如何选较 ...
- 毕业论文 | 毕业论文选题通过 ...
- 毕业论文 | 还有三人的毕业论 ...
- 毕业论文 | 毕业论文答辩过程 ...
- 毕业论文 | 本科毕业论文,wi ...
考研考博
- 考博 | 南大考博经济类资 ...
- 考博 | 考博英语10000词汇 ...
- 考博 | 如果复旦、南大这 ...
- 考博 | 有谁知道春招秋季 ...
- 考博 | 工作与考博?到底 ...
- 考博 | 考博应该如何选择 ...
- 考博 | 考博失败了
- 考博 | 考博考研英语作文 ...
留学
- 日本留学 | 在日本留学心得
- 日本留学 | 日本留学生活必需 ...
- 日本留学 | 【留学日本】2015 ...
- 日本留学 | 日本海外留学8年来 ...
- 日本留学 | 日本留学费用_日本 ...
- 日本留学 | 求在日本留学的师 ...
- 日本留学 | 日本留学的有没有 ...
- 日本留学 | 日本留学
TOP热门关键词
R语言小白,问一个迭代循环的问题,请高手帮忙写个程序。想做一个逻辑回归,特征有很多,100多个,想进行一些特征筛选和降维,尝试了PCA,但是结果没能提高预测效果,因此放弃这种方法。现在自己想了一个粗暴直接的方 ...
坛友互助群 |
扫码加入各岗位、行业、专业交流群 |
想做一个逻辑回归,特征有很多,100多个,想进行一些特征筛选和降维,尝试了PCA,但是结果没能提高预测效果,因此放弃这种方法。
现在自己想了一个粗暴直接的方法进行特征筛选:
1)将100个特征分别进行单因素建模并测试,也就是单变量分析,提取其中预测效果最好的一个特征,保留下来,比如是var10
2)将第一步中的var10保留,依次加入剩余99个特征形成2个特征的模型,共99个模型,提取其中预测效果最好的一个特征,保留下来,比如var18
3) 将前两步保留的两个变量(var10, var18)保留,依次加入剩余98个特征形成3个特征的模型,找到最好的一个特征
....
依次进行100+99+98+....+3+2+1次循环,从而找到最好的特征组合。
我已经写了部分代码如下,测试数据见附件,请高手帮忙将这个迭代循环写下去。
需求:
1)最终结果生成一个dataframe,有三列,第一列为model 1, mode1 2,表示单变量,二变量,三变量;第二列是特征列表,第三列为评价模型好坏的coverage
2)控制循环,当第n次循环,添加变量不能继续提升模型预测效果时,跳出循环,保留预测效果最好的特征组合。
测试数据,目标变量是xxg,其它为特征,依次筛选
- #第一步,将xxg按7:3随机分成trainset和testset
- set.seed(2)
- ind<-sample(2,nrow(xxg),replace=T,prob=c(0.7,0.3))
- trainset<-xxg[ind==1,]
- testset<-xxg[ind==2,]
- #xxg_lr<-glm(xxg~age,family = binomial,data=trainset)
- #特征列表存于varlist向量
- varlist<-c("sex","diabetes","age","bmi","hypertension")
- #第一轮循环
- for (i in 1:5){
- xxg_lr<-glm(xxg~eval(parse(text=varlist[i])),family = binomial,data=trainset) #Logistic regression
- #模型测试,模型用于testset后,使用模型输出P值Top 30%作为切点,得出此切点以上的人群中目标变量xxg=1占
- #全部人群xxg=1的百分比,Coverage,此输出变量作为验证模型好环的关键变量
- real<-testset$xxg #测试目标变量真实值
- predict_lr<-predict(xxg_lr,type="response",newdata=testset) #预测目标变量P值
- rr<-cbind(real,predict_lr)
- result<-as.data.frame(rr)
- result<-result[order(result$predict_lr,decreasing=T),]
- n<-length(result$real)
- cover<-sum(result$real[1:ceiling(0.3*n)])/sum(result$real) #选择模型Top 30%,求coverage
- eval(parse(text=paste(varlist[i],"<-cover",sep=""))) #将coverage赋值给另一变量
- }
- model_1<-rbind(sex,diabetes,age,bmi,hypertension) #第一输循环得出hypertension预测效果最好,用于下一循环
- #第二轮循环
- varlist2<-c("sex","diabetes","age","bmi")
- for (i in 1:4){
- xxg_lr<-glm(xxg~hypertension+eval(parse(text=varlist2[i])),family = binomial,data=trainset)
- real<-testset$xxg
- predict_lr<-predict(xxg_lr,type="response",newdata=testset)
- rr<-cbind(real,predict_lr)
- result<-as.data.frame(rr)
- result<-result[order(result$predict_lr,decreasing=T),]
- n<-length(result$real)
- cover<-sum(result$real[1:ceiling(0.3*n)])/sum(result$real)
- eval(parse(text=paste("hypertension_",varlist[i],"<-cover",sep="")))
- }
- model_2<-rbind(hypertension_age,hypertension_bmi,hypertension_sex,hypertension_diabetes)
- #第二循环得出diabetes预测效果最好,用于下一循环
- #第三轮循环,添加diabetes
- #########
扫码或添加微信号:坛友素质互助
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
您可能感兴趣的文章
本站推荐的文章
- 哲学名言 | 【独家发布】经典哲学名言
- 哲学书籍 | 求推荐一本讲人生目标的哲学书籍 ...
- 哲学书籍 | 经济人,开拓你逻辑思维的哲学书 ...
- 哲学书籍 | 哲学书籍
- 哲学书籍 | 哲学书籍
- 哲学书籍 | 哲学书籍
- 哲学书籍 | 经典的哲学书籍
- 哲学书籍 | 发22本经典的经济学及哲学书籍《 ...
人气文章
1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。