处理训练集和测试集分布同的方法(对抗训练)

https://www.kaggle.com/c/santander-value-prediction-challenge

在kaggle该题中,需要通过所给的匿名变量来预测target值

feature比较多,所以通过降维来查看训练集和测试集的分布情况

1.训练分类器划分测试集和训练集

我们把训练集的y设置成1,测试集的设置成0

通过feature训练一个分类器(我们当时采用了最简单的分类器逻辑回归),用于训练集和测试集的划分

通过改分类器我们可以得到样本是测试集的概率

(此处有问题:由于测试集较多,样本不平衡,产生误差)

2.partA:

基于测试集概率较高的来训练一个回归器A

3.partB:
基于测试集概率较低的来训练一个回归器B

4.计算结果

prediction = coeff*(partA) + (1-coeff)*partB

此处coeff = alpha*(Pr(is_test|X) + beta,且alpha和beta需要进行多次调试。

原文地址:https://www.cnblogs.com/zhengzhe/p/9264759.html