compute_class_weight#

sklearn.utils.class_weight.compute_class_weight(class_weight, *, classes, y)#

估计不平衡数据集的类权重。

Parameters:
class_weightdict, “balanced” 或 None

如果为 “balanced”,类权重将由 n_samples / (n_classes * np.bincount(y)) 给出。 如果给定一个字典,键是类,值是对应的类权重。 如果给定 None ,类权重将是均匀的。

classesndarray

数据中出现的类的数组,由 np.unique(y_org) 给出,其中 y_org 是原始类标签。

y形状为 (n_samples,) 的类数组

每个样本的原始类标签数组。

Returns:
class_weight_vect形状为 (n_classes,) 的 ndarray

数组,其中 class_weight_vect[i] 是第 i 类的权重。

References

“balanced” 启发式算法灵感来自 Logistic Regression in Rare Events Data, King, Zen, 2001.

Examples

>>> 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])