Comment exécuter un clustering hiérarchique sur une matrice de corrélation dans scipy/numpy? J'ai une matrice de 100 lignes sur 9 colonnes, et j'aimerais regrouper hiérarchiquement les corrélations de chaque entrée entre les 9 conditions. Je voudrais utiliser la corrélation 1-pearson comme les distances pour le clustering. En supposant que j'ai un tableau "X" qui contient la matrice 100 x 9, comment puis-je faire cela?clustering hiérarchique sur les corrélations dans Python scipy/numpy?
J'ai essayé d'utiliser hcluster, basé sur cet exemple:
Y=pdist(X, 'seuclidean')
Z=linkage(Y, 'single')
dendrogram(Z, color_threshold=0)
cependant pdist est pas ce que je veux puisque c'est la distance euclidienne. Des idées?
merci.
La «corrélation» signifie-t-elle ici Pearson ou Spearman? Aussi, ne devrait-il pas être 1 - pearson afin d'être une métrique de distance valide qui peut être utilisé pour pdist? Est-ce que pdist le fait automatiquement? Merci. – user248237dfsf
On dirait que c'est 1 - pearson pour moi. Vous pouvez le regarder vous-même dans site-packages/scipy/spatial/distance.py –
Il est assez rare que la "corrélation" mentionnée seule indique une corrélation de Spearman. Habituellement, si c'est Spearman, les gens le diront, sinon assumez Pearson. – dwf