ChatGPTのCode Interpreterを活用してグラフを作成する

「ChatGPT Code Interpreterの活用方法は?」「複雑なコードを書くことなくグラフを作成したい…」そう思う方も多いのではないでしょうか。

実は、ChatGPT Code Interpreterを使用することで、簡単かつ迅速にグラフを作成することが可能です。

今回PROMPTYでは、ChatGPT Code Interpreterを用いたグラフ作成の実例をまとめてご紹介します。

Code interpreterの概要について知りたい方は、こちらの記事をご覧ください。

関連記事

ChatGPTのCode Interpreterというコード実行プラグインがChatGPT Plus会員(有料会員)にリリースされたことが分かりました。 これにより、ChatGPTを使用している間、データ解析やグラフ生成といった機能[…]

① 数式を指定してグラフを作成する

Code Interpreterでは、数式を直接指定して、グラフを作成することができます。

プロンプト:

y=2√xのグラフを描画してください。

GPT-4の出力(Code Interpreter):

指定した関数のグラフが出力されました。軸の範囲や目盛りを調整します。

プロンプト:

目盛りの間隔を1としてください。
y軸の範囲は0~10としてください。
x軸の範囲は0~15としてください。
文字フォントはTimes New Romenとしてください。

GPT-4の出力(Code Interpreter):

以下に示すのは、関数y=2√xのグラフで、x軸の範囲を0~15、y軸の範囲を0~10とし、目盛りの間隔を1に設定しました。

ただし、ご指定いただいたフォント「Times New Roman」はこの環境では利用できないため、デフォルトのフォントを使用しています。すみませんが、この点についてはご理解いただければと思います。

指定した通り、軸の範囲と目盛りの間隔を調整することができました。しかし、現在は文字フォントは調整できないようです。

② 入力データからレーダーチャートを作成する

Code Interpreterでは、入力したデータからレーダーチャートを作成することができます。今回はその応用として、商品のレビュー内容から顧客の感情をレーダーチャートにプロットします。

プロンプト:

#命令文
あなたは企業のマーケティング部のメンバーです。
以下の#制約条件に従って顧客の感情を分析してください。
#制約条件
*#出力形式に必ず従うこと
*#レビュー内容を基に分析すること
*「驚き」「喜び」「悲しみ」「怒り」「驚き」の5つの項目をジャッジすること
*それぞれの項目について5段階で評価すること
*レーダーチャートは一つの図にまとめること

#レビュー内容
新発売のショートケーキを試してみました!見た目も可愛くて、一口食べた瞬間、幸せな気分になれました。スポンジはふわふわで、クリームもちょうど良い甘さ。ただ、もう少し苺が多いと完璧だったかな。でも、全体的にはとっても満足!次回も絶対に買いたいと思います。

#出力形式
*各項目の評価
*その理由
*レーダーチャート

GPT-4の出力(Code Interpreter):

まず、レビュー内容を基にして各感情の評価を行い、その理由を説明します。

レビュー内容
新発売のショートケーキを試してみました!見た目も可愛くて、一口食べた瞬間、幸せな気分になれました。スポンジはふわふわで、クリームもちょうど良い甘さ。ただ、もう少し苺が多いと完璧だったかな。でも、全体的にはとっても満足!次回も絶対に買いたいと思います。

各項目の評価とその理由
驚き: 3/5
レビュワーは新発売のショートケーキを試し、その品質に満足しているようですが、特に驚きの要素を強調しているわけではありません。
喜び: 5/5
レビュワーは「幸せな気分になれました」や「とっても満足」とコメントしており、製品に対する強い喜びを示しています。
悲しみ: 1/5
レビュワーが指摘した唯一のネガティブな点は、苺がもう少し多いと完璧だったということですが、それでも全体的な満足度は高いです。
怒り: 1/5
レビュワーは製品に対して怒りを示すコメントは一切していません。
驚き: 3/5
前述の通り、レビュワーは製品に満足していますが、特に驚きの要素を強調しているわけではありません。
これらの評価を基にレーダーチャートを作成します。

レビュー内容から顧客の感情を分析してそれぞれの感情を5段階で評価しました。レーダーチャートの作成に関しては、何度かエラーが出てしましましたが、最終的に正しい出力を得ることができました。

③ 2021年までのデータを元に棒グラフを作成する

ChatGPT Code Interpreterでは、データを入力しなくても、2021年までのデータを元にグラフを作成することができます。今回は、G20加盟国の人口とGDPの棒グラフを作成します。

プロンプト:

G20加盟国の人口を多い順に棒グラフで出力してください。

GPT-4の出力(Code Interpreter):

申し訳ありませんが、この環境ではインターネットアクセスが無効化されているため、最新の人口データを取得することはできません。しかし、2021年時点までの人口データに基づいて、G20加盟国の人口を多い順に棒グラフを作成することは可能です。

G20の加盟国は以下のとおりです:

アルゼンチン
オーストラリア
ブラジル
カナダ
中国
フランス
ドイツ
インド
インドネシア
イタリア
日本
メキシコ
ロシア連邦
サウジアラビア
南アフリカ
韓国
トルコ
英国
アメリカ
欧州連合(EUは会員国全体の人口を持っていますが、すでに加盟国の一部が含まれています。この分析では除外します。)
これらの国の2021年時点での推定人口データは以下の通りです(単位は百万人):

アルゼンチン: 45.2
オーストラリア: 25.7
ブラジル: 213.8
カナダ: 38.0
中国: 1439.3
フランス: 65.3
ドイツ: 83.9
インド: 1393.4
インドネシア: 276.4
イタリア: 60.4
日本: 125.4
メキシコ: 130.3
ロシア: 145.9
サウジアラビア: 35.0
南アフリカ: 60.0
韓国: 51.7
トルコ: 85.5
英国: 67.9
アメリカ: 332.6
これらのデータを基に棒グラフを作成しましょう。

最新データは取得できませんが、2021年までの人口に基づいて棒グラフが作成されました。

続いてGDPを調べます。

プロンプト:

2021年までデータで良いので、G20加盟国のGDPを多い順に棒グラフで出力してください。

GPT-4の出力(Code Interpreter):

G20の加盟国の2021年時点でのGDP(名目、米ドル換算)は以下の通りです(単位は兆ドル):

アルゼンチン: 0.45
オーストラリア: 1.33
ブラジル: 1.45
カナダ: 1.64
中国: 15.42
フランス: 2.71
ドイツ: 3.85
インド: 2.59
インドネシア: 1.11
イタリア: 1.85
日本: 4.87
メキシコ: 1.04
ロシア: 1.47
サウジアラビア: 0.79
南アフリカ: 0.31
韓国: 1.63
トルコ: 0.72
英国: 2.74
アメリカ: 21.37
これらのデータを基に棒グラフを作成しましょう。

最後に、人口とGDPの相関を調べます。

プロンプト:

G20加盟国の人口とGDPの相関をグラフで示して、その内容を分析してください。

GPT-4の出力(Code Interpreter):

以下に示すのは、2021年時点でのG20加盟国の人口とGDPの相関を示したグラフです。赤い線はデータの線形回帰を示しています。

このグラフから、人口とGDPの間に強い正の相関(相関係数 = 0.99)があることが見て取れます。つまり、一般的には人口が多い国ほどGDPも高い傾向があります。これは大きな人口が大きな経済規模を支える一因となることを示しています。

ただし、この関係は必ずしも一定ではありません。特定の国々(例えば、中国やインドなど)は人口が多いにもかかわらず、一人当たりのGDPは他の国(例えば、アメリカやドイツなど)に比べて低いことがあります。これは、経済の効率性、技術的な進歩、教育水準、資源の豊富さ、政策や制度など、他の多くの要因がGDPに影響を及ぼすからです。

横軸を人口として、GDPをプロットした散布図が作成され、相関係数も出力されました。簡単な内容ではありますが、グラフを基にした考察が出力されました。

④ 最小二乗法で近似直線を求める

ChatGPT Code Interpreterを活用することで、データ分析が可能です。今回は入力データの散布図から最小二乗法で近似直線求めて、決定係数を出力します。

次のようなデータを入力したxlsxファイルを読み込みます。

プロンプト:

1列目をx軸、2列目をy軸としたグラフを描画してください。
また、最小二乗法で近似直線を求めて出力してください。

GPT-4の出力(Code Interpreter):

表での出力結果は充分ではありませんが、グラフは入力したデータを正しくプロットしています。また、赤線で最小二乗法求めた近似直線が出力されました。次に、決定係数を求めてもらいます。

プロンプト:

決定係数を調べてください。数式も示して

GPT-4の出力(Code Interpreter):

決定係数は0.87で、この直線近似は入力したデータに適合しています。

まとめ

今回PROMPTYでは、ChatGPT Code Interpreterを活用したグラフ作成例をいくつかご紹介しました。

  • 数式を直接指定してグラフを作成する
  • レビュー内容をもとにレーダーチャートを作成する
  • 既存のデータを元に棒グラフしてデータを分析する
  • 最小二乗法を使って近似直線を求める

この強力なツールを利用することで、複雑なコードを書くことなく、誰でも簡単にグラフを作成できます。今回の例を参考に、皆さまもChatGPT Code Interpreterでのグラフ作成を試してみてはいかがでしょうか。