使用KDD CUP 1998(python)避免过度拟合

时间:2015-07-27 09:55:18

标签: python machine-learning

我正在玩KDD CUP 1998数据集,我有几个问题,我希望有些人可以帮我回答。对于那些不熟悉这个数据集的人来说,它基本上是一个人员列表,他们是否捐赠给慈善机构(包括他们捐赠的金额)。

问题1: 数据集有大约95,000条记录,但只有5%属于1级(捐赠),其余为2级。在培训时如何处理这一问题以避免过度拟合?

问题2: 我想以两种方式解决这个问题。首先,确定谁将捐赠谁将不捐款(也许我将使用逻辑回归和随机森林分类器?)然后我想确定一个人捐赠多少..有关我可以尝试哪些方法的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:0)

1)https://stats.stackexchange.com/questions/20948/best-way-to-handle-unbalanced-multiclass-dataset-with-svm 任何现代ML lib都会对类/样本(sklearn for example)赋予权重,因此您可以在频率较低的类上惩罚错误。或者,您可以对数据进行重新采样,使其变得更加平衡(在集合中多次从较不频繁的类复制对象,或删除更频繁类的对象)。

2)只需在决策树上尝试不同的分类器,如SVM,RF,AdaBoost,并选择一个在测试集上获得最佳结果的分类器。