聚类算法内部度量-si,ch,dbi
参考资料:
常用聚类度量指标
sklearn聚类性能度量:main
轮廓系数及可视化中心点
聚类算法内部度量:
1. 轮廓系数(Silhouette Coefficient)
函数:
def silhouette_score(X, labels, metric=‘euclidean’, sample_size=None,
random_state=None, **kwds):
函数值说明:
所有样本的s i 的均值称为聚类结果的轮廓系数,定义为S,是该聚类是否合理、有效的度量。聚类结果的轮廓系数的取值在**【-1,1】之间,值越大,说明同类样本相距约近,不同样本相距越远,则聚类效果越好**。
2. CH分数(Calinski Harabasz Score )
函数:
def calinski_harabasz_score(X, labels):
函数值说明:
类别内部数据的协方差越小越好,类别之间的协方差越大越好,这样的Calinski-Harabasz分数会高。 总结起来一句话:CH index的数值越大越好。
3. 戴维森堡丁指数(DBI)——davies_bouldin_score
函数:
def davies_bouldin_score(X, labels):
函数值说明:
注意:DBI的值最小是0,值越小,代表聚类效果越好。
import pandas as pd
from numpy import unique
from numpy import where
from matplotlib import pyplot
from sklearn import metrics
from sklearn.cluster import DBSCAN
import matplotlib.pyplot as plt
data = pd.read_excel('cluster_data.xlsx')
eps_list = []
si_list = []
ch_list = []
dbi_list = []
"""
聚类-内部度量
Calinski-Harabaz Index:
在scikit-learn中, Calinski-Harabasz Index对应的方法是metrics.calinski_harabaz_score.
CH指标通过计算类中各点与类中心的距离平方和来度量类内的紧密度,通过计算各类中心点与数据集中心点距离平方和来度量数据集的分离度,CH指标由分离度与紧密度的比值得到。从而,CH越大代表着类自身越紧密,类与类

本文介绍了聚类算法的内部评估指标,包括轮廓系数(Silhouette Coefficient)、CH分数(Calinski-Harabasz Score)和戴维森-堡丁指数(DBI)。轮廓系数衡量了样本在聚类中的紧密度和分离度,取值范围在-1到1,值越大表示聚类效果越好。CH分数通过比较类别内部紧密度和类别间分离度来评估,数值越大表明聚类效果越好。DBI指数则关注类别间的相似度,值越小聚类效果越好。代码示例展示了如何使用这些指标来评估DBSCAN聚类,并通过调整参数寻找最优的聚类效果。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



