Lorsque vous utilisez scipy.spatial.distance.pdist
pour créer une matrice de distance condensée et passer à ward
et je reçois cette erreur:Comment avez-vous accès au cluster/centroid/median clustering dans scipy?
Valid methods when the raw observations are omitted are 'single', 'complete', 'weighted', and 'average' error.
La documentation indique bien que la fonction linkage()
attend une matrice de distance condensée. Comment puis-je contourner ce problème?
foo = np.random.randint(3, size=(10,10))
scipy.spatial.distance.pdist(foo)
scipy.cluster.hierarchy.linkage(foo)
bar = scipy.spatial.distance.pdist(foo)
scipy.cluster.hierarchy.linkage(bar, method='ward')
donne:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/scipy /cluster/hierarchy.py", line 627, in linkage
raise ValueError("Valid methods when the raw observations are "
ValueError: Valid methods when the raw observations are omitted are 'single', 'complete', 'weighted', and 'average'.
J'ai cherché un peu et trouvé this link, ce qui indique que quelques autres personnes ont le problème, mais je ne pouvais pas trouver une solution pour fournir les données sous une forme Scipy acceptera.
Merci, je ne l'ai pas vu dans les docs. Mais j'ai essayé de nourrir directement ma matrice (ce qui n'est pas une donnée de jouet, mais une matrice de 64x64x53160), et cela n'a pas fonctionné. Le dendrogramme issu des liens n'était pas décrivant, par exemple. – user1603472
Votre matrice doit être bidimensionnelle (c'est-à-dire, observations x dimensions) –
Droite. En fait, ce n'était pas le problème, il a été redimensionné dans le format correct, mais j'avais fait une autre erreur de programmation incroyablement stupide qui l'a brisé (en utilisant le même nom de variable pour deux choses (!)). Merci. – user1603472