Existe-t-il un moyen de déterminer le numéro de cluster optimal ou dois-je simplement essayer différentes valeurs et vérifier les taux d'erreur pour décider de la meilleure valeur?
R
) ici: stackoverflow.com/a/15376462/1036500
Existe-t-il un moyen de déterminer le numéro de cluster optimal ou dois-je simplement essayer différentes valeurs et vérifier les taux d'erreur pour décider de la meilleure valeur?
R
) ici: stackoverflow.com/a/15376462/1036500
Réponses:
La méthode que j'utilise consiste à utiliser CCC (Cubic Clustering Criteria). Je cherche à augmenter le CCC au maximum lorsque j'augmente le nombre de clusters de 1, puis j'observe quand le CCC commence à diminuer. À ce stade, je prends le nombre de clusters au maximum (local). Cela reviendrait à utiliser un tracé éboulis pour sélectionner le nombre de composants principaux.
Rapport technique SAS A-108 Cubic Clustering Criterion ( pdf )
= nombre d'observations n k = nombre dans le cluster k p = nombre de variables q = nombre de clusters X = n × p matrice de données M = q × p matrice de cluster signifie Z = indicateur de cluster ( z i k = 1 si obs . i dans le cluster k , 0 sinon)
Supposons que chaque variable a une moyenne de 0:
, M = ( Z ′ Z ) - 1 Z ′ X
Matrice S S (totale) = T = X ′ X S S (entre les grappes) matrice = B = M ′ Z ′ Z M S S (au sein des grappes) matrice = W = T - B
(trace = somme des éléments diagonaux)
Empilez des colonnes de dans une longue colonne.
Régression sur le produit de Kronecker de Z avec la matrice d'identité p × p
Calculer R 2 pour cette régression - même R 2
L'idée CCC est de comparer le vous obtenez pour un ensemble donné de clusters avec le R 2 que vous obtiendriez en regroupant un ensemble de points uniformément répartis dans un espace dimensionnel p .