• 【聚类评价】Calinski-Harabaz(CH)


    Calinski-Harabaz(CH)

    CH指标通过计算类中各点与类中心的距离平方和来度量类内的紧密度,通过计算各类中心点与数据集中心点距离平方和来度量数据集的分离度,CH指标由分离度与紧密度的比值得到。从而,CH越大代表着类自身越紧密,类与类之间越分散,即更优的聚类结果。

    在scikit-learn中, Calinski-Harabasz Index对应的方法是metrics.calinski_harabaz_score.

    CH和轮廓系数适用于实际类别信息未知的情况,以下以K-means为例,给定聚类数目K,则:

    类内散度为:

    W(K)=∑k=1K∑C(j)=k||xj−x¯¯¯k||2 W(K)=∑k=1K∑C(j)=k||xj−x¯k||2 类间散度:

    B(K)=∑k=1Kak||x¯¯¯k−x¯¯¯||2 B(K)=∑k=1Kak||x¯k−x¯||2 则CH为:

    CH(K)=B(K)(N−K)W(K)(K−1) CH(K)=B(K)(N−K)W(K)(K−1)

    CH相对来说速度可能会更快。

     

    在这里我自己码了一个kmeans的代码,计算并输出其中的ch和轮廓系数

    from sklearn.cluster import KMeans
    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    %matplotlib inline
    from sklearn.datasets.samples_generator import make_blobs
    from sklearn.metrics import calinski_harabaz_score
    from sklearn import metrics
    from sklearn import preprocessing
    # X为样本特征,Y为样本簇类别, 共1000个样本,每个样本2个特征,共4个簇,簇中心在[-1,-1], [0,0],[1,1], [2,2], 簇方差分别为[0.4, 0.2, 0.2]
    X, y = make_blobs(n_samples=1000, n_features=2, centers=[[-1,-1], [0,0], [1,1], [2,2]], cluster_std=[0.4, 0.2, 0.2, 0.2],
                     random_state =9)
    plt.scatter(X[:, 0], X[:, 1], marker='o')
    plt.show()
    #X=np.array([[2,3,6],[8,7,9],[2,8,3],[3,6,1]])


    k=5


    y_pred = KMeans(n_clusters=k, random_state=9).fit_predict(X)
    plt.scatter(X[:, 0], X[:, 1], c=y_pred)
    plt.show()

    c=KMeans(n_clusters=k, random_state=7)
    y_pred = c.fit_predict(X)
    kmeans_model = c.fit(X)
    labels = kmeans_model.labels_
    print('这个是k={}次时的CH值:'.format(k),metrics.calinski_harabaz_score(X,y_pred))
    print('这个是k={}次时的轮廓系数:'.format(k),metrics.silhouette_score(X, labels, metric='euclidean'))

     

  • 相关阅读:
    Java中的final关键字
    使用chrome浏览器调试时的搜索技巧
    查看“文件路径”&“在此处打开命令窗口”
    python安装 错误 “User installations are disabled via policy on the machine”
    Charles 激活入口以及账号密码
    大数据学习(一) | 初识 Hadoop
    Django基础3-数据库交互
    Django基础2
    Django基础使用1
    创建-Django创建启动
  • 原文地址:https://www.cnblogs.com/xingnie/p/10334572.html
Copyright © 2020-2023  润新知