Scipy.cluster.hierarchy.dendrogram 関数
階層的クラスタリング分析とも呼ばれる階層的クラスタリングは、同じタイプのオブジェクトをクラスターと呼ばれるグループにグループ化するために、上から下へのアプローチに従います。これは教師なし機械学習アルゴリズムであり、すべてのグループまたはクラスターが互いに異なります。
階層的クラスタリングには次の 2 種類があります。
- 分割クラスタリング-この方法では、最初にすべてのオブジェクトが 1つのクラスターにグループ化され、次にすべてのオブジェクトが類似性がほとんどない 2つのクラスターに分割されます。この方法は、上から下へのアプローチに従います。
- 凝集的クラスタリング-この方法では、オブジェクトは独自のクラスターにグループ化されます。この方法は、下から上へのアプローチに従います。
樹状図は、事前定義されたすべてのクラスター間の関係を説明するのに役立つ、ツリーのような図である視覚化図です。樹状図の最も基本的な方法論は、樹状図の線の間の距離が遠いほど、すべてのクラスター間の距離が大きくなることです。
scipy.cluster.hierarchy.dendrogram
の構文
scipy.cluster.hierarchy.dendrogram(Z, p=30, truncate_mode=None, orientation="top")
パラメーター
Z |
これは、階層的クラスタリング全体をエンコードして樹状図として定義するために使用されるリンケージ行列を表します。 |
p |
これは、truncate_mode に対して定義されたパラメーターです。 |
truncate_mode |
クラスター間のリンクを定義する元の観測行列が大きいため、樹状図の調査が困難になる可能性があります。このパラメータは、樹状図をコンパクトにするのに役立ちます。 |
orientation |
樹状図がどの方向にプロットされているかを決定します。たとえば、top 。top の向きは、樹状図の基部が上にあり、リンクが下に向かっていることを意味します。同様に、他の方向は bottom 、left 、right です。 |
Z
パラメータを除いて、これらのパラメータはすべてオプションです。また、この関数には、color_threshold
、get_leaves
、distance_sort
など、さらに多くのオプションのパラメーターがあります。
階層的クラスタリング樹状図の例
import numpy as np
from scipy.cluster import hierarchy
import matplotlib.pyplot as plt
array = np.array([30, 60, 90, 120, 150, 180, 210, 240, 270, 300])
clus = hierarchy.linkage(array, "complete")
plt.figure()
den = hierarchy.dendrogram(
clus, above_threshold_color="black", color_threshold=0.8, orientation="right"
)
出力:
ここでは、階層的クラスタリングを行うために complete linkage
アルゴリズムを使用していることに注意してください。また、樹状図のベースは右側にあり、orientation
パラメータが right
として定義されているため、リンクは左側に向かって落ちています。
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn