1

我正在使用 WEKA 处理 KDD99 数据集。数据集中有三种类型的属性,即名义型、二进制型和数值型。但在 WEKA 中,它也将二进制数据视为数字。

我尝试使用 Unsupervised-attribute-Normalize 工具来规范化数据。但是,它也会对二进制数据进行规范化。我在这里有两个问题。

  1. 我需要标准化二进制属性吗?因为二进制数据是不连续的。

  2. 如果我不需要规范化二进制属性,在 WEKA 中,如何在 Normalize 工具中选择属性?因为 Normalize 工具始终适用于所有数值属性(包括二进制属性)。

谢谢!

4

1 回答 1

1

Weka 已将输入文件中的二进制属性解释为数字,因为它们的值都是数字(即 0 和 1),但如果您要使用可以处理名义属性的分类器,您可能希望将二进制属性转换为名义属性反而。

您可以使用weka.filters.unsupervised.attribute.Discretize过滤器执行此操作。只需指定二进制属性的数字索引并将箱数指定为 2。

这将为您提供具有标称值标签的属性(-inf-0.5]and (0.5-inf),但如果您希望将它们视为0并且1您可以使用 重命名这些值weka.filters.unsupervised.attribute.RenameNominalValues

于 2018-08-21T12:28:45.207 回答