我正在处理一个多类问题和不平衡的数据。我正在努力寻找一种算法,可以很好地预测每一个班与蟒蛇(滑雪和熊猫)。我的数据集包含: 620行,12列,是不平衡的:
类别0: 47,3%,1: 10,5%,2: 9%,3: 8,6%我试着提高1,2,3类,训练不同的算法,但最好的f1加权评分仅为58%。
我还试着降低0级的样本,并训练同样的算法,但是最好的f1加权分数是40%。单打独斗的方法不太管用。
我训练的算法是:
K近邻Logistic回归(求解者=‘凹陷’)随机森林Adaboost SVM如何提高模型的精度?是否需要更改模型,还是更改有关不平衡数据集的其他内容?
发布于 2021-07-19 12:28:13
我相信您的数据集大小对于12个类来说太小了,其中一些类的表示不够,因此您的模型可以区分它们。
您可以在相关模型的损失函数中为表示较少的类赋予更多的权重。
或者,您可以应用两步方法(不确定它是否是最佳的)。这意味着你可以预测1类或2,3,4类或其他类。然后,可以训练额外的分类器子模型。在这种情况下,您将有3个不同的模型来优化。下面是两个步骤方法的示例(当然,对于完全不同的用例):https://github.com/koaning/scikit-lego/blob/main/sklego/meta/zero_充气_regressor.py
https://datascience.stackexchange.com/questions/98052
复制相似问题