感谢datacastle和现金巴士提供了这样好的大数据竞赛平台!
主要从以下几个方面总结:
(0)数据预处理:
缺失值:删除缺失值大于194的样例
根据缺失值个数分段构造离散特征
数值型变量:log变换
(1)特征工程
(1)排序特征:将数值型数据排序,将其rank作为新的特征
(2)连续特征离散化:等量,或者等间距
(3)计数特征:每个样本离散特征1-10的数量,生成10个新特征
(4)类别特征:one-hot-encoding
(2)特征选择
(1)MIC
(2)皮尔逊相关系数
(3)xgboost,RandomForest等对特征排序
(4)正则化方法L1,L2
(3)半监督学习
对于n个无标签的样本可以有2^n种打标签方式。每一种打标签的方式均生成一次。将其加入训练集,选择性能最好的一种打标签方式。
(4)模型融合
选择多样性的模型:通过两个模型预测score的MIC评价两两模型的相似度,差异大的模型融合。
通过参数的多样化,模型的多样化,特征的多样化产生多样性模型。
(5)正负比例不均衡:
用效果最好的xgboost模型预测无标记样本,取分数最低5000个作为负例加入训练集。
过采样:TSMOTE:
SMOTE算法是一种处理正负样本不平衡的算法。对于少类样本,通过过采样产生新的样例。其步骤如下:(1)选择少类样本的k个最近邻(2)对于其中的少类样例执行如下操作:onew=o+random(0,1)*d(onn,o)由此得到新的样例。