|
data
EMDATA.VSELPF0L/view=EMDATA.VSELPF0L;
set EMDATA.VIEW_6HE;
*-------------------------------------------------------------*;
* TOOL : Variable Selection ;
* TYPE : EXPLORE ;
* NODE : Variable Selection [T1MBZHEP] ;
*-------------------------------------------------------------*;
length _warn_ $ 4;
label _warn_ = "Warnings";
length _norm1 $ %DMNORLEN;
_norm1 = ' ';
length _FORMAT $200;
drop _FORMAT;
length I_BAD $ 1;
/*-- DMSPLIT TREE LOGIC --*/
_k = 0;
if DELINQ = . then _k = 0;
else if DELINQ < 0.6 then _k = 0;
else _k = 1;
if _k = 0 then do;
if DEBTINC = . then _k = 0;
else if DEBTINC < 45.1377821000916
then _k = 0;
else _k = 1;
if _k = 0 then do;
if DEBTINC = . then
_k = 1;
else if DEBTINC <
33.5383285500796 then _k = 0;
else _k = 1;
if _k = 0 then do;
if VALUE = . then _k = 1;
else if VALUE < 24958.18 then _k = 0;
else _k = 1;
if _k = 0 then do;
_FORMAT = put(REASON, $7.);
%DMNORMCP(_FORMAT, _norm1);
select(_norm1);
when('') _k = 0;
when('DEBTCON') _k = 1;
when('HOMEIMP') _k = 0;
otherwise do;
_warn_ = 'U';
goto T1MBZHEP;
end;
end;
if _k = 0 then do;
_pval = 0;
goto T1MBZHEP;
end;
else do;
_pval = 1;
goto T1MBZHEP;
end;
end;
else do;
if YOJ = . then _k = 1;
else if YOJ < 5.74 then _k = 0;
else _k = 1;
if _k = 0 then do;
_pval = 0.92821368948247;
goto T1MBZHEP;
end;
else do;
_pval = 0.9813829787234;
goto T1MBZHEP;
end;
end;
end;
else do;
if DEBTINC = . then _k = 0;
else if DEBTINC < 34.0023066920801 then _k = 0;
else _k = 1;
if _k = 0 then do;
if CLAGE = . then _k = 0;
else if CLAGE < 186.917369751142 then _k = 0;
else _k = 1;
if _k = 0 then do;
_pval = 0.46215780998389;
goto T1MBZHEP;
end;
else do;
_pval = 0.74113475177304;
goto T1MBZHEP;
end;
end;
else do;
if DEROG = . then _k = 0;
else if DEROG < 2 then _k = 0;
else _k = 1;
if _k = 0 then do;
_pval = 0.94378698224852;
goto T1MBZHEP;
end;
else do;
_pval = 0.63157894736842;
goto T1MBZHEP;
end;
end;
end;
end;
else do;
if CLAGE = .
then _k = 0;
else if CLAGE
< 233.646712188928 then _k = 0;
else _k = 1;
if _k = 0
then do;
_pval = 0;
goto T1MBZHEP;
end;
else do;
if YOJ = . then _k = 1;
else if YOJ < 5.74 then _k = 0;
else _k = 1;
if _k = 0 then do;
_pval = 0;
goto T1MBZHEP;
end;
else do;
_pval = 1;
goto T1MBZHEP;
end;
end;
end;
end;
else do;
if DEBTINC = . then _k = 1;
else if DEBTINC <
32.9705231315475 then _k = 0;
else _k = 1;
if _k = 0 then do;
if DEBTINC =
. then _k = 1;
else if
DEBTINC < 7.01370399865341 then _k = 0;
else _k = 1;
if _k = 0
then do;
_pval = 0;
goto T1MBZHEP;
end;
else do;
if DEROG = . then _k = 0;
else if DEROG < 1 then _k = 0;
else _k = 1;
if _k = 0 then do;
if DELINQ = . then _k = 0;
else if DELINQ < 5.208 then _k = 0;
else _k = 1;
if _k = 0 then do;
_pval = 0.90277777777777;
goto T1MBZHEP;
end;
else do;
_pval = 0;
goto T1MBZHEP;
end;
end;
else do;
if DELINQ = . then _k = 0;
else if DELINQ < 2.04 then _k = 0;
else _k = 1;
if _k = 0 then do;
_pval = 0.77777777777777;
goto T1MBZHEP;
end;
else do;
_pval = 0;
goto T1MBZHEP;
end;
end;
end;
end;
else do;
if DEBTINC =
. then _k = 0;
else if
DEBTINC < 36.3773556427399 then _k = 0;
else _k = 1;
if _k = 0
then do;
if DEBTINC = . then _k = 0;
else if DEBTINC < 33.7881629342337 then _k = 0;
else _k = 1;
if _k = 0 then do;
if DEBTINC = . then _k = 1;
else if DEBTINC < 33.7554573421262 then _k = 0;
else _k = 1;
if _k = 0 then do;
_pval = 0.85714285714285;
goto T1MBZHEP;
end;
else do;
_pval = 0.18162393162393;
goto T1MBZHEP;
end;
end;
else do;
if DELINQ = . then _k = 0;
else if DELINQ < 4.056 then _k = 0;
else _k = 1;
if _k = 0 then do;
_pval = 0.84946236559139;
goto T1MBZHEP;
end;
else do;
_pval = 0;
goto T1MBZHEP;
end;
end;
end;
else do;
if DEBTINC = . then _k = 0;
else if DEBTINC < 43.0547473646769 then _k = 0;
else _k = 1;
if _k = 0 then do;
if DELINQ = . then _k = 0;
else if DELINQ < 4.056 then _k = 0;
else _k = 1;
if _k = 0 then do;
_pval = 0.85714285714285;
goto T1MBZHEP;
end;
else do;
_pval = 0;
goto T1MBZHEP;
end;
end;
else do;
if DEBTINC = . then _k = 0;
else if DEBTINC < 46.2598953912067 then _k = 0;
else _k = 1;
if _k = 0 then do;
_pval = 0.42307692307692;
goto T1MBZHEP;
end;
else do;
_pval = 0;
goto T1MBZHEP;
end;
end;
end;
end;
end;
T1MBZHEP : /* terminal node */
if _pval < 0 then _pval =
1;
else if _pval > 1 then _pval
= 0;
else _pval = 1-_pval;
/* binary target */
if
_warn_ ne 'U' then do;
P_EVENT
= _pval;
P_NEVENT = 1-P_EVENT;
if
P_EVENT ge 0.5 then I_BAD = '1';
else
I_BAD = '0';
end;
else do;
P_EVENT
= 0.1994966442953;
P_NEVENT = 0.80050335570469;
I_BAD =
'0';
end;
drop _pval _k _norm1;
label P_EVENT =
"Predicted: EVENT for BAD";
label P_NEVENT =
"Predicted: NO EVENT for BAD";
label I_BAD = "Into:
BAD";
run;
|