2

これは非常に単純な質問だと思いますが、理解できません。

scipi hcluster を使用してクラスター化しようとしている軌跡の小さなセットがあります。

軌道の小さなセット

私はこの点で成功しています

    from hcluster import linkage, dendrogram

    l = linkage(matrix)
    d = dendrogram(l)
    show()

ここに画像の説明を入力

ただし、樹状図によって割り当てられた色を元の軌跡にマッピングする方法がわかりません。デンドログラムには、次のキー ['ivl'、'dcoord'、'leaves'、'color_list'、'icoord'] があります。ドキュメントによると、「ivl」は図の下部に印刷されているラベルのセットです。フォントが小さいため、これらを読むことはできません。

私は次のことを試しました

    for index, label in enumerate(d['ivl']):
        print 'trajectory #%s has color %s' % (label, d['color_list'][index])

ただし、ivl のラベルよりも color_list の色が 1 つ少ないため、これは失敗します。デンドログラムを見ると、緑が 2 つ、赤が 2 つ、マゼンタが 3 つなどをはっきりと見ることができます。

    from collections import Counter        
    Counter(d['color_list'])
    Counter({'y': 68, 'b': 18, 'm': 2, 'c': 1, 'g': 1, 'r': 1})

最後に私の質問です。このひどい構造は何ですか? また、樹状図によって各軌跡に割り当てられた色を実際に取得するにはどうすればよいですか?

4

1 に答える 1

0

同じ質問があり、あなたの投稿を見つけました。数か月経った今までに答えが見つかったといいのですが、他の誰かがこの問題に遭遇した場合:関数fclusterを使用してクラスターを取得できます:http: //docs.scipy.org/doc/scipy/ reference /generated / scipy.cluster.hierarchy.fcluster.html#scipy.cluster.hierarchy.fcluster

fcluster(Z,0.7*max(Z[:,2]),'distance')

fclusterパラメーターをデフォルトの樹状図パラメーターと一致させる必要があります。

これがうまくいくことを願っています!

于 2013-01-24T16:17:07.927 に答える