久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

員工離職太正常不過了!但是如何用Python來預(yù)測離職率呢?叼爆了

 遁地的蜘豬俠 2018-08-15

大數(shù)據(jù)使企業(yè)能夠確定變量,預(yù)測自家公司的員工離職率,?!薄豆鹕虡I(yè)評論》2017年8月

“員工流失分析就是評估公司員工流動率的過程,,目的是預(yù)測未來的員工離職狀況,減少員工流失情況,?!薄陡2妓埂?016年3月

私信小編007即可獲取數(shù)十套PDF哦!

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢,?叼爆了

import pandas as pd

hr = pd.read_csv('HR.csv')

col_names = hr.columns.tolist()

print('Column names:')

print(col_names)

print('\nSample data:')

hr.head()

員工離職太正常不過了!但是如何用Python來預(yù)測離職率呢,?叼爆了

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢?叼爆了

我們的數(shù)據(jù)相當(dāng)干凈,,沒有缺失值:

hr.isnull().any()

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢?叼爆了

數(shù)據(jù)包含了14999名員工和10個特征:

hr.shape

(14999, 10)

“l(fā)eft”列為結(jié)果變量,,值為1或0,,1代表員工離開了公司,0代表沒有離開,。

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢?叼爆了

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢,?叼爆了

我們發(fā)現(xiàn)數(shù)據(jù)中有3571名員工離職,有11428名員工沒有離職,。

然后我們進(jìn)一步查看這兩個類別下的數(shù)字所蘊含的意義:

hr.groupby('left').mean()

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢?叼爆了

幾個觀察結(jié)果:

  • 留在公司的員工的平均滿意程度要高于離職的員工
  • 留在公司的員工的平均每月工作時長要多于離職的員工
  • 出現(xiàn)工作事故的員工比沒有出現(xiàn)工作事故的員工離開公司的意愿要低
  • 過去五年中得到升職的員工比過去五年中沒有升職的員工離開公司的意愿要低

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢,?叼爆了

數(shù)據(jù)可視化

我們將數(shù)據(jù)進(jìn)行可視化,從而獲取數(shù)據(jù)及重要特征的更清晰的展現(xiàn)。

員工的工作部分和離職頻率的條形圖

%matplotlib inline

import matplotlib.pyplot as plt

pd.crosstab(hr.department,hr.left).plot(kind='bar')

plt.title('Turnover Frequency for Department')

plt.xlabel('Department')

plt.ylabel('Frequency of Turnover')

plt.savefig('department_bar_chart')

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢,?叼爆了

員工離職太正常不過了!但是如何用Python來預(yù)測離職率呢,?叼爆了

我們可以看到,,員工的薪資水平和離職頻率有很大關(guān)系,因此薪資水平也可以作為預(yù)測結(jié)果的一個很好指標(biāo),。

通常,,直方圖是我們在探索數(shù)據(jù)時用于分析數(shù)值變量的最有用的工具之一。

數(shù)值變量的直方圖

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢,?叼爆了

為分類變量創(chuàng)建虛變量

數(shù)據(jù)集中有兩個分類變量(department,salary),,在用它們進(jìn)行建模前需要將它們轉(zhuǎn)換為虛變量,。

cat_vars=['department','salary']

for var in cat_vars:

cat_list='var' '_' var

cat_list = pd.get_dummies(hr[var], prefix=var)

hr1=hr.join(cat_list)

hr=hr1

等創(chuàng)建完虛變量后,還需要移除實際的分類變量,。

為分類變量創(chuàng)建虛變量后的列名:

hr.drop(hr.columns[[8, 9]], axis=1, inplace=True)

hr.columns.values

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢?叼爆了

我們使用特征選擇方法幫我們決定哪些變量非常重要,,能夠以很高的準(zhǔn)確率預(yù)測員工的流動狀況?,F(xiàn)在X中一共有18個列,那么選為10個呢,?

from sklearn.feature_selection import RFE

from sklearn.linear_model import LogisticRegression

model = LogisticRegression()

rfe = RFE(model, 10)

rfe = rfe.fit(hr[X], hr[y])

print(rfe.support_)

print(rfe.ranking_)

[True True False False True True True True False True True False

False False False True True False]

[1 1 3 9 1 1 1 1 5 1 1 6 8 7 4 1 1 2]

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢?叼爆了

邏輯回歸準(zhǔn)確率:0.771

隨機森林

from sklearn.ensemble import RandomForestClassifier

rf = RandomForestClassifier()

rf.fit(X_train, y_train)

RandomForestClassifier(bootstrap=True, class_weight=None, criterion=’gini’, max_depth=None, max_features=’auto’, max_leaf_nodes=None, min_impurity_split=1e-07, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=1, oob_score=False, random_state=None, verbose=0, warm_start=False)

print('Random Forest Accuracy: {:.3f}'.format(accuracy_score(y_test, rf.predict(X_test))))

隨機森林準(zhǔn)確率:0.978

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢,?叼爆了

10折交叉驗證平均準(zhǔn)確率:0.977

平均準(zhǔn)確率仍然和隨機森林模型的準(zhǔn)確率非常接近,所以我們可以總結(jié)出模型的泛化能力很好,。

精確度和召回率

我們構(gòu)建混淆矩陣來可視化由分類器生成的預(yù)測值,,并評估分類的準(zhǔn)確率。

隨機森林

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢,?叼爆了

員工離職太正常不過了!但是如何用Python來預(yù)測離職率呢,?叼爆了

邏輯回歸

print(classification_report(y_test, logreg.predict(X_test)))

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢?叼爆了

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢,?叼爆了

svc_y_pred = svc.predict(X_test)

svc_cm = metrics.confusion_matrix(svc_y_pred, y_test, [1,0])

sns.heatmap(svc_cm, annot=True, fmt='.2f',xticklabels = ['Left', 'Stayed'] , yticklabels = ['Left', 'Stayed'] )

plt.ylabel('True class')

plt.xlabel('Predicted class')

plt.title('Support Vector Machine')

plt.savefig('support_vector_machine')

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢?叼爆了

當(dāng)一名員工離職時,,我們的分類器能正確預(yù)測的概率是多少呢,?這種衡量方法被稱為“召回率”,快速看一下這些圖表可以發(fā)現(xiàn)隨機森林的效果最好,。在上面所有的離職情況中,,隨機森林從1038種離職情況中正確地檢索出998種情況。這表明離職“召回率”達(dá)到95%(991/1038),,遠(yuǎn)好于邏輯回歸(26%)和支持向量機(85%),。

員工離職太正常不過了!但是如何用Python來預(yù)測離職率呢,?叼爆了

員工離職太正常不過了,!但是如何用Python來預(yù)測離職率呢?叼爆了

ROC曲線是另一種用于衡量二元分類器的常用工具,。它是一條點狀線,,表示一個完全隨機分類器的受試者工作特征曲線;一個性能良好的分類器會盡可能的遠(yuǎn)離這條線(朝左上角),。

員工離職太正常不過了!但是如何用Python來預(yù)測離職率呢,?叼爆了

總結(jié)

文章到這里就結(jié)束了,,本文我們通過一個人力資源數(shù)據(jù)集,用Python搭建了幾個機器學(xué)習(xí)模型,,最終確定隨機森林模型的準(zhǔn)確率最高,,最適合預(yù)測員工離職。

不過我就不列出模型預(yù)測哪些員工會離職了,,畢竟這并非我們的主要目的,。記住一點,我們的算法不會人人適用,。雖然員工離職率分析能幫我們制定更合理的人力資源管理決策,,但不要過度依賴模型的預(yù)測結(jié)果。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多