5

是否可以在 WEKA 中实现布尔属性?

我想实施购物篮分析,为此我需要一张这样的表格

Product_A Prod_B
Yes       No
No        Yes
Yes       Yes

等等。

对于Nofalse,我可以使用?,它代表 WEKA 中的空值:

Product_A Prod_B
Yes       ?
?         Yes
Yes       Yes

但现在我得到了频率。项目集和规则,例如:

Product_A=Yes, Prod_B=Yes

但我只想拥有

Product_A, Prod_B.

你懂我的意思吗?

我找到了有关创建 ARFF 文件的指南,但没有任何布尔数据类型。但是拥有这样的数据类型会很有用,还是我想错了?

4

3 回答 3

7

只需使用带有 0 和 1 的数字属性来表示 false 和 true。ML 算法通常不关心布尔值,无论如何都会将它们视为数字。

于 2013-09-17T17:32:17.110 回答
2

使用ft作为标称值。这在supermarket.arff示例文件中使用并且与 Java API 兼容。

我用这个 Java 代码创建了这样一个“布尔”属性:

FastVector tempBooleanValues = new FastVector();
tempBooleanValues.addElement("f");
tempBooleanValues.addElement("t");
tempAttributes.addElement(new Attribute("attribute_1", tempBooleanValues));

在 arff 文件中,它看起来像这样:

@attribute attribute_1 {f,t}
...
transaction_1,f
transaction_2,t
于 2015-07-07T12:22:12.690 回答
1

supermarket.arff有关示例,请参见 Weka文件。

如果你想使用稀疏格式,那么 IIRC 会有点棘手;因为默认情况下缺失值被替换为它们的模式 - 那时就是Yes这样。但我相信 Weka 的最新版本(不是书本版本)在这方面有所改进。

于 2013-09-18T08:48:04.483 回答