
python實現(xiàn)六大分群質量評估指標(蘭德系數(shù)、互信息、輪廓系數(shù))
1 R語言中的分群質量——輪廓系數(shù)
因為先前慣用R語言,那么來看看R語言中的分群質量評估,節(jié)選自筆記︱多種常見聚類模型以及分群質量評估(聚類注意事項、使用技巧):
沒有固定標準,一般會3-10分群?;蛘哂靡恍┲笜嗽u價,然后交叉驗證不同群的分群指標。
一般的指標:輪廓系數(shù)silhouette(-1,1之間,值越大,聚類效果越好)(fpc包),蘭德指數(shù)rand;R語言中有一個包用30種方法來評價不同類的方法(NbClust),但是速度較慢
商業(yè)上的指標:分群結果的覆蓋率;分群結果的穩(wěn)定性;分群結果是否從商業(yè)上易于理解和執(zhí)行
輪廓系數(shù)旨在將某個對象與自己的簇的相似程度和與其他簇的相似程度進行比較。輪廓系數(shù)最高的簇的數(shù)量表示簇的數(shù)量的最佳選擇。
一般來說,平均輪廓系數(shù)越高,聚類的質量也相對較好。在這,對于研究區(qū)域的網格單元,最優(yōu)聚類數(shù)應該是2,這時平均輪廓系數(shù)的值最高。但是,聚類結果(k=2)的 SSE 值太大了。當 k=6 時,SEE 的值會低很多,但此時平均輪廓系數(shù)的值非常高,僅僅比 k=2 時的值低一點。因此,k=6 是最佳的選擇。
2 python中的分群質量
主要參考來自官方文檔:Clustering
部分內容來源于:機器學習評價指標大匯總
個人比較偏好的三個指標有:Calinski-Harabaz Index(未知真實index的模型評估)、Homogeneity, completeness and V-measure(聚類數(shù)量情況)、輪廓系數(shù)
1.1 Adjusted Rand index 調整蘭德系數(shù)
>>> from sklearn import metrics
>>> labels_true = [0, 0, 0, 1, 1, 1]
>>> labels_pred = [0, 0, 1, 1, 2, 2]
>>> metrics.adjusted_rand_score(labels_true, labels_pred)
0.24
1.2 Mutual Information based scores 互信息
Two different normalized versions of this measure are available, Normalized Mutual Information(NMI) and Adjusted Mutual Information(AMI). NMI is often used in the literature while AMI was proposed more recently and is normalized against chance:
>>> from sklearn import metrics
>>> labels_true = [0, 0, 0, 1, 1, 1]
>>> labels_pred = [0, 0, 1, 1, 2, 2]
>>> metrics.adjusted_mutual_info_score(labels_true, labels_pred)
0.22504
1.3 Homogeneity, completeness and V-measure
同質性homogeneity:每個群集只包含單個類的成員。
完整性completeness:給定類的所有成員都分配給同一個群集。
>>> from sklearn import metrics
>>> labels_true = [0, 0, 0, 1, 1, 1]
>>> labels_pred = [0, 0, 1, 1, 2, 2]
>>> metrics.homogeneity_score(labels_true, labels_pred)
0.66...
>>> metrics.completeness_score(labels_true, labels_pred)
0.42...
兩者的調和平均V-measure:
>>> metrics.v_measure_score(labels_true, labels_pred)
0.51...
1.4 Fowlkes-Mallows scores
The Fowlkes-Mallows score FMI is defined as the geometric mean of the pairwise precision and recall:
>>> from sklearn import metrics
>>> labels_true = [0, 0, 0, 1, 1, 1]
>>> labels_pred = [0, 0, 1, 1, 2, 2]
>>>
>>> metrics.fowlkes_mallows_score(labels_true, labels_pred)
0.47140...
1.5 Silhouette Coefficient 輪廓系數(shù)
>>> import numpy as np
>>> from sklearn.cluster import KMeans
>>> kmeans_model = KMeans(n_clusters=3, random_state=1).fit(X)
>>> labels = kmeans_model.labels_
>>> metrics.silhouette_score(X, labels, metric='euclidean')
...
0.55...
1.6 Calinski-Harabaz Index
這個計算簡單直接,得到的Calinski-Harabasz分數(shù)值ss越大則聚類效果越好。Calinski-Harabasz分數(shù)值ss的數(shù)學計算公式是:
也就是說,類別內部數(shù)據的協(xié)方差越小越好,類別之間的協(xié)方差越大越好,這樣的Calinski-Harabasz分數(shù)會高。
在scikit-learn中, Calinski-Harabasz Index對應的方法是metrics.calinski_harabaz_score.
在真實的分群label不知道的情況下,可以作為評估模型的一個指標。
同時,數(shù)值越小可以理解為:組間協(xié)方差很小,組與組之間界限不明顯。
與輪廓系數(shù)的對比,筆者覺得最大的優(yōu)勢:快!相差幾百倍!毫秒級
>>> import numpy as np
>>> from sklearn.cluster import KMeans
>>> kmeans_model = KMeans(n_clusters=3, random_state=1).fit(X)
>>> labels = kmeans_model.labels_
>>> metrics.calinski_harabaz_score(X, labels)
560.39...
數(shù)據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關鍵? 在循環(huán)神經網絡(RNN)家族中,長短期記憶網絡(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據分析師報考條件詳解與準備指南? ? 在數(shù)據驅動決策的時代浪潮下,CDA 數(shù)據分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據透視表中兩列相乘合計的實用指南? 在數(shù)據分析的日常工作中,數(shù)據透視表憑借其強大的數(shù)據匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據分析師:連接數(shù)據與業(yè)務的價值轉化者? ? 在大數(shù)據與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預測分析中的應用:從數(shù)據查詢到趨勢預判? ? 在數(shù)據驅動決策的時代,預測分析作為挖掘數(shù)據潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據查詢結束后:分析師的收尾工作與價值深化? ? 在數(shù)據分析的全流程中,“query end”(查詢結束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據分析師考試:從報考到取證的全攻略? 在數(shù)字經濟蓬勃發(fā)展的今天,數(shù)據分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據背后的時間軌跡? 在數(shù)據分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據類型:時間維度的精準切片? ? 在數(shù)據的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據分析中的核心應用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據分析師認證考試中,Python 作為數(shù)據處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據趨勢與突變分析的有力工具? ? ? 在數(shù)據分析的廣袤領域中,準確捕捉數(shù)據的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據分析師認證作為國內權威的數(shù)據分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應對策略? 長短期記憶網絡(LSTM)作為循環(huán)神經網絡(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學方法在市場調研數(shù)據中的深度應用? 市場調研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學方法則是市場調研數(shù) ...
2025-07-07CDA數(shù)據分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當下,數(shù)據已成為企業(yè)決策、行業(yè)發(fā)展的核心驅動力,數(shù)據分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據分析師考試作為衡量數(shù)據專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉日期:解鎖數(shù)據處理的關鍵技能? 在數(shù)據處理與分析工作中,數(shù)據格式的規(guī)范性是保證后續(xù)分析準確性的基礎 ...
2025-07-04CDA 數(shù)據分析師視角:從數(shù)據迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據已成為企業(yè)決策的核心驅動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據分析師:開啟數(shù)據職業(yè)發(fā)展新征程? ? 在數(shù)據成為核心生產要素的今天,數(shù)據分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03