在许多训练数据集中,班级分布是倾斜的,即一类非常频繁(例如95%),而另一类很少(例如5%)。在这样的应用程序中,将所有测试用例分配给多数类的朴素分类器实现了非常高的准确性。但是,朴素的分类器不能预测少数群体的任何情况,尽管它通常比多数群体更为重要。
那么,有什么方法可以通过修改训练数据集来提高少数族裔班级的准确性?还是我们也必须修改分类算法?
答案 0 :(得分:1)
这是不平衡分类的问题。以下是用于处理不平衡数据集的方法。
1。欠采样 2.过采样 3,综合数据生成 4.成本敏感型学习
1。欠采样
此方法适用于多数类。它减少了多数类的观察次数,以使数据集平衡。当数据集很大时,最好使用此方法,减少训练样本的数量有助于缩短运行时间和存储麻烦。 欠采样方法有两种:随机和信息性。
此方法适用于少数群体。它复制少数族裔的观察结果以平衡数据。这也称为上采样。与欠采样类似,该方法也可以分为两种类型:随机过采样和信息过采样。
用简单的话来说,它不是复制和添加少数群体的观察结果,而是通过生成人工数据来克服不平衡现象。这也是一种过采样技术。
关于合成数据生成,合成少数采样技术(SMOTE)是一种功能强大且广泛使用的方法。 SMOTE算法基于少数样本的特征空间(而非数据空间)相似性创建人工数据。我们也可以说,它会生成一组随机的少数族裔观察值,以将分类器的学习偏向转向少数族裔。它不会创建平衡的数据分布。相反,它通过使用成本矩阵来突出显示不平衡的学习问题,该成本矩阵描述了特定情况下错误分类的成本。最近的研究表明,成本敏感型学习的性能比抽样方法好很多倍。因此,该方法可能是采样方法的替代方法。
要在R中构建它们,请参考链接https://www.analyticsvidhya.com/blog/2016/03/practical-guide-deal-imbalanced-classification-problems/
答案 1 :(得分:0)
有很多方法。您可以对少数族裔类别进行升采样,对多数群体进行降采样,基于损失进行加权或采取其他措施。当您标记了与TF相关的帖子后,建议您查看Keras的重要性采样,the Tcler's Wiki on this可以随时使用模型中的包装器。