是否可以在WEKA中实现布尔属性?
我想实施市场篮子分析,为此我需要一个表格
Product_A Prod_B
Yes No
No Yes
Yes Yes
等等。
对于No
或false
,我可以使用?
,代表WEKA中的空值:
Product_A Prod_B
Yes ?
? Yes
Yes Yes
但现在我得到了频率。项目集和规则如:
Product_A=Yes, Prod_B=Yes
但我只想拥有
Product_A, Prod_B.
你知道我的意思吗?
我找到了关于创建ARFF文件的guide,但是没有任何布尔数据类型。 但是有这样的数据类型会有用,还是我认为错了?
答案 0 :(得分:6)
只需使用0和1的数字属性表示false和true。 ML算法通常不关心布尔值,并且无论如何都将它们视为数字。
答案 1 :(得分:2)
使用f
和t
作为名义价值。这在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的最新版本(不是图书版本)在那里有所改进。