为了“方便”,我尝试使用 sklearn.utils.class_weight,compute_class_weight 函数
但是,我收到“类应包含 y 中可能存在的所有有效标签”错误;尽管如此,我 100% 确定我给出了所有的类别标签。
print(np.unique('y_train'), ' classes in training set')
>>> 86 classes in training set
Run Code Online (Sandbox Code Playgroud)
所以这工作没有问题;采取镜头:
print(len(y_train), 'train samples')
>>> 6914 train samples
Run Code Online (Sandbox Code Playgroud)
只是为了确定形状:
y_train.shape
>>> (6914, 1)
Run Code Online (Sandbox Code Playgroud)
所以是的,我有一个训练样本向量;我知道四五个班级完全主导了其余的班级,所以我想增加一些班级的权重。
from sklearn.utils.class_weight import compute_class_weight
class_weights = compute_class_weight('balanced', classes = np.unique(y_train), y = y_train)
>>> ValueError: classes should include all valid labels that can be in y
Run Code Online (Sandbox Code Playgroud)
我在这里。这里有什么问题吗?