web-dev-qa-db-fra.com

Créez des clusters en utilisant la matrice de corrélation dans Python

tous, j'ai une matrice de corrélation de 21 secteurs industriels. Maintenant, je veux diviser ces 21 secteurs en 4 ou 5 groupes, avec des secteurs de comportements similaires regroupés.

Les experts peuvent-ils m'éclairer sur la façon de le faire dans Python s'il vous plaît? Merci beaucoup à l'avance!

5
Jasper C.

Vous pourriez explorer l'utilisation de Pandas DataFrame.corr et le scipy.cluster Package de clustering hiérarchique

import pandas as pd
import scipy.cluster.hierarchy as spc


df = pd.DataFrame(my_data)
corr = df.corr().values

pdist = spc.distance.pdist(corr)
linkage = spc.linkage(pdist, method='complete')
idx = spc.fcluster(linkage, 0.5 * pdist.max(), 'distance')
8
Wes Doyle