zoukankan      html  css  js  c++  java
  • 【聚类评价】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'))

     

  • 相关阅读:
    DevComponents DotNetBar 中Ribbon汉化
    类型Universe无法解析程序 集:System.Design,Version=2.0.0.0
    MapXtreme使用编辑工具
    html中汉字乱码
    c#皮肤使用
    c# 中的internal使用
    DonNetBar汉化
    外汇期货学习专帖(转)
    苦难属于悲情的人
    IT规划宜分步走 忌盲目好大喜功(载)
  • 原文地址:https://www.cnblogs.com/xingnie/p/10334572.html
Copyright © 2011-2022 走看看