2023-07-12
1.
はじめに
2.
Kaggleとは
3.
Dataikuとは
4.
給与分析:データ加工編
5.
おわりに
こんにちは、株式会社VillageAI取締役の松本祐輝です。
本記事では、DataikuのOpenAI GPTとChatGPTを使って、どんなデータスキルが稼げるのか?を分析して明らかにしてみたいと思います。
使用するデータは、Kaggleで公開されている「Salary Prediction」です。
Glassdoor.com というサイトの2017 年の求人情報をスクレイピングして収集したデータで、下記のようなテーマで分析することを目的としているようです。
今回は、データサイエンスの給与に最も影響を与える要因(スキル)を分析してみましょう。
・データ サイエンスの給与に最も影響を与える要因を特定する
・どの州や都市が最も給与の高いデータ サイエンスの仕事を提供しているかを判断する
・職務内容に基づいて、データ サイエンスの求人の給与を予測する
Kaggleとは、データサイエンティスト達が、自分たちのデータ分析力を磨く場として機能しているプラットフォームとなります。kaggleとはカグルと読み、kaggleに参加し、スキルを磨く方々をカグラーと呼びます。
the home of Data Science & Machine Learning
と表記されるように、データサイエンスと機械学習の家と呼ばれ、世界中の、機械学習・データサイエンスに携わる約40万人が集まるコミュニティです。
Kaggleの中では、企業や政府などの組織と、データ分析のプロであるデータサイエンティストや機械学習エンジニアを繋げるプラットフォームとして機能しており単純にエンジニアと企業をマッチングするのではなく、コンペが行われ盛り上がりをみせています。
Dataikuは、データサイエンスと機械学習のためのエンドツーエンドプラットフォームです。
データの準備からモデルの展開までをサポートし、効率的なチームコラボレーションが実現できます。
ビジネスユーザーやデータサイエンティストは、異種のデータソースからのデータ統合やモデル構築を簡素化できます。
豊富なデータ可視化機能やセキュリティ対策も特長です。
内容は、下表の通りです。本記事では、このデータを給与分析出来る形に加工していきます。
col_0 | インデックス |
Job Title | 職種 |
Salary Estimate | 給与見積もり |
Job Description | 職務内容 |
Rating | 評価 |
Company Name | 会社名 |
Location | 場所 |
Headquarters | 本社 |
Size | 規模 |
Founded | 設立年 |
Type of ownership | 所有形態 |
Industry | 業界 |
Sector | セクター |
Revenue | 収益 |
Competitors | 競合他社 |
本文DataikuのAnalyze機能を使って眺めたところ、給与がない(-1で表されてる)レコードや、重複レコードがあることが分かります。
重複していた職務内容でフィルタリング他のカラムも重複しているのかを確認
他のカラムも重複しているのかを確認
Distinctレシピを使って、これらの不要なレコードを削除します。
給与が◯◯〜◯◯というテキストになっているので、Prepareレシピを使って最小と最大、その平均の数値データを作成します。
また、会社名が会社名だけでなく改行と評価が含まれてるのでこれの削除を行います。
Job Titleが結構細かい粒度なので、もう少しざっくりしたもの(職種カテゴリ)にしたいと思います。
正規表現を使ってルールベースでやる方法もありますが、面倒なので今話題のChatGPTのAPIを利用するClassify text with OpenAI GPTレシピを使って、下図のように7個に分類してみます。
結果、下図のように分類されました。実務では分類結果を精査する必要がありますが、ここではAIを信じてそのまま進めます。
次に、職務内容からデータ関連のスキルを抽出します。
ChatGPTにデータ分析やデータサイエンスで重要とされるスキルを聞いてみましょう。
OpenAI GPTの質問回答レシピを使って、職務内容でこれらのスキルが求められているかどうかを質問して特徴量を作成します。
出力結果をAnalyze機能で見てみると、下図のように値無しや不明なものがあるため、Prepareレシピで整えて完成です。
最後に、今回作成した特徴量をChatsとStastiscタブを使って可視化します。
本記事では、Dataikuで給与分析をするために以下のようなデータ加工を行いました。
次回は、これらを使って、どんなデータスキルが稼げるのかを分析したいと思います。
・給与の文字列から数値を抽出
・職種名から職種カテゴリに分類
・職務内容からデータスキルを抽出
今回作成したフローを載せておきます。