将目标区间变量转换为 class 变量,即 SAS Enterprise Miner 中的 0 和 1

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

我有一个名为 profit 的目标变量,其值为 +ve 或 -ve。我想将其转换为二进制,这样 ive 利润为 0,+ve 利润为 1。到目前为止,我无法在 SAS Enterprise Miner 中执行此操作。

您可以通过将输入数据连接到 SAS 代码节点来修改数据。我们以sashelp.class为例,将变量sex转换为1/0二进制变量

将以下节点添加到您的图表中:

[数据] ---> [SAS 代码] ---> [元数据] ---> [图表的其余部分]

Select SAS 代码节点并转到代码编辑器。单击屏幕左侧“训练”菜单下的省略号 (...)。添加以下代码:

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

&em_export_train&em_import_data 是上面“宏”菜单中显示给您的特殊宏变量。在分区之前,所有数据都被视为训练数据。 &em_import_data 解析为in 到节点的数据,&em_export_train 解析为节点out 的数据。

现在我们已经修改了数据,我们需要修改元数据以告诉 Enterprise Miner 忽略原始变量并改用我们的二进制变量。单击屏幕左侧“变量”部分下的元数据节点和 select 训练省略号 (...)。按如下方式修改您的元数据:

性别:新角色 --> 已拒绝

sex_binary: 新角色 --> 目标

sex_binary:新级别 --> 二进制

sex_binary 现在是您可以用于预测建模的目标变量。

请注意,如果在引入数据之前修改数据,则可以避免所有这些情况。此处描述的方法有效地将 SAS 代码节点和元数据节点都视为新的数据节点。例如,如果您正在使用不可变数据库,这可能是必要的。 Enterprise Miner 可以 运行 所有 SAS 代码和 R 代码,因此您可以通过多种方式对其中的数据进行 ETL。