Machine learning 对于任何分类算法,我们如何修改训练数据集以在少数类上获得更好的精度?

Machine learning 对于任何分类算法,我们如何修改训练数据集以在少数类上获得更好的精度?,machine-learning,classification,Machine Learning,Classification,在许多培训数据集中,类分布是倾斜的,即一个类非常频繁,例如95%,而另一个类很少,例如5%。在这样的应用中,将所有测试用例分配给多数类的朴素分类器可以实现非常高的精度。然而,朴素分类器并不预测少数类的任何情况,尽管它通常比多数类更重要 那么,是否有任何方法可以通过修改训练数据集来提高少数类的准确性?还是我们也必须修改分类算法 有很多方法。您可以向上采样miority类,向下采样多数,基于损失进行一些加权,或其他一些度量。由于您已经将您的帖子标记为与TF相关,我建议您查看Keras的重要性采样,它

在许多培训数据集中,类分布是倾斜的,即一个类非常频繁,例如95%,而另一个类很少,例如5%。在这样的应用中,将所有测试用例分配给多数类的朴素分类器可以实现非常高的精度。然而,朴素分类器并不预测少数类的任何情况,尽管它通常比多数类更重要


那么,是否有任何方法可以通过修改训练数据集来提高少数类的准确性?还是我们也必须修改分类算法

有很多方法。您可以向上采样miority类,向下采样多数,基于损失进行一些加权,或其他一些度量。由于您已经将您的帖子标记为与TF相关,我建议您查看Keras的重要性采样,它有一些现成的包装,您可以在模型周围放置

这是不平衡分类的问题。以下是用于处理不平衡数据集的方法

1.欠采样 2.过采样 3.合成数据生成 4.对成本敏感的学习

1.欠采样

此方法适用于大多数类。它减少了大多数类的观察次数,以使数据集保持平衡。此方法最适合在数据集庞大时使用,减少训练样本数有助于改善运行时间和存储问题。 欠采样方法有两种:随机和信息型

过采样 此方法适用于少数类。它复制少数群体的观察结果,以平衡数据。它也称为上采样。与欠采样类似,该方法也可分为两种类型:随机过采样和信息过采样

合成数据生成 简单地说,它不是复制和添加少数群体的观察结果,而是通过生成人工数据来克服不平衡。这也是一种过采样技术

在合成数据生成方面,合成少数过采样技术SMOTE是一种功能强大且应用广泛的方法。SMOTE算法基于特征空间而不是少数样本的数据空间相似性创建人工数据。我们也可以说,它生成了一组随机的少数类观察值,从而将分类器的学习偏向转向少数类

成本敏感学习 它是处理不平衡数据分类问题的另一种常用方法。这是一种有趣的方法。简单地说,该方法评估与错误分类观察相关的成本。 它不会创建平衡的数据分布。相反,它通过使用成本矩阵强调了不平衡学习问题,该矩阵描述了特定场景中误分类的成本。最近的研究表明,成本敏感学习的性能比抽样方法好很多倍。因此,该方法为抽样方法提供了一种可能的替代方法

要在R中构建这些,请参阅链接