我有分类问题的数据集。我总共上了50节课。
Class1: 10,000 examples
Class2: 10 examples
Class3: 5 examples
Class4: 35 examples
.
.
.
and so on.我尝试用支持向量机(线性核和高斯核)训练分类器。在测试数据上,我的准确率分别是65 %和72%。现在我在考虑一个神经网络。你对大型不平衡数据的机器学习模型和算法有什么建议吗?这对我会有很大帮助
发布于 2016-05-22 13:48:53
您应该提供有关数据集特性和类分布的更多信息,这将有助于其他人向您提供建议。无论如何,我不认为神经网络适合这里,因为这个数据集太小了。
假设50%或更多的样本属于1类,那么我首先要寻找一个分类器来区分1类和非1类样本(二进制分类)。该分类器的性能应该优于朴素分类器(benchmark),后者随机选择一个与训练集类分布相对应的分类。例如,假设有1000个样本,其中700个属于第一类,那么基准分类器将一个新样本分类为1类,概率为700 /1000=0.7(就像抛硬币一样)。
一旦你找到了一个精度很高的分类器,下一个阶段可以是将非第一类分类样本分类为其他49个类别之一,假设这些分类比RF、NB和KNN更平衡。
发布于 2022-09-02 06:06:48
有多种处理不平衡数据集的方法,您可以尝试
我建议要么进行抽样,要么提供等级权重来平衡。
你应该考虑一下你的性能指标,不要用准确性评分作为你的性能指标,你可以使用日志丢失或任何其他合适的度量
https://machinelearningmastery.com/failure-of-accuracy-for-imbalanced-class-distributions/
发布于 2016-05-22 13:32:44
根据我的经验,处理不平衡班级最成功的方法是:
感觉被邀请去测试不同的方法组合,例如随机搜索算法。
https://stackoverflow.com/questions/37370011
复制相似问题