精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

怡红院亚洲色图| 欧美激情乱人伦一区| 成人在线观看黄| 看电影就来5566av视频在线播放| 国产99亚洲| 亚洲成av人在线观看| 久久国产精品一区二区三区四区| a v视频在线观看| 成人18夜夜网深夜福利网| 图片区小说区区亚洲影院| 蜜桃av噜噜一区二区三区| 日本中文字幕第一页| 精品视频免费| 51精品国自产在线| 日本精品久久久久久久久久| 国产乱人乱偷精品视频| 亚洲国产网址| 欧美日韩午夜精品| 亚洲欧美丝袜| 欧美一级免费片| 国产精品久久777777毛茸茸| 一区二区三区www| 91精品无人成人www| 日本欧美在线视频免费观看| 国产精一区二区三区| 久久免费国产精品1| 国产精品1000部啪视频| 国产毛片精品久久| 亚洲第一在线综合网站| 日本亚洲导航| 粉嫩小泬无遮挡久久久久久| 国产日韩一区二区三区在线| 日韩视频精品在线| 182在线视频| 成人午夜亚洲| 欧美三级免费观看| 嫩草影院中文字幕| 国产精品444| 卡一卡二卡三在线观看| 日本在线成人| 色婷婷综合久久久久中文一区二区 | 欧美多人爱爱视频网站| 欧美久久久久久久久久久| 亚洲人体视频| 五月激情六月综合| 国产又粗又大又爽的视频| 国产一级片在线| 不卡免费追剧大全电视剧网站| 国产精品久久久久免费a∨大胸| 精品午夜福利在线观看| 99精品小视频| 在线播放精品一区二区三区 | 精品人妻在线播放| 97人人精品| 亚洲色图五月天| 中文字幕在线播放视频| 欧美一区 二区 三区| 亚洲精品免费视频| 视频一区二区三| 亚洲毛片在线播放| 国产一区二区美女诱惑| 国产日韩欧美在线看| 中文字幕日韩免费| 99成人在线| 欧美人在线视频| 久久久久久久免费| 日韩精品免费播放| 免费高潮视频95在线观看网站| 一区二区高清免费观看影视大全 | 日韩黄色片网站| 影音先锋国产精品| 欧美黑人xxxⅹ高潮交| 国产精品久久免费观看| 亚洲老女人视频免费| 欧美一区二区女人| 男人的天堂日韩| av福利在线导航| 亚洲欧美日韩系列| 一区二区不卡在线视频 午夜欧美不卡' | 国产综合内射日韩久| 亚洲乱码一区| 精品国产电影一区二区| 女同性αv亚洲女同志| 少妇一区视频| 欧美日韩国产精品自在自线| 欧美日韩一区二区三区69堂| 日韩电影网站| 青春草在线视频| 国产一区二区在线视频| 国产精品专区一| 亚洲av中文无码乱人伦在线视色| 国产精品呻吟| 国产精品激情自拍| 一级片在线观看视频| 激情欧美一区二区三区在线观看| 国产日韩在线精品av| 国产三级三级在线观看| 丁香婷婷综合激情五月色| 3d动漫啪啪精品一区二区免费| 国产黄a三级三级看三级| 国产sm精品调教视频网站| 国产精品久久精品视| 午夜在线视频免费| 91视频精品在这里| 亚洲免费视频一区| 中文字幕有码在线视频| 一区二区三区四区激情| 男女激情无遮挡| 播放一区二区| 欧美一区二区免费视频| 久久精品无码一区二区三区毛片| 国产亚洲高清一区| 欧美v亚洲v综合ⅴ国产v| 无码人妻精品一区二区三区温州| 成人精品视频| 日韩在线视频观看| 泷泽萝拉在线播放| 日本女优一区| 久久久久久中文| 日韩xxx视频| 高清久久久久久| 日本精品一区二区三区视频 | 色爱av美腿丝袜综合粉嫩av| 久久久久黄色片| 五月婷婷丁香六月| 成人在线免费视频观看| 视频在线一区二区| 国产精品suv一区二区| 久久av在线| 91亚洲精品一区| 欧美一区二区在线观看视频| 99麻豆久久久国产精品免费优播| 亚洲狠狠婷婷综合久久久| 精品自拍一区| 欧美性xxxx在线播放| 欧美性猛交xxx乱久交| 中文字幕亚洲在线观看| 日韩中文综合网| 中文字幕第四页| 精品一区二区三区在线播放 | 久久精品国产亚洲AV无码麻豆| 日日骚欧美日韩| 国产欧美日韩亚洲| 久草在线青青草| 亚洲第一激情av| 亚洲欧美日本一区二区| 国产精品一线天粉嫩av| 久久久久久久久中文字幕| 一级成人免费视频| 91国内精品| 国产精品国产三级国产有无不卡 | 国产午夜福利在线播放| 韩国一区二区三区视频| 亚洲欧美国产精品久久久久久久| 中文字幕求饶的少妇| 久久久久网站| 97碰碰视频| 国产传媒在线播放| 欧美日韩美少妇| 女人又爽又黄免费女仆| 亚洲精品色图| 51国偷自产一区二区三区| 三级在线播放| 国产宾馆实践打屁股91| 亚洲国产成人91porn| 18岁网站在线观看| 4438全国亚洲精品观看视频| 久久伊人色综合| 中文字幕免费播放| 麻豆成人在线| 96成人在线视频| 日本在线播放| 欧美猛男超大videosgay| 中文字幕欧美激情极品| 日本在线不卡视频| 亚洲欧美丝袜| 国产免费av国片精品草莓男男| 深夜福利91大全| 成人一级免费视频| 国产欧美日韩在线| 色播五月激情五月| 日韩电影不卡一区| 久久人人爽人人爽爽久久| 一炮成瘾1v1高h| 亚洲日本在线天堂| 中文字幕久久久久久久| 国产一区亚洲| 夜夜嗨av色一区二区不卡| 欧美三级网色| 怡红院在线观看| 欧美一二三四在线| 欧美黄色免费观看| 岛国精品在线观看| 国产手机免费视频| 国产精品x8x8一区二区| 91av在线不卡| 黄色av网址在线| 色屁屁一区二区| 中文字幕精品亚洲| 紧缚奴在线一区二区三区| 亚洲综合首页| gogo久久日韩裸体艺术| 欧美亚洲国产日韩2020| 日日躁夜夜躁白天躁晚上躁91| 婷婷成人综合网| 最近中文字幕无免费| 久久深夜福利| 亚洲av首页在线| 红杏aⅴ成人免费视频| 国产91在线视频| 成人免费视屏| 精品偷拍一区二区三区在线看| 波多野结衣视频观看| 亚洲精品videosex极品| 日本高清www| 紧缚奴在线一区二区三区| 黄色一级片av| 粉嫩精品导航导航| 国产乱肥老妇国产一区二| 免费毛片在线看片免费丝瓜视频 | 欧美极品欧美精品欧美视频| 日韩资源在线| 91精品国产福利| 天堂在线免费观看视频| 亚洲欧洲无码一区二区三区| 欧美精品欧美极品欧美激情| 久久99九九99精品| 欧美日韩第二页| 国内精品美女在线观看| 日产精品久久久一区二区| 91成人噜噜噜在线播放| 国产精品一区二区三区久久久| 日本色护士高潮视频在线观看 | 国产91精品久久久久| 国产一二区在线| 欧美午夜一区二区福利视频| 日本免费在线精品| 亚洲综合影视| 日韩精品免费在线| 国产毛片毛片毛片毛片毛片| 欧美午夜性色大片在线观看| 美女福利视频在线观看| 国产亚洲欧美一区在线观看| 性生交大片免费看l| 视频在线观看91| 精品无码国模私拍视频| 欧美另类69xxxxx| 狠狠综合久久av| 日本免费成人| 国产精品男人爽免费视频1| 在线视频超级| 久久人人爽人人| 色www永久免费视频首页在线| 日韩av在线免费观看| 亚洲免费成人网| 欧美视频一二三区| 美日韩一二三区| 洋洋av久久久久久久一区| 51精品免费网站| a亚洲天堂av| 中文字幕一区二区三区乱码不卡| 久久国产福利| heyzo国产| 99国产精品99久久久久久粉嫩| 五月天在线免费视频| 久久久久免费av| 亚洲第一综合网站| 91精品国产福利在线观看麻豆| 国产伦精品一区二区三区在线 | 日韩国产一级片| 狠色狠色综合久久| 成年在线观看视频| 欧美伊人影院| 黄色a级在线观看| 青青草原综合久久大伊人精品| 日韩欧美电影一区二区| 欧美日韩国产免费观看视频| 久久综合入口| 欧美美女在线观看| 免费在线国产精品| 国产免费播放一区二区| 欧美精品成人一区二区在线观看 | 精品视频无码一区二区三区| 99成人在线| 三级4级全黄60分钟| 日韩精品三区四区| 日本精品一区二区三区四区| 亚洲免费激情| 日韩中文字幕二区| 精品一区二区免费看| 嫩草视频免费在线观看| 国产乱人伦精品一区二区在线观看 | 97久久综合区小说区图片区| 国产精品久久一区| 伊人久久大香伊蕉在人线观看热v| 国产精品美乳在线观看| 国产成+人+综合+亚洲欧美| 91精品国产综合久久香蕉922| 日本精品裸体写真集在线观看| 国产成人精品免费视频| 国产精品国产亚洲精品| 国产精品成人观看视频免费| 色狠狠久久av综合| 日韩aⅴ视频一区二区三区| 欧美激情欧美| 加勒比海盗1在线观看免费国语版| 综合在线视频| 国产一区二区视频播放| 麻豆视频观看网址久久| 亚洲欧美激情一区二区三区| 91蜜桃网址入口| 久久精品在线观看视频| 亚洲免费看黄网站| 亚洲日本韩国在线| 欧美乱妇一区二区三区不卡视频| wwwxxxx国产| 亚洲欧美综合图区| 日韩三级免费| 国产精品久久久久一区二区| 日韩高清二区| 色噜噜狠狠色综合网| 综合视频在线| 一区二区三区 欧美| 国产精品白丝av| 中文字幕免费高清| **欧美大码日韩| 黄色一级大片在线免费看国产一| 久久丁香四色| 91在线视频成人| 国产激情综合| 免费在线成人av| 欧美日韩一区二区高清| 粉色视频免费看| 不卡的日韩av| 日韩av中文字幕在线免费观看| 免费看a在线观看| 欧美中文在线字幕| 老司机精品在线| 97碰在线视频| 韩国v欧美v亚洲v日本v| 婷婷丁香综合网| 欧美日本一区二区三区四区 | 精品一区二区无码| 日韩成人在线网站| sis001亚洲原创区| 国产91精品一区二区绿帽| 欧美+日本+国产+在线a∨观看| 天堂网在线免费观看| 国产精品天美传媒沈樵| www.久久久久久久| 亚洲图中文字幕| 欧美第一视频| 色爱区成人综合网| 校园春色综合网| 黄色aaa视频| 欧美在线观看一区| 免费黄色在线| 91精品婷婷国产综合久久蝌蚪| 欧美精品观看| 国产精品一区二区在线免费观看| 亚洲一区二区五区| 韩国中文字幕hd久久精品| 91精品国产91久久久久久吃药| 日韩欧美在线精品| 宅男噜噜噜66国产免费观看| 中文字幕av一区二区三区| 中文字幕av免费观看| www.99久久热国产日韩欧美.com| 国产一区二区三区国产精品| 男人的天堂avav| 99久久夜色精品国产网站| 久久久久女人精品毛片九一| 国产午夜精品视频| 成人在线视频免费看| 欧美性受黑人性爽| 99久久精品久久久久久清纯| 亚洲成熟少妇视频在线观看| 国产亚洲成av人片在线观看桃| 自拍偷自拍亚洲精品被多人伦好爽 | 日韩av在线电影网| 日本.亚洲电影| 老司机午夜网站| 97久久人人超碰| 伊人久久久久久久久久久久 | 午夜羞羞小视频在线观看| 亚洲r级在线观看| 激情综合久久| 国产农村妇女精品一区| 精品久久久久久久久久久久包黑料| 美女露胸视频在线观看| 亚洲一区二区三区色| 蜜桃视频污在线观看 | 青青草手机在线| 国产精品美女视频网站| 日韩欧美不卡| 亚洲成av人片在线观看无| 欧美性猛交xxxx乱大交蜜桃| 亚洲精品承认| 乱一区二区三区在线播放| 久久99精品国产.久久久久|