/*------------------------------------------------------------ Copyright (C) 2000 SAS Institute, Inc. All rights reserved. Notice: The following permissions are granted provided that the above copyright and this notice appear in the code and any related documentation. Permission to copy, modify and distribute the C language source code generated using or distributed with SAS Enterprise Miner C Scoring software and any executables derived from such source code is limited to customers of SAS Institute with a valid license for SAS Enterprise Miner C Scoring software. Any distribution of such executables or source code shall be on an "AS IS" basis without warranty of any kind. SAS and all other SAS Institute. Inc. product and service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. Except as contained in this notice, the name of the SAS Institute, SAS Enterprise Miner and SAS Enterprise Miner C Scoring software shall not be used in the advertising or promotion of products or services without prior written authorization from SAS Institute Inc. ------------------------------------------------------------*/ /*--- start generated code ---*/ #include #include #include #include #include "cscore.h" #include "csparm.h" #define csAGE indata[0].data.fnum #define csFEV indata[1].data.fnum #define csHGT indata[2].data.fnum #define csSEX indata[3].data.fnum #define csSMOKE indata[4].data.fnum #define csP_FEV outdata[0].data.fnum #define csR_FEV outdata[1].data.fnum #define csV_FEV outdata[2].data.fnum #define cs_LEAF_ outdata[3].data.fnum #define cs_NODE_ outdata[4].data.fnum #define cs_WARN_ outdata[5].data.str SFDKeyWords void score ( PARM *indata, PARM *outdata ) { /*--- Auto Variables ---*/ char cs_ARBFMT_3[13]; char cs_ARBFMT_4[13]; double cs_BRANCH_; double cs_DECNUM; strcpy(cs_WARN_," "); /*--- initialize stand alone formats library ---*/ #if FMTLIB == 1 xfinit(); #endif /*-------------------------------------------------------------**/ /* start_chunk 1458223461.4:t25v0gsk **/ /*-------------------------------------------------------------**/ /* */ /* tool : input data source */ /* type : sampling */ /* node : rclib.fevtrain [t25v0gsk] */ /* */ /*-------------------------------------------------------------**/ /*-------------------------------------------------------------**/ /* end_chunk 1458223461.4:t25v0gsk **/ /*-------------------------------------------------------------**/ /*-------------------------------------------------------------**/ /* start_chunk 1458223911.1:t3bg_i70 **/ /*-------------------------------------------------------------**/ /* */ /* tool : tree */ /* type : model */ /* node : tree [t3bg_i70] */ /* */ /*-------------------------------------------------------------**/ /* */ /* model name : fevexample */ /* description : */ /* */ /* target : fev */ /*-------------------------------------------------------------**/ /****************************************************************/ /***** decision tree scoring code *******/ /****************************************************************/ /***** lengths of new character variables *******/ /***** labels for new variables *******/ /***** temporary variables for formatted values *******/ strncpyn( cs_ARBFMT_4, 12," "); /* initialize to avoid warning. */ strncpyn( cs_ARBFMT_3, 12," "); /* initialize to avoid warning. */ cs_DECNUM=1; /***** assign observation to node *******/ /* using surrogates splits */ cs_BRANCH_ = -1; if (! missingn(csHGT) && csHGT < 61.75) { cs_BRANCH_ = 1; } else if (! missingn(csHGT) && 61.75 <= csHGT) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { if (! missingn(csAGE) && csAGE < 9.5) { cs_BRANCH_ = 1; } else if (! missingn(csAGE) && 9.5 <= csAGE) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) { nput( csSMOKE ,"BEST",12.,0., cs_ARBFMT_4); dmnormip(cs_ARBFMT_4,32); if ( ( streq(cs_ARBFMT_4,"0") )) { cs_BRANCH_ = 1; } else if ( ( streq(cs_ARBFMT_4,"1") )) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 1; if ( cs_BRANCH_== 2) { /* using surrogates splits */ cs_BRANCH_ = -1; if (! missingn(csHGT) && csHGT < 66.25) { cs_BRANCH_ = 1; } else if (! missingn(csHGT) && 66.25 <= csHGT) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { nput( csSEX ,"BEST",12.,0., cs_ARBFMT_3); dmnormip(cs_ARBFMT_3,32); if ( ( streq(cs_ARBFMT_3,"0") )) { cs_BRANCH_ = 1; } else if ( ( streq(cs_ARBFMT_3,"1") )) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) { if (! missingn(csAGE) && csAGE < 12.5) { cs_BRANCH_ = 1; } else if (! missingn(csAGE) && 12.5 <= csAGE) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 1; if ( cs_BRANCH_== 2) { if (! missingn(csAGE) && 16.5 <= csAGE) { cs_NODE_ = 15; cs_LEAF_ = 21; csP_FEV = 4.82616666666666; csV_FEV = 3.91025; cs_DECNUM = 1; } else { /* using surrogates splits */ cs_BRANCH_ = -1; nput( csSEX ,"BEST",12.,0., cs_ARBFMT_3); dmnormip(cs_ARBFMT_3,32); if ( ( streq(cs_ARBFMT_3,"1") )) { cs_BRANCH_ = 1; } else if ( ( streq(cs_ARBFMT_3,"0") )) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { if (! missingn(csAGE) && 8.5 <= csAGE) { cs_BRANCH_ = 1; } else if (! missingn(csAGE) && csAGE < 8.5) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 1; if ( cs_BRANCH_== 2) { cs_NODE_ = 29; cs_LEAF_ = 20; csP_FEV = 3.189125; csV_FEV = 3.18727272727272; cs_DECNUM = 1; } else { if (! missingn(csHGT) && 70.75 <= csHGT) { cs_NODE_ = 45; cs_LEAF_ = 19; csP_FEV = 4.39685714285714; csV_FEV = 4.487; cs_DECNUM = 1; } else { /* using surrogates splits */ cs_BRANCH_ = -1; if (! missingn(csAGE) && csAGE < 12.5) { cs_BRANCH_ = 1; } else if (! missingn(csAGE) && 12.5 <= csAGE) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { nput( csSMOKE ,"BEST",12.,0., cs_ARBFMT_4); dmnormip(cs_ARBFMT_4,32); if ( ( streq(cs_ARBFMT_4,"0") )) { cs_BRANCH_ = 1; } else if ( ( streq(cs_ARBFMT_4,"1") )) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) { if (! missingn(csHGT) && csHGT < 66.75) { cs_BRANCH_ = 1; } else if (! missingn(csHGT) && 66.75 <= csHGT) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 2; if ( cs_BRANCH_== 1) { cs_NODE_ = 68; cs_LEAF_ = 17; csP_FEV = 3.63188235294117; csV_FEV = 3.6669; cs_DECNUM = 1; } else { cs_NODE_ = 69; cs_LEAF_ = 18; csP_FEV = 4.01455555555555; csV_FEV = 3.95388888888888; cs_DECNUM = 1; } } } } } else { /* using surrogates splits */ cs_BRANCH_ = -1; if (! missingn(csAGE) && csAGE < 10.5) { cs_BRANCH_ = 1; } else if (! missingn(csAGE) && 10.5 <= csAGE) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { nput( csSEX ,"BEST",12.,0., cs_ARBFMT_3); dmnormip(cs_ARBFMT_3,32); if ( ( streq(cs_ARBFMT_3,"1") )) { cs_BRANCH_ = 1; } else if ( ( streq(cs_ARBFMT_3,"0") )) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 2; if ( cs_BRANCH_== 1) { cs_NODE_ = 12; cs_LEAF_ = 14; csP_FEV = 2.77311111111111; csV_FEV = 2.5535238095238; cs_DECNUM = 1; } else { /* using surrogates splits */ cs_BRANCH_ = -1; if (! missingn(csHGT) && csHGT < 63.25) { cs_BRANCH_ = 1; } else if (! missingn(csHGT) && 63.25 <= csHGT) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { nput( csSEX ,"BEST",12.,0., cs_ARBFMT_3); dmnormip(cs_ARBFMT_3,32); if ( ( streq(cs_ARBFMT_3,"0") )) { cs_BRANCH_ = 1; } else if ( ( streq(cs_ARBFMT_3,"1") )) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 2; if ( cs_BRANCH_== 1) { cs_NODE_ = 26; cs_LEAF_ = 15; csP_FEV = 2.90379166666666; csV_FEV = 2.733625; cs_DECNUM = 1; } else { cs_NODE_ = 27; cs_LEAF_ = 16; csP_FEV = 3.1558125; csV_FEV = 3.11173333333333; cs_DECNUM = 1; } } } } else { /* using surrogates splits */ cs_BRANCH_ = -1; if (! missingn(csHGT) && csHGT < 58.75) { cs_BRANCH_ = 1; } else if (! missingn(csHGT) && 58.75 <= csHGT) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { if (! missingn(csAGE) && csAGE < 8.5) { cs_BRANCH_ = 1; } else if (! missingn(csAGE) && 8.5 <= csAGE) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) { nput( csSMOKE ,"BEST",12.,0., cs_ARBFMT_4); dmnormip(cs_ARBFMT_4,32); if ( ( streq(cs_ARBFMT_4,"0") )) { cs_BRANCH_ = 1; } else if ( ( streq(cs_ARBFMT_4,"1") )) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 1; if ( cs_BRANCH_== 2) { if (! missingn(csAGE) && csAGE < 8.5) { cs_NODE_ = 10; cs_LEAF_ = 8; csP_FEV = 2.2905; csV_FEV = 2.30633333333333; cs_DECNUM = 1; } else { if (! missingn(csHGT) && csHGT < 59.25) { cs_NODE_ = 22; cs_LEAF_ = 9; csP_FEV = 2.3508; csV_FEV = 2.2534; cs_DECNUM = 1; } else { /* using surrogates splits */ cs_BRANCH_ = -1; nput( csSEX ,"BEST",12.,0., cs_ARBFMT_3); dmnormip(cs_ARBFMT_3,32); if ( ( streq(cs_ARBFMT_3,"1") )) { cs_BRANCH_ = 1; } else if ( ( streq(cs_ARBFMT_3,"0") )) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { if (! missingn(csAGE) && csAGE < 9.5) { cs_BRANCH_ = 1; } else if (! missingn(csAGE) && 9.5 <= csAGE) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 2; if ( cs_BRANCH_== 1) { if (! missingn(csHGT) && 60.75 <= csHGT) { cs_NODE_ = 55; cs_LEAF_ = 11; csP_FEV = 2.551875; csV_FEV = 2.53833333333333; cs_DECNUM = 1; } else { cs_NODE_ = 54; cs_LEAF_ = 10; csP_FEV = 2.4124; csV_FEV = 2.22116666666666; cs_DECNUM = 1; } } else { /* using surrogates splits */ cs_BRANCH_ = -1; if (! missingn(csAGE) && csAGE < 9.5) { cs_BRANCH_ = 1; } else if (! missingn(csAGE) && 9.5 <= csAGE) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { if (! missingn(csHGT) && csHGT < 59.75) { cs_BRANCH_ = 1; } else if (! missingn(csHGT) && 59.75 <= csHGT) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 2; if ( cs_BRANCH_== 1) { cs_NODE_ = 56; cs_LEAF_ = 12; csP_FEV = 2.52063636363636; csV_FEV = 2.53; cs_DECNUM = 1; } else { cs_NODE_ = 57; cs_LEAF_ = 13; csP_FEV = 2.71627777777777; csV_FEV = 2.76933333333333; cs_DECNUM = 1; } } } } } else { /* using surrogates splits */ cs_BRANCH_ = -1; if (! missingn(csHGT) && csHGT < 55.25) { cs_BRANCH_ = 1; } else if (! missingn(csHGT) && 55.25 <= csHGT) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { if (! missingn(csAGE) && csAGE < 6.5) { cs_BRANCH_ = 1; } else if (! missingn(csAGE) && 6.5 <= csAGE) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) { nput( csSEX ,"BEST",12.,0., cs_ARBFMT_3); dmnormip(cs_ARBFMT_3,32); if ( ( streq(cs_ARBFMT_3,"1") )) { cs_BRANCH_ = 1; } else if ( ( streq(cs_ARBFMT_3,"0") )) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 1; if ( cs_BRANCH_== 2) { if (! missingn(csHGT) && csHGT < 56.75) { cs_NODE_ = 18; cs_LEAF_ = 6; csP_FEV = 1.86064285714285; csV_FEV = 1.90666666666666; cs_DECNUM = 1; } else { cs_NODE_ = 19; cs_LEAF_ = 7; csP_FEV = 2.00960975609756; csV_FEV = 2.06846666666666; cs_DECNUM = 1; } } else { /* using surrogates splits */ cs_BRANCH_ = -1; if (! missingn(csHGT) && csHGT < 49.5) { cs_BRANCH_ = 1; } else if (! missingn(csHGT) && 49.5 <= csHGT) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { if (! missingn(csAGE) && csAGE < 4.5) { cs_BRANCH_ = 1; } else if (! missingn(csAGE) && 4.5 <= csAGE) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 2; if ( cs_BRANCH_== 1) { cs_NODE_ = 16; cs_LEAF_ = 1; csP_FEV = 1.1735; csV_FEV = 1.536; cs_DECNUM = 1; } else { /* using surrogates splits */ cs_BRANCH_ = -1; nput( csSEX ,"BEST",12.,0., cs_ARBFMT_3); dmnormip(cs_ARBFMT_3,32); if ( ( streq(cs_ARBFMT_3,"1") )) { cs_BRANCH_ = 1; } else if ( ( streq(cs_ARBFMT_3,"0") )) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { if (! missingn(csHGT) && 50.5 <= csHGT) { cs_BRANCH_ = 1; } else if (! missingn(csHGT) && csHGT < 50.5) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 1; if ( cs_BRANCH_== 2) { /* using surrogates splits */ cs_BRANCH_ = -1; if (! missingn(csAGE) && csAGE < 5.5) { cs_BRANCH_ = 1; } else if (! missingn(csAGE) && 5.5 <= csAGE) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { if (! missingn(csHGT) && csHGT < 50.5) { cs_BRANCH_ = 1; } else if (! missingn(csHGT) && 50.5 <= csHGT) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 2; if ( cs_BRANCH_== 1) { cs_NODE_ = 48; cs_LEAF_ = 4; csP_FEV = 1.35; csV_FEV = 1.259; cs_DECNUM = 1; } else { cs_NODE_ = 49; cs_LEAF_ = 5; csP_FEV = 1.60186666666666; csV_FEV = 1.57266666666666; cs_DECNUM = 1; } } else { /* using surrogates splits */ cs_BRANCH_ = -1; if (! missingn(csHGT) && csHGT < 53.5) { cs_BRANCH_ = 1; } else if (! missingn(csHGT) && 53.5 <= csHGT) { cs_BRANCH_ = 2; } if ( cs_BRANCH_< 0) { if (! missingn(csAGE) && csAGE < 7.5) { cs_BRANCH_ = 1; } else if (! missingn(csAGE) && 7.5 <= csAGE) { cs_BRANCH_ = 2; } } if ( cs_BRANCH_< 0) cs_BRANCH_ = 1; if ( cs_BRANCH_== 2) { cs_NODE_ = 47; cs_LEAF_ = 3; csP_FEV = 1.74127272727272; csV_FEV = 1.99085714285714; cs_DECNUM = 1; } else { cs_NODE_ = 46; cs_LEAF_ = 2; csP_FEV = 1.61283333333333; csV_FEV = 1.607; cs_DECNUM = 1; } } } } } } if ( missingn( csFEV)) csR_FEV = MISSING; else csR_FEV = csFEV - csP_FEV; /****************************************************************/ /***** end of decision tree scoring code *******/ /****************************************************************/ /*-------------------------------------------------------------**/ /* end_chunk 1458223911.1:t3bg_i70 **/ /*-------------------------------------------------------------**/ return; } usrNbucket usrnBuckets[]={ /* not used */ {0,0,0,NULL,NULL,' ',0.0} }; usrCbucket usrcBuckets[]={ /* not used */ {NULL, NULL, 0, NULL} }; usrFormat usrnFormats[] = { {"**unused**",0.0,0,0,0,-1,-1,0} }; usrFormat usrcFormats[] = { {"**unused**",0.0,0,0,0,-1,-1,0} }; int usrNumNfmts = 0; int usrNumCfmts = 0;