Converting a target interval variable into class variable i.e., 0 and 1 in SAS Enterprise Miner

680 views Asked by At

I have a target variable which is called profit and which has values in +ve or -ve. I want to convert this into binary such that ive profit is 0 and +ve profit is 1. So far i am unable to do this in SAS Enterprise Miner.

1

There are 1 answers

0
Stu Sztukowski On BEST ANSWER

You can modify your data by connecting your input data to a SAS Code Node. Let's use sashelp.class as an example, converting the variable sex into a 1/0 binary variable.

Add the following nodes to your diagram:

[Data] ---> [SAS Code] ---> [Metadata] ---> [Rest of your diagram]

enter image description here

Select the SAS Code Node and go to the Code Editor. Click the ellipses (...) on the left side of the screen under the "Train" menu. Add the following code:

data &em_export_train.;
    set &em_import_data.;
    sex_binary = (sex = 'M');
run;

&em_export_train and &em_import_data are special macro variables that are shown to you above in the "Macro" menu. All data is treated as training data until it is partitioned. &em_import_data resolves to the data coming in to the node, &em_export_train resolves to the data going out of the node.

Now that we've modified our data, we need to modify the metadata to tell Enterprise Miner to ignore the original variable and use our binary variable instead. Click the Metadata node and select the Train ellipses (...) under the "Variables" section on the left side of the screen. Modify your metadata as follows:

Sex: New Role --> Rejected

sex_binary: New Role --> Target

sex_binary: New Level --> Binary

enter image description here

sex_binary is now your target variable that you can use for predictive modeling.

Note that you can avoid all of this if you modify your data before bringing it in. The method described here effectively treats both a SAS Code Node and a Metadata Node as the new Data Node. This might be necessary if you're working with an immutable database, for example. Enterprise Miner can run all SAS code as well as R code, so you have multiple ways to ETL your data within it.