K-means
基本概念
- 聚成多少个簇:需要指定K的值
- 距离的度量:-般采用欧式距离
- 质心:各向量的均值
- 优化目标:
聚类效果的评价方式
轮廓系数:
- a(i):对于第i个元素xi,计算xi与其同一个簇内所有其他元素距离的平均值,表示了簇内的凝聚程度。
- b(i):选取xi外的一个簇,计算xi与该簇内所有点距离的平均距离,遍历其他所有簇,取所有平均值中最小的一个,表示簇间的分离度。
计算所有x的轮廓系数,求出平均值即为当前聚类的整体轮廓系数
。
- 轮廓系数范围在[-1,1]之间。该值越大,越合理。
- si接近1,则说明样本i聚类合理;
- si接近-1,则说明样本i更应该分类到另外的簇;
- 若si 近似为0,则说明样本i在两个簇的边界上。
K-means聚类参数介绍
class sklearn.cluster.KMeans(n_clusters=8,
init=’k-means++’,
n_init=10,
max_iter=300,
tol=0.0001,
precompute_distances=’auto’,
verbose=0,
random_state=None,
copy_x=True,
n_jobs=None,
algorithm=’auto’)[source]
【参数】:
-
n_clusters
: 类中心的个数,就是要聚成几类。【默认是8个】 -
init
:参初始化的方法,默认为’k-means++’- ‘k-means++’: 用一种特殊的方法选定初始质心从而能加速迭代过程的收敛.
- ‘random’: 随机从训练数据中选取初始质心。
- 如果传递的是一个ndarray,则应该形如 (n_clusters, n_features) 并给出初始质心。
-
n_init
: 整形,缺省值=10
用不同的质心初始化值运行算法的次数,最终解是在inertia意义下选出的最优结果。 -
max_iter
:执行一次k-means算法所进行的最大迭代数。 -
Tol
: 与inertia结合来确定收敛条件。