员工离职预测

简介

DC的一道回归预测题。是比较基础的分类问题,主要对逻辑回归算法的使用。核心思路为属性构造+逻辑回归

过程

数据获取

报名参与比赛即可获得数据集的百度网盘地址,这个比赛时间很久,随时可以报名。

数据探索

  • 无关项

    • EmployeeNumber为编号,对建模是干扰项,删除即可。
    • StandardHours和Over18全数据集固定值,没有意义,删除。
    • 相关性高
  • 相关图

    可以发现,有两项相关性极高,删除其中一个MonthlyIncome。

数据预处理

  • one-hot编码

    • 对几个固定几个取字符串值的特征进行one-hot编码
  • 属性构造
    • 特征数目较少,暴力拼接不同属性,构造新属性

数据挖掘建模

既是回归赛又是分类题,很明显就是使用逻辑回归(LR)模型。但是还是使用未调参的几个基础模型进行交叉验证,发现LR较高,加上其他模型调参麻烦,就没有多加研究。

# 多模型交叉验证
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier, GradientBoostingClassifier
import sklearn.neural_network as sk_nn
from sklearn.model_selection import cross_val_score
models = {'LR': LogisticRegression(solver='liblinear', penalty='l2', C=1),'SVM': SVC(C=1, gamma='auto'),'DT': DecisionTreeClassifier(),'RF' : RandomForestClassifier(n_estimators=100),'AdaBoost': AdaBoostClassifier(n_estimators=100),'GBDT': GradientBoostingClassifier(n_estimators=100),'NN': sk_nn.MLPClassifier(activation='relu',solver='adam',alpha=0.0001,learning_rate='adaptive',learning_rate_init=0.001, max_iter=1000)
}for k, clf in models.items():print("the model is {}".format(k))scores = cross_val_score(clf, x_train, y_train, cv=10)print(scores)print("Mean accuracy is {}".format(np.mean(scores)))print("*" * 100)

对LR模型进行网格搜索调参,发现默认参数即可有不错的平台验证率。

# 网格搜索调参
from sklearn.model_selection import GridSearchCV
from sklearn.linear_model import LogisticRegression
penaltys = ['l1', 'l2']
Cs = np.arange(1, 10, 0.1)
parameters = dict(penalty=penaltys, C=Cs )
lr_penalty= LogisticRegression(solver='liblinear')
grid= GridSearchCV(lr_penalty, parameters,cv=10)
grid.fit(x_train,y_train)
grid.cv_results_
print(grid.best_score_)
print(grid.best_params_)

补充说明

其实XgBoost和RF可能效果更好一些,但是由于一些原因,没有深究,有兴趣的可以进一步研究,最高的貌似研究有0.92以上通过率了。具体数据集和代码可以在我的Github找到,result.csv即为提交文件。附上提交时的平台分数和排名(22/1808)。

数据挖掘竞赛-员工离职预测训练赛相关推荐

  1. 天池竞赛员工离职预测训练赛

    组员:欧阳略.陶奇辉.王曙光.吴轩毅 数据来源:天池大数据竞赛员工离职预测训练赛中的数据 大致数据截图如下 根据所给数据,我组利用Pycharm编程源代码截图如下 最终,我组预测准确率为0.89,基本 ...

  2. 机器学习-员工离职预测训练赛

    [数据来源]DC竞赛的员工离职预测训练赛 一共两个csv表格,pfm_train.csv训练(1100行,31个字段),pfm_test.csv测试集(350行,30个字段) [字段说明] Age:员 ...

  3. 数据挖掘竞赛-美国King County房价预测训练赛

    美国King County房价预测训练赛 简介 DC上的一个回归题(正经的回归题). 比较简单. 时间原因(暂时没什么时间看国内旧赛),看了一下网上的解答,改善了一下神经网络就提交了. 过程 数据获取 ...

  4. 吃鸡排名预测挑战赛 空气质量预测 英雄联盟大师预测 手机行为识别 员工离职预测 猫十二分类体验赛

    1.吃鸡排名预测挑战赛 https://aistudio.baidu.com/aistudio/competition/detail/155/0/introduction 2.空气质量预测https: ...

  5. 员工离职预测(logistic)(R语言)

    员工离职预测(logistic) 出于工作需要及个人兴趣,学习数据分析及R语言是差不多2年前,第一篇更新的文章为m久前做的员工离职预测,当时做这个项目的主要是为了学习logistic算法,数据来源为D ...

  6. 基于集成学习方法Random Forest、Adaboost、GBDT、LightGBM、XGBoost的调参、建模、评估实现kaggle竞赛员工离职案例分析(2)

    基于集成学习方法Random Forest.Adaboost.GBDT.LightGBM.XGBoost的调参.建模.评估实现kaggle竞赛员工离职案例分析(2) 引言 3. adaboost模型分 ...

  7. kaggle员工离职预测——SVC

    一.比赛说明 比赛地址:https://www.kaggle.com/c/bi-attrition-predict 问题描述 数据包括员工的各种统计信息,以及该员工是否已经离职,统计的信息包括工资.出 ...

  8. 数据分析 回归问题: 美国King County房价预测训练赛

    这是DC竞赛网的一道基础回归问题, 美国King County房价预测训练赛 竞赛详细信息:美国King County房价预测训练赛 任务:从给定的房屋基本信息以及房屋销售信息等,建立一个回归模型预测 ...

  9. r语言员工离职_使用R机器学习进行员工离职预测系列(一)

    最近一直觉得,其实机器学习的门槛并不高,以R语言的角度,甚至稍微学过一点,就可以针对相关数据进行各种算法模型的建立和测试. 而真正有难度的地方一是算法优化部分,二是和对于模型评价的部分,这两个部分往往 ...

最新文章

  1. 【matlab】面积图(area函数的应用)
  2. 2015-09-14-初级vector
  3. 常见的网络工程师面试问题
  4. leetcode 721. 账户合并(并查集)
  5. PageObjects 设计模式
  6. 【消息队列之rabbitmq】Rabbitmq之消息可靠性投递和ACK机制实战
  7. 数字证书转换cer---pem
  8. python在财务中的应用-财务人要学Python吗?
  9. Android API介绍
  10. 桌面云之深信服VMP平台搭建
  11. 淘宝客系统教学系列_2.应用登录接口对接
  12. 从罗永浩想到东方时尚
  13. 蓝桥杯单片机——LED指示灯(1)
  14. 魔教传奇—阿里软件的魔方文化
  15. 一款原型设计工具“墨刀”的介绍
  16. 直播回顾 | 云原生混部系统 Koordinator 架构详解(附完整PPT)
  17. CAD转换的时候,怎么快速在图纸转换成高质量的JPG格式?
  18. Qt论坛和博客网址大全
  19. linux搭建erp教程,Ubuntu 12.04+OpenERP7.0安装笔记
  20. 关于微信小程序“南安明朗教育”活动页面错误问题记录

热门文章

  1. ConcurrentHashMap的源码分析-put方法第四个阶段
  2. 手写自己的MyBatis框架-SqlSession
  3. SpringBoot另一大神器-Actuator
  4. 安装JAVA 运行环境
  5. logback 的过滤器和异步日志和自定义 logger
  6. 上传图片-服务端-Api接口定义
  7. 微服务发现组件Eureka:简介以及Eureka服务端开发
  8. plsql(轻量版)_基本语法
  9. c语言通讯录以及写入文件,学C三个月了,学了文件,用C语言写了个通讯录程序...
  10. php redis删除所有key,php redis批量删除key的方法