データサイエンティストが仕事の生産性を爆上げするChatGPTの活用術
近年、AI技術が進化する中で、データサイエンティストの作業効率や生産性の向上が大きな関心を集めています。
特に、ChatGPTをはじめとした生成AIの進歩は、データサイエンティストの仕事の仕方を大きく変える可能性があります。
さらに注目すべきは、ChatGPTの新機能「Code interpreter(コードインタープリター)」です。この機能のおかげで、専門知識がない方でも、自分の言葉で要望を伝えるだけで簡単にデータ分析を実施することができるようになりました。
そこで、本記事では、データサイエンティストがChatGPTを活用して、データ分析からモデル構築、そして結果の解釈までの流れを効率よく進める方法を詳しくご紹介します。
Code interpreterとは
まず、最初に簡単にChatGPTの新機能「Code interpreter(コードインタープリター)」について解説していきます。
「Code interpreter(コードインタープリター)」とは、ChatGPTが提供する公式プラグインの1つで、このプラグインを利用することで、ChatGPT上でPythonを使ったコードの実行や、ファイルのアップロード・ダウンロードができるようになります。
ファイルのアップロード機能を使うことで、チャット上にデータをアップロードし、そのデータに対してコードを実行することができるようになります。
例えばPythonを使えばExcelの操作も可能になるので、Excelのデータを読み込ませてExcel上でデータ分析やグラフの作成なんかも丸投げできるようになります。
【プログラミング編】データサイエンティストのChatGPT活用事例
コードの生成
ChatGPTは高いコーディング能力を持っているので、指定した条件や要件に合わせてコードを自動で生成してくれます。
具体的なアルゴリズムやロジックを伝えるだけで、Pythonコードを作成してくれるので、特定のタスクや処理に必要なサンプルコードを簡単に手に入れることができます。
既存のコードの修正や新しい機能の追加もできるので、コーディングの効率が上がり、データサイエンティストはより本質的なタスクに時間を割くことができるようになります。
コードレビュー
その高いコーディング能力から、コードレビューも依頼できます。
データサイエンティストの業界では、分析コードのレビューがまだ一般的ではないことが多いです。しかし、コードに小さなバグや処理ミスがあれば、分析結果に大きな違いが生じる可能性があるため、コードレビューは非常に重要です。
そのため、データサイエンティストがChatGPTを使ってコードレビューをすることは、非常に効果的です。
リファクタリング
データサイエンティストが書くコードは、データの前処理や分析、予測モデルの作成などで試行錯誤が必要なため、複雑で煩雑になりやすいです。
しかし、ChatGPTを活用することで、そういった複雑なコードをスッキリと整え、効率的かつシンプルにまとめる提案を受けることができます。
その結果、整理されたコードは他の人にも理解しやすく、別の分析時にも活用しやすくなります。
ドキュメント生成
「Code interpreter」を利用すれば、ソースコードをアップロードして「ドキュメントにまとめておいて」と指示するだけでマークダウン形式のドキュメントを自動で作成して出力してくれます。
今回作成してもらったドキュメントは以下の通りです。コードの説明や各関数の説明、使用方法まで分かりやすく丁寧に書いてくれていますね!
もちろん、出力形式を指定すれば、ドキュメント作成のルールがある場合にはそのルールを指定すればその形式に沿ったドキュメントを作成してくれます。
【データ分析編】データサイエンティストのChatGPT活用事例
データクレンジング
ChatGPTの「Code interpreter」を使えば、分析したいデータをアップロードして、簡単な指示を出すだけで、Code interpreterが自動でデータクレンジングを行ってくれます
具体的な指示やデータについての情報を与えなくても、データを確認しながら、欠損値や異常値のチェックや、日時データの形式を整えたり、重複行を削除したりしてくれます。
あらかじめどのようなクレンジングを行いたいかが決まっている場合は、具体的に指示すれば、それに合わせたクレンジングも行ってくれます。
これにより、データクレンジングのような必要だけど自分でやらなくても良い作業は「Code interpreter」に任せて、自分はより重要な作業に時間を使うことができますね。
ダミーデータの作成
ChatGPTの「Code interpreter」を使えば、さまざまな形式のダミーデータ作成も一瞬で完了します。
ダミーデータの作成は各カラムの条件を指定したり、データが不自然に見えないように設計したりと意外と手間のかかる作業ですが、ChatGPTを使えばこの作業が一瞬で完了します。
一度作成してもらったダミーデータについても、「これはこうしたい」というフィードバックを即座に反映してくれるので、まるで会話をしているかのように、必要なダミーデータを作成することができます。
また、作成したダミーデータはCSV形式で出力可能なので、すぐに利用することができます。
基礎集計
事前情報を提供しなくても、データをアップロードするだけで、そのデータの特性を把握し、必要な基礎集計を自動で行ってくれます。
今回はPOSデータをアップロードしたため自動的に商品カテゴリごとの集計を行ってくれましたが、これが顧客データであれば年齢層や性別、地域ごとの集計をやってくれますし、製品レビューデータであれば評価スコアの平均や分布というようにデータの特徴に合った基礎集計を行ってくれます。
さらに、データを視覚的に理解するための可視化も素早く行ってくれます。
各変数同士の相関など見たいものがあるときは「各変数の相関を見たいをといった要望を伝えるだけで、コードを1行も書くことなくデータの概要を把握することができます。
データの可視化
「Code interpreter」はデータの可視化も非常に得意です。
自分でコードを書いてデータを見やすく可視化しようとすると、色の調整やタイトルの付け方など、面倒な作業が伴います。
しかし、「Code interpreter」を使えば具体的な指示をしなくても、コードを1行も書かなくても自動で見やすい可視化も行ってくれます。
なので、データの理解のための可視化はもちろんのこと、レポートやプレゼンテーション資料用の見やすいグラフ作成をお願いすることで、資料作成もぐっと楽になります。
データ分析&施策の立案
具体的な分析手順を示さなくても、分析したい内容だけを伝えるれば、その内容通りの分析を「Code interpreter」が考えて実行してくれます
さらに、ただ分析を行うだけでなく、その結果に基づいて考察し戦略まで考えてもらうことも可能です。
データサイエンティストであれば、自分で分析を行った方がより精度の高い結果が得られることは間違いありませんが、基礎集計の結果を確認したり、分析の流れや手法を参考にするには十分なレベルの分析を行ってくれます。
また、単純な分析であれば、「Code interpreter」に任せることで、自身はより複雑な分析に専念できます。
実際に、アパレルの売上データを使った分析を、「Code interpreter」に丸投げしてみたところ、期待以上の結果が得られました。
詳細は以下の記事でまとめているので、興味がある人はこちらもご覧ください。
クラスタリング
「Code interpreter」は簡単な指示だけで主成分分析(PCA)からクラスタリング、クラスタリング結果の可視化まで全て自動で行ってくれます。
特に指示を出さなくても、データを読み込んだ時点で最適なクラスタ数をエルボー法に基づいて判断してくれます。
さらに、各クラスタの特徴を詳しく分析し、それぞれのクラスタがどのような性質を持つのか、何を表しているのかを明確に説明してくれます。
予測モデル作成
「Code interpreter」を使えば簡単な予測モデルの作成も可能です。
まだ、直接実用化できるレベルのモデルを作成することは難しいですがが、基本的な予測モデルの構築と、それらの特徴量の重要度を評価するには充分活用できます。
さらに、モデル作成の過程で基礎的な分析を行ったり、目的変数と説明変数の相関関係を調べてくれるので、自分で予測モデルを作るための参考にすることも可能です。
実際に「Code interpreter」を使って、どのくらいの予測モデルが作れるかも検証してみたので、興味がある人は以下の記事も参考にしてください。
上手に使うコツ
データサイエンティストがCode interpreterを上手に使うには、まずはCode interpreterが得意なタスクとと苦手なタスクを理解して、得意なタスクのみに集中して作業をしてもらうことです。
得意なこと
Code interpreterはデータ理解の能力が高いため、基礎分析をしてデータの特徴について解説してもらうことができます。
データの可視化も得意なので、本格的な分析を始める前に、データをCode interpreterに渡すことで、基本的な分析と可視化を一手に引き受けてもらうことができます
また、コーディング能力も高いので、誰がやっても変わらないようなコーディングタスク(例えばダミーデータの生成など)を任せることができます。これにより、自分自身はより生産的な他のタスクに集中することができます。
さらに、自分が書いたコードのレビューやリファクタリングを依頼することも可能です。これにより、より効率的かつ正確なコードを作成する手助けを受けることができます。
以上のような方法で、Code interpreterの能力を最大限に活用することで、データ分析の効率を大幅に向上させることが可能となります。
不得意なこと
その一方で、Code interpreterには苦手なタスクもあります
Code interpreterの実行環境にはメモリや容量に制限があるため、ハイパーパラメータの調整や、ビッグデータの解析、深層学習などはほとんどできません。
また、外部との接続もできないので、データベースに直接繋いで分析をしたり、外部APIにリクエストを送信したり、Webスクレイピングを行ったりすることはできません。
これらの理由により、高度な分析や実用レベルの予測モデルの作成は現時点では不向きです。
まとめ
以上がデータサイエンティストがChatGPTを有効に活用する方法になります。
まだデータサイエンティストの仕事が奪われるとは思いませんが、良い感じに活用することでデータ分析の仕事をかなり効率化することはできそうですね!