我正在处理大约 30 个类别的多类分类问题。
这个问题有严重的类不平衡:
- 最不常见的类大约有 300 个示例。
- 最常见的类大约有 100k 个示例。
我不希望分类模型是虚拟的并预测大多数示例中最常见的类,因此,我class_weight='balanced'在我LogisticRegression的 from sklearn 中使用。但是,在这种情况下,算法预测的类大多是频率较低的类。我理解模型以某种方式过度拟合它们,因为它为这些类中的每个样本分配了非常高的权重。
另一方面,如果我不应用类别权重,模型会预测最常见的类别。
有没有办法解决这个问题?有没有办法确保模型预测每个类别的样本比例大致相同?