機械学習

TensorFlowで従業員の退職を予測する

2018年6月12日

kaggleって知れば知るほど面白いサイトでして、次から次へとトライしたいテーマが出てきます。

日本でも意欲的に取り組まれている方々がいらっしゃるようでして、今回はこのサイトも参考にお題をチョイスしてみました。

(保存版:ど素人向け)データ分析ハッカソンやる時の便利なチュートリアル集 by Team AI

https://qiita.com/daisuke-team-ai/items/f8e3275f1d3ca7e9bfcd

「ど素人向け」ありがとうございます!!

トライした問題:「IBM HR Analytics Employee Attrition & Performance(IBMの離職率分析)」
https://www.kaggle.com/pavansubhasht/ibm-hr-analytics-attrition-dataset

トップページのDescriptionによると、IBMのdata scientist達が作ってくれた、従業員の属性毎の退職率予測の問題だそうです。当然ながらfictional dataとの事(残念w)。

■データセットの説明

あくまで想定ではありますが、データセットの説明を以下に記載します。
※日本語訳が間違ってても責任は負えません。。。逆に指摘頂けると助かります。

項目 説明
Age 年齢
Attrition 【目的変数】退職したかどうか。Yesなら退職、Noなら退職していない
BusinessTravel 出張頻度でしょう。「non-travel」「rarely」「frequenty」が散見されます
DailyRate うーん・・・日給?
Department 部署。salesとかreserchとか
DistanceFromHome 自宅から職場までの距離。単位は不明
Education 最終学歴でしょう。サイトに「1 'Below College' 2 'College' 3 'Bachelor' 4 'Master' 5 'Doctor'」の説明がありました
EducationField 専攻
EmployeeCount 正社員フラグですかね??ただこれ全て"1"なので削除でokと思います
EmployeeNumber 社員番号
EnvironmentSatisfaction 職場環境の満足度、ですね。1 'Low' 2 'Medium' 3 'High' 4 'Very High'
Gender 性別
HourlyRate 時給かなぁ・・・単位が不明。
JobInvolvement 労働意欲、でしょうか。1 'Low' 2 'Medium' 3 'High' 4 'Very High'
JobLevel 査定ランク、でしょうか。対外的な役職とは違う、内部的な。
JobRole 役職
JobSatisfaction 仕事への満足度、ですね。1 'Low' 2 'Medium' 3 'High' 4 'Very High'
MaritalStatus 配偶者の有無
MonthlyIncome 月給
MonthlyRate すみません、月給?単位が分かりません汗
NumCompaniesWorked 社会人暦?
Over18 成人フラグ?全員Yなので削除でいいでしょう
OverTime 残業有無。2値
PercentSalaryHike 不明!
PerformanceRating 不明!
RelationshipSatisfaction 人間関係の満足度!?結構重要そう。。。
StandardHours 標準労働時間ですかね。全員80なので削除でいいでしょう。
StockOptionLevel 数値が大きいほうがストックオプションをたくさん持っているのでしょう。うらやましい。。。
TotalWorkingYears 前職を含めた社会人暦、でしょう。別項目にYearsAtCompanyがあるので。
TrainingTimesLastYear 昨年の教育時間、かな?皆さん全然trainingしてないっすね
WorkLifeBalance 数字が大きいとワークライフバランスが良いのか悪いのかは不明。
YearsAtCompany この会社の在籍期間ですね
YearsInCurrentRole 現役職期間
YearsSinceLastPromotion 昇進してからの年数
YearsWithCurrManager 今の上司になってからの年数。結構重要そう!

いつも通り経過は端折りますが、TensorFlowを使ったモデル作成結果です。

■予測結果

AUC=0.8超えたのでかなり良い感じかなと思います
よく効く特徴量としては、OverTime、JobSatisfaction、EnvironmentSatisfaction、Ageなどなど。

こちらに上げた項目は、離職する/しないと、見事に相関があるように見えますが、IBMのdata scientist達が勝手に作ったデータらしいので特に感慨はありませんね・・・

■まとめ

日本ではこれからピープルアナリティクス領域が盛り上がる雰囲気があります。

離職を予測したり従業員のパフォーマンスを予測したり(Good/Poor performerの分類)、一見サラリーマンから見たら少し怖い領域ですが、上司情報を含む周辺情報も変数として追加することで、本人のパフォーマンスを最大化できる環境の予測など、前向きな課題に活用していけると面白いかもしれませんね。

[st_af id="2474"]

-機械学習