同質性、完整性和 V 值度量#

sklearn.metrics.homogeneity_completeness_v_measure(labels_true, labels_pred, *, beta=1.0)[原始碼]#

一次計算同質性、完整性和 V 值度量分數。

這些指標基於叢集標籤的標準化條件熵度量,以評估已知相同樣本的真實類別標籤。

如果叢集的所有叢集僅包含屬於單一類別的資料點,則叢集結果滿足同質性。

如果給定類別的所有資料點都是同一叢集的元素,則叢集結果滿足完整性。

兩個分數都有介於 0.0 和 1.0 之間的正值,較大的值較佳。

這 3 個指標與標籤的絕對值無關:類別或叢集標籤值的置換不會以任何方式變更分數值。

V-Measure 此外是對稱的:交換 labels_truelabel_pred 會得到相同的分數。均勻性 (homogeneity) 和完整性 (completeness) 則不具備此特性。V-Measure 等同於使用算術平均方法的 normalized_mutual_info_score

請參閱使用者指南以了解更多資訊。

參數:
labels_true形狀為 (n_samples,) 的類陣列 (array-like)

作為參考的真實類別標籤。

labels_pred形狀為 (n_samples,) 的類陣列 (array-like)

要評估的群集標籤。

beta浮點數,預設值為 1.0

賦予 homogeneitycompleteness 的權重比例。如果 beta 大於 1,則在計算中 completeness 的權重較大。如果 beta 小於 1,則 homogeneity 的權重較大。

回傳值:
homogeneity浮點數

分數介於 0.0 和 1.0 之間。1.0 代表完全均勻的標籤。

completeness浮點數

分數介於 0.0 和 1.0 之間。1.0 代表完全完整的標籤。

v_measure浮點數

前兩個值的調和平均數。

另請參閱

同質性分數

群集標籤的均勻性指標。

完整性分數

群集標籤的完整性指標。

V 值度量分數

V-Measure(使用算術平均選項的 NMI)。

範例

>>> from sklearn.metrics import homogeneity_completeness_v_measure
>>> y_true, y_pred = [0, 0, 1, 1, 2, 2], [0, 0, 1, 2, 2, 2]
>>> homogeneity_completeness_v_measure(y_true, y_pred)
(np.float64(0.71...), np.float64(0.77...), np.float64(0.73...))