精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

三大指標助力K均值與層次聚類數選定及Python示例代碼

人工智能
在數據分析和機器學習中,聚類是一項關鍵技術,幫助我們從未標記的數據中發現模式和洞察。確定最佳聚類數是聚類過程中的重要挑戰,影響分析質量。本文介紹了多種聚類驗證技術如Gap統計量、Calinski-Harabasz指數、Davies Bouldin指數和輪廓分數,這些指標可以幫助我們選擇最優化的聚類數,提升聚類結果的有效性和可靠性。?

在數據分析和機器學習領域,聚類作為一種核心技術,對于從未標記數據中發現模式和洞察力至關重要。聚類的過程是將數據點分組,使得同組內的數據點比不同組的數據點更相似,這在市場細分到社交網絡分析的各種應用中都非常重要。然而,聚類最具挑戰性的方面之一在于確定最佳聚類數,這一決策對分析質量有著重要影響。

雖然大多數數據科學家依賴肘部圖和樹狀圖來確定K均值和層次聚類的最佳聚類數,但還有一組其他的聚類驗證技術可以用來選擇最佳的組數(聚類數)。我們將在sklearn.datasets.load_wine問題上使用K均值和層次聚類來實現一組聚類驗證指標。以下的大多數代碼片段都是可重用的,可以在任何數據集上使用Python實現。

接下來我們主要介紹以下主要指標:

  • Gap統計量(Gap Statistics)(!pip install --upgrade gap-stat[rust])
  • Calinski-Harabasz指數(Calinski-Harabasz Index )(!pip install yellowbrick)
  • Davies Bouldin評分(Davies Bouldin Score )(作為Scikit-Learn的一部分提供)
  • 輪廓評分(Silhouette Score )(!pip install yellowbrick)

引入包和加載數據

# Libraries to help with reading and manipulating data
import pandas as pd
import numpy as np
# libaries to help with data visualization
import matplotlib.pyplot as plt
import seaborn as sns
# Removes the limit for the number of displayed columns
pd.set_option("display.max_columns", None)
# Sets the limit for the number of displayed rows
pd.set_option("display.max_rows", 200)
# to scale the data using z-score
from sklearn.preprocessing import StandardScaler
# to compute distances
from scipy.spatial.distance import cdist, pdist
# to perform k-means clustering and compute silhouette scores
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
# to visualize the elbow curve and silhouette scores
from yellowbrick.cluster import KElbowVisualizer, SilhouetteVisualizer
# to perform hierarchical clustering, compute cophenetic correlation, and create dendrograms
from sklearn.cluster import AgglomerativeClustering
from scipy.cluster.hierarchy import dendrogram, linkage, cophenet
sns.set(color_codes=True)


from sklearn.datasets import load_iris, load_wine, load_digits, make_blobs
wine = load_wine()
X_wine = wine.data
X_wine

標準化數據:

scaler=StandardScaler()
X_wine_int=X_wine.copy()
X_wine_interim=scaler.fit_transform(X_wine_int)
X_wine_scaled=pd.DataFrame(X_wine_interim)
X_wine_scaled.head(10)

Gap統計量(Gap Statistics)

from gap_statistic import OptimalK
from sklearn.cluster import KMeans
def KMeans_clustering_func(X, k):
    """ 
    K Means Clustering function, which uses the K Means model from sklearn.
    These user-defined functions *must* take the X (input features) and a k 
    when initializing OptimalK
    """
    
    # Include any clustering Algorithm that can return cluster centers
    
    m = KMeans(random_state=11, n_clusters=k)
    m.fit(X)
    return m.cluster_centers_, m.predict(X)
#--------------------create a wrapper around OptimalK to extract cluster centers and cluster labels
optimalK = OptimalK(clusterer=KMeans_clustering_func)
#--------------------Run optimal K on the input data (subset_scaled_interim) and number of clusters
n_clusters = optimalK(X_wine_scaled, cluster_array=np.arange(1, 15))
print('Optimal clusters: ', n_clusters)
#--------------------Gap Statistics data frame
optimalK.gap_df[['n_clusters', 'gap_value']]

plt.figure(figsize=(10,6))
n_clusters=3
plt.plot(optimalK.gap_df.n_clusters.values, optimalK.gap_df.gap_value.values, linewidth=2)
plt.scatter(optimalK.gap_df[optimalK.gap_df.n_clusters == n_clusters].n_clusters,
            optimalK.gap_df[optimalK.gap_df.n_clusters == n_clusters].gap_value, s=250, c='r')
plt.grid(True)
plt.xlabel('Cluster Count')
plt.ylabel('Gap Value')
plt.title('Gap Values by Cluster Count')
plt.axvline(3, linestyle="--")
plt.show()

上圖展示不同K值(從K=1到14)下的Gap統計量值。請注意,在本例中我們可以將K=3視為最佳的聚類數。如上所述,可以從圖中獲得Gap統計量的拐點。

Calinski-Harabasz指數(Calinski-Harabasz Inde)

Calinski-Harabasz指數,也稱為方差比準則,是所有組的組間距離與組內距離之和(群內距離)的比值。較高的分數表示更好的聚類緊密度。可以使用Python的YellowBrick庫中的KElbow visualizer來計算。

plt.figure(figsize=(10,6))
model = KMeans(random_state=1)
# k is a range of the number of clusters.
visualizer = KElbowVisualizer(
    model, k=(2, 10), metric="calinski_harabasz", timings=True
)
visualizer.fit(X_wine_scaled)  # Fit the data to the visualizer
visualizer.show()  # Finalize and generate the plot

上圖展示不同K值(從K=1到9)下的Calinski Harabasz指數。請注意,在本例中我們可以將K=2視為最佳的聚類數。如上所述,可以從圖中獲得Calinski Harabasz指數的最大值。

使用“metric”超參數選擇用于評估群組的評分指標。默認使用的指標是均方失真,定義為每個點到其最近質心(即聚類中心)的距離平方和。其他一些指標包括:

  • distortion:點到其聚類中心的距離平方和的均值
  • silhouette:聚類內距離與數據點到其最近聚類中心距離的比率,對所有數據點求平均
  • calinski_harabasz:群內到群間離散度的比率

Davies-Bouldin指數(Davies-Bouldin Index)

Davies-Bouldin指數計算為每個聚類(例如Ci)與其最相似聚類(例如Cj)的平均相似度。這個指數表示聚類的平均“相似度”,其中相似度是一種將聚類距離與聚類大小相關聯的度量。具有較低Davies-Bouldin指數的模型在聚類之間有更好的分離效果。對于聚類i到其最近的聚類j的相似度R定義為(Si + Sj) / Dij,其中Si是聚類i中每個點到其質心的平均距離,Dij是聚類i和j質心之間的距離。一旦計算了相似度(例如i = 1, 2, 3, ..., k)到j,我們取R的最大值,然后按聚類數k進行平均。

from sklearn.metrics import davies_bouldin_score
def get_Hmeans_score(  data, distance, link, center):  
    """
    returns the  score regarding Davies Bouldin for points to centers
    INPUT:
        data - the dataset you want to fit Agglomerative to
        distance - the distance for AgglomerativeClustering
        link - the linkage method for AgglomerativeClustering
        center - the number of clusters you want (the k value)
    OUTPUT:
        score - the Davies Bouldin score for the Hierarchical model fit to the data
    """
    hmeans = AgglomerativeClustering(n_clusters=center,linkage=link)
    model = hmeans.fit_predict(data)
    score = davies_bouldin_score(data, model)
    return score


centers = list(range(2, 10)) #------Number of Clusters in the data
avg_scores = []
for center in centers:
  avg_scores.append(get_Hmeans_score(X_wine_scaled, "euclidean", "average", center))
plt.figure(figsize=(15,6));
 
plt.plot(centers, avg_scores, linestyle="-", marker="o", color="b")
plt.xlabel("K")
plt.ylabel("Davies Bouldin score")
plt.title("Davies Bouldin score vs. K")

上圖展示不同K值(從K=1到9)下的Davies Bouldin指數。請注意,在本例中我們可以將K=2視為最佳的聚類數。如上所述,可以從圖中獲得Davies Bouldin指數的最小值,該值對應于最優化的聚類數。

輪廓分數(Silhouette Score)

輪廓分數衡量了考慮到聚類內部(within)和聚類間(between)距離的聚類之間的差異性。在下面的公式中,bi代表了點i到所有不屬于其所在聚類的任何其他聚類中所有點的平均最短距離;ai是所有數據點到其聚類中心的平均距離。如果bi大于ai,則表示該點與其相鄰聚類分離良好,但與其聚類內的所有點更接近。

plt.figure(figsize=(10,6))
model = KMeans(random_state=1)
# k is a range of the number of clusters.
visualizer = KElbowVisualizer(
    model, k=(2, 10), metric="silhouette", timings=True
)
visualizer.fit(X_wine_scaled)  # Fit the data to the visualizer
visualizer.show()  # Finalize and generate the plot

上圖展示不同K值(從K=1到9)下的輪廓分數。請注意,在本例中我們可以將K=2視為最佳的聚類數。如上所述,輪廓分數可以從圖中獲得最大值,該值對應于最優化的聚類數。

在數據分析和機器學習中,聚類是一項關鍵技術,幫助我們從未標記的數據中發現模式和洞察。確定最佳聚類數是聚類過程中的重要挑戰,影響分析質量。本文介紹了多種聚類驗證技術如Gap統計量、Calinski-Harabasz指數、Davies Bouldin指數和輪廓分數,這些指標可以幫助我們選擇最優化的聚類數,提升聚類結果的有效性和可靠性。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2025-05-22 10:06:49

2022-04-18 09:16:47

層次聚類Python代碼

2020-12-29 06:45:30

Python機器學習K均值聚類

2023-10-31 09:00:00

2020-05-13 15:57:59

聚類分析算法監督學習

2018-05-28 15:33:09

無監督學習算法Python

2018-04-26 21:44:31

數據中心大數據服務器

2018-05-28 14:45:26

數據中心基礎設施運維管理

2021-02-03 23:17:30

數字轉型技術數字

2017-11-13 12:53:14

時間序列數據數據k-均值

2024-10-18 17:14:13

2011-07-04 09:37:32

云計算虛擬化安全

2010-08-27 09:22:32

2013-08-07 10:23:58

MySQL運維數據庫運維

2017-09-11 09:20:14

機器學習無監督學習聚類

2023-11-26 18:26:26

聚類評價指標監督學習

2022-05-17 09:14:50

聚類算法python

2022-07-29 10:31:33

算法Python

2022-12-02 14:03:43

數字化轉型領導者

2012-08-09 09:57:54

K-means
點贊
收藏

51CTO技術棧公眾號

欧美一级大片在线观看| 日韩欧美亚洲范冰冰与中字| 91久久精品在线| 精品一区免费观看| 国产伦精品一区二区三区千人斩| 日本精品视频一区二区| 男人的天堂成人| 手机亚洲第一页| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久成人亚洲精品| 波多野结衣av在线免费观看| 99久热在线精品视频观看| 亚洲成人动漫精品| 中文字幕色一区二区| 天天干,夜夜操| 久久99国内精品| 91成人在线播放| 九九精品视频免费| 欧美男gay| 日韩欧美精品在线视频| 亚洲最大综合网| 九色porny自拍视频在线观看| 国产精品免费aⅴ片在线观看| www.成人av| 一区二区三区黄| 久久精品系列| 午夜精品久久17c| 波多野结衣爱爱视频| 欧美伦理影院| 精品视频久久久久久久| 极品人妻一区二区| 亚洲男女网站| 欧美午夜宅男影院| 欧美日韩在线中文| 国产伦理精品| 亚洲影视资源网| 国产精品夜夜夜爽张柏芝| 黄色小视频在线免费观看| www.日韩在线| 国产精品亚洲不卡a| 国产婷婷在线视频| 精品一区二区影视| 国产视频观看一区| 伊人久久久久久久久久久久| 亚洲中午字幕| 欧美怡红院视频一区二区三区| 久久婷婷国产麻豆91| 国产精品不卡| yellow中文字幕久久| 精品亚洲aⅴ无码一区二区三区| 婷婷成人影院| 亚洲欧美国产精品va在线观看| 少妇精品无码一区二区三区| 99久热这里只有精品视频免费观看| 欧美精品久久一区二区三区| 亚洲精品午夜在线观看| 国产精品久久久久久吹潮| 色婷婷精品大视频在线蜜桃视频| 国产黄色一级网站| 亚洲美女炮图| 色狠狠综合天天综合综合| 日日碰狠狠躁久久躁婷婷| 日本美女一区| 在线观看一区二区精品视频| 国产精品久久久久9999小说| 99re66热这里只有精品4| 色婷婷国产精品综合在线观看| 成人一级片网站| 亚洲成人一区在线观看| 欧美视频一区二区三区四区| 亚洲第一狼人区| 亚洲老司机网| 亚洲第一福利在线观看| 日本japanese极品少妇| 国产精品片aa在线观看| 中日韩美女免费视频网址在线观看| 美国黑人一级大黄| 亚洲色图插插| 久久久亚洲国产| 久草手机在线视频| 蜜臀久久99精品久久久久久9| 国产在线精品播放| 亚洲精品久久久久久久久久久久久久 | 欧美成人一二三区| 亚洲日韩成人| 国产精品嫩草视频| www.香蕉视频| 久久免费精品国产久精品久久久久| 日韩免费电影一区二区三区| 黄色片网站在线观看| 一级日本不卡的影视| 成人观看免费完整观看| 亚洲国产天堂| 亚洲精品理论电影| 精品人伦一区二区三电影| 99欧美视频| 69av成年福利视频| 91肉色超薄丝袜脚交一区二区| 成人免费看黄yyy456| 日韩亚洲视频在线| 福利网站在线观看| 欧美色爱综合网| 亚洲天堂av网站| 久久高清精品| 91精品国产亚洲| 国产免费一区二区三区最新不卡 | 欧美成人ⅴideosxxxxx| 在线播放国产精品二区一二区四区| 乱码一区二区三区| 成人动漫免费在线观看| 海角国产乱辈乱精品视频| 中文字幕日产av| aaa亚洲精品| 91xxx视频| 日韩和的一区二在线| 精品国产精品一区二区夜夜嗨| 国产视频123区| 午夜在线精品| 操一操视频一区| 天堂中文8资源在线8| 欧美性猛交xxxx| 无码av免费精品一区二区三区| 日韩欧美1区| 日本道色综合久久影院| 俄罗斯嫩小性bbwbbw| 1000精品久久久久久久久| 亚洲人成色77777| 风间由美一区二区av101| 久久精品国产视频| 波多野结衣在线观看视频| 成人av免费网站| 一本一道久久a久久综合精品| 成人免费无遮挡| 亚洲国产日韩一区| 国产主播在线播放| 国产精品一区专区| 欧美一级免费在线观看| 激情久久一区二区| 伊人久久五月天| 波多野结衣人妻| 国产区在线观看成人精品| 青青草原av在线播放| 日韩大胆成人| 5278欧美一区二区三区| 五月婷婷六月丁香| 精品久久久久久久久国产字幕| 成人欧美精品一区二区| 欧美午夜影院| 国产精品一区二区三区免费| sqte在线播放| 亚洲精品大尺度| 国产又爽又黄的视频| 91性感美女视频| 精品一区二区中文字幕| 神马久久一区二区三区| 日韩女优人人人人射在线视频| 精品无人乱码| 欧美三级视频在线观看| www.涩涩爱| 精品一区二区三区欧美| 一本色道久久88亚洲精品综合| 玖玖玖电影综合影院| 欧美老少配视频| 欧美 日韩 人妻 高清 中文| 欧美日韩国产精品专区 | 手机看片一区二区三区| 欧美日韩免费观看中文| 公侵犯人妻一区二区三区| 日日摸夜夜添夜夜添国产精品| 日本高清不卡三区| 欧美网站免费| 欧美成人精品不卡视频在线观看| 亚洲精品国偷拍自产在线观看蜜桃| 亚洲福利国产精品| 国产精品久久久久无码av色戒| 日韩av网站免费在线| 桥本有菜av在线| 国产精品qvod| 国产精品成人观看视频国产奇米| 欧美激情二区| 精品国产伦一区二区三区观看方式 | 3d成人动漫在线| 欧美大片在线观看一区二区| 国产午夜免费福利| 国产精品乱人伦一区二区| 佐佐木明希电影| 久久久久一区| 国产片侵犯亲女视频播放| 亚洲免费成人av在线| 国产精品一区二区三区免费视频| 欧美韩日亚洲| 国产亚洲精品久久| 亚洲精品中文字幕成人片 | 99精品免费观看| 欧美性精品220| 国产成人综合在线视频| 91麻豆精品秘密| 色男人天堂av| 日韩精品一区第一页| 97av中文字幕| 欧美亚洲在线日韩| 好看的日韩精品视频在线| 久久青草免费| 68精品久久久久久欧美| a免费在线观看| 国产一区二区三区在线观看网站| 性做久久久久久久久久| 欧美色男人天堂| 免费观看成人毛片| 亚洲一区中文日韩| 欧美性x x x| 国产三级精品三级| 免费日本黄色网址| 国精产品一区一区三区mba桃花| 97在线播放视频| 激情综合激情| 成年人视频大全| 四季av一区二区三区免费观看| 精品国产乱码一区二区三区四区 | 欧美重口乱码一区二区| 电影一区二区在线观看| 亚洲自拍偷拍第一页| 成人福利一区二区| 欧洲亚洲免费在线| 成人国产电影在线观看| 欧美精品亚州精品| 老司机福利在线视频| 中文字幕亚洲第一| 国产区视频在线| 日韩精品免费在线观看| 色偷偷在线观看| 精品美女在线播放| 国内精品偷拍视频| 日韩一级黄色大片| 国产精品久久久久久免费免熟| 欧洲精品中文字幕| 波多野结衣在线观看视频| 日本韩国一区二区三区视频| 天天干天天干天天操| 富二代精品短视频| 在线观看黄网站| 精品久久久精品| 青草视频在线观看免费| 欧美日韩在线影院| 亚洲不卡视频在线观看| 色综合久久天天综合网| 无码人妻丰满熟妇区五十路| 色婷婷精品久久二区二区蜜臀av | 日本亚洲视频在线| 超碰影院在线观看| 素人啪啪色综合| 欧美人妖在线| 97精品国产aⅴ7777| 金瓶狂野欧美性猛交xxxx | 欧美另类69xxxx| 久久久国际精品| 免费一级做a爰片久久毛片潮| 久久女同互慰一区二区三区| 一级片手机在线观看| 国产日产精品一区| 男人天堂资源网| 亚洲日本在线视频观看| 久久久久久久极品内射| 亚洲二区在线观看| 国产精品va无码一区二区三区| 日本福利一区二区| 在线免费观看视频网站| 91精品免费观看| 99精品人妻无码专区在线视频区| 精品处破学生在线二十三| 天天躁日日躁狠狠躁喷水| 亚洲人成人99网站| 理论片午午伦夜理片在线播放| 欧美日韩国产成人| 欧美私密网站| 国产精品日韩在线播放| 麻豆一二三区精品蜜桃| 国产精品青青草| 精品国产一区二区三区小蝌蚪 | 狠狠久久亚洲欧美| 日本一级大毛片a一| 久久久综合视频| 三上悠亚在线观看视频| 亚洲v日本v欧美v久久精品| 无码人妻丰满熟妇区五十路| 欧美一区二区三区爱爱| 日本啊v在线| 久久天天躁狠狠躁夜夜躁| 亚洲美女炮图| 91久久大香伊蕉在人线| 久草成人在线| 国产一级片91| 日韩电影在线观看网站| 波多野结衣网页| 国产欧美日韩综合精品一区二区| 免费成人深夜蜜桃视频| 婷婷一区二区三区| 亚洲综合五月天婷婷丁香| 精品国产sm最大网站免费看| a√资源在线| 性色av一区二区三区免费| 9999精品视频| 日本精品一区二区三区不卡无字幕| 自拍偷拍欧美专区| 久久精品视频91| 99久久er热在这里只有精品15| 一区二区国产精品精华液| 一本一道久久a久久精品综合蜜臀| 国产理论视频在线观看| 亚洲午夜精品久久久久久久久久久久| 在线中文字幕电影| 国产精品视频xxx| 丝袜连裤袜欧美激情日韩| 草草草视频在线观看| 日本欧美大码aⅴ在线播放| 欧美xxxx×黑人性爽| 亚洲乱码日产精品bd| 中文字幕一二区| 亚洲一区二区久久久| 中国字幕a在线看韩国电影| 国产精品久久波多野结衣| 亚洲精品va| 无尽裸体动漫2d在线观看| 久久先锋影音av鲁色资源网| 动漫精品一区一码二码三码四码| 制服丝袜av成人在线看| av资源种子在线观看| 日韩av片永久免费网站| 老牛精品亚洲成av人片| www婷婷av久久久影片| 韩国午夜理伦三级不卡影院| 亚洲毛片亚洲毛片亚洲毛片| 在线亚洲一区观看| 理论视频在线| 奇米4444一区二区三区| 日韩动漫一区| 18岁网站在线观看| 白白色亚洲国产精品| 日本亚洲欧美在线| 亚洲国产精品久久91精品| av资源一区| 九九九九九九精品| 国产欧美三级| 欧美狂猛xxxxx乱大交3| 一本大道久久a久久精品综合| 日本福利片在线| 国产精品久久久久不卡| 成人同人动漫免费观看| 99sesese| 亚洲美女区一区| wwwav网站| 久久免费视频在线观看| 麻豆成人入口| 久久精品午夜福利| 国产欧美精品一区二区色综合朱莉| 无码久久精品国产亚洲av影片| 中文字幕欧美国内| 欧美黑粗硬大| 女人床在线观看| 99久久精品免费精品国产| 日韩精品成人免费观看视频| 伊人伊成久久人综合网小说 | 国产精品v欧美精品v日韩精品| 精品成人国产| 日本丰满少妇裸体自慰| 欧美伊人久久久久久久久影院 | 俺要去色综合狠狠| 欧美日韩精品区别| 亚洲永久免费视频| 色视频在线观看免费| 国产精品一区二区女厕厕| 欧美a级片一区| 亚洲一区二区三区四区五区六区| 色噜噜狠狠色综合中国| 哥也色在线视频| 精品国产一区二区三区日日嗨| 日日摸夜夜添夜夜添国产精品 | 欧美精品一卡| 少妇特黄一区二区三区| 欧美日韩一级视频| 免费污视频在线观看| 欧洲一区二区在线| 国产在线一区观看| aaa人片在线| xxx一区二区| 亚洲品质自拍| 极品粉嫩美女露脸啪啪| 五月婷婷激情综合网| 视频三区在线| 国产欧美日韩伦理| 另类小说视频一区二区| 国产午夜精品一区二区理论影院| 一本一道久久a久久精品逆3p| 欧美精品影院| 一区二区三区韩国| 亚洲成人资源网| 欧美jizzhd69巨大| 久久亚洲免费| 国产91精品欧美| 亚洲综合网av|