Weka中的布尔属性

时间:2013-09-17 17:25:37

标签: data-mining weka arff

是否可以在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文件的guide,但是没有任何布尔数据类型。 但是有这样的数据类型会有用,还是我认为错了?

3 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:2)

使用ft作为名义价值。这在supermarket.arff示例文件中使用,并与Java API兼容。

我创建了这样一个" boolean"具有此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

答案 2 :(得分:1)

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

如果你想使用稀疏格式,它会变得有点棘手IIRC;因为缺省值默认替换为他们的模式 - 然后是Yes。但我相信Weka的最新版本(不是图书版本)在那里有所改进。