同質性、完整性和 V 值度量#
- sklearn.metrics.homogeneity_completeness_v_measure(labels_true, labels_pred, *, beta=1.0)[原始碼]#
一次計算同質性、完整性和 V 值度量分數。
這些指標基於叢集標籤的標準化條件熵度量,以評估已知相同樣本的真實類別標籤。
如果叢集的所有叢集僅包含屬於單一類別的資料點,則叢集結果滿足同質性。
如果給定類別的所有資料點都是同一叢集的元素,則叢集結果滿足完整性。
兩個分數都有介於 0.0 和 1.0 之間的正值,較大的值較佳。
這 3 個指標與標籤的絕對值無關:類別或叢集標籤值的置換不會以任何方式變更分數值。
V-Measure 此外是對稱的:交換
labels_true
和label_pred
會得到相同的分數。均勻性 (homogeneity) 和完整性 (completeness) 則不具備此特性。V-Measure 等同於使用算術平均方法的normalized_mutual_info_score
。請參閱使用者指南以了解更多資訊。
- 參數:
- labels_true形狀為 (n_samples,) 的類陣列 (array-like)
作為參考的真實類別標籤。
- labels_pred形狀為 (n_samples,) 的類陣列 (array-like)
要評估的群集標籤。
- beta浮點數,預設值為 1.0
賦予
homogeneity
與completeness
的權重比例。如果beta
大於 1,則在計算中completeness
的權重較大。如果beta
小於 1,則homogeneity
的權重較大。
- 回傳值:
- homogeneity浮點數
分數介於 0.0 和 1.0 之間。1.0 代表完全均勻的標籤。
- completeness浮點數
分數介於 0.0 和 1.0 之間。1.0 代表完全完整的標籤。
- v_measure浮點數
前兩個值的調和平均數。
範例
>>> 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...))