kaggle -Santander Customer Transaction Prediction-1

https://www.nowcoder.com/discuss/308817?type=post&order=time&pos=&page=1

1 什么是模型融合?

模型融合就是综合考虑不同的模型的情况,并将它们的结果融合到一起。模型融合主要通过几部分来实现:从提交结果文件中融合,stacking和blending。

2 LDA

LDA 的原理是,将带上标签的数据(点),通过投影的方法,投影到维度更低的空间,使得投影后的点,会形成按类别区分,一簇一簇的情况,相同类别的点,会在投影后的空间中更接近。要说明白LDA,首先得弄明白线性分类器(LInear Classifier),因为LDA是一种线性分类器。对于K-分类的一个分类问题,会有k 个线性函数:

stacking 的基本思想是用一些基分类器进行分类,然后使用一个分类器对结果进行整合。

blending:与stacking 大致相同,只是blending 的主要区别在于训练集不是通过k-fold 的CV策略来获得预测值从而生成第二阶段模型的特征,而是建立一个holdout 集合。

3 PCA :寻找最小均方意义下,最能代表原始数据的投影方法。

能找到数据中的相似性和不同性。如果能找到数据中的一些相似性,PCA 就能对数据进行压缩,即降维,但是不会损失数据的信息。主成分分析(PCA)与LDA有着非常近似的意思,LDA 的输入数据是带标签的,而PCA 的输入数据是不带标签的,所以PCA是一种unsupervised learning 。LDA 通常来说作为一个独立的算法存在,给定了训练数据后,将会得到一系列的判别函数,之后对新的输入,就可以进行预测了,而PCA更像是一个预处理的方法,它可以将原本的数据降低维度,而使得降低了维度的数据之间的方差最大。

4 PCA的缺点

主成分解释其含义往往具有一定的模糊性,不如原始样本完整。

贡献率小的主成分往往可能含有对样本差异的重。

以PCA一般不用来做直接的特征提取而是用来做特征矩阵的降维。当然降维的结果用于分类并不理想,我们可以进一步Fisher 变换,(类内离差,类间阵增大类间距离,缩小类内距离)。但是Fisher 变换会引入新的弱点,那就是对于训练类别的数据变得更敏感了,分类效果上升的是通用性下降,当类型数据急剧膨胀时,分类效果的函数仍然是直线下降的----但是还是比直接PCA 的分类效果好得多。

PCA方法寻找的是用来有效表示同一类样本共同特点的主轴方向,这对于表示同一类数据样本的共同特征是非常有效的,但PCA不适合用于区分不同的样本类,Fisher 线性判别分析(FDA)是用于寻找最有效地对不同样本类进行区分的方向,其主要思想是考虑将d 维空间上的点投影到一条直线上,通过适当地选择直线的方向,有可能找到能够最大限度地区分各类样本数据点的投影方向。

5 kaggle 项目介绍

寻找方法来帮助客户了解他们的财务健康,并确定哪些产品和服务肯能帮助他们实现他们的货币目标,使用算法来找到解决一些二进制分类问题的新方法,比如客户满意吗?,顾客会购买这种产品吗? 客户能支付这笔贷款吗?

Santander 银行 使用算法确定哪些客户将进行交易,不管金额多少,为这一竞争提供的数据与他们所掌握的解决这一问题的实际数据具有相同的结构。数据是匿名的,每行包含200个数值,

评价标准是ROC曲线,提供的数据是匿名数据集,其中包含数据特征变量,二进制目标列和字符串id_ 代码列。

任务是预测测试集中目标列的值。

6 如何做EDA?

6.1 load 数据,查看数据维度,是否有缺失数据,均值方差,最小值,四分位数,结果:train 和test 的标准偏差较大,最小的最大的,平均的,std 看起来都很接近,均值分布在很大的范围内。在列车额和测试集中样本的数值是相同的。

6.2 查看分布,有很多变量是双分布

6.3 计算各个特征之间的相关性,下表显示了 前10个最不相关的特征,每一列最大值的分布,每一行最大值的分布,每行每列的均值的分布。每行每列标准差的分布,每行每列倾斜度的分布情况。去掉每一行的重复值。

6.4 因为没有看到有线性相关性,就使用随机森林来找重要的特征。查看重要特征的分布。

6.5 高斯混合聚类

大部分数据看起来像是高斯分布,或者像两个或3个高斯分布的混合。

通过对高斯混合模型的拟合,我们得到了对数似然的最大化,越大说明拟合越好

7 从这个比赛中学到了什么?

lgb,贝叶斯优化,更好地理解随机森林和他们能看到和看不到的东西,数据过拟合的认识,matplotlib 的使用,学习了检查数据的新方法,例如如果数据顺序重要并影响列独立性则使用唯一的值。

7.1 数据探索要好好做。

7.2 社区的重要性

7.3 magic trick 并不重要

7.4 团队的重要性

8 1 solution

LGBM:使用了伪标签和数据增强技术,

NN:使用了伪标签和数据增强技术,

特征工程:构造了200个特征,对应于每个原始特征。这些特征分为5类:(1)这个数据至少在target ==1 的数据里面出现1次,在0里面没出现(2)在target==0 的里面至少出现1次,target==1 没有出现。(3)在target==1 和0 都出现了。(4) 这个值在数据里面独立。(5)值在数据和test里面独立。

9  2 solution

去掉test 中的假数据,合并train 和test,反转一些特征,标准缩放,计数编码,训练和预测,

随机森林-特征选择

随机森林能够计算单个特征变量的重要性,并且这一特征在很多方面都能够得到应用,例如在银行贷款业务中能否正确的评估一个企业的信用度。

9.1 特征重要性

在随机森林中某一个特征X 的重要性的计算方法如下:

对于随机森林中的每一颗决策树,使用相应的OOB(袋外数据)数据来计算它的袋外数据误差,记为errOOB1.

随机地袋外数据OOB 所有样本的特征X 加入噪声干扰(就可以随机的改变样本在特征X 处的值),再次计算它的袋外数据误差,记为errOOB2。

假设随机森林中有Ntree 棵树,那么对于特征X 的重要性=∑(errOOB2-errOOB1)/Ntree,之所以可以用这个表达式来作为相应特征的重要性的度量值是因为: 若给某个特征随机加入噪声之后,袋外的准确率大幅度降低,则说明这个特征对于样本的分类结果影响很大,也就是说它的重要程度比较高。

 

 

 

你可能感兴趣的:(比赛)