SAS代码-暴力衍生新变量

该文介绍了如何使用SAS代码暴力衍生新的变量,通过计算与目标变量的相关性来筛选最相关的变量。首先,从原始数据集中抽取与目标变量无关的数值型变量,然后计算它们与目标变量的皮尔森相关系数,接着随机选取变量进行交叉组合并生成新的衍生变量。最后,选择与目标变量最相关的前500个衍生变量加入训练集,并将这些衍生变量映射到测试集。
摘要由CSDN通过智能技术生成

本文是原创文章,转载请注明;

在实际数据挖掘建模过程,如果已有的变量也目标变量相关性不强,可以有多种衍生变量的方法,本代码提供一种暴力衍生的方式,对相关性最强的变量进行随机抽取,可按多种方式进行衍生,并选择与目标变量最相关度前n个变量入训练集,并映射到测试集。

代码在9.4m2环境测试可用。


%let lib=weier;
%let target=y;
%let id=uid;
data credit_model;
set &lib..train_temp_2;
run;
proc sql noprint;
 select name into :var_list separated by ' '
    from sashelp.vcolumn 
    where libname=UPPER('work') and memname=upper("credit_model") and type="num" 
    and name~="&target" and name~="&id" ;/*抽取变量到宏变量,注此处的变量名是要区分大小写的*/
quit;
ods listing close;
ods output spearmancorr=spearman;

proc corr data=credit_model spearman rank;/*计算变量的皮尔曼相关系数*/
   var &var_list;
   with ⌖
run;
ods listing;

data corr(keep=

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值