約 5000 エントリの距離マトリックスがあり、scipy の階層的クラスタリング メソッドを使用してマトリックスをクラスター化します。これに使用するコードは次のスニペットです。
Y = fastcluster.linkage(D, method='centroid') # D-distance matrix
Z1 = sch.dendrogram(Y,truncate_mode='level', p=7,show_contracted=True)
デンドログラムは、このすべてのデータでかなり密になるため、truncate_mode を使用して少し刈り込みます。これはすべて機能しますが、元の 5000 エントリのどれが樹状図の特定のブランチに属しているかを調べるにはどうすればよいでしょうか。
使ってみた
leaves = sch.leaves_list(Y)
葉のリストを取得しますが、これはリンケージ出力を indata として使用し、枝刈りされた樹状図と葉リストの間の対応を確認できますが、元のエントリを樹状図に手動でマッピングするのは少し面倒です。
要約すると、枝刈りされた樹状図の枝に属する距離行列のすべての元のエントリをリストする方法はありますか? または、私が気付いていないこれを行う他の方法があります。
ありがとう