Python是一門集成了多樣化工具的編程語言,其中之一就是聚類算法。聚類算法是一種按照數據的相似性,將它們分組為一個個聚類的算法。在Python中,聚類算法有多種實現方式,包括K-means,層次聚類等。下面我們來看一下Python中聚類算法的效果。
# 導入所需庫 import pandas as pd import matplotlib.pyplot as plt from sklearn.cluster import KMeans # 讀入數據 data = pd.read_csv('data.csv') x = data.iloc[:, [0, 1]].values # 使用K-means對數據進行聚類 kmeans = KMeans(n_clusters=5, init='k-means++', max_iter=300, n_init=10, random_state=0) y_kmeans = kmeans.fit_predict(x) # 繪制聚類效果圖 plt.scatter(x[y_kmeans == 0, 0], x[y_kmeans == 0, 1], s = 100, c = 'red', label = 'Cluster 1') plt.scatter(x[y_kmeans == 1, 0], x[y_kmeans == 1, 1], s = 100, c = 'blue', label = 'Cluster 2') plt.scatter(x[y_kmeans == 2, 0], x[y_kmeans == 2, 1], s = 100, c = 'green', label = 'Cluster 3') plt.scatter(x[y_kmeans == 3, 0], x[y_kmeans == 3, 1], s = 100, c = 'cyan', label = 'Cluster 4') plt.scatter(x[y_kmeans == 4, 0], x[y_kmeans == 4, 1], s = 100, c = 'magenta', label = 'Cluster 5') plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s = 300, c = 'yellow', label = 'Centroids') plt.title('Clusters of customers') plt.xlabel('Annual Income (k$)') plt.ylabel('Spending Score (1-100)') plt.legend() plt.show()
上述代碼實現了對一個數據集進行K-means聚類,并繪制了聚類效果圖。圖中不同顏色的點表示不同的聚類,黃色的點表示聚類的中心。
Python的聚類算法可以用于各種應用場景,如數據挖掘、統計分析、圖像處理等。在實際應用中,聚類算法可以幫助我們識別數據中的潛在模式、發現數據的規則性等,從而幫助我們更好地理解數據、預測未來走向。
上一篇c 從json取數據
下一篇python 聚類樹狀圖