1

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

4

1 回答 1

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。

于 2021-09-09T13:18:46.363 回答