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适用于离散型数据。根据你的数据类型选择合适的包进行聚类。