**

校园招聘影响因素分析

**
数据来源:本文数据来源于Kaggle提供的数据集campus_recuritment.csv(获取链接:https://www.kaggle.com/benroshan/notebook),此数据集包含印度某校园中商学院得硕士研究生得应聘录取数据。它包括中学和高中的百分比和专业。它还包括学位专业,类型和工作经验以及对所就读学生的薪资待遇等信息。
分析目标
1.Which factor influenced a candidate in getting placed?
2.Does percentage matters for one to get placed?
3.Which degree specialization is much demanded by corporate?
4.Play with the data conducting all statistical tests.
字段说明
ssl_no:serial number
gender:性别
ssc_p:secondary education percentage -10th grade 中学一级课程平均分
ssc_b:board of education-central/others 教育委员会
hsc_p:higher secondary education percentage -12th grade 中学二级课程平均分-
hsc_b:board of education-centeral/others 教育委员会-中央/其它
hsc_s:specialization in higher secondary education commerce/science/other高中专业化 商业/科学/其它
degree_p:degree percentage 学位百分比是本科课程的最终平均分数
degree_t:under graduation(degree type)-field of degree education comm&mgmt/sci&Tech/others 学位教育领域
workex:work experience 工作经验
etest_p:employability test percentage(conducted by college) 就业能力测试分
specialiation:Post graduation(mba)-specialiization
mba_p:MBA percentage MBA百分比是工商管理课程中的硕士学位(毕业后)的平均分数。
status:status of plaecment placed/not placed
salary:salary offered by corporate to candidates
另外, 查了一下,印度的学制是1-10年级为中学一级(ssc),有点类似我们的小学初中(九年义务教育阶段),11-12年级为中学二级(hsc),有点类似我们得高中阶段,degree,mba有点类似大学,研究生阶段,这样这些字段可能容易理解一些。

读取数据

import numpy as np
import pandas as pd
import re
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inlineplt.rcParams['font.sans-serif']=['SimHei']
df1=pd.read_csv(r'D:\kaggle\campus recuritment.csv',index_col=0)

df1.info()


可以发现,共有215条记录,每一条记录代表一个学生饿信息,其中,_p的指标都为数值型指标,gender,_b为字符型指标,status为目标变量,salary因为只有status="placed"的记录才会有,因此有较多缺失值,本研究薪水不是主要研究对象,因此忽略该字段。

数据探索

#数值类型变量
quantitives=[f for f in df1.columns if df1.dtypes[f]!='object']
#字符类型变量
qulitives=[f for f in df1.columns if df1.dtypes[f]=='object']
quantitives.remove('salary')#删除薪水字段,不做研究
qulitives.remove('status')#status是目标变量,不是自变量,删除
print (quantitives,qulitives)
output:['ssc_p', 'hsc_p', 'degree_p', 'etest_p', 'mba_p'] ['gender', 'ssc_b', 'hsc_b', 'hsc_s', 'degree_t', 'workex', 'specialisation']

数据分析

#分析目标1:哪些因素影响了候选人的入职?
#查看定性因素与status的交叉分布情况(交叉分析)
fig=plt.figure()
plt.rcParams['figure.figsize'] = (12.0, 18.0)
for i in range(len(qulitives)):gb1=df1.groupby(['status',qulitives[i]])['sl_no'].count().reset_index()ax1=fig.add_subplot(4,2,i+1)sns.barplot(x='sl_no',y=qulitives[i],hue='status',data=gb1)#plt.subplots_adjust()




#百分比对一个人重要吗?
##查看定量因素与录取状况的关系
fig2=plt.figure()
plt.rcParams['figure.figsize'] = (10.0, 10.0)
for j in range(len(quantitives)-1):ax2=fig2.add_subplot(3,2,j+1)sns.boxplot(x=quantitives[j],y='status',data=df1)



通过上面的描述性统计分析,为了进一步量化和验证各自变量与因变量status的相关性,我们进行相关性分析。因为status为类型变量,需要对其进行编码,我们可以采用binary或者get_dummies方法进行转换,当然这两种编码方式,会将placed:0,not placed:1,在做相关性分析时,会认为0和1是有数值大小的,但是实际上这两个只是单纯的类型,不存在大小关系,因此在编码的时候我们更多的是推荐one-hot编码。

for c in qulitives:df1[c]=df1[c].astype('category')# 1.使用binary编码的方式来编码类别变量
#encoder = ce.BinaryEncoder(cols='MSZoning').fit(train[['MSZoning','SalePrice']])
# 转换数据
#numeric_dataset = encoder.transform(train[['MSZoning','SalePrice']])dumies=pd.get_dummies(df1,columns=['status'],prefix=['status'],prefix_sep="_",dummy_na=False,drop_first=False)
print(dumies.columns)
#output:Index(['gender', 'ssc_p', 'ssc_b', 'hsc_p', 'hsc_b', 'hsc_s','degree_p','degree_t', 'workex', 'etest_p', 'specialisation', 'mba_p', 'salary','status_Not Placed', 'status_Placed'], type='object')
#对category变量进行赋值编码
from sklearn.preprocessing import OneHotEncoder,LabelEncoder
oenc=OneHotEncoder(sparse=False)
lenc=LabelEncoder()
for c in qulitives:lenc.fit(df1[c])dumies[c+'2']=pd.DataFrame(lenc.transform(df1[c]))
qual_encoded=[i+'2' for i in qulitives ]
import category_encoders as ceplt.rcParams['figure.figsize'] = (14.0, 5.0)
fig=plt.figure()
fig.add_subplot(1,2,1)
corr1 = dumies[quantitives+qual_encoded+['status_Placed']].corr()
sns.heatmap(corr1)
fig.add_subplot(1,2,2)
corr2 = dumies[quantitives+qual_encoded+['status_Not Placed']].corr()
sns.heatmap(corr2)
print (corr1['status_Placed'],'\n',corr2['status_Not Placed'])

output1:

output2:

#处理进行所有统计检验的数据
from scipy import stats
index_all=quantitives+qual_encoded #合并两部分指标
for i in index_all:res=stats.ttest_ind(dumies[i],dumies['status_Placed'])#print(res['pvalue'])print ('{}的T检验结果:{}'.format(i,res))

output:

校园招聘影响因素分析相关推荐

  1. 招银网络笔试java_2020招银网络科技校园招聘常见问题

    关于简历投递方面问题 Q:我可以申请几个校招职位? A:本次校园招聘您最多只能申请1个职位,因此建议明确自己希望应聘的岗位. Q:简历提交之后,我还能进行修改? A:简历状态为"简历评估&q ...

  2. 十月下旬腾讯,网易游戏,百度盛大迅雷校园招聘笔试题集锦(10.25)

    十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦 引言 笔试啊,笔试,面试啊,面试,找工作啊,找工作.此文十月百度,阿里巴巴,迅雷搜狗最新面试十一题已经整理了最新的面试题70道,本文依次整理腾讯,网 ...

  3. 2014届华为校园招聘机试题

    华为2014校园招聘的机试题目和2013年的完全一样. 一.题目描述(60分): 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的 ...

  4. 腾讯2020校园招聘----逆序对

    腾讯2020校园招聘----逆序对 文章目录 腾讯2020校园招聘----逆序对 一.题目描述 二.题目分析 方法一:暴力求解(超时) 方法二:优化 一.题目描述 二.题目分析 首先,我们看到要求逆序 ...

  5. 华为2014校园招聘的机试题目

    华为2014校园招聘的机试题目和2013年的完全一样. 一.题目描述(60分): 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的 ...

  6. 校园招聘 - 比较容易的面试题

    又到校园招聘的季节了, 自从和一些同事出版了<编程之美>一书之后, 我经常收到一些关于面试, 编程,  和"题库"的询问. 其实我自己对算法没有什么研究, 有些问题都答 ...

  7. 阿里摩酷实验室计算机视觉团队校园招聘

    摩酷实验室是阿里巴巴达摩院和优酷联合成立的新团队,旨在研究世界级的前沿Media AI技术,驱动在全媒体领域的持续产品模式创新,进而深耕沉淀为可规模化的生产力.团队氛围融洽,核心成员来自浙大.港中文. ...

  8. 2014校园招聘_腾讯2014校园招聘

    目录: 1.腾讯201 4 校园招聘简介 2.讯招聘常见问题解答 3.腾讯职业发展&薪酬待遇 4.腾讯校园招聘笔试经验 4.1 腾讯用户研究/ 交互设计笔试题目回忆版(杭州)-2012.10. ...

  9. 数据分析真题日刷 | 网易2018校园招聘数据分析工程师笔试卷

    七月第一天,希望大家下半年都能「翻身」! 今日真题 网易2018校园招聘数据分析工程师笔试卷(来源:牛客网) 题型 客观题:单选20道:主观题:问答3道 完成时间 120分钟 牛客网评估难度系数 四颗 ...

最新文章

  1. 中tr不能显示字符_BeautifulSoup4中find 和find_all的比较
  2. java基础--集合Connection/Map
  3. Spring ORM数据訪问——Hibernate
  4. 节后收心困难?这15篇论文,让你迅速找回学习状态
  5. maven-resources-plugin include 通配符
  6. 5.【练习题】构造方法与重载
  7. android edittext不可复制_精选Android中高级面试题:性能优化,JNI,设计模式
  8. HAProxy的日志配置以及ACL规则实现负载均衡
  9. 计算机声卡怎么启动不了,三大方法助你解决声卡故障问题!
  10. c html转换成word,C#实现HTML转WORD及WORD转PDF的方法
  11. linux上传挂载镜像文件,linux系统中挂载img镜像文件
  12. java 状态模式 重试_java状态模式
  13. 《高并发Oracle数据库系统的架构与设计》一1.4 本章小结
  14. kis显示用户登录服务器失败,金蝶KIS专业版提示用户KISAdmin登陆失败。原因:未与信任SQL Server连接相关联...
  15. worklist 需要传的参数
  16. python读入tsv_PYTHON读取TXT/CSV/TSV 数据
  17. 爬虫实战:12306登录
  18. SPM处理fMRI数据的基本步骤
  19. MySQL---数据库从入门走向大神系列(七)-Java访问数据库配置及简单使用方法execute
  20. Android eclipse实现创建水果表并添加信息,将其以ListView控件显示

热门文章

  1. 【用websocket的注意了!】https下浏览器只允许使用wss协议,不允许使用ws协议!注意了!
  2. (已更新)多分类经典语录微信小程序源码下载支持一键复制带壁纸,王者改名等功能
  3. POWER BI 中DAX函数的应用
  4. 自然语言处理从入门到应用——动态词向量预训练:ELMo词向量
  5. paho架构_paho.mqtt.android代码逐步分析(三)
  6. vue 配置Eslint常用的校验规则汇总
  7. Git连接远程仓库实用指令
  8. nRF52832+PA
  9. appium报错Killing adb server on port 5037问题,及pycharm连接不到Android设备问题
  10. 太极熊猫服务器怎么都在维护,太极熊猫3月8日战区调整及维护公告