文章目录
1.定义:
聚类有效性指标(Cluster Validity Index,CVI):用于度量聚类的效果。
详细介绍wiki:http://www.turingfinance.com/clustering-countries-real-gdp-growth-part2/#quality
2.聚类评估方法介绍
聚类具有随机性,聚类效果的好坏我们并没有办法去判断,这里面给出的聚类有效性指标,可以帮助我们在聚类一组数据后对其聚类效果进行度量,然后根据数据的实际意义做出判断。
聚类评估目前常用的方式有两大类:内部评估(internal)和外部评估(external),内部评估是汇总得到一个单独质量分数,外部评估是通过与公知标准作比较。当然,还有人工评估方法(专家),通过评估其在应用中的聚类效果的间接评估。
(一)内部评估
内部评估就是基于聚类数据评估聚类结果。
下面介绍几种可以用来评估聚类(kmeans算法)质量的内部准则:
Davies-Bouldin index(戴维森堡丁指数,简称DB或DBI)
计算公式:
D
B
=
1
n
∑
i
=
1
n
max
j
≠
i
(
σ
i
+
σ
j
d
(
c
i
,
c
j
)
)
DB={\frac {1}{n}}\sum _{i=1}^{n}\max _{j\neq i}\left({\frac {\sigma _{i}+\sigma _{j}}{d(c_{i},c_{j})}}\right)
DB=n1i=1∑nj=imax(d(ci,cj)σi+σj)
公式含义:DB为任意两个类别的类内距离平均距离之和与两聚类质心间距之比的最大值
具体解析:
- 分子:簇内所有点到该簇质心点的平均距离之和
- 分母 d ( c i , c j ) d(ci,cj) d(ci,cj):两类别质心间的距离
- max()最大值部分:选取每组比例中的最大值(即选取最糟糕的一组)
- 1/n求和部分:将所选比例加和除以类别数
结果意义:DB值越小表示聚类结果同簇内部紧密,不同簇分离较远。即类内距离越小,类间距离越大。
具体过程:
- step1:计算每个聚类d(A),d(B),d©的平均内部距离。
- step2:计算任意质心间的距离d(A,B),d(A,C)和d(B,C)。
- step3:返回最大比例(任意内部聚类之和与其质心间距之比)
Dunn’s index(邓恩指数,简称DVI)
计算公式:
D
=
min
1
≤
i
<
j
≤
n
d
(
i
,
j
)
max
1
≤
k
≤
n
d
′
(
k
)
,
D={\frac {\min _{1\leq i<j\leq n}d(i,j)}{\max _{1\leq k\leq n}d^{\prime }(k)}}\,,
D=max1≤k≤nd′(k)min1≤i<j≤nd(i,j),
公式含义:任意两簇类间最短距离与任意簇的类内最大距离之比
结果意义:DVI值越大表明聚类结果同簇内部紧密,不同簇分离较远。即类间距离越大,类内距离越小。
Silhouette index(轮廓指数,简称SI)
计算公式:
s
(
i
)
=
b
(
i
)
−
a
(
i
)
max
{
a
(
i
)
,
b
(
i
)
}
s(i) = \frac{b(i) - a(i)}{\max\{a(i),b(i)\}}
s(i)=max{a(i),b(i)}b(i)−a(i)
或者是
s
(
i
)
=
{
1
−
a
(
i
)
/
b
(
i
)
,
if
a
(
i
)
<
b
(
i
)
0
,
if
a
(
i
)
=
b
(
i
)
b
(
i
)
/
a
(
i
)
−
1
,
if
a
(
i
)
>
b
(
i
)
s(i) = \left\{\begin{array}{ll} 1-a(i)/b(i), & \text{if } a(i) < b(i) \\ 0, & \text{if } a(i) = b(i) \\ b(i)/a(i)-1, & \text{if } a(i) > b(i) \end{array} \right.
s(i)=⎩⎨⎧1−a(i)/b(i),0,b(i)/a(i)−1,if a(i)<b(i)if a(i)=b(i)if a(i)>b(i)
公式含义:它测量每个模式中自身簇中的模式与其他最近簇中的模式相比的相似程度。
具体解析:
- a(i) 表示从模式 i 到所有同一聚类中的每个模式的平均距离;
- b(i) 表示从模式 i 到其他聚类中最接近的那个聚类的每个模式的平均距离。
结果意义:SI值越高表示 i 与自身聚类匹配较好,与其他类匹配较差。即类内密集,类间疏散。
缺点:复杂度较大
参考
DBI的代码思路大家可参考:
https://gist.github.com/StuartGordonReid/7841ab6837e7e84476f3#file-clusteringobjectivefunctions-py
强烈推荐详细介绍聚类及质量评估等的参考文章:http://www.turingfinance.com/clustering-countries-real-gdp-growth-part2/#quality
剩下的外部评估之后再补上。