12

scipy/の相関行列に対して階層的クラスタリングを実行するにはどうすればよいnumpyですか? 100 行 x 9 列のマトリックスがあり、9 つの条件にわたる各エントリの相関によって階層的にクラスタリングしたいと考えています。クラスタリングの距離として 1 ピアソン相関を使用したいと思います。numpy100 x 9 の行列を含む配列があると仮定するとX、どうすればこれを行うことができますか?

この例に基づいて、hcluster を使用してみました。

Y=pdist(X, 'seuclidean')
Z=linkage(Y, 'single')
dendrogram(Z, color_threshold=0)

ただし、pdistそれはユークリッド距離であるため、私が望むものではありません。何か案は?

ありがとう。

4

1 に答える 1

12

correlation最初の行が次のようになるように、メトリックをに変更するだけです。

Y=pdist(X, 'correlation')

ただし、コードは次のように簡略化できると思います。

Z=linkage(X, 'single', 'correlation')
dendrogram(Z, color_threshold=0)

リンケージがあなたのためにpdistの面倒を見るからです。

于 2010-05-25T20:12:42.803 に答える