本学习笔记为阿里天池龙珠计划金融风控训练营的学习内容,学习链接为https://tianchi.aliyun.com/specials/activity/promotion/aicampfr?spm=5176.22758685.J_6770933040.3.6f103da1BKXXWZ
一、学习知识点概括
模型融合方式
二、学习内容
融合模型可以从模型结果,模型自身,样本集等角度进行融合。
模型融合方式:
2.1平均:(回归任务)
- 简单加权平均:结果直接融合,求多个预测结果的平均值。
- 加权平均法:一般根据之前预测模型的准确率,进行加权融合,将准确性高的模型赋予更高的权重。
2.2投票(分类任务)
(选择所有机器学习算法当中输出最多的那个类,少数服从多数)
集成学习中的voting Classifier
- 简单投票[硬投票(hard voting)]
- 加权投票:软投票(soft voting):少数服从多数不适用,有权值的投票方式
- 在VotingClassifier中加入参数 voting='soft', weights=[2, 1, 1],weights用于调节基模型的权重
2.3stacking
- 构建多层模型,并利用预测结果再拟合预测。
- 第一层由多个基学习器组成,其输入为原始训练集 第二层的模型则是以第一层学习器的输出作为训练集进行再训练,从而得到完整的stacking模型
问题:过拟合训练集
解决方式:
- 次级模型尽量选择简单的线性模型
- 利用第一层训练模型使用交叉验证的方式
- StackingCVRegressor(regressors,meta_regressor,cv = 5,shuffle = True,use_features_in_secondary = False) 其中cv默认是5折交叉验证
- mlxtend.classifier.StackingClassifier
2.4blending
- 选取部分数据预测训练得到预测结果作为新特征,带入剩下的数据中预测。
- 防止过拟合,将数据分为两部分d1,d2;d1作为训练集,d2作为测试集
2.5boosting/bagging(样本集的角度)
2.5.1boosting
在训练的过程中模型之间有依赖性,引入第K个模型,实际上是对前K-1个模型的优化。
2.5.2bagging
随机有放回的选择训练数据然后构造分类器,最后进行组合
2.6.3比较
Bagging方法主要通过降低Variance来降低error, Boosting方法主要通过降低Bias来降低error
三、学习问题与解答
暂无。
四、学习思考与总结
这几天的学习总算告一段落了。在这一次的学习中,认识到投票除了少数服从多数外,也会有出现少数占比多的情况(评委评分)。融合模型可以从多个层面进行融合。在学习的过程中,对一些知识进一步加深了印象,因为开始学的时候是比较模糊的,后面在继续学就能明白其中的原理,尤其是有图的时候就比较好理解一些。虽然不懂的地方,一知半解的地方仍然存在,代码有时候会看不懂,但是,多多少少有得到一些收获。