はじめに
こんにちは、株式会社VillageAI取締役の松本祐輝です。
本記事では、kaggleの「Hr Analytics Job Prediction」を使って分析ツール「Dataiku」で退職予測をしてみたいと思います。
kaggle:Hr Analytics Job Prediction
Kaggleとは
Kaggleとは、データサイエンティスト達が、
自分たちのデータ分析力を磨く場として機能しているプラットフォームとなります。
kaggleとはカグルと読み、kaggleに参加し、スキルを磨く方々をカグラーと呼びます。
the home of Data Science & Machine Learning
と表記されるように、データサイエンスと機械学習の家と呼ばれ、
世界中の、機械学習・データサイエンスに携わる約40万人が集まるコミュニティです。
Kaggleの中では、企業や政府などの組織と、
データ分析のプロであるデータサイエンティストや機械学習エンジニアを繋げる
プラットフォームとして機能しており単純にエンジニアと起業をマッチングするのではなく、
コンペが行われ盛り上がりをみせています。
Dataikuとは
Dataikuは、データサイエンスと機械学習のためのエンドツーエンドプラットフォームです。
データの準備からモデルの展開までをサポートし、効率的なチームコラボレーションが実現できます。
ビジネスユーザーやデータサイエンティストは、
異種のデータソースからのデータ統合やモデル構築を簡素化できます。
豊富なデータ可視化機能やセキュリティ対策も特長です。
人事データ分析:退職予測
データの読み込み
まずは、データをDataikuに読み込みます。
satisfaction_level | 満足度 |
last_evaluation | 最終評価 |
number_project | プロジェクト数 |
average_montly_hours | 平均月間時間 |
time_spend_company | 会社で過ごした時間 |
Work_accident | 労働事故 |
left | 退職 |
promotion_last_5years | 過去5年間の昇進 |
Department | 部門 |
salary | 給与 |
データの可視化
各変数の分布をstatisticsで可視化します。
平均月間時間と最終評価は、山が2つあるように見えますね。
労災は少ないです(多かったら問題w)。
プロジェクト数は、4つが最も多く、最大でも7個。過去5年の昇進は、ほとんどないみたいです。
次に相関係数を見てみます。
退職との相関係数を見てみると、満足度と弱い負の相関、勤続年数と弱い相関が見られます。
探索的データ分析
各変数と退職の関係を見ていきます。
まずは、数値データについて箱ひげ図で可視化してみます。
退職してる人は、満足度:低い、最終評価:高い、平均月間時間:多い、勤続年数:長い、
という傾向が見られます。
続いて、100%棒グラフで構成比を見てみます。
部門:管理部とR&D、給与:高給与、過去5年の昇給:あり、が退職率が低い傾向が見られます。
あと理由は分からないですが、労働事故がある社員の方が退職率が低い傾向があります。
退職予測モデルの構築
データを学習用とテスト用に分割し、学習データでモデルの構築、
テストデータで予測を実行するフローを作成します。
今回はランダムに75%を学習用データ、25%をテスト用データとして分割しました。
Auto-MLで「RandomForest」、「ロジスティクス回帰」、「LightGBM」を実行した結果、
下図のようにLightGBMが一番精度が高いという結果になりました。
重要度は、満足度、勤続年数、平均月間時間の順に高いようです。
退職予測の実行
最後にテストデータで退職を予測します。先程のモデルをデプロイし、Predictレシピを使って予測を実行します。
実行した結果、正解率約98%となりました。
(2836+828) / 3749 ≒ 0.98
おわりに
kaggleの「Hr Analytics Job Prediction」のデータを使って、Dataikuで退職予測モデルを構築してみました。
この予測モデルで退職確率が高い社員を抽出し、何らかの施策を打っていくような活用が考えられそうです。
コメント