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

Python 在机器学习(二进制分类)中处理数据的最佳技巧?,python,validation,csv,machine-learning,scikit-learn,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 你能给我推荐一些方法(某种噪音消除)来预

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

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

在traindata.csv中,“0”和“1”类标签的比率为5:1。 如果我用这整列数据训练我的模型,我的模型显示出预测0比1的一些偏差

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


你能给我推荐一些方法(某种噪音消除)来预处理我的列车数据,这样在预测我的测试数据时就不会偏向于0(因为它有相等的0和1)?

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

我建议采用平衡装袋分级机。如果你喜欢python,我推荐你。我真的不在乎你包什么,但树是一个很好的开始。这个包中有很多文档和其他方法


如果你想变得更花哨一点,你可以在任何类型的树方法中使用。标准树选择对类大小比率(即倾斜)敏感的分割点。海林格距离不是。我不知道python中有什么开源实现。

谢谢,但是你能推荐一些类似于“BalancedBaggingRegressionor”的东西吗?比如你在im使用回归模型时提供的链接??你提到了类标签,所以你在做分类。如果你有足够多的类并且它们是有序的,那么这和回归是一样的。如果是这样的话,那我就没有什么可以给你的了。我不知道有任何关于目标维度训练活动密度的研究。我建议你改写你的问题。使其更正式,并尝试使用技术术语。现有的代码也会有所帮助。您使用的是什么模型?我使用的是“XGBRegressionor”,我只有两个类标签“0”和“1”。我的训练数据是如此糟糕,正如我上面所描述的。所以我想给出类似class_weight=“balance”的东西,所以我要求“BalancedBaggingRegressor”,我重复一遍。如果你有两个类,你在做分类而不是回归。ie尝试预测1或0,而不是范围(0,1)内的一个点尝试sklearn.ensemble.GradientBoostingClassificatedly,我在做一个kaggle竞赛,根据auc分数给出结果,所以我也可以提交预测概率,这样我就可以获得好的auc分数。这就是为什么我使用XGBRegressionor。