聚类方法学习(二)KMeans算法与案例

kmeans简介

kmeans直观感受就是自动画圈,通过画圈自动聚类

算法优缺点

优点:

  1. 收敛速度快
  2. 需要的参数少

缺点:

  1. K值的选择较难
  2. 初始点的随机种子对结果影响很大
  3. 对异常值敏感
  4. 可能只能得到局部的最优解,而无法得到全局的最优解

kmeans算例

import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler

X = np.random.random((100, 4))
X = StandardScaler().fit_transform(X)
plt.scatter(X[:, 0], X[:, 1], marker='.', edgecolors='white')
plt.show()

k_means = KMeans(n_clusters=5, n_init=12)
k_means.fit(X)

k_means_labels = k_means.labels_
print(k_means_labels)  # 聚类后的标签

k_means_cluster_centers = k_means.cluster_centers_
print(k_means_cluster_centers) # 聚类中心的坐标

参考资料

sklearn API:https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

你可能感兴趣的:(聚类)