DataikuとChatGPTで給与分析 どんなデータスキルが稼げるのか?【データ加工編】
  • タグ画像

    ChatGPT

  • タグ画像

    Dataiku

  • タグ画像

    Kaggle

2023-07-12

目次

はじめに

こんにちは、株式会社VillageAI取締役の松本祐輝です。
本記事では、DataikuOpenAI GPTChatGPTを使って、どんなデータスキルが稼げるのか?を分析して明らかにしてみたいと思います。

使用するデータは、Kaggleで公開されている「Salary Prediction」です。

Glassdoor.com というサイトの2017 年の求人情報をスクレイピングして収集したデータで、下記のようなテーマで分析することを目的としているようです。
今回は、データサイエンスの給与に最も影響を与える要因(スキル)を分析してみましょう。
・データ サイエンスの給与に最も影響を与える要因を特定する
・どの州や都市が最も給与の高いデータ サイエンスの仕事を提供しているかを判断する
・職務内容に基づいて、データ サイエンスの求人の給与を予測する

Kaggleとは

Kaggleとは、データサイエンティスト達が、自分たちのデータ分析力を磨く場として機能しているプラットフォームとなります。kaggleとはカグルと読み、kaggleに参加し、スキルを磨く方々をカグラーと呼びます。

the home of Data Science & Machine Learning

と表記されるように、データサイエンスと機械学習の家と呼ばれ、世界中の、機械学習・データサイエンスに携わる約40万人が集まるコミュニティです。

Kaggleの中では、企業や政府などの組織と、データ分析のプロであるデータサイエンティストや機械学習エンジニアを繋げるプラットフォームとして機能しており単純にエンジニアと企業をマッチングするのではなく、コンペが行われ盛り上がりをみせています。

Dataikuとは

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で給与分析をするために以下のようなデータ加工を行いました。
次回は、これらを使って、どんなデータスキルが稼げるのかを分析したいと思います。
・給与の文字列から数値を抽出
・職種名から職種カテゴリに分類
・職務内容からデータスキルを抽出
今回作成したフローを載せておきます。