Tutoriel pour scipy.cluster.hiérarchie
Je suis en train d'essayer de comprendre comment manipuler une hiérarchie de clusters mais la documentation est trop ... technique?... et je ne peux pas comprendre comment il fonctionne.
Est-il un tutoriel qui pourrait m'aider à démarrer avec, en expliquant, étape par étape, des tâches simples?
Disons que j'ai les données suivantes:
a = np.array([[0, 0 ],
[1, 0 ],
[0, 1 ],
[1, 1 ],
[0.5, 0 ],
[0, 0.5],
[0.5, 0.5],
[2, 2 ],
[2, 3 ],
[3, 2 ],
[3, 3 ]])
Je peux facilement faire la hiérarchie de clusters et de tracer le dendrogramme:
z = linkage(a)
d = dendrogram(z)
- Maintenant, comment je peux récupérer un cluster spécifique? Disons que l'un avec des éléments
[0,1,2,4,5,6]
dans le dendrogramme? - Comment je peux récupérer les valeurs des éléments?
Vous devez vous connecter pour publier un commentaire.
Il y a trois étapes dans la classification ascendante hiérarchique de clustering (HAC):
metric
argument)method
argument)Faire
permettra d'accomplir les deux premières étapes. Puisque vous n'avez pas spécifier tous les paramètres, il utilise les valeurs standard
metric = 'euclidean'
method = 'single'
Donc
z = linkage(a)
vous donnera un unique lié hiérarchique ascendante regroupement desa
. Ce regroupement est une sorte de hiérarchie des solutions. À partir de cette hiérarchie, vous obtenez quelques informations sur la structure de vos données. Ce que vous pouvez faire maintenant est:metric
est approprié, l'e. g.cityblock
ouchebychev
permettra de quantifier vos données différemment (cityblock
,euclidean
etchebychev
correspondent àL1
,L2
, etL_inf
norme)methdos
(e. g.single
,complete
etaverage
)Ici est quelque chose à démarrer avec
Donne
knee = np.diff(z[::-1, 2], 2)
nombre de dimensions ou de quelque chose? Quel est exactement le bleu de la ligne que vous avez tracée entre les cluster de la variance ou de quelque chose / à l'intérieur du cluster de la variance, ou quelque chose? Merci d'avancemetric
et lemethod
. La métrique determindes comment quantifier la distance entre les objets (lignes de la matrice de donnéesa
) et la méthode détermine la façon dont ces distances sont recalculés ou "a ajouté:" lorsque les grappes sont fusionnés. Et ces valeurs (troisième colonne de liaison) sont en fait également la ligne bleue.np.diff(.., 2)
est la dérivée seconde (courbe verte), soulignant un point de genou dans la courbe bleue. Il y a beaucoup de façons de deviner ce qui pourrait être un "bon" nombre de partitions...linkage
. N'a pas de liaison s'attendent à un "condensé matrice de distance" des données par la documentation?