Open Interpreterを使ってデータ分析をしてみた(Azure OpenAI使用)

はじめに

Open Interpreterを使ってデータ分析をしてみました。

環境

  • Python 3.11.5
  • Open Interpreter
  • Azure OpenAI

実装

必要なライブラリのインストール

pip install open-interpreter

使用データセット

今回使用したcsvファイルは こちら のdiamonsデータセットというものです。

Pythonファイルの実行

Open Interpreterとの会話を始めます。環境変数はご自身の環境に合わせてください。

import interpreter
import os

os.environ['AZURE_API_KEY'] = "キーを指定"
os.environ['AZURE_API_BASE'] = "エンドポイントを指定"
os.environ['AZURE_API_VERSION'] = "2023-07-01-preview"

# gpt-4はデプロイ名

interpreter.model = "azure/gpt-4"
interpreter.chat()

上記のファイルを実行し、以下のコマンドを入力してください。

次のCSVファイルを解析してください。ファイルは"(diamonds.csvのパスを指定)"にあります。 基本統計表を出し てください。コード生成でエラー が出ないように注意してください。

上記のコマンドを入力していくと、会話が始まります。

コードを実行するか確認のために「y or n」を適宜入力していきます。

私の場合は実行結果が以下のようになりました。

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パーセン
  タイル、最大値を示しています。

基本的な統計情報が表で返ってきましたね。

次は以下のコマンドを入力してみます。

次のCSVファイルを解析してください。ファイルは"C:\\Users\\admin\\Downloads\\diamonds.csv"にあります。 "cut"の分布を円グラフにしてください。コード生成でエラー が出ないように注意してください。

最終的な結果は以下のとおりです。

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"の分布を表す円グラフの各セクションの大きさを決定します。ただし、このプラットフォームではグラ
  フィカルな出力を表示することができないため、このテキスト形式の出力を使用してください。

円グラフまではプロットしてくれませんでしたね。

おわりに

お疲れ様でした!

参考文献は以下のとおりです。

この記事を書いた人

azure-recipe-user