La mise en œuvre du Coude Méthode pour trouver le nombre optimal de clusters pour les K-means de R
Je veux utiliser le Clustering K-means pour mon jeu de données. Je suis l'aide de la kmeans() en fonction de R pour ce faire.
k<-kmeans(data,centers=3)
plotcluster(m,k$cluster)
Cependant, je ne suis pas sûr de ce qui est la valeur de K pour cette fonction. Je veux essayer d'utiliser le Coude Méthode pour cela.
Existe-il des paquets dans R, ce qui effectuent de clustering à l'aide du Coude Méthode pour trouver le nombre optimal de clusters.
- À partir de l'article de wikipédia: "Cette "coude" ne peuvent pas toujours être clairement identifié." Je pense qu'il y est une certaine subjectivité dans cette méthode, ce qui rend une mise en œuvre difficile.
- double possible de analyse de Cluster dans R: déterminer le nombre optimal de clusters
Vous devez vous connecter pour publier un commentaire.
Il y a deux question mixte jusqu'ici. L'une est de savoir comment trouver un changement de point sur une courbe, et l'autre est sur la façon de quantifier la qualité de l'ajustement lors de l'utilisation de k-means pour classer les données. Cependant, le cluster analysis gens semblent forfaitaire à ces deux questions. N'ayez pas peur de regarder dans d'autres courbe d'ajustement /de changement de point de méthodes à l'aide de la fit métrique semble la plus appropriée à votre cas.
Je sais que le 'coude' méthode de votre lien est une méthode spécifique, mais vous pourriez être intéressé par quelque chose de semblable qui ressemble pour le "genou" dans les BIC (Bayesian Information criterion). Le point d'inflexion en BIC et le nombre de clusters (k) est le point où l'on peut faire valoir que l'augmentation de BIC en ajoutant plus de clusters est plus avantageux, compte tenu de l'extra exigences de calcul de la plus complexe de la solution. Il y a une bonne méthode qui détecte la optmimum nombre de clusters à partir du changement de signe de la dérivée seconde de la BIC. Voir, par exemple,
Zhao, Q. V. Hautamaki, et P. Franti 2008a: point de Genou de détection de BIC pour détecter le nombre de clusters. Concepts avancés pour Intelligent de Systèmes de Vision, J. Blanc-Talon, S. Bourennane, W. Philips, D. Popescu, et P. Scheunders, Eds., Springer Berlin /Heidelberg, lecture Notes in Computer Science, Vol. 5259, 664-673, doi:10.1007/978-3-540-88458-3 60.
Zhao, Q., M. Xu, et P. Franti, 2008b: le Genou, la détection des points sur le critère d'information bayésien. Les outils avec de l'Intelligence Artificielle, 2008. ICTAI ’08. 20 IEEE Conférence Internationale sur l', Vol. 2, 431 -438, doi:10.1109/ICTAI.2008.154
Vous pourriez être intéressé par une application automatisée de cette de données météorologiques, des données rapportées dans http://journals.ametsoc.org/doi/abs/10.1175/JAMC-D-11-0227.1
Voir aussi Trouver le meilleur compromis point sur une courbe pour une excellente discussion de l'approche générale.
Une dernière observation: assurez-vous que vous êtes cohérent dans votre logarithmes. Les différentes communautés à utiliser les différentes notations, et cela peut être une source d'erreur lors de la comparaison des résultats.
Oui, vous pouvez trouver le nombre optimal de clusters à l'aide de Coude méthode, mais j'ai trouvé ça pénible de trouver la valeur de grappes de coude graphique à l'aide de script. Vous pouvez observer le coude graphique et de trouver le coude point vous-même, mais c'était beaucoup de travail à le trouver à partir d'un script.
Donc une autre option est d'utiliser La Silhouette De La Méthode pour le trouver. Le résultat de la Silhouette entièrement conforme avec le résultat du Coude de la méthode.
Voici ce que j'ai fait.
Espère que cela aide!!
GMD paquet fournit un Coude de la méthode de Clustering d'évaluation, voir: (Page 7)
http://cran.r-project.org/web/packages/GMD/GMD.pdf
pour un exemple, voir:
http://www.inside-r.org/packages/cran/GMD/docs/elbow
hth
ben
Mon expérience est que vous ne pouvez pas automatiser ce---vous avez besoin pour faire de la parcelle et de vérifier le coude. Voici quelques beaux exemples: Analyse de Cluster dans R: déterminer le nombre optimal de clusters
J'ai essayé le GMD paquet. Pour une raison quelconque, il a pris beaucoup de temps et revint avec une erreur dans cette étape
Erreur dans le coude.lot(css.obj) :
Un bon
k' is not available with provided inc.thres and ev.thres; please make adjustment, e.g. decrease
ev.thres', augmentationinc.thres' or increase
k'.Donc, c'est ma solution pour l'obtention de l'optimum K (Ses cours d'exécution sur un 54 de la colonne de base de données (tous les nombres entiers) avec 6000+ lignes
espère que ça aide