我有一个目标变量,称为利润,其值在 +ve 或 -ve 中。我想将其转换为二进制,使得 ive 利润为 0,+ve 利润为 1。到目前为止,我无法在 SAS Enterprise Miner 中执行此操作。
1 回答
您可以通过将输入数据连接到 SAS 代码节点来修改数据。让我们以将变量转换为 1/0 二进制变量sashelp.class
为例。sex
将以下节点添加到您的图表中:
[数据] ---> [SAS 代码] ---> [元数据] ---> [图表的其余部分]
选择 SAS 代码节点并转到代码编辑器。单击“火车”菜单下屏幕左侧的省略号 (...)。添加以下代码:
data &em_export_train.;
set &em_import_data.;
sex_binary = (sex = 'M');
run;
&em_export_train
并且&em_import_data
是在“宏”菜单中向您显示的特殊宏变量。在分区之前,所有数据都被视为训练数据。&em_import_data
解析进入节点的&em_export_train
数据,解析出节点的数据。
现在我们已经修改了数据,我们需要修改元数据以告诉 Enterprise Miner 忽略原始变量并使用我们的二进制变量。单击元数据节点并在屏幕左侧的“变量”部分下选择训练椭圆 (...)。如下修改您的元数据:
性别:新角色 --> 被拒绝
sex_binary : 新角色 --> 目标
sex_binary : 新级别 --> 二进制
sex_binary
现在是您可以用于预测建模的目标变量。
请注意,如果在引入数据之前修改数据,则可以避免所有这些。此处描述的方法有效地将 SAS 代码节点和元数据节点都视为新的数据节点。例如,如果您使用的是不可变数据库,这可能是必要的。Enterprise Miner 可以运行所有 SAS 代码以及 R 代码,因此您可以通过多种方式对其中的数据进行 ETL。