Clusteranalyse ist eine gängige Datenanalysemethode, mit der Datensätze in verschiedene Gruppen oder Kategorien unterteilt werden können. Python bietet eine Vielzahl von Clustering-Algorithmen, und wir können je nach Bedarf verschiedene Algorithmen für die Analyse auswählen. In diesem Artikel werden einige häufig verwendete Clustering-Algorithmen in Python vorgestellt und Beispielanwendungen gegeben.
1. K-Means-Algorithmus
Der K-Means-Algorithmus ist ein häufig verwendeter Clustering-Algorithmus, der Daten basierend auf der euklidischen Distanz gruppiert. Dieser Algorithmus unterteilt den Datensatz in k Cluster, wobei der Mittelpunkt jedes Clusters der Mittelwert aller Mitglieder des Clusters ist. Die spezifischen Schritte des Algorithmus sind wie folgt:
Das Folgende ist ein Python-Beispiel für eine Clusteranalyse mit dem K-Means-Algorithmus:
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()
Im obigen Code wird die Funktion make_blobs verwendet, um einen Datensatz mit 300 Stichprobenpunkten und insgesamt 4 Clustern zu generieren. Verwenden Sie dann die KMeans-Funktion, um ein Clustering durchzuführen, geben Sie die Anzahl der Cluster als 4 an und erhalten Sie die Klassifizierungsergebnisse jedes Datenpunkts über die Methode fit_predict. Verwenden Sie abschließend Matplotlib, um die Clustering-Ergebnisse darzustellen.
2. Hierarchischer Clustering-Algorithmus
Der hierarchische Clustering-Algorithmus ist ein Bottom-up-Clustering-Algorithmus, der Daten basierend auf der Ähnlichkeit der Daten schrittweise zu größeren Clustern zusammenführt. Die spezifischen Schritte dieses Algorithmus sind wie folgt:
Das Folgende ist ein Python-Beispiel für die Verwendung eines hierarchischen Clustering-Algorithmus für die Clusteranalyse:
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()
Im obigen Code wird die Funktion make_moons verwendet, um einen Datensatz mit 200 Beispielpunkten zu generieren, und die Funktion AgglomerativeClustering wird für das Clustering verwendet. Angabe: Die Anzahl der Cluster beträgt 2. Verwenden Sie abschließend Matplotlib, um die Clustering-Ergebnisse darzustellen.
3. DBSCAN-Algorithmus
Der DBSCAN-Algorithmus ist ein dichtebasierter Clustering-Algorithmus, der Datenpunkte basierend auf der Dichte des Datensatzes in verschiedene Cluster unterteilen kann. Die spezifischen Schritte des Algorithmus sind wie folgt:
Das Folgende ist ein Python-Beispiel für die Verwendung des DBSCAN-Algorithmus für die Clusteranalyse:
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()
Im obigen Code wird die Funktion make_moons verwendet, um einen Datensatz mit 200 Abtastpunkten zu generieren, und die Funktion DBSCAN wird für die Clusterbildung verwendet. Angabe des Radius und der Mindestanzahl der Proben. Verwenden Sie abschließend Matplotlib, um die Clustering-Ergebnisse darzustellen.
Zusammenfassung
Dieser Artikel stellt drei häufig verwendete Clustering-Algorithmen in Python vor und gibt entsprechende Beispielanwendungen. Clustering-Algorithmen sind eine sehr nützliche Datenanalysemethode, die uns dabei helfen kann, verborgene Muster und Beziehungen in Daten zu entdecken. In praktischen Anwendungen können wir basierend auf den Eigenschaften und Anforderungen der Daten verschiedene Algorithmen für die Analyse auswählen.
Das obige ist der detaillierte Inhalt vonBeispiele für Clusteranalysen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!