(本文将以预测员工满意度为背景,使用MSE为衡量标准,尝试各种非集成或者集成的模型,包括:线性回归,KNN,SVM,回归树,随机森林,AdaBoost,GBRT,Xgboost)
最近玩了一下这个新手赛,顺便总结一下学过的传统机器学习方法(回归)
赛题具体如下
链接: link.
赛题&数据
赛题
员工满意度又称雇员满意度,是团队精神的一种参考,也就是个体对他所从事的工作的一般态度。是组织成员对其工作特征的认知评价,是员工通过比较实际获得的价值与期望获得的价值之间的差距后,对工作各方面满足与否的态度和情绪反映。通过持续的员工满意度调查,企业可以对自身管理中所存在的问题进行“诊断”,进而系统地解决问题,改善企业的管理,提高生产效率、降低人员流失率。因此,科学的员工满意度分析对于提高企业管理的有效性意义重大。
本次练习赛基于员工的满意度调查与员工的基本信息和工作经历,预测员工对于公司的满意度情况。
数据说明
本次练习赛所使用数据集基于人力资源分析数据集,并且针对部分字段做出了一定的调整,所有的字段信息请以本练习赛提供的字段信息为准,字段信息内容参考如下:
数据放在百度云啦!
链接: https://pan.baidu.com/s/1StTWTHAz4GHpezIiwh5Rmw 密码: uqlc
下面开始整!
import pandas as pd
import numpy as np
from sklearn import ensemble
train = pd.read_csv('训练集.csv')
test11 = pd.read_csv('测试集.csv')
train
#得到如下所示的数据
为了对中文读者更加友好,将特征转化为中文:
col = ['id','上次评分','项目数量','平均月工时','工龄','工伤','福利等级','五年内有升职','部门','工资水平','满意度']
name = {
i:j for i , j in zip(train.columns, col)}
data= train.rename(columns = name)
test11 = test11.rename(columns = name)
#划分训练集和测试集
#划分训练集和测试集
from sklearn.model_selection import train_test_split
x_train , x_test , y_train ,y_test = train_test_split(data.iloc[:,:-1],data.iloc[:,