将目标区间变量转换为 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。
我有一个名为 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。