Tôi có một ma trận bán nhỏ các tính năng nhị phân có kích thước 250k x 100. Mỗi hàng là một người dùng và các cột là "thẻ" nhị phân của một số hành vi người dùng, ví dụ: "thích_cats".
user 1 2 3 4 5 ...
-------------------------
A 1 0 1 0 1
B 0 1 0 1 0
C 1 0 0 1 0
Tôi muốn điều chỉnh người dùng thành 5-10 cụm và phân tích các lần tải để xem liệu tôi có thể diễn giải các nhóm hành vi người dùng hay không. Dường như có khá nhiều cách tiếp cận để phù hợp với các cụm trên dữ liệu nhị phân - chúng ta nghĩ gì có thể là chiến lược tốt nhất cho dữ liệu này?
PCA
Tạo một ma trận Tương tự Jaccard , khớp một cụm phân cấp và sau đó sử dụng các "nút" trên cùng.
K-trung bình
K-medoid
Dự đoán ?
Agnes
Cho đến nay tôi đã có một số thành công với việc sử dụng phân cụm theo cấp bậc nhưng tôi thực sự không chắc chắn đó là cách tốt nhất để đi ..
tags = read.csv("~/tags.csv")
d = dist(tags, method = "binary")
hc = hclust(d, method="ward")
plot(hc)
cluster.means = aggregate(tags,by=list(cutree(hc, k = 6)), mean)