R - кластерный анализ на двоичных данных блога
У меня есть веб-данные, которые похожи на образец ниже. Он просто имеет пользователя и двоичное значение для того, щелкнул ли этот пользователь по определенной ссылке на веб-сайте. Я хотел сделать кластеризацию этих данных. Моя главная цель - найти похожих пользователей по их поведению в Интернете. Что такое хороший кластеризационный алгоритм для этого? Я пробовал k-средства, которые не работают с двоичными данными. Я также попробовал сферические K-средства skmeans()
, Я хотел сделать сумму квадратов осциллографических ошибок, но я не мог понять, как получить SSE из skmeans.
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 ответ
Решение
Вы можете попробовать иерархическую кластеризацию с использованием бинарной меры расстояния, как 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