# 2018腾讯广告算法大赛
lightgbm
环境配置:
Anaconda 4.4.10, python 3.6.4
主要依赖库:
pandas 0.22.0, numpy 1.14.2, scikit-learn 0.19.1, lightgbm 2.2.1
步骤说明:
按文件名顺序依次运行代码,先后完成预处理、特征工程、模型训练、测试集预测与模型结果融合
预处理:
预处理有个特别的地方就是对merge完的训练集进行了分块,后续利用这个分块进行转化率特征的提取以及统一利用其中一个分块数据作为验证集。
特征提取:
五大类特征,投放量(click)、投放比例(ratio)、转化率(cvr)、特殊转化率(CV_cvr)、多值长度(length),每类特征基本都做了一维字段和二维组合字
段的统计。值得注意的是转化率利用预处理所得的分块标签独立出一个分块验证集不加入统计,其余分块做dropout交叉统计,测试集则用全部训练集数据进行统
计。此外,我们发现一些多值字段的重要性很高,所以利用了lightgbm特征重要性对ct\marriage\interest字段的稀疏编码矩阵进行了提取,提取出排名前20的编
码特征与其他单值特征进行类似上述cvr的统计生成CV_cvr的统计,这组特征和cvr的效果几乎相当。
特征筛选:
内存原因,没办法一次性加载所有特征,故对每组特征进行组内筛选,对组内特征进行重要性排序,排序完筛选办法有两种,一种是按照排名进行前向搜索,另一种
就是直接测试前n*5(n位正整数)个特征的效果,由于多数统计特征之间相关性很高,大概每组30+个特征的信息就能代表整组特征所包含的信息。第一种精度会好一
些但速度慢,第二种办法就相对快很多。
模型融合:
由于数据量过大,lgb根据分块数据与分组特征跑了很多个子模型,最后根据验证集的多组预测值进行auc排序后,依次百分比(list(range(0,101))*0.01)遍历
加权以获得最佳权值,再将同样的权值应用到测试集的预测结果上,这样每多加权一个子模型,验证集的auc只会大于等于加权这个子模型之前的auc。整个加权过程
其实就类似于是一种线性拟合,也可以利用各个子模型的验证集和测试集的预测结果作为特征,利用验证集的标签作为真实标签,采用xgboost等模型进行训练,这
样效果与之前的遍历加权差不多。
体会不足:
模型方面参数没有做优化,20%的验证集相对来说选得比较大,初赛数据加得比较晚导致之前筛选出的特征不是加了初赛数据之后得训练集的最优特征。
致谢:
本次参赛特别感谢byran的baseline,让我们学会了使用稀疏矩阵。另外,也特别感谢郭大开源的nffm,没有nffm,单靠lgb我们只能达到0.763+的成绩。最
后,感谢老裴借用他们实验室的机器和两位队友(鱼遇雨欲语与余、全靠队友带)的共同努力,儿须成名酒须醉。
没有合适的资源?快使用搜索试试~ 我知道了~
数据科学竞赛实战.zip
共51个文件
py:47个
md:3个
sh:1个
0 下载量 194 浏览量
2024-01-14
13:27:51
上传
评论
收藏 75KB ZIP 举报
温馨提示
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
资源推荐
资源详情
资源评论
收起资源包目录
数据科学竞赛实战.zip (51个子文件)
SJT-code
Book
README.md 60B
Competition
Tencet2018AdsRank11
儿须成名酒须醉_v2
src
014_CV_cvr_select_p.py 3KB
009_CV_cvr.py 9KB
003_sparse_two_select.py 4KB
005_cvr_select_2.py 2KB
002_sparse_one.py 11KB
002_sparse_one_select.py 5KB
013_stat_p.py 13KB
010_train_predict.py 4KB
008_unique_select.py 2KB
007_ratio_select.py 3KB
018_rong_p.py 2KB
012_merge_part_p.py 2KB
017_train_predict_p.py 20KB
001_final_merge.py 4KB
004_length_ratio.py 4KB
016_sparse_p.py 10KB
006_click_select.py 3KB
008_unique.py 3KB
009_CV_cvr_select_2.py 3KB
007_ratio.py 4KB
005_cvr.py 5KB
005_cvr_select.py 3KB
011_ronghe.py 2KB
009_CV_cvr_select.py 3KB
014_CV_cvr_p.py 7KB
nffm_final_preliminary
utils.py 6KB
nffm.py 20KB
nffm_train_7688.py 6KB
003_extract_features.py 6KB
002_doFeature.py 4KB
nffm_train_763.py 4KB
001_select_feat.py 8KB
nffm_train_765.py 6KB
001_prepared_data.py 2KB
019_ronghe_lgb_nffm.py 1KB
006_click.py 4KB
003_sparse_two.py 4KB
nffm_final
utils.py 6KB
nffm.py 20KB
004_train_0.py 4KB
003_extract_features.py 6KB
002_doFeature.py 3KB
004_train_2.py 4KB
001_select_feat.py 5KB
001_prepared_data.py 2KB
004_train_1.py 4KB
015_length_p.py 3KB
run.sh 3KB
README.md 3KB
README.md 44B
共 51 条
- 1
资源评论
JJJ69
- 粉丝: 6232
- 资源: 5778
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功