通过距离矩阵进行聚类评价(内部指标)

在评价聚类效果中,分为内部指标和外部指标两类。当没有真实聚类标签时,通常采用内部指标进行评价,采用的内部指标主要有轮廓系数、方差比、DB指数三类。本文直接利用距离矩阵对轮廓系数和DB指数进行计算。可直接用于无法获得原始数据或例如时间序列聚类序列长度不一等情况下进行评价。

注意:聚类中心选取:下文采用距离所有类内样本最近的样本作为聚类中心,sklearn等官方采用类内平均值作为聚类中心

轮廓指数

计算流程:

  1. 计算样本i到组内其他样本平均距离a(i),
  2. 通过样本i到簇中心点距离得到距离样本i最近距离的簇,计算该点到最近簇中所有样本平均距离b(i)
  3. 计算样本轮廓系数 s(i) = (b(i)-a(i))/max(b(i), a(i))
  4. 计算总轮廓系数 s = 1/n*sum(s(i))
def silhouette_score_by_maxtrix(dis_matrix, label):
  s_sum = 0
  for i in range(len(dis_matrix)):
    a_index = (label == label[i])
    a_i = dis_matrix[i][a_index].mean()
    #得到类中心点索引
    b_i = float('inf')
    label_j = -1
    for j in set(label):
      if j == label[i]:
        continue
      b_index = (label == j)
      b_j = dis_matrix[b_index,:][
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值