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