
40
2 章 NumPy と SciPy を用いた分位数正規化
2.4
クラスタの可視化
続いて、クラスタリング操作の出力を可視化する関数を定義しましょう。入力データの行と列を
並べ直し、類似する行同士、類似する列同士をそれぞれ集めます。さらに、行と列の両方のマージ
ツリーを表示して、行と列のそれぞれにおいて類似する観測値群がわかるようにします。マージツ
リーはデンドログラムとして表示され、枝の長さで観測値間の類似度を表します(長さがより短い
=類似度がより高い)。
ひとこと警告しておきますと、以下の関数にはハードコードされたパラメータがたくさん含まれ
ています。プロットは、適切な比率を目で見積もって作成することが多いので、これをなくすのは
難しいのです。
from scipy.cluster.hierarchy import dendrogram, leaves_list
def clear_spines(axes):
for loc in ['left', 'right', 'top', 'bottom']:
axes.spines[loc].set_visible(False)
axes.set_xticks([])
axes.set_yticks([])
def plot_bicluster(data, row_linkage, col_linkage,
row_nclusters=10, col_nclusters=3):
"""Perform a biclustering, plot a heatmap ...