2016-04-08 26 views
0

我的数据集有两个类。无兴趣者占90%,兴趣类约占10%。针对一个类的分类精度优化?

我已经完成了重采样,不仅是一次,而且是一组平衡集(例如10组)。并做大多数投票来得到最终的预测结果。经过比较许多模型,树给出最好的结果。而且我已经根据重要性分数选出了最重要的功能。

整体准确度并不差,75%,但对我感兴趣的班的精度只有30%,这并不好。如何对目标类的精度进行优化?我认为R中ctree包的算法是对整体精度进行优化。我也尝试过像svm这样的一流分类,但并不好。顺便说一句,我用R和Python都。但是我没有找到关于我的问题的任何相关软件包。我是否需要编写我自己的树算法来优化该类的精度?谢谢。

回答

0

有很多的模型,让你有能力重量类。这通常比仅仅过采样更好,因为它直接交替目标,而不是人为地把模型变为超重。如果你使用python,并且像基于树的方法一样,scikit-learn中的Random Forest具有class-weight功能,只要不能获得所需的精度,就简单地超重你的少数类。

+0

但是一般来说,加权类和重采样一样吗?所以我跳过过采样步骤,直接在我的不平衡数据集上建立模型,并添加权重? –

+0

不,重新采样倾斜,不应该用于支持加权的模型。他们是相似的,但不一样。欠采样是加权的近似值,但只是近似值。基本形式的过采样也只是粗略地近似(特别是对于某些迭代方法),并且一些过采样器通过引入人造样本来做更多的事情 – lejlot