Python有很多包可以用來實現KMeans聚類,其中比較常用的包有scikit-learn
和KMeans
。下面是使用這兩個包進行KMeans聚類的示例代碼:
使用scikit-learn包:
from sklearn.cluster import KMeans
# 創建KMeans模型,設置聚類個數為k
kmeans = KMeans(n_clusters=k)
# 訓練模型
kmeans.fit(data)
# 預測樣本的聚類標簽
labels = kmeans.predict(data)
# 獲取聚類的中心點
centers = kmeans.cluster_centers_
使用KMeans包:
from kmodes.kmodes import KModes
# 創建KModes模型,設置聚類個數為k
km = KModes(n_clusters=k, init='Huang', n_init=5, verbose=1)
# 訓練模型
clusters = km.fit_predict(data)
# 獲取聚類的中心點
centers = km.cluster_centroids_
這是兩個不同的包,scikit-learn
的KMeans適用于數值型數據,kmodes.kmodes
的KModes適用于離散型數據。根據你的數據類型選擇合適的包進行聚類。