データ分析における階層的クラスタリングの概念を理解する: 関数、タイプ、および手順
公開: 2023-04-08クラスタリングとは、データ分析において類似したデータをグループまたはクラスターにグループ化することを指します。 これらのクラスターは、データ アナリストが類似したデータ ポイントを 1 つのグループに編成すると同時に、それらを類似していない他のデータと区別するのに役立ちます。
データの階層的クラスタリングは、データをクラスターのツリーにグループ化するために使用される方法の 1 つです。 これは、データをグループ化するための最も一般的で便利なアプローチの 1 つです。 成長しているデータ サイエンスとデータ分析の分野に参加したい場合、階層的クラスタリングは、学ぶべき最も重要なことの 1 つです。
この記事は、階層的クラスタリングの性質、その機能、種類、および利点を理解するのに役立ちます。
目次
階層的クラスタリングとは
名前が示すように、階層的クラスタリングは、さまざまなデータを階層形式またはツリー形式のクラスターにグループ化します。 この方法では、すべてのデータ ポイントが個別のクラスターとして扱われます。 階層クラスター分析は、分析が容易なクラスターの管理可能な階層にデータを要約するため、データ サイエンティストやデータ アナリストの間で非常に人気があります。
階層型クラスタリングアルゴリズムは、複数の異なるデータ ポイントを取得し、2 つのうち最も近いものを取得してクラスターを作成します。 すべてのデータ ポイントが 1 つのクラスターになるまで、これらの手順を繰り返します。 このプロセスを逆にして、1 つのマージされたクラスターを別の小さなクラスターに分割し、最終的にデータ ポイントに分割することもできます。
クラスタリングの階層的な方法は、ツリー状の図であるデンドログラムとして視覚的に表すことができます。 必要な数のクラスターが作成された場合、クラスター化プロセス中の任意の時点で樹形図を切り取ることができます。 これにより、データの分析プロセスも容易になります。
階層的クラスタリングはどのように機能しますか?
階層的クラスタリングのプロセスは非常に簡単に理解できます。 階層クラスタリング アルゴリズムは、利用可能なすべてのデータ セットを異なるクラスターとして扱います。 次に、最も類似している 2 つのデータ セットを識別し、それらをクラスターにマージします。 その後、すべてのデータ ポイントが 1 つの大きなクラスターにマージされるまで、システムはこれらの手順を繰り返し続けます。 必要な数のクラスターが分析に利用可能になったら、プロセスを停止することもできます。
階層的クラスタリング プロセスの進行状況と出力は、樹形図として視覚化できます。これは、異なるクラスター間の関係と、それらが本質的にどの程度類似しているか異なるかを識別するのに役立ちます。
階層的クラスタリングのタイプ
階層クラスタリング アルゴリズムは、2 つの異なる方法で使用できます。 使用できる 2 種類の階層的クラスタリングの特徴を次に示します。
1. 凝集型階層クラスタリング
凝集法は、データを階層的にクラスタリングする方法として、より一般的に使用されています。 この方法では、アルゴリズムは複数の異なるデータセットで提示され、それぞれが独自のクラスターとして扱われます。 次に、アルゴリズムは、相互の類似性に基づいて 2 のクラスターへの結合を開始します。 必要な数のクラスターに達するまで、これらの手順を繰り返します。 この方法は、階層クラスター分析でより一般的に使用されます。
2.分裂的階層的クラスタリング
階層的クラスタリングの分割法は、凝集法の逆です。 この方法では、アルゴリズムは多数のデータ ポイントの 1 つの大きなクラスターで提示され、それらのデータ ポイントは、それらの視差に基づいて段階的に区別されます。 これにより、異なるプロパティを持つ複数のデータ セットが生成されます。 分割法は実際にはあまり使用されません。
世界トップクラスの大学が提供するデータ サイエンス コースをオンラインで学びましょう。 エグゼクティブ PG プログラム、上級認定プログラム、またはマスター プログラムを取得して、キャリアを加速させましょう。
階層的クラスタリングの手順
前述のように、データの階層的クラスタリングには 3 つの主な手順があります。
- 2 つの異なるデータ ポイント間の類似性の識別。
- それらを 1 つのクラスターにマージします。
- データの 1 つの大きなクラスターにマージされるまで、すべてのデータ ポイントに対してこれらの手順を繰り返します。
ただし、階層クラスタリングで類似点を特定する方法を覚えておくことも非常に重要です。 アルゴリズムによって作成されたデンドログラムを調べると、それぞれのクラスターの中心点を簡単に特定できます。 デンドログラムで互いに最小の距離を持つクラスターは、最も類似しています。 これが、距離ベースのアルゴリズムとも呼ばれる理由です。 デンドログラム内の 1 つのクラスターと他のすべてのクラスターとの間の類似性は、近接行列と呼ばれます。
また、階層クラスタリングを使用する際には、正しい距離測定を選択する必要があります。 たとえば、距離測定に性別または学歴を選択するかどうかに基づいて、同じ人々に関する情報を含むデータ セットは異なる樹形図を生成します。
人気のデータ サイエンス記事を読む
データ サイエンスのキャリア パス: 包括的なキャリア ガイド | データ サイエンスのキャリア成長: 仕事の未来はここにあります | データ サイエンスが重要な理由データ サイエンスがビジネスに価値をもたらす 8 つの方法 |
マネージャーにとってのデータサイエンスの関連性 | すべてのデータ サイエンティストが持つべき究極のデータ サイエンス チート シート | データ サイエンティストになるべき 6 つの理由 |
データ サイエンティストの 1 日: 彼らは何をしているのか? | 神話の崩壊: データ サイエンスにコーディングは必要ない | ビジネス インテリジェンスとデータ サイエンスの違い: 違いは何ですか? |
階層的クラスタリング Python
階層的クラスタリングについて明確に理解できたので、 Python で階層的クラスタリングを実行する方法を見てみましょう。 Python の「scikit-learn」ライブラリを使用して階層的クラスタリングを実行すると、次のようになります。
6 つの観測値を持つデータセットに2 つの変数 (xとy)があるとします。
観察 | バツ | y |
1 | 1 | 1 |
2 | 2 | 1 |
3 | 4 | 3 |
4 | 5 | 4 |
5 | 6 | 5 |
6 | 7 | 5 |
散布図として、これはこれらの観察がどのように視覚化されるかです:
パイソン
numpyを次のようにインポートします
np
matplotlib.pyplot を plt としてインポート
# データセットを定義する
X = np.array([[ 1,1], [2,1], [4,3], [5,4], [6,5], [7,5]])
# データをプロットする
plt.scatter(X[:, 0], X[:,1])
plt.show()
このプロットには 2 つの観測クラスターがあり、1 つにはxとyの低い値が含まれ、もう 1 つにはxとyの高い値が含まれます。
'scikit Learn'を使用して、このデータセットに対して階層的クラスタリングを実行できます。
プロット内の観測値の 2 つのクラスターは、異なる値を持っています。 1 つはxとyのより高い値で構成され、もう 1 つはより低い値で構成されます。
無料のデータ サイエンス コースをチェックして、競争に勝ちましょう。
前に説明した階層的クラスタリングの 2 つの主な方法のうち、「ワード」リンケージ法を使用した凝集クラスタリング法を使用します。「ワード」メソッドは、一緒にマージされるクラスターのバリエーションを最小限に抑えるため、サイズと形状が似ているクラスターを生成します。
人気のデータ サイエンス コースを探す
IIITBのデータサイエンスのエグゼクティブポスト大学院プログラム | ビジネス上の意思決定のためのデータ サイエンスのプロフェッショナル認定プログラム | アリゾナ大学でデータ サイエンスの理学修士号を取得 |
IIITB のデータ サイエンスの高度な証明書プログラム | メリーランド大学のデータ サイエンスとビジネス分析のプロフェッショナル認定プログラム | データサイエンスコース |
パイソン
sklearn.clusterインポートから_
# 階層的クラスタリングを実行
クラスタリング AgglomerativeClustering (n_clusters= 2,リンケージ='病棟').fit(X)
ここでは、 'n-clusters ' パラメーターを使用して、2 つのクラスターが必要であることを指定しています。
クラスターをプロットするときに、クラスターごとに異なる色を使用できます。
パイソン
# クラスターをプロットする
colors= np.array([' r', 'b'])
plt.scatter (X[:, 0], X[:,1], c=colors [clustering.labels_])
plt.show()
データ内の 2 つのクラスターは、クラスタリング アルゴリズムによって正しく識別されています。 クラスタリング アルゴリズムが各観測に割り当てたラベルを使用することもできます。
パイソン
印刷(clustering.labels_)
Cシャープ
[ 0 0 1 1 1 1]
最後の 4 つの観測値はクラスター 1 に割り当てられ、最初の 2 つの観測値はクラスター 0 に割り当てられました。
これらのクラスターの階層構造を視覚化する場合は、デンドログラムを生成してそれを行うことができます。
パイソン
from scipy.cluster.hierarchyimport樹形図、リンケージ
# 連鎖行列を計算する
Z = リンケージ(X, '病棟')
# デンドログラムをプロットする
デンドログラム(Z)
plt.show()
デンドログラムは、マージされたクラスターの階層を視覚化するのに役立ちます。
学ぶべきトップ データ サイエンス スキル
学ぶべきトップ データ サイエンス スキル | ||
1 | データ分析コース | 推論統計コース |
2 | 仮説検定プログラム | ロジスティック回帰コース |
3 | 線形回帰コース | 解析のための線形代数 |
結論
データ クラスタリングは、データ サイエンスとデータ分析の非常に重要な部分です。 さまざまなクラスタリング方法を学習したい場合、upGrad は学習の旅を開始するのに役立ちます! マスター クラス、業界セッション、メンターシップ セッション、Python プログラミング ブートキャンプ、およびライブ学習セッションの助けを借りて、upGrad のデータ サイエンスの科学のマスターは、専門家が競合他社より優位に立つために設計されたコースです。
アリゾナ大学の指導の下で提供されるこのコースは、最先端のカリキュラム、業界の専門家による没入型の学習体験、および雇用機会により、データ サイエンスのキャリアを向上させます。
Q.データ サイエンスで階層的クラスタリングを行うのはなぜですか?
階層クラスタリングは、さまざまな類似の属性に基づいてデータをグループ化するために使用されます。 データの側面を視覚的に理解できるグループに分散すると、デンドログラムを簡単に確認できるため、実用的な実装が簡素化されます。
Q. 階層クラスタリングは何に使用されますか?
階層クラスタリングは、ソーシャル ネットワーキング サイトで生成されたデータをグループ化するために広く使用されている形式です。 アナリストは、このデータを使用して、ビジネス プロセスを強化し、収益を向上させるために関連する貴重な洞察を得ることができます。
Q.階層クラスタリングの制限は何ですか?
階層的クラスタリングは、混合型または欠損データには適していません。 階層的クラスタリングのもう 1 つの制限は、大規模なデータ セットではうまく機能しないことです。