Hi,
I used SAS Enterprise Miner to generate a scorecard. For one variable in the scorecard, DAYS, it has all the discrete integer values from 1 to 31. It's WOE is like the follow table:
Value | Group | Cutoff | EventCount | Non Event Count | Total | Event Rate | WOE |
_MISSING_ | 1 | 0 | 0 | 0 | 0 | 0 | |
_UNKNOWN_ | 1 | 0 | 0 | 0 | 0 | 0 | |
1 | 1 | 693 | 143 | 836 | 0.829 | 0.67349 | |
8 | 2 | 188 | 28 | 216 | 0.87 | 0.34743 | |
13 | 3 | 76 | 7 | 83 | 0.916 | -0.1332 | |
22 | 3 | 142 | 11 | 153 | 0.928 | -0.3063 | |
15 | 4 | 267 | 15 | 282 | 0.947 | -0.6275 | |
16 | 4 | 130 | 5 | 135 | 0.963 | -1.0064 | |
19 | 5 | 92 | 3 | 95 | 0.968 | -1.1715 | |
23 | 5 | 123 | 2 | 125 | 0.984 | -1.8674 | |
29 | 5 | 81 | 1 | 82 | 0.988 | -2.1428 |
When I used another dataset to run the Interactive Grouping node, I got a continuous groups for the same DAYS variables as in the following table. Those two datasets are using exactly the same variables, only different values, because they represent two time's data.
Value | Group | Cutoff | EventCount | Non Event Count | Total | Event Rate | WOE |
_MISSING_ | 1 | 0 | 0 | 0 | 0 | 0 | |
_UNKNOWN_ | 1 | 179 | 22 | 201 | 0.891 | 0.28689 | |
1<=DAYS<7 | 1 | 179 | 14 | 193 | 0.927 | -0.1651 | |
7<=DAYS<10 | 2 | 195 | 9 | 204 | 0.956 | -0.6925 | |
10<=DAYS<25 | 3 | 172 | 14 | 186 | 0.925 | -0.1252 | |
25<=DAYS<31 | 4 | 118 | 7 | 125 | 0.944 | -0.4415 |
I do not want this value showing in interval groups. I need them in descrete values. I tried to split those 5 old interval groups into 31 interval groups, so that each group only has one integer value. But the problem is, Miner assign new groups with a numerical order. Like, less than 7 in group 1, DAYS between (7, 10) in group 2, but DAYS>21 (DAYS=21) can not be assign to group 1 again.
This is not what I want. Is there method to change it to the discrete values group, like in the first example?
Thank you.
Thank you. You are right, in the first one, DAYS is Nominal level variable, but in the second one, it is the Interval level variable.
Could you tell me how to change the variable's Level?
Personally, I would fix this type of stuff before working in EM. I find exploratory analysis and recoding variables a pain in EM.
Also, you need to define the runs. I do believe there's a binning or recoding task in EM that can allow you to recode this however.
Thank you again. While, could you give some possible ways to fix it in SAS base or SAS E-Guide? I really have no clue, becuase this variable is alreay integer in the original dataset.
@JinboZhao wrote:
I really have no clue, becuase this variable is alreay integer in the original dataset.
If this is the case, check the variable role. You can usually change that via the GUI to discrete.
Your previous response implied it was different in the source data.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.
Find more tutorials on the SAS Users YouTube channel.