全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7501 5
2016-05-04
悬赏 888 个论坛币 未解决
R语言小白,问一个迭代循环的问题,请高手帮忙写个程序。

想做一个逻辑回归,特征有很多,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.rar
大小:(48.42 KB)

 马上下载

本附件包括:

  • xxg.Rdata



二维码

扫码加我 拉你入群

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

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

全部回复
2016-5-4 15:25:56
嵌入的代码不知道会不会被改变,我这里再发一遍
r logistic.txt
大小:(1.97 KB)

 马上下载

二维码

扫码加我 拉你入群

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

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

2016-5-4 15:37:24
有点意思。按照相似的逻辑,可以把按预测效果下降最慢的方向将100个变量逐步删掉,保留下来的变量和你的做法选取的变量会一样吗?
二维码

扫码加我 拉你入群

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

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

2016-5-4 15:38:40
jinkelazzz 发表于 2016-5-4 15:37
有点意思。按照相似的逻辑,可以把按预测效果下降最慢的方向将100个变量逐步删掉,保留下来的变量和你的做法 ...
这分别是向前筛选和向后筛选的方法, forward, backward,结果应该是不一样的。
二维码

扫码加我 拉你入群

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

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

2016-5-4 15:42:54
Imasasor 发表于 2016-5-4 15:38
这分别是向前筛选和向后筛选的方法, forward, backward,结果应该是不一样的。
如果假设存在最优解min(AIC)那么哪种选法更接近呢? 有没有严格的好坏?或在某种条件下有严格的好坏?
二维码

扫码加我 拉你入群

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

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

2016-5-4 16:31:03
看看 ?step
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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