sklearn预测员工离职率
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预测员工离职率相关推荐
- Logisitc Regression 预测员工离职率
Logistic Regression 基础 Logistic Regression 沿用了 Linear Regression 的思路和想法,通过使用线性关系拟合得到真实的函数关系.同样的,如果模型 ...
- 如何利用大数据分析技术预测员工离职?
为什么我们要对员工离职进行预测,因为它会帮助公司减少员工离职成本的消耗. 本文为美国肯尼索州立大学刘丽媛(Lilian)在HR成长部落2019年6月23日的线下活动分享文字实录,希望对大家在数据分析在 ...
- 团队管理(3)---有效降低企业员工离职率
有效降低企业员工离职率 招人难!居高不下的员工离职率,更使企业招聘难上加难!近年来,楚柳香小编很多HR朋友都在抱怨公司员工离职率过高的问题.过高的员工流失率,使许多企业都处在招聘--流失--再招聘-- ...
- 为什么现在90后员工离职率那么高?
近几年职场上普遍存在一个奇怪的现象,90后的员工离职率特别高,95后就更不用说了,几乎可以用"一言不合就离职"来形容.那究竟是为什么现在90后的员工离职率那么高呢? 回想我们父母那 ...
- 员工离职率预测,练手赛
文章目录 1.数据探索 1.1 各特征总量及百分比 1.2 heatmap 2.特征选择&处理 2.1 特征分类 2.2 连续特征选择 2.3 分类特征选择 2.4 异常值处理 2.5 连续特 ...
- 如何使用Keras和TensorFlow建立深度学习模型以预测员工留任率
The author selected Girls Who Code to receive a donation as part of the Write for DOnations program. ...
- 使用深度学习预测员工流失率
墨西哥的员工流动率在全球排名第八,平均每年约17%的流失率 - 一些行业(如餐饮服务)的流失率高达50%. 根据Catalyst的一项研究,平均而言,替换员工的成本约为员工年薪的50%至75%. 考虑 ...
- 博士员工离职率21.8%,任正非反思:华为这么大,英雄为何无用武之地?
** 2019程序员转型学什么? https://edu.csdn.net/topic/ai30?utm_source=csdn_bw ** 导读:这份文件中的数据显示,近公司博士类员工近5年累计平均 ...
- 华为给博士毕业生开出天价年薪!为何博士级员工离职率依旧高达21.8%
昨日(7月23日),网络盛传一张华为总裁办电子邮件的截图.截图显示,华为已制定2019届顶尖学生年薪制方案:8位2019届应届博士生年薪89.6万起,其中最高的达到了201万. 华为:从全世界招募天才 ...
- 竟可监控员工离职倾向!一系统引发大争议
南方都市报(nddaily).N视频报道 南都记者 方诗琪 叶霖芳 实习生 曾汉 近日,一款可监测员工离职倾向和怠工情况的系统引发热议.该系统被指或为上市公司深信服科技股份有限公司(下称"深 ...
最新文章
- HTTP1.0和HTTP1.1区别
- vmware esxi 5.1 开启嵌套虚拟化
- paradox 修改字段长度_关于生日的作文500字9篇
- java href_jnlp href属性中的url参数
- SonarQube上传分析报告失败
- php radio js,如何使用JavaScript设置radio选中的示例
- windows虚拟机_iOS 版虚拟机:在 iPhone 上运行 Windows 系统
- ubuntu-kylin16.04搭建lamp环境。
- 阿里云的工程师要被祭天了?
- PAT甲级1010 (进制和二分法)
- 常用html标签 —— 链接的颜色
- 开课吧:人工智能技术应用面临的挑战包括哪些方面?
- 疯狂Java实战演义
- java javax.crypto.mac dofinal_Java密码学 - 2. MAC example
- 差分进化算法 matlab,差分进化算法之Matlab实现
- c语言实现鼠标驱动,鼠标驱动程序
- 软件工程学习笔记(三)~顺序图模型
- onenote打开闪退平板_ipad pro 11英寸。onenote闪退 无法使用
- 地理坐标系:WGS84和BD09互转
- C语言比较两个数的大小,输出较大的数