R - 对二进制博客数据的聚类分析

时间:2015-05-15 05:29:05

标签: r cluster-analysis k-means

我的网页数据与下面的示例类似。 它只是具有用户和二进制值,用于该用户是否在网站中的特定链接上进行了访问。 我想对这些数据进行一些聚类。我的主要目标是根据他们的在线行为找到类似的用户。 什么是一个很好的聚类算法呢? 我尝试过k-means,它对二进制数据不起作用。 我也尝试了球形k-means skmeans()。我想做一个平方误差碎片图的总和,但我无法弄清楚如何从skmeans获得SSE。

   User   link1 link2 link3 link4
    abc1     0     1     1     1
    abc2     1     0     1     0
    abc3     0     1     1     1
    abc4     1     0     1     0

1 个答案:

答案 0 :(得分:4)

你可以尝试使用像jaccard这样的二进制距离测量的层次聚类,如果"点击一个链接"是不对称的:

dat <- read.table(header = TRUE, row.names = 1, text = "User   link1 link2 link3 link4
abc1     0     1     1     1
abc2     1     0     1     0
abc3     0     1     1     1
abc4     1     0     1     0")
d <- dist(dat, method = "binary")
hc <- hclust(d)
plot(hc)

enter image description here

(clusters <- cutree(hc, k = 2))
# abc1 abc2 abc3 abc4 
#    1    2    1    2