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の分類)、一見サラリーマンから見たら少し怖い領域ですが、上司情報を含む周辺情報も変数として追加することで、本人のパフォーマンスを最大化できる環境の予測など、前向きな課題に活用していけると面白いかもしれませんね。
なお、私が参考にしているのは以下の本「機械学習のための前処理入門」です。
とりあえずこの一冊があれば、私のようなpythonド素人であってもとコンペで戦うことだけはできます。
更にランクを上げていくには修行が必要ですが、入門編としておすすめ。
書籍での独学が苦手という方は、千円ちょっとで学習できるUdemyのオンライン講座が安くて高品質です。
kaggleやSIGNATE挑戦記など、その他AI・機械学習関連の記事をまとめたものはこちら。
-
機械学習関連の記事まとめ
続きを見る