【发布时间】:2018-09-06 21:14:13
【问题描述】:
我有一个数据集如下:(我举了一个简单的例子,但真实的数据集要大得多)
V1 V2 V3 V4
1 1 0 0 1
2 0 1 1 0
3 0 0 1 0
4 1 1 1 1
5 0 1 1 0
6 1 0 0 1
7 0 0 0 1
8 0 1 1 1
9 1 0 1 0
10 0 1 1 0
...
其中 V1、V2、V3...Vn 是项目,1、2、3、4...1000 是交易。我想将这些项目划分为 k 个集群,以便在每个集群中,我拥有在同一事务中最常一起出现的项目。 为了确定每对项目一起出现的次数,我尝试了交叉表,我得到了以下结果:
V1 V2 V3 V4
V1 4 1 2 3
V2 1 5 5 2
V3 2 5 7 2
V4 3 2 2 5
对于这个小例子,如果我想创建 2 个集群 (k=2),使得一个集群必须包含 2 个项目(以保持集群之间的平衡),我将得到:
Cluster1={V1,V4}
Cluster2={V2,V3}
因为:
1) V1 出现频率更高,V4 (V1,V4)=3 > (V1,V3) > (V1,V2) 和 V4 相同。
2) V2 (V2,V3)=5 > (V2,V4) > (V2, V1) 时 V2 出现频率更高,V3 也是如此。
如何使用 R 和更大的数据集进行此分区?
【问题讨论】:
-
请将所需结果添加到您的问题中。
-
好吧,我刚刚完成了。谢谢!
标签: r cluster-analysis partitioning market-basket-analysis