计算类别权重#
- sklearn.utils.class_weight.compute_class_weight(class_weight, *, classes, y)[source]#
- 估计不平衡数据集的类别权重。 - 参数:
- class_weight字典, “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 年发表的《Logistic Regression in Rare Events Data》。 - 示例 - >>> 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]) 
