J'ai une matrice semi-petite de caractéristiques binaires de dimension 250k x 100. Chaque ligne est un utilisateur et les colonnes sont des "balises" binaires d'un certain comportement d'utilisateur, par exemple "likes_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
Je voudrais adapter les utilisateurs en 5 à 10 clusters et analyser les chargements pour voir si je peux interpréter des groupes de comportements d'utilisateurs. Il semble y avoir quelques approches pour ajuster les clusters sur des données binaires - quelle est, selon nous, la meilleure stratégie pour ces données?
PCA
Création d'une matrice de similarité Jaccard , ajustement d'un cluster hiérarchique, puis utilisation des «nœuds» supérieurs.
K-médianes
K-medoids
Proximus ?
Agnès
Jusqu'à présent, j'ai réussi à utiliser le clustering hiérarchique, mais je ne suis vraiment pas sûr que ce soit la meilleure solution.
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)