Model ensembling
来源:互联网 发布:linux设置ip地址命令 编辑:程序博客网 时间:2024/05/01 19:02
说明:
http://mlwave.com/kaggle-ensembling-guide/
代码:
https://github.com/emanuele/kaggle_pbr/blob/master/blend.py
Voting ensembles
- 采用投票的方式,听大多数人的意见
- 各个模型的相关性不要太大,尽可能多样性。比如一个组合的accuracy是 80% 80% 70%,另一个的为 80% 70% 60%,后一个组合的效果往往更好
- 增加weighing。比如,最好的model,得分算三倍。也就是,几个弱分类器在某一个问题上一致,才能打败最好的分类器。
Averaging
- 平均,避免过拟合,有更好的泛化能力
- Rank averaging。不同model的输出范围不一致。
- 比如一个model输出的是:
Id,Prediction
1,0.35000056
2,0.35000002
3,0.35000098
4,0.35000111 - 另一个的输出的是:
Id,Prediction
1,0.57
2,0.04
3,0.96
4,0.99 - 直接将他们average,意义不大。所以,解决方法是, first turn the predictions into ranks, then averaging these ranks:
- Id,Rank,Prediction
1,1,0.35000056
2,0,0.35000002
3,2,0.35000098
4,3,0.35000111 - Id,Prediction
1,0.33
2,0.0
3,0.66
4,1.0
- Id,Rank,Prediction
- 比如一个model输出的是:
Stacked Generalization & Blending
参考代码,会比较直观点。
- 训练集合 X, Y,预测集合 X_submission
- 对训练集合X, Y,进行k折
- 设置多个不同的分类器集合clf
循环clf,标记为 j
- 循环k折,标记为 i,得到的这次的 train 和 test
- 用 x_train 和 y_train 来训练,得到一个模型
- 用这个模型来对 x_test 进行预测,记录预测结果dataset_blend_train(它是一个 train样本数*j 的矩阵,用来做下一步的训练集,这一小步,就得到了对于第 j 个模型,x_test部分样本对应的 新的train集的值)
- 将这个模型用于整个的预测集合X_submission,用dataset_blend_test_j 记录第 i 次得到的 新的submission集的值中间结果
- 这时,k折情况跑完,对中间结果dataset_blend_test_j取平均,得到dataset_blend_test第j维的值 (它是一个 submission样本数*j 的矩阵,作为 新的submission集的值)
- 循环k折,标记为 i,得到的这次的 train 和 test
上一个stage跑完,进入下一个stage,用一个LogisticRegression,以新的train集dataset_blend_train,作为训练,对应的标签,当然是最原始的Y
- 得到的模型,用于新的submission集dataset_blend_test,得到Y_submission。
0 0
- Model ensembling
- [转]KAGGLE ENSEMBLING GUIDE
- KAGGLE ENSEMBLING GUIDE
- KAGGLE ENSEMBLING GUIDE
- KAGGLE ENSEMBLING GUIDE(注脚)
- 模型融合-Kaggle Ensembling Guide
- KAGGLE ENSEMBLING GUIDE---模型融合
- Ensembling&Stacking models(模型融合)
- Model?
- Model
- model
- model
- Model
- model
- Model
- model
- Model
- model
- [Leetcode 10, Hard] Regular Expression Matching
- Codeforces Gym 2015 ACM Arabella Collegiate Programming Contest
- warning: strtotime(): It is not safe to rely on the system's timezone settings
- 将Latex tex文档转换成 word文档(下)
- 1212
- Model ensembling
- Java学习笔记-------数据库疑问
- item-based algorithm
- Android NDK 实践(用C编写Android程序)
- 乐观的程序员
- HTML5基础21----简单Web留言本(功能未实现)
- Mahotas(Python 计算机视觉、图像处理库)安装
- 【Leetcode】Search a 2D Matrix #74
- IR的评价指标-MAP,NDCG和MRR