sklearn预测员工离职率

  • 1、sklearn介绍
    • 1.1 估计器(Estimator)
    • 1.2 转化器(Transformer)
  • 2、数据集
    • 2.1 数据展示
    • 2.2 数据分析
    • 2.3 数据集地址
  • 完整代码

1、sklearn介绍

sklearn拥有可以用于监督和无监督学习的方法,一般来说监督学习使用的更多。sklearn中的大部分函数可以归为估计器(Estimator)和转化器(Transformer)两类。

1.1 估计器(Estimator)

其实就是模型,它用于对数据的预测或回归。基本上估计器都会有以下几个方法:

  • fit(x,y) :传入数据以及标签即可训练模型,训练的时间和参数设置,数据集大小以及数据本身的特点有关。
  • score(x,y)用于对模型的正确率进行评分(范围0-1)。但由于对在不同的问题下,评判模型优劣的的标准不限于简单的正确率,可能还包括召回率或者是查准率等其他的指标,特别是对于类别失衡的样本,准确率并不能很好的评估模型的优劣,因此在对模型进行评估时,不要轻易的被score的得分蒙蔽。
  • predict(x)用于对数据的预测,它接受输入,并输出预测标签,输出的格式为numpy数组。我们通常使用这个方法返回测试的结果,再将这个结果用于评估模型。

1.2 转化器(Transformer)

用于对数据的处理,例如标准化、降维以及特征选择等等。同与估计器的使用方法类似。

  • fit(x,y) :该方法接受输入和标签,计算出数据变换的方式。
  • transform(x) :根据已经计算出的变换方式,返回对输入数据x变换后的结果(不改变x)
  • fit_transform(x,y) :该方法在计算出数据变换方式之后对输入x就地转换。

2、数据集

2.1 数据展示

left列为结果列,0代表离职,1代表未离职。
有两列是字符列,需要类比成数字。

2.2 数据分析

检查是否有缺失数据 isnull().any()

显示统计数据 describe()

2.3 数据集地址

链接:https://pan.baidu.com/s/1AakOaVsJNvEFaoqUM0DNMA
提取码:4ey9

完整代码

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier # 随机森林
from sklearn.linear_model import LogisticRegression
from sklearn.neighbors import KNeighborsClassifier  # KNN分类
from sklearn.tree import DecisionTreeClassifier  # 决策树
from sklearn.svm import SVC  # 向量机
from sklearn.naive_bayes import GaussianNB  # 高斯分布的朴素贝叶斯
# 读入数据到Pandas Dataframe类型
hr_data = pd.read_csv('../HR-analytics/HR_comma_sep.csv', index_col=None)# 将left列移到第一列(不移动没有影响)
front = hr_data['left']
hr_data.drop(labels=['left'], axis=1, inplace = True)
hr_data.insert(0, 'left', front)# 将字符串转化成数值型
hr_data["sales"] = hr_data["sales"].astype('category').cat.codes
hr_data["salary"] = hr_data["salary"].astype('category').cat.codeshr_data_np = np.array(hr_data)
x = np.delete(hr_data_np,0,axis=1)
# x = np.delete(x,8,axis=1)  # 若string型的两列不转化,删除
# x = np.delete(x,7,axis=1)y = hr_data_np[:,0]
# numpy转成列表
y = y.tolist()
# 划分训练集
train_x, test_x, train_y, test_y = \train_test_split(x, y, test_size=0.3, random_state=3)
# 选择算法,决策树
dt_model = DecisionTreeClassifier()
'''
用于替换的算法
RandomForestClassifier() # 随机森林
KNeighborsClassifier() # KNN
SVC()
GaussianNB()
LogisticRegression()
'''
# 训练
dt_model.fit(train_x, train_y)
# 测试
predict_y = dt_model.predict(test_x)
score = dt_model.score(test_x, test_y)print('输出预测值:',predict_y)
print('原有的标签:',test_y)
print('得分:', score)

sklearn预测员工离职率相关推荐

  1. Logisitc Regression 预测员工离职率

    Logistic Regression 基础 Logistic Regression 沿用了 Linear Regression 的思路和想法,通过使用线性关系拟合得到真实的函数关系.同样的,如果模型 ...

  2. 如何利用大数据分析技术预测员工离职?

    为什么我们要对员工离职进行预测,因为它会帮助公司减少员工离职成本的消耗. 本文为美国肯尼索州立大学刘丽媛(Lilian)在HR成长部落2019年6月23日的线下活动分享文字实录,希望对大家在数据分析在 ...

  3. 团队管理(3)---有效降低企业员工离职率

    有效降低企业员工离职率 招人难!居高不下的员工离职率,更使企业招聘难上加难!近年来,楚柳香小编很多HR朋友都在抱怨公司员工离职率过高的问题.过高的员工流失率,使许多企业都处在招聘--流失--再招聘-- ...

  4. 为什么现在90后员工离职率那么高?

    近几年职场上普遍存在一个奇怪的现象,90后的员工离职率特别高,95后就更不用说了,几乎可以用"一言不合就离职"来形容.那究竟是为什么现在90后的员工离职率那么高呢? 回想我们父母那 ...

  5. 员工离职率预测,练手赛

    文章目录 1.数据探索 1.1 各特征总量及百分比 1.2 heatmap 2.特征选择&处理 2.1 特征分类 2.2 连续特征选择 2.3 分类特征选择 2.4 异常值处理 2.5 连续特 ...

  6. 如何使用Keras和TensorFlow建立深度学习模型以预测员工留任率

    The author selected Girls Who Code to receive a donation as part of the Write for DOnations program. ...

  7. 使用深度学习预测员工流失率

    墨西哥的员工流动率在全球排名第八,平均每年约17%的流失率 - 一些行业(如餐饮服务)的流失率高达50%. 根据Catalyst的一项研究,平均而言,替换员工的成本约为员工年薪的50%至75%. 考虑 ...

  8. 博士员工离职率21.8%,任正非反思:华为这么大,英雄为何无用武之地?

    ** 2019程序员转型学什么? https://edu.csdn.net/topic/ai30?utm_source=csdn_bw ** 导读:这份文件中的数据显示,近公司博士类员工近5年累计平均 ...

  9. 华为给博士毕业生开出天价年薪!为何博士级员工离职率依旧高达21.8%

    昨日(7月23日),网络盛传一张华为总裁办电子邮件的截图.截图显示,华为已制定2019届顶尖学生年薪制方案:8位2019届应届博士生年薪89.6万起,其中最高的达到了201万. 华为:从全世界招募天才 ...

  10. 竟可监控员工离职倾向!一系统引发大争议

    南方都市报(nddaily).N视频报道 南都记者 方诗琪 叶霖芳 实习生 曾汉 近日,一款可监测员工离职倾向和怠工情况的系统引发热议.该系统被指或为上市公司深信服科技股份有限公司(下称"深 ...

最新文章

  1. HTTP1.0和HTTP1.1区别
  2. vmware esxi 5.1 开启嵌套虚拟化
  3. paradox 修改字段长度_关于生日的作文500字9篇
  4. java href_jnlp href属性中的url参数
  5. SonarQube上传分析报告失败
  6. php radio js,如何使用JavaScript设置radio选中的示例
  7. windows虚拟机_iOS 版虚拟机:在 iPhone 上运行 Windows 系统
  8. ubuntu-kylin16.04搭建lamp环境。
  9. 阿里云的工程师要被祭天了?
  10. PAT甲级1010 (进制和二分法)
  11. 常用html标签 —— 链接的颜色
  12. 开课吧:人工智能技术应用面临的挑战包括哪些方面?
  13. 疯狂Java实战演义
  14. java javax.crypto.mac dofinal_Java密码学 - 2. MAC example
  15. 差分进化算法 matlab,差分进化算法之Matlab实现
  16. c语言实现鼠标驱动,鼠标驱动程序
  17. 软件工程学习笔记(三)~顺序图模型
  18. onenote打开闪退平板_ipad pro 11英寸。onenote闪退 无法使用
  19. 地理坐标系:WGS84和BD09互转
  20. C语言比较两个数的大小,输出较大的数

热门文章

  1. Linux·触摸屏驱动实例
  2. 世界上最流行的开放源代码冲锋枪AK-47
  3. BZOJ2827 : 千山鸟飞绝
  4. ipad显示portal服务器获取不,苹果portal认证失败原因合集
  5. Java 网络IO编程
  6. 实验吧——WEB-天下武功唯快不破
  7. 面向对象之抽象类与接口【Java】
  8. delphi Use MSBuild externally to compile 无法DEBUG
  9. dubbo之Serialization
  10. java mongodb avg_Java-mongodb-AggregationOutput(分组、统计)