科赛网新人赛-员工满意度预测 MSE 0.02882
科赛网新人赛-员工满意度预测 - 竞赛思路
- 原贴地址
- 项目地址
文章目录
- 科赛网新人赛-员工满意度预测 - 竞赛思路
- 有用的资料、文档、博客
- 环境与工具
- 1.0 基础知识
- 1.1 数据挖掘流程:
- 2.0 数据探索性分析
- 2.1 单变量分析
- 2.2 多变量分析
- 3.0 特征工程
- 3.1 特征创建
- 3.1.1 笛卡尔积特征创建
- 3.1.2 使用 number_project 对 average_monthly_hours 进行加权
- 3.2 特征筛选
- 3.2.1 互信息法
- 3.3 特征预处理
- 3.3.1 package 特征
- 3.3.2 无量纲化
- 4.0 建模
- 4.1 单模 RandomForestRegressior
- 4.2 Stacking 模型融合 Lightgbm + Xgboost + Ridge
- 5.0 冲分日志
有用的资料、文档、博客
类别 | 链接 |
---|---|
数据预处理 API–Pandas | https://pandas.pydata.org/docs/reference/index.html |
机器学习库–Sklearn | https://scikit-learn.org/stable/modules/classes.html |
数据可视化库–Seaborn | http://seaborn.pydata.org/ |
木东居士的特征工程系列(强烈推荐) | https://blog.csdn.net/zhaodedong/article/details/103451692 |
数据科学大杀器模型-LightGBM | https://lightgbm.readthedocs.io/en/latest/Python-API.html |
Baseline 代码 | https://www.kesci.com/home/competition/forum/5f0aa9679ac5ac002db1d29f |
模型融合博客 | https://wmathor.com/index.php/archives/1428/ |
新人赛讨论区 | https://www.kesci.com/home/competition/forumlist/5ec3b6987ba12c002d3e42bc |
机器学习CheatSheet | https://machinelearningmastery.com/ |
强烈推荐这个人的数据挖掘系列 | https://wmathor.com/index.php |
贝叶斯调参 | https://www.cnblogs.com/yangruiGB2312/p/9374377.html |
Xgboost API Document | https://xgboost.readthedocs.io/en/latest/python/python_api.html |
环境与工具
- 编程语言:Python
- 环境:Anaconda
- 主要工具
- Numpy(矩阵计算、数值计算)
- Pandas(数据表分析)
- Matplotlib、Seaborn(数据可视化)
- Scikit-Learn(机器学习工具包)
1.0 基础知识
1.1 数据挖掘流程:
- 赛题 / 数据来源/ 背景 理解
- 数据探索性分析
- 数据预处理
- 特征工程(80%)
- 特征创建
- 特征筛选
- 特征预处理
- 建模
- 模型选择
- 模型训练
- 模型调参
- 模型效果检验
- 预测
2.0 数据探索性分析
2.1 单变量分析
- 数据认知(字段类型、统计量)
- 异常值探索
- 统计量分析
- 数据分布
- 数据可视化
2.2 多变量分析
- 相关性分析
3.0 特征工程
3.1 特征创建
我是做了很多别的尝试的,这里只给出能提升分数最多的方法
3.1.1 笛卡尔积特征创建
在做这个之前有考虑聚合特征创建,但是这个数据集一对多的关系很少,不适合使用 featuretools 这种工具做聚合特征创建
这个数据集里面大部分是类别型特征,而且维度不大,只有 9 维,因此对所有的类别型特征做二阶笛卡尔积来创建新特征
3.1.2 使用 number_project 对 average_monthly_hours 进行加权
- 通过相关性分析得知,
number_project
和average_monthly_hours
呈正相关 - 之前跑随机森林时对特征进行可视化,发现
average_monthly_hours
的特征重要性非常高,重要性排前三 - 跑单模 LightGBM 发现,
average_monthly_hours
的特征重要性甚至是排在第一 number_project
本身应当作为连续值,如果这个特征进行独热编码,其实是丢失了其本身的大小关系!!!- 利用
number_project
的大小关系对特征average_monthly_hours
进行加权, l o g 2 log_2 log2 这个对数转换使得加权数值比较合理,不会太大也不会太小 - 不知道你有没有发现,
average_monthly_hours
是以小时为单位,个人认为以天为单位的模型鲁棒性会更好,所以对这个值除以 24
3.2 特征筛选
3.2.1 互信息法
使用互信息法,从笛卡尔积特征创建的四百多维的特征中筛选出 8 个最佳特征,互信息既可以捕捉单个特征与标签的线性关系,也可以捕捉单个特征与标签的非线性关系
3.3 特征预处理
3.3.1 package 特征
通过对 package
特征进行分组,求 satisfaction_level
的均值,发现 a, c, e 类别对应的均值很相近,b, d 类别对应的均值很相近,把 a, c, e 类别的归为一类,b, d类别的归为一类。
3.3.2 无量纲化
- 对
average_monthly_hours
进行 MaxAbs 归一化
4.0 建模
根据别人的 Kernel,我发现单模效果最好的还是随机森林,自己也跑过 Lightgbm 发现效果并不理想
4.1 单模 RandomForestRegressior
4.2 Stacking 模型融合 Lightgbm + Xgboost + Ridge
5.0 冲分日志
2020-12-7
- 跑通 Baseline,并分析 Baseline 的方法
2020-12-8
- 跑了个 LightGBM,并进行了调参,但是没有 RF 效果好(MSE:0.032)
- 进行了 RF 调参,但是还是没有调参前的 RF 效果好
- Baseline 的 PCA + RF 第八名
2020-12-9
- 发现聚合特征创建不适合这个数据集,放弃 featuretools + 特征选择 + RF 这个思路
- 根据数据分析结果进行特征创建(package预处理:0.02936)第五名
- 笛卡尔积特征创建 + f 检验(0.02933)第四名
- 笛卡尔积特征创建 + 互信息(0.02904271)第四名
2020-12-10
- 先是跑了个lightgbm,发现这玩意儿练死劲儿不好用
- 尝试各种连续值处理
- 试了几种分箱,效果不理想
- 试了 box-cox,log变换,标准化,效果还可以,不过还是 MaxAbsscaler 效果最好
- 好家伙,要是上研了一定要买一台 i9 的笔记本
科赛网新人赛-员工满意度预测 MSE 0.02882相关推荐
- [Kesci] 新人赛 · 员工满意度预测
文章目录 1. 导入工具包 2. 读取数据 3. 特征处理 3.1 数字特征归一化 3.2 文字特征处理 3.3 特征合并 4. 定义模型训练 5. 预测 6. 新人赛结果 竞赛地址 使用 sklea ...
- 数据竞赛指导—和鲸kesci新人赛《员工满意度预测》冠军方案讲解
数据竞赛作为一个工程师锻炼代码能力与实战经验的平台,吸引越来越多的计算机专业学生和工程师来参加,从国外的kaggle到国内的天池,经过长期的竞赛积累,上面聚集了一大批顶尖的数据科学人才. 竞赛的意义对 ...
- 数据挖掘竞赛-员工离职预测训练赛
员工离职预测 简介 DC的一道回归预测题.是比较基础的分类问题,主要对逻辑回归算法的使用.核心思路为属性构造+逻辑回归. 过程 数据获取 报名参与比赛即可获得数据集的百度网盘地址,这个比赛时间很久,随 ...
- 天池新人赛之新浪微博互动预测
最近参加了天池上的新人赛,把比赛的流程走了一遍,收获挺大.现把比赛思路简单记录一下,欢迎大家一起来讨论交流. 1. 对训练数据进行简单分析 拿到数据集,先对整个数据集做个简要分析,比如数据量大小.每种 ...
- 天池新人赛幸福感数据分析+预测
天池新人赛幸福感预测赛题链接 https://tianchi.aliyun.com/competition/entrance/231702/introduction 本文将按以下几个步骤描述,数据分析 ...
- [TensorFlow深度学习入门]实战九·用CNN做科赛网TibetanMNIST藏文手写数字数据集准确率98%+
[TensorFlow深度学习入门]实战九·用CNN做科赛网TibetanMNIST藏文手写数字数据集准确率98.8%+ 我们在博文,使用CNN做Kaggle比赛手写数字识别准确率99%+,在此基础之 ...
- 吃鸡排名预测挑战赛 空气质量预测 英雄联盟大师预测 手机行为识别 员工离职预测 猫十二分类体验赛
1.吃鸡排名预测挑战赛 https://aistudio.baidu.com/aistudio/competition/detail/155/0/introduction 2.空气质量预测https: ...
- 机器学习-员工离职预测训练赛
[数据来源]DC竞赛的员工离职预测训练赛 一共两个csv表格,pfm_train.csv训练(1100行,31个字段),pfm_test.csv测试集(350行,30个字段) [字段说明] Age:员 ...
- 天池竞赛员工离职预测训练赛
组员:欧阳略.陶奇辉.王曙光.吴轩毅 数据来源:天池大数据竞赛员工离职预测训练赛中的数据 大致数据截图如下 根据所给数据,我组利用Pycharm编程源代码截图如下 最终,我组预测准确率为0.89,基本 ...
- 阿里天池新人赛——幸福感挖掘
本文简要介绍参加阿里天池新人赛--幸福感挖掘的相关思路 整体思路 1.分析问题,提出分析目的 2.数据清洗.数据预处理及数据可视化 3.数据分析 4.建模计算 5.分析结果及竞赛成绩 1.分析问题,提 ...
最新文章
- 推荐一个从高中就开始自学IT的大佬
- 音视频技术开发周刊 | 185
- python测试函数怎么写_Python - 函数
- mkdirp——递归创建目录及其子目录
- 命令行进入指定目录_VIM学习笔记 操作目录(Manipulate Directory)
- linux下使用fdisk命令进行硬盘分区
- excel导入mysql命令行_使用命令行将Excel数据表导入Mysql中的方法小结
- Android Studio系列教程一--下载与安装
- chromium中的性能优化工具syzyProf
- paip.python连接mysql最佳实践o4
- Excel 培训笔记
- dom4j解析xml文件
- ctf.show的JWT(web345-web350)
- Java递归实现围棋提子思想
- 华兴资本确定IPO发行价 募集资金将达3.96亿美元
- ViewPage禁止滑动原理解析
- python 一元回归拟合(含幂函数,对数,S函数,指数函数,一次、二次、三次,逆函数,生长、复合函数)
- 从contiki中下载程序到TelosB节点
- PYTHON学习路径计划图整理
- Android饼状图
热门文章
- 【I-intern】2021年,留学生如何回国找到好工作?
- JDK安装报错:java(TM) platform SE binary (Process Id:7676)
- 使用git-premit时的问题
- Windows Server 2016 Standard 激活,亲测有效
- 测试万网的php服务器
- centos7+python flask+nginx一套完整的部署流程
- L175 Endorestiform Nucleus: Scientist Just Discovered a New Part of the Human Brain
- cmd无敌加密安全代码
- 网站优化在搜索引擎上想有好排名
- Python实战 | 抖音超火的九宫格视频是如何生成的