如果R中的项目则对群组进行聚类

时间:2016-09-26 15:48:02

标签: r cluster-analysis

如果这个问题已经得到解答,请道歉。我已经梳理了R中各种聚类算法的所有文档,但我还没有找到一个与我尝试做的完全匹配的文档。

长话短说,我有一个数据集中的项目列表。这些项目是在拍卖过程中提出的项目。因此,您可能会在不同的拍卖流程中看到相同的项目。我想要做的是创建一个衡量分析"聚类的数量"物品之间。也就是说,要查看某些项目是否一次又一次地在拍卖过程中组合在一起。

举个简单的例子:

(ITEM,拍卖过程) (A,1) (B,1) (A2) (A,3) (B,4) (C,4) (C,5) (B,6) (D,6) (A,7) (B,8) (C,8) (A,9) (D,10) (E,11)

因此,可以看到项目B与大多数其他项目非常相关,因为它与大多数项目共享拍卖流程。此外,项目B和C在许多相同的拍卖过程中被分组。而项目A仅连接到项目C和D到B,并且根本没有连接到E.

R中是否有可以轻松进行此类聚类的软件包?需要注意两点:拍卖过程是我的数据集中的字符串变量,项目数量非常大(约10,000左右)。

提前感谢您的所有帮助!

2 个答案:

答案 0 :(得分:1)

您似乎在寻找

而不是群集

频繁项目集挖掘

即。出现在同一拍卖中的产品组合("项目")("交易")

答案 1 :(得分:0)

试试这个:

item <- c('A','B','A','A','B','C','C','B','D','A','B','C','A','D','E')
item<-as.numeric(factor(item))
auctionProc <- c(1,1,2,3,4,5,6,6,6,7,8,8,9,10,11)
df <- data.frame(item, auctionProc)

library(ggplot2)
ggplot(df, aes(df$auctionProc,
           df$item)) + 
  xlab("Auction Process") + ylab('Item') + 
  ggtitle('Auction Process vs Item Clustering') +
  geom_point()

cluster <- kmeans(df[, 1:2], 3, nstart = 20)
cluster$cluster <- as.factor(cluster$cluster)

ggplot(df, aes(df$auctionProc,
           df$item, 
           color = cluster$cluster)) + 
  xlab("Auction Process") + ylab('Item') + 
  ggtitle('Auction Process vs Item Clustering') +
  scale_colour_discrete(name="Cluster Index") + 
  geom_point()

enter image description here enter image description here