【问题标题】:How to deal with frequent classes?如何应对频繁上课?
【发布时间】:2013-07-17 07:56:06
【问题描述】:

我正在 Weka 中处理一项分类任务,但遇到的问题是我的类要预测的值非常频繁(大约 85%)。这导致许多学习算法只是为新数据集预测此类的这个频繁值。

我该如何处理这个问题?这是否只是意味着我没有找到能够很好地预测更好的东西的功能?或者我可以做些什么来解决这个问题?

我想这是一个很常见的问题,但我无法在这里找到解决方案。

【问题讨论】:

标签: machine-learning data-mining classification weka supervised-learning


【解决方案1】:

您需要“SMOTE”您的数据。首先弄清楚您还需要多少个少数案例。就我而言,我想获得大约 50/50 的比率,所以我需要过度采样 1300%。如果您使用的是 GUI,本教程将有所帮助:http://www.youtube.com/watch?v=w14ha2Fmg6U 如果您使用 Weka 从命令行执行此操作,则以下命令将助您一臂之力:

#Weka 3.7.7
java weka.Run -no-scan weka.filters.supervised.instance.SMOTE \
-c last -K 25 -P 1300.0 -S 1 -i input.arff  -o  output.arff

-K 选项是在 smoting 数据时要考虑的邻居数。默认值为 5,但 25 最适合我的数据集。

【讨论】:

  • 谢谢!作为解决方案的补充:元分类器 FilteredClassifier 有助于这样做(meta/FilteredClassifier)。尤其是在尝试需要多少过采样(必须添加多少人工数据集)时。
猜你喜欢
  • 2012-01-30
  • 2015-05-05
  • 1970-01-01
  • 2011-04-17
  • 1970-01-01
  • 2021-04-21
  • 1970-01-01
  • 1970-01-01
  • 2020-09-20
相关资源
最近更新 更多