如何设置一个 csv 或 txt 文件上传到 weka?

How to setup a csv or txt file for uploading to weka?

应该如何设置 txt 或 csv 文件以上传到 weka 以便使用 apriori?我试过将它设置为二进制文件,但关联似乎没有正确显示。假设我的数据库事务很简单,如下所示,创建用于上传到 weka 的 csv 或 txt 文件的正确方法是什么?第一列是交易id,后面是该笔交易的商品。

1 --- {M,O,N,K,E,Y}
2 --- {D,O,N,K,E,Y}
3 --- {M,A,K,E}
4 --- {C,O,O,K,I,E}
5 --- {D,O,O,D,L,E}

Weka 附带了一个示例数据集 supermarket, which contains a dataset that is in the right format for Apriori for market basket analysis (this article 使用了它)。

由于 Weka 不处理每行可变数量的属性,因此购买的每件商品都会获得一个单独的列。如果购买了商品,则存储 t(= true),否则存储 ?(= 缺失值)。

在您的情况下,您必须执行类似的操作:例如,创建一个 CSV 电子表格,其中每个项目都有单独的列,如果交易包含该项目,则用 t 填充它们,否则将其留空。例如:

id,A,C,D,E,I,K,L,M,N,O,Y
1,,,,t,,t,,t,t,t,t
2,,,t,t,,t,,,t,t,t
3,t,,,t,,t,,t,,,
4,,t,,t,t,t,,,,t,
5,,,t,t,,,t,,,t,

然后您可以在 Weka Explorer 中加载数据集并将其保存为 ARFF(这将使用 ? 作为缺失值)。

但是,Apriori 只处理标称属性,而您的 ID 属性是数字。然后,您可以在 运行 Apriori 之前删除该属性,或者使用 Preprocess 面板中的 NumericToNominal 过滤器将其转换为标称属性。