Kaggle竞赛优胜者源代码剖析(一)
来源:互联网 发布:淘宝自制食品怎么上架 编辑:程序博客网 时间:2024/04/30 00:44
比赛题目链接:https://www.kaggle.com/c/amazon-employee-access-challenge
ben.py
该脚本构建了基础数据集bsfeats,只对原始数据集做了最基本的特征工程。1.对个别变量进行线性组合得到新变量 2.按变量对数据进行分组,计算不同观测在组中出现的次数并取对数 3.计算各部门的资源使用率 4.计算各经理的资源占有量。需要强调的是,这些特征工程都是紧紧围绕业务知识展开的。
greedy.py
该脚本构建数据集greedy,greedy1,greedy2。分别将各列两两组合生成元组,对元组取哈希得到新的列,这个新的列可以代表之前组合的两列的交互作用,将原始数据集横向合并新生成的列得到了全是新特征的tuples数据集。同理,将各列三个一组进行组合用同样的方法得到全是组合再hash后全是新特征的triples数据集。最后将原始数据集、tuples数据集以及triple数据集横向拼在一起,即把新生成的特征放进去。由于不管是原始数据集还是新生成的tuples、triples数据集,很多都是类别型变量,对它们分别进行One-hot编码得到稀疏矩阵Xts。遍历Xts中的每一个特征,用自编的cv-loop函数分别计算auc得分,依照auc得分筛选出good_features。这里用的是前进法,比如第五个特征符合要求属于good_features,考查第六个特征时,把该特征与前五个特征一起放到函数中计算auc得分,相当于每放一个feature进来就计算一次auc,遍历完所有特征后对auc进行排序。需要注意的是,由于之前进行过one-hot编码,计算得分前要用scipy中的tocsr()将稀疏矩阵转化为压缩形式。
feature_extraction.py
tuples和triples函数分别对数据集中的变量两两组合和三三组合得到新的变量,至此,数据集的六大框架(bsfeats,greedy,greedy2,greedy3,tuples,triples)都已构建好。create_feature()函数按照基础模型、LR模型、Trees模型(这里指的是GradientBoostingClassifier、RandomForestClassifer和ExtraTreesClassifier)分别构建含有不同特征的数据集。在构建的过程中使用了变量的取平方、取平均、取对数、除总算频率等特征工程方法。其中用于LR模型和Trees的数据集都进行了进一步的预处理过程,包括各特征相互乘除构造新特征(用于表征特征间的相互作用)、去除常数变量、变量标准化处理、变量值加上1取对数、变量取平方、变量取三次方、用One-Hot编码稀疏化处理等。另外,这些特征工程并不是都用上,而是有选择的使用,使用不同的特征工程方法,能得到不同的数据集。
utils.py
ml.py
- Kaggle竞赛优胜者源代码剖析(一)
- Kaggle 机器学习竞赛冠军及优胜者的源代码汇总
- Kaggle 机器学习竞赛冠军及优胜者的源代码汇总
- Kaggle 机器学习竞赛冠军及优胜者的源代码汇总
- Kaggle 机器学习竞赛冠军及优胜者的源代码汇总
- Kaggle 机器学习竞赛冠军及优胜者的源代码汇总
- Kaggle 机器学习竞赛冠军及优胜者的源代码汇总
- Kaggle 机器学习竞赛冠军及优胜者的源代码汇总
- Kaggle 机器学习竞赛冠军及优胜者的源代码汇总
- Kaggle竞赛入门教程之Kaggle简介(新手向)
- Kaggle入门系列:(一)Kaggle简介
- 进军Kaggle(一)
- Titanic Kaggle 竞赛系列
- 笔记-Kaggle竞赛入门
- Kaggle竞赛记录
- Kaggle Titanic 竞赛
- Kaggle 新手教程(一)
- kaggle上近一段时间数据挖掘竞赛的获奖队伍的源代码
- python递归深度报错: RuntimeError: maximum recursion depth exceeded
- 274. H-Index
- ORMLite学习入门笔记
- mysql使用触发器实现check约束功能
- windows下修改memcached服务的端口号
- Kaggle竞赛优胜者源代码剖析(一)
- python中if __name__ == '__main__': 的解析
- 怎样快速搜索自己所需的资料?(90%的人不会使用此方法)
- 147. Insertion Sort List
- ubuntu下的samba配置
- java调用ffmpeg获取视频时长
- Fragment AutoCompleteTextView xml动画(补间 属性动画)
- java api文档的阅读技巧
- Android--使用XMLPull解析xml