多类分类问题中的不平衡类

问题描述 投票:1回答:1

我正在尝试将TensorFlow的DNNClassifier用于4种不同类别的多类别(softmax)分类问题。我的数据集不平衡,分布如下:

  • 0级:14.8%
  • 1类:35.2%
  • 第2类:27.8%
  • 3类:22.2%

如何为每个类别分配DNNClassifier的weight_column的权重?我知道该如何编码,但是我想知道应该为每个类提供什么值。

tensorflow softmax multiclass-classification
1个回答
0
投票

您可以尝试以下公式来平衡所有类:

weight_for_class_X = total_samples_size / size_of_class_X / num_classes

例如:

num_CLASS_0: 10000   
num_CLASS_1: 1000
num_CLASS_2: 100

wgt_for_0 = 11100 / 10000 / 3 = 0.37
wgt_for_1 = 11100 / 1000 / 3 = 3.7
wgt_for_2 = 11100 / 100 / 3 = 37
© www.soinside.com 2019 - 2024. All rights reserved.