はじめに
Open Interpreterを使ってデータ分析をしてみました。
環境
- Python 3.11.5
- Open Interpreter
- Azure OpenAI
実装
必要なライブラリのインストール
1 2 |
<span class="go">pip install open-interpreter </span> |
使用データセット
今回使用したcsvファイルはこちらのdiamonsデータセットというものです。
Pythonファイルの実行
Open Interpreterとの会話を始めます。環境変数はご自身の環境に合わせてください。
test.py
1 2 3 4 5 6 7 8 9 10 11 |
<span class="kn">import</span> <span class="n">interpreter</span> <span class="kn">import</span> <span class="n">os</span> <span class="n">os</span><span class="p">.</span><span class="n">environ</span><span class="p">[</span><span class="sh">'</span><span class="s">AZURE_API_KEY</span><span class="sh">'</span><span class="p">]</span> <span class="o">=</span> <span class="sh">"</span><span class="s">キーを指定</span><span class="sh">"</span> <span class="n">os</span><span class="p">.</span><span class="n">environ</span><span class="p">[</span><span class="sh">'</span><span class="s">AZURE_API_BASE</span><span class="sh">'</span><span class="p">]</span> <span class="o">=</span> <span class="sh">"</span><span class="s">エンドポイントを指定</span><span class="sh">"</span> <span class="n">os</span><span class="p">.</span><span class="n">environ</span><span class="p">[</span><span class="sh">'</span><span class="s">AZURE_API_VERSION</span><span class="sh">'</span><span class="p">]</span> <span class="o">=</span> <span class="sh">"</span><span class="s">2023-07-01-preview</span><span class="sh">"</span> <span class="c1"># gpt-4はデプロイ名 </span><span class="n">interpreter</span><span class="p">.</span><span class="n">model</span> <span class="o">=</span> <span class="sh">"</span><span class="s">azure/gpt-4</span><span class="sh">"</span> <span class="n">interpreter</span><span class="p">.</span><span class="nf">chat</span><span class="p">()</span> |
上記のファイルを実行し、以下のコマンドを入力してください。
1 2 |
<span class="go">次のCSVファイルを解析してください。ファイルは"(diamonds.csvのパスを指定)"にあります。 基本統計表を出し てください。コード生成でエラー が出ないように注意してください。 </span> |
上記のコマンドを入力していくと、会話が始まります。
コードを実行するか確認のために「y or n」を適宜入力していきます。
私の場合は実行結果が以下のようになりました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<span class="go"> carat depth ... y z count 53940.000000 53940.000000 ... 53940.000000 53940.000000 mean 0.797940 61.749405 ... 5.734526 3.538734 std 0.474011 1.432621 ... 1.142135 0.705699 min 0.200000 43.000000 ... 0.000000 0.000000 25% 0.400000 61.000000 ... 4.720000 2.910000 50% 0.700000 61.800000 ... 5.710000 3.530000 75% 1.040000 62.500000 ... 6.540000 4.040000 max 5.010000 79.000000 ... 58.900000 31.800000 [8 rows x 7 columns] 以下は、"diamonds.csv"ファイルの基本的な統計情報です: carat depth table price x y z ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ count 53940 53940 53940 53940 53940 53940 53940 mean 0.798 61.75 57.46 3933 5.73 5.73 3.54 std 0.474 1.43 2.23 3989 1.12 1.14 0.71 min 0.2 43 43 326 0 0 0 25% 0.4 61 56 950 4.71 4.72 2.91 50% 0.7 61.8 57 2401 5.7 5.71 3.53 75% 1.04 62.5 59 5324 6.54 6.54 4.04 max 5.01 79 95 18823 10.74 58.9 31.8 これらの統計情報は、各列のカウント、平均、標準偏差、最小値、25パーセンタイル、中央値(50パーセンタイル)、75パーセン タイル、最大値を示しています。 </span> |
基本的な統計情報が表で返ってきましたね。
次は以下のコマンドを入力してみます。
1 2 |
次のCSVファイルを解析してください。ファイルは"C:\\Users\\admin\\Downloads\\diamonds.csv"にあります。 "cut"の分布を円グラフにしてください。コード生成でエラー が出ないように注意してください。 |
最終的な結果は以下のとおりです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<span class="go"> cut Ideal 39.953652 Premium 25.567297 Very Good 22.398962 Good 9.095291 Fair 2.984798 Name: count, dtype: float64 "cut"列の値の分布のパーセンテージは次のとおりです: • Ideal: 39.95% • Premium: 25.57% • Very Good: 22.40% • Good: 9.10% • Fair: 2.98% これらの値は、"cut"の分布を表す円グラフの各セクションの大きさを決定します。ただし、このプラットフォームではグラ フィカルな出力を表示することができないため、このテキスト形式の出力を使用してください。 </span> |
円グラフまではプロットしてくれませんでしたね。
おわりに
お疲れ様でした!
参考文献は以下のとおりです。
https://qiita.com/hiromitsu_iwasaki/items/ef0f302d87e240d9f880
https://qiita.com/ot12/items/d2672144b914cb6f252f
https://qiita.com/marimo0825/items/be49c9fc1a22b7ae69b4