compute_class_weight#

sklearn.utils.class_weight.compute_class_weight(class_weight, *, classes, y)[源代码]#

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

参数:
class_weight法令、“平衡”或无

如果“平衡”,类权重将由 n_samples / (n_classes * np.bincount(y)) .如果给出了字典,则键是类,值是相应的类权重。如果 None 是给定的,班级权重将是均匀的。

classesndarray

数据中出现的类的数组,如由 np.unique(y_org)y_org 原始的班级标签。

y形状类似阵列(n_samples,)

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

返回:
class_weight_vect形状的nd数组(n_classes,)

阵列与 class_weight_vect[i] i级的重量。

引用

“平衡”启发式的灵感来自罕见事件数据中的逻辑回归,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])