【问题标题】:SMOTE oversampling and cross-validationSMOTE 过采样和交叉验证
【发布时间】:2015-10-29 15:14:30
【问题描述】:

我正在研究 Weka 中的二元分类问题,该问题的数据集高度不平衡(一个类别占 90%,另一类别占 10%)。我首先将 SMOTE (http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a-html/node6.html) 应用于整个数据集以平衡类别,然后对新获得的数据进行 10 倍交叉验证。我发现(过度?)F1 的乐观结果约为 90%。

这是由于过采样造成的吗? 对应用了 SMOTE 的数据执行交叉验证是不好的做法吗? 有没有办法解决这个问题?

【问题讨论】:

    标签: machine-learning weka text-classification


    【解决方案1】:

    我认为你应该先在测试和训练上拆分数据,然后只在训练部分执行 SMOTE,然后在没有合成示例的数据集部分测试算法,这会给你一个更好地了解算法的性能。

    【讨论】:

    • 你无法想象有多少人做错了。我完全同意你的看法。
    【解决方案2】:

    根据我的经验,除以手工设置的数据不是处理这个问题的好方法。当您有1个数据集时,您应该在每种分类器上进行交叉验证,以便您的交叉验证的1倍折叠是您的测试SET_当您不应该在IT中实现SMOTE _并且您有9个其他折叠作为您的培训集您必须具有平衡数据集。在循环中重复此操作10次。那么你会得到比手动分割整个数据集更好的结果。

    很明显,如果您在测试和训练集上申请扫描,则您正在具有合成的测试集,它为您提供了高精度,实际上并不正确。

    【讨论】:

      猜你喜欢
      • 2019-10-02
      • 2019-07-27
      • 2019-10-27
      • 2018-06-30
      • 2020-08-29
      • 2018-09-05
      • 1970-01-01
      • 2023-03-17
      • 2019-05-24
      相关资源
      最近更新 更多