在机器学习(二进制分类)中处理数据的最佳技巧?

时间:2017-11-03 21:53:44

标签: python validation csv machine-learning scikit-learn

我是机器学习的新手,如果我笨,请原谅我。 我有一个traindata.csv文件,包含22个属性和30000个数据点。

我必须训练我的模型(不是特定算法)并预测testdata.csv文件中的20000个数据点,我必须使用我训练过的模型进行预测。

在traindata.csv中,'0'和'1'类标签的比例为5:1。 如果我使用整个列车数据训练我的模型,我的模型显示出预测0比1的偏差。

我知道我的测试数据中的实际值是0和1的比例为1:1。

你能否建议我使用某种方法(某种类型的噪音消除)来预处理我的列车数据,以便在预测我的测试数据时(因为它等于0和1)不会偏向0?

1 个答案:

答案 0 :(得分:1)

这是一个称为"不平衡分类的经典问题"

我建议使用平衡套袋分类器。如果你喜欢python我会推荐this。我真的不重要你的东西,但树木是一个很好的起点。这个包中有很多文档和其他方法。

如果你想更加喜欢,你可以在任何类型的树方法中使用Hellinger distance。标准树选择对类大小比例(即倾斜)敏感的分裂点。海林格距离不是。我不知道python中的开源实现。