離職率數據分析
1 人贊了文章
一、數據概覽
一共14999個樣本,每一列都是可以提取的特徵,是比較乾淨的數據。
pandas可以做統計分析。使用pandas的read_csv函數讀取數據,返回dataframe類型數據,df是dataframe縮寫,由行和列組成。這裡的數據很純,不需要清洗。object相當於python中string類型,由於字元值類型不能跑機器學習模型,所以要將字元值轉換數值類型。
前五行信息:
包含員工信息調查,比如員工對企業滿不滿意,企業對於員工有沒有升職機會,每個月工作時間以及一共工作多少年,預測離職
包含員工信息調查,比如員工對企業滿不滿意、企業對於員工有沒有升職機會、每個月工作時間以及員工在該公司一共工作多少年等等,根據這些信息預測離職。
satisfaction_level 員工對當前工作的滿意度,取值範圍是0-1,越接近0說明越不滿意
last_evaluation 公司對員工的評估,取值範圍是0-1, 越接近1說明評價越高
number_project 員工完成的項目數
average_monthly_hours 每個月工作時間
time_spend_company 員工工作年限,時間越長離職可能性越低
Work_accident 是否發生工作事故
left 是否離職 ,相當於機器學習中的label ,1表示離職,0表示沒有離職
promotion_last_5years 是否有升職,1表示有,0表示沒有
sales 職位
salary 工資水平,分為中、低、高
一般我們拿到一批數據之後,要觀察數據的統計指標,這裡使用describe函數。在這之前我們需要修改某些列名。
count 總數
mean 均值
std 方差
其中work_accident、left的均值相當於概率值
二、數據觀察
value_counts()函數是計算某一列不同值的數量
什麼指標會對結果產生最大影響,我們先使用相關係數觀察一下。
線性相關分為正相關和負相關,自己與自己的相關係數是1,對角線都是1,越趨近1說明正相關程度越高,越趨近-1說明負相關程度越高。觀察得到left 和satisfaction_level相關程度比較大,是負相關。
三、數據分析
通過matplotlib進行可視化,分別提取特徵,觀察其與離職的關係。
1、職位和離職關係
縱坐標表示離職可能性概率,hr離職可能性最高,management和RandD比較小。
2、工資與離職關係
很顯然工資越低離職可能性越高。
3、員工對公司滿意度與離職關係
分為離職的和沒有離職的
已經離職的員工普遍對公司滿意度低,有些滿意度比較高但也會離職。
4、公司對員工的評估與離職關係
分為離職和沒有離職的
分數越低離職越高,但是高分的也有很多離職的,可能是能力強的員工期望更好的發展平台。
5、完成項目數與離職關係
項目數為2的時候離職最多,項目數為3、4時候離職率較低
6、工作時間與離職關係
等於200小時時離職最低,工作時間短和工作時間長的都會離職
7、在公司年限與離職關係
年限越長離職可能性越低
8、工作意外與離職關係
這裡沒有意外發生時離職率卻很高,和實際情況不符合,在後面機器學習中刪去
9、工作升職與離職關係
在工作中有升職離職率就會很低
推薦閱讀:
※數據分析的黑馬-ClickHouse介紹
※前沿科技公司研發新型兵棋分析工具幫助美空軍提升長期作戰獲勝率
※R語言knitr之rmarkdown
※Debookee Mac破解版 v6.2.29
※R語言實戰|數據結構學習筆記