我有一个与下面的示例类似的网络数据。
它仅具有用户和二进制值,用于表明该用户是否点击了网站内的特定链接。
我想对这些数据进行一些聚类。我的主要目标是根据用户的在线行为找到相似的用户。
对此有什么好的聚类算法?
我尝试过 k-means,它不适用于二进制数据。
我也尝试过球形 k 均值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
如果“单击链接”是不对称的,您可以尝试使用像 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)
(clusters <- cutree(hc, k = 2))
# abc1 abc2 abc3 abc4
# 1 2 1 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)