SAS 评分卡开发模型变量统计及输出
以下代码实现功能:
1、获取10个模型分别使用哪些变量
2、变量所模型使用的次数
3、把上表格输出到EXCEL中
%INCLUDE '00@HEADER.SAS';
%let dir=..\04@Model;
libname cc "&dir";
PROC FORMAT;
VALUE UseFmt
1='使用'
0='未使用'
OTHER='其它'
;
RUN;
PROC DATASETS LIBRARY=S NODETAILS NOLIST;
DELETE ModelVariableList VarFreq;
RUN;
%MACRO FreqAppend(DSIN,FN);
PROC FREQ DATA=&DSIN;
TABLES &FN/MISSING NOPRINT OUT=A;
RUN;
DATA B;
LENGTH FName $32. VAL $200.;
SET A;
VAL=&FN.;
FName="&FN.";
DROP &FN.;
RUN;
PROC APPEND BASE=S.VarFreq DATA=B;
RUN;
%MEND;
%MACRO ModelVariable;
%DO SM=0 %TO 99;
DATA A;
LENGTH ModelOrder $3.;
SET CC.model_params&SM;
ModelOrder="&SM.";
RUN;
PROC APPEND BASE=S.ModelVariableList DATA=A;
RUN;
%END;
DATA S.ModelVariableList;
SET S.ModelVariableList;
ARRAY NUM{*} _NUMERIC_;
DO I=1 TO DIM(NUM);
IF MISSING(NUM{I}) THEN NUM{I}=0;
ELSE NUM{I}=1;
END;
KEEP ModelOrder X1_WOE X2_WOE X3_WOE X4_WOE X5_WOE B1_WOE S1_WOE;
RUN;
%MEND;
%ModelVariable;
DATA _NULL_;
DO V='X1_WOE','X2_WOE','X3_WOE','X4_WOE','X5_WOE','B1_WOE','S1_WOE';
CALL EXECUTE('%FreqAppend(S.ModelVariableList,'||V||')');
END;
RUN;
PROC PRINT DATA=S.VarFreq;
RUN;
PROC SORT DATA=S.VarFreq OUT=A1(DROP=PERCENT);
BY FName;
RUN;
PROC TRANSPOSE DATA=A1 OUT=A2(DROP=_NAME_);
BY FName;
RUN;
DATA A2;
SET A2;
IF MISSING(COL2) THEN COL2=0;
RUN;
ODS TAGSETS.EXCELXP FILE='ModelVariableList.XLSX';
PROC PRINT DATA=S.ModelVariableList LABEL;
VAR ModelOrder X1_WOE X2_WOE X3_WOE X4_WOE X5_WOE B1_WOE S1_WOE;
FORMAT X1_WOE X2_WOE X3_WOE X4_WOE X5_WOE B1_WOE S1_WOE UseFmt.;
LABEL ModelOrder='模型号';
RUN;
PROC SORT DATA=A2;
BY DESCENDING COL1;
RUN;
PROC PRINT DATA=A2 LABEL;
LABEL FName='变量' COL1='进入模型次数' COL2='未进入模型次数';
VAR FName COL1 COL2;
RUN;
ODS TAGSETS.EXCELXP CLOSE;
SAS 评分卡开发模型变量统计及输出的更多相关文章
- python: 模型的统计信息
/*! * * Twitter Bootstrap * */ /*! * Bootstrap v3.3.7 (http://getbootstrap.com) * Copyright 2011-201 ...
- 15SpringMvc_在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型
之前第12篇文章中提到过在业务控制方法中写入普通变量收集参数的方式,也提到了这种凡方式的弊端(参数很多怎么办),所以这篇文章讲的是在业务控制方法中写入模型变量来收集参数.本文的案例实现的功能是,在注册 ...
- Tensorflow模型变量保存
Tensorflow:模型变量保存 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献Tensorflow实战Google深度学习框架 实验平台: Tensorflow1.4.0 pyt ...
- TF:Tensorflow定义变量+常量,实现输出计数功能—Jason niu
#TF:Tensorflow定义变量+常量,实现输出计数功能 import tensorflow as tf state = tf.Variable(0, name='Parameter_name_c ...
- kettle转换设置变量,校验输出新变量
背景:有很多小的转换需要串联起来,如果前一个执行成功,后面继续接着执行,如果执行等待中,就让程序等一会再次获取数据分析,如果失败就中止,成功就进行下一个转换,以此类推.... 需求:通过job把参数传 ...
- SAS学习笔记46 宏变量的可使用范围
全局宏变量 在宏程序内部,除了使用%GLOBAL语句创建.在某些情况下,还可以直接使用DATA步中的CALL SYMPUT创建. 在一个宏程序中,在包含CALL SYMPUT的DATA步程序之前,如果 ...
- SAS学习笔记41 宏变量存储及间接引用
Macro Variables存储在“Symbol Table”中.它是由Macro Processor在SAS启动时自动创建并维护的.SAS提供了一张视图来供我们查看Symbol Table中的内容 ...
- SAS学习笔记10 宏变量
一个宏变量存放的值保持不变直到被修改(全局变量) 引用时,变量名前加上"&" 宏变量在引用时放在双引号之间会被解读(单引号不会被解读) 用户定义的宏变量,有三种方式: %l ...
- 在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型
1) 在默认情况下,springmvc不能将String类型转成java.util.Date类型,所有我们只能在Action 中自定义类型转换器 <form action="${pa ...
随机推荐
- iOS分类底层实现原理小记
摘要:iOS分类底层是怎么实现的?本文将分如下四个模块进行探究分类的结构体编译时的分类分类的加载总结本文使用的runtime源码版本是objc4-680文中类与分类代码如下//类@interfaceP ...
- 2015-10-05 js3
Javascript 实例2九九乘法表 var s = ""; s += "<table>"; for (var i = 1; i < 10; ...
- oracle中日期类型 to_date 和to_timestamp什么区别啊?
1.to_date() 和to_timestamp()区别 由于oracle中date类型只支持到秒,不支持到毫秒,所以to_date()不能取到毫秒.如果要取到毫秒,oracle 9i以上版本,可以 ...
- Android基础知识(一)
前言 前言 从软件测试最终目的发现问题缺陷来看,Findyou比较认同一个观念,测试的能力大致可以划分成三个能力层次:发现问题.定位问题.预防问题.有机会探讨一下这个分类. 发现问题各种方式方法,比如 ...
- golang 缺少逗号报错问题
一个逗号引发的语法报错问题:syntax error: unexpected newline, expecting comma or }或者missing ',' before newline in ...
- Python-接口自动化(一)
python基础知识(一) 一.python语言特点 1.易于学习:python有相对较少的关键字,结构简单,有一个明确定义的语法,学起来比较简单: 2.易于阅读:python代码定义的更清晰: 3. ...
- 组件自定义事件(.sync)实例
<div id="root"> <parent></parent> </div> var childNode = { templat ...
- 《JavaScript Dom 编程艺术》读书笔记-第8章
充实文档的内容,包括几个方面: 一个为文档创建“缩略图列表”的函数: 一个为文档创建“文献来源链接”的函数: 一个为文档创建“快捷键清单”的函数. <abbr>在HTML5 中以取代< ...
- Jsの练习-数组常用方法
1. join() 方法: <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- cut语法2
linux每日一命令--cut--按文件大小排序 显示前100行 显示后五列 ll -Sh|head -n 100|cut -d ' ' -f 5- 一.基本语法cut是一个选取命令,以行为单位,用指 ...