1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

実務で役立つPython機械学習入門:分類アルゴリズムで社員の退職を予測しよう

Posted at

初めに

機械学習の基礎である「分類」アルゴリズムを用いて、社員の退職を予測するプロセスを解説します。データの読み込みから予測まで、実務で使えるステップ順に学んでいきましょう。

Step1. データの観察

まずは学習用データとなる employee_train.csv を読み込み、中身を確認します。
今回の目的(ターゲット変数)は leaving(退職したかどうか:0=在職、1=退職) の予測です。

image.png

データセットの統計量や欠損値の有無を確認し、データの全体像を把握します。

image.png


Step2. 特徴量エンジニアリング

予測のヒントとなる「特徴量」を選定します。
特徴量には、「元データをそのまま使う特徴量」と「元データを加工して生成する特徴量」の2種類が存在します。

今回は、以下のデータを特徴量として使用することにします。

  • age:年齢
  • job_satisfaction:仕事に対する満足度(1-5の5段階評価)
  • environment_satisfaction:職場環境に対する満足度(1-5の5段階評価)
  • over_time:残業が多かったか(0:少なかった、1:多かった)
  • income:年収

image.png


Step3. アルゴリズムの選定と訓練

今回は Logistic Regression(ロジスティック回帰) を使用します。

ロジスティック回帰とは?
「回帰」という名前がついていますが、実際には分類問題(「はい」か「いいえ」かなど)を解くためのアルゴリズムです。ある事象が起こる確率を から の間で算出し、その値をもとにグループ分けを行います。シンプルながら解釈性が高く、ビジネスの現場でも非常によく使われます。

image.png

モデルを定義したら、訓練データを用いて学習を実行します。

image.png


Step4. 機械学習モデルの評価

作成したモデルがどの程度の精度を持っているか確認します。
今回は評価指標として Accuracy(正解率) を採用します。

Accuracy(正解率)とは?
全データのうち、モデルが予測した結果と実際の正解が一致した割合のことです。例えば100人の退職予測をして80人的中すれば、Accuracyは 80% となります。もっとも直感的で分かりやすい評価指標です。

image.png


Step5. 機械学習モデルを使った予測

いよいよ学習済みモデルを使って新しい社員が退職するかどうかを予測します。
注意点として、学習時と同じ順番・同じ種類の特徴量をモデルに渡す必要があります。

image.png

まとめ

おめでとうございます!これで無事に社員の退職を予測することができました。

機械学習の流れ(データの観察 → 特徴量選定 → 学習 → 評価 → 予測)は、どんなに複雑なモデルでも基本は同じです。今回のステップをベースに、他の特徴量を加えたりアルゴリズムを変更したりして、さらに精度を高めてみてください。


次にやってみること:

  • 他のアルゴリズム(決定木やランダムフォレストなど)を使ってみる:ロジスティック回帰と精度がどう変わるか比較してみましょう。
  • 不均衡データについて調べてみる:実際の現場では「退職する人」は少数派です。データの偏りが予測にどう影響するか考えてみましょう。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?