sklearn.utils.class_weight.compute_sample_weight?

sklearn.utils.class_weight.compute_sample_weight(class_weight, y, *, indices=None)

源碼

對不平衡數據集按類別估計樣本的權重。

參數 說明
class_weight dict, list of dicts, “balanced”, or None, optional
與類相關的權重,格式為{class_label:weight}。 如果未給出,則所有類權重均為一。 對于多輸出問題,可以按與y列相同的順序提供字典列表。
請注意,對于多輸出(包括多標簽),應在其自己的字典中為每列的每個類定義權重。 例如,對于四類多標簽分類,權重應為[{0:1、1:1:1],{0:1、1:5},{0:1、1:1:1},{0:1、1: 1}],而不是[{1:1},{2:5},{3:1},{4:1}]。
“平衡”模式使用y的值來自動調整與輸入數據中與類頻率成反比的權重:n_samples /(n_classes * np.bincount(y))。
對于多輸出,y的每一列的權重將相乘。
y array-like of shape (n_samples,) or (n_samples, n_outputs)
每個樣本的原始類別標簽數組。
indices array-like, shape (n_subsample,), or None
子樣本中使用的索引數組。 對于子樣本,長度可以小于n_samples;對于具有重復索引的子樣本,長度可以等于n_samples。 如果沒有,則將在整個樣本中計算樣本重量。 如果提供了class_weight,則僅支持設置“ balanced”。
返回值 說明
sample_weight_vect ndarray, shape (n_samples,)
與應用于原始y的樣本權重相同的數組