本文是原创文章,转载请注明;
在实际数据挖掘建模过程,如果已有的变量也目标变量相关性不强,可以有多种衍生变量的方法,本代码提供一种暴力衍生的方式,对相关性最强的变量进行随机抽取,可按多种方式进行衍生,并选择与目标变量最相关度前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=