compute_class_weight#
- sklearn.utils.class_weight.compute_class_weight(class_weight, *, classes, y)[原始碼]#
估計不平衡資料集的類別權重。
- 參數:
- class_weightdict, “balanced” 或 None
如果為 “balanced”,類別權重將由
n_samples / (n_classes * np.bincount(y))
給定。如果給定字典,則鍵為類別,值為對應的類別權重。如果給定None
,則類別權重將是均勻的。- classesndarray
資料中出現的類別陣列,由
np.unique(y_org)
給定,其中y_org
是原始類別標籤。- yarray-like,形狀為 (n_samples,)
每個樣本的原始類別標籤陣列。
- 返回:
- class_weight_vectndarray,形狀為 (n_classes,)
陣列,其中
class_weight_vect[i]
為第 i 個類別的權重。
參考文獻
“balanced” 啟發式方法靈感來自《稀有事件數據中的邏輯迴歸》,King, Zen, 2001。
範例
>>> import numpy as np >>> from sklearn.utils.class_weight import compute_class_weight >>> y = [1, 1, 1, 1, 0, 0] >>> compute_class_weight(class_weight="balanced", classes=np.unique(y), y=y) array([1.5 , 0.75])