ホームページ >バックエンド開発 >Python チュートリアル >Python でのクラスター分析の例
クラスター分析は、データセットをさまざまなグループまたはカテゴリに分割できる一般的なデータ分析方法です。 Python はさまざまなクラスタリング アルゴリズムを提供しており、さまざまなニーズに応じて分析用にさまざまなアルゴリズムを選択できます。この記事では、Python で一般的に使用されるクラスタリング アルゴリズムをいくつか紹介し、アプリケーション例を示します。
1. K-Means アルゴリズム
K-Means アルゴリズムは、ユークリッド距離に基づいてデータをグループ化する、一般的に使用されるクラスタリング アルゴリズムです。このアルゴリズムは、データ セットを k 個のクラスターに分割します。各クラスターの中心点はクラスターのすべてのメンバーの平均です。アルゴリズムの具体的な手順は次のとおりです。
以下は、クラスター分析に K-Means アルゴリズムを使用する Python の例です:
import numpy as np from sklearn.cluster import KMeans from sklearn.datasets import make_blobs import matplotlib.pyplot as plt # 生成随机数据 X, y = make_blobs(n_samples=300, centers=4, random_state=42) # 运行 K-Means 算法 kmeans = KMeans(n_clusters=4, random_state=42) y_pred = kmeans.fit_predict(X) # 绘制聚类结果 plt.scatter(X[:, 0], X[:, 1], c=y_pred) plt.title("K-Means Clustering") plt.show()
上記のコードでは、make_blobs 関数を使用して 300 個のサンプルを含むデータ セットを生成します。ポイント。合計 4 つのクラスターを含みます。次に、KMeans 関数を使用してクラスタリングを実行し、クラスターの数を 4 に指定し、fit_predict メソッドを通じて各データ ポイントの分類結果を取得します。最後に、Matplotlib を使用してクラスタリング結果をプロットします。
2. 階層的クラスタリング アルゴリズム
階層的クラスタリング アルゴリズムは、データの類似性に基づいてデータを徐々に大きなクラスターにマージするボトムアップ クラスタリング アルゴリズムです。アルゴリズムの具体的な手順は次のとおりです。
以下は、階層クラスタリング アルゴリズムを使用したクラスター分析の Python の例です。
from sklearn.cluster import AgglomerativeClustering from sklearn.datasets import make_moons import matplotlib.pyplot as plt # 生成随机数据 X, y = make_moons(n_samples=200, noise=0.05, random_state=42) # 运行层次聚类算法 agglomerative = AgglomerativeClustering(n_clusters=2) y_pred = agglomerative.fit_predict(X) # 绘制聚类结果 plt.scatter(X[:, 0], X[:, 1], c=y_pred) plt.title("Agglomerative Clustering") plt.show()
上記のコードでは、make_moons 関数を使用して 200 個のサンプル ポイントを含むデータ セットを生成します。 、クラスタリングには AgglomerativeClustering 関数を使用し、クラスタ数を 2 に指定します。最後に、Matplotlib を使用してクラスタリング結果をプロットします。
3. DBSCAN アルゴリズム
DBSCAN アルゴリズムは、データ セットの密度に基づいてデータ ポイントを異なるクラスターに分割できる密度ベースのクラスタリング アルゴリズムです。アルゴリズムの具体的な手順は次のとおりです。
以下は、クラスター分析に DBSCAN アルゴリズムを使用する Python の例です:
from sklearn.cluster import DBSCAN from sklearn.datasets import make_moons import matplotlib.pyplot as plt # 生成随机数据 X, y = make_moons(n_samples=200, noise=0.05, random_state=42) # 运行 DBSCAN 算法 dbscan = DBSCAN(eps=0.2, min_samples=5) y_pred = dbscan.fit_predict(X) # 绘制聚类结果 plt.scatter(X[:, 0], X[:, 1], c=y_pred) plt.title("DBSCAN Clustering") plt.show()
上記のコードでは、make_moons 関数を使用して 200 個のサンプル ポイントを含むデータ セットを生成します。 DBSCAN 関数を使用してクラスタリングを実行し、半径のしきい値とサンプルの最小数を指定しました。最後に、Matplotlib を使用してクラスタリング結果をプロットします。
概要
この記事では、Python で一般的に使用される 3 つのクラスタリング アルゴリズムを紹介し、対応するサンプル アプリケーションを示します。クラスタリング アルゴリズムは、データ内の隠れたパターンや関係を発見するのに役立つ非常に便利なデータ分析方法です。実際のアプリケーションでは、データの特性とニーズに基づいて、分析用にさまざまなアルゴリズムを選択できます。
以上がPython でのクラスター分析の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。