「ChatGPTでCSVなどのファイルを分析したい」
「Pythonのコードを書かずに複雑なデータ分析を行いたい」
本記事の内容
- Noteableとは?
- Noteableのインストール
- Noteableの動作確認
それでは、上記に沿って解説していきます。
Noteableとは?
Noteableとは、データ分析とコードの共有を容易にするためのJupyterノートブック環境です。
クラウドベースのWebサービスとして提供されています。
機能としては、以下が挙げられます。
- Jupyterノートブック
- プロジェクト管理
- データソース接続
- コードの実行と共有
- セキュリティとプライバシー
ざっくり言うと、NoteableはJupyterLabに近いです。
JupyterLabを使いやすくして、セキュリティのレベル高めたモノと言えるかもしれません。
このNoteableが、ChatGPTのプラグインとして公開されています。
このプラグインを有効にすることで、ChatGPT上でデータ分析が可能です。
本来、Noteableを使いこなすにはPythonやデータ分析の知識が必要となっています。
しかし、ChatGPTを間に入れることにより、それらの知識が必須ではなくなったのです。
極論、機械学習の知識が無くてもChatGPT上で機械学習が可能と言えます。
個人的には、Noteableのプラグイン(以下ではNoteableと呼ぶ)は機械学習における革命だと感じています。
おそらく、Noteableによって機械学習が一気に普及すると思います。
以上、Noteableについて説明しました。
次は、Noteableのインストールを説明します。
Noteableのインストール
インストールの詳細は、次の記事を参考にしてください。
プラグイン名が異なるだけで、基本的には同じ要領で対応できます。
現時点では、プラグイン検索が可能になっています。
「Noteable」と入力すれば、次のように候補が出てきます。
「Install」ボタンをクリックすれば、普通はそれでインストール完了です。
しかし、Noteableはここからが少し異なります。
二段階認証が必要となっています。
「Enable two-factor authentication」ボタンをクリックします。
そうすると、まずはChatGPTの認証画面が表示されます。
メールアドレスを入力して、「Continue」ボタンをクリック。
パスワードの確認画面に切り替わります。
パスワードを入力します。
認証に成功すると、次のような画面が表示されます。
2段階目の認証ということですね。
(本来であれば、QRコードには個人情報が含まれます)
説明文には、次のように書かれています。
お好きな認証アプリで下記のQRコードを読み取り、下記のワンタイムコードを入力してください。
お好きな認証アプリとは、次のようなスマホアプリのことです。
- Microsoft Authenticator
- Google Authenticator
これらは、2段階認証用のアプリです。
QRコードの読み込み機能が備わっています。
その機能を使って、上記のQRコードを読み込みます。
読み込みに成功すると、ワンタイムパスワードコードが表示されます。
有効期限内に、そのコードを上記画面で入力します。
「Enter your one-time code」にコードを入力して、「continue」ボタンをクリック。
認証に成功すると、ChatGPTにログインした状態になります。
再度、プラグインを検索して「Install」ボタンをクリックします。
今度は、Noteableのログインページに遷移します。
なかなかインストールが、終わりませんね。
私の場合は、「Continue with Google」を選択しました。
そうすると、ChatGPTに戻りました。
Noteableが、インストールされた状態となっています。
メールアドレスを選択したら、また異なった遷移になるかもしれません。
これで、Noteableのインストールが完了しました。
このように複雑な処理になっているのは、ChatGPTとNoteableを連携させるためなのでしょう。
以上、Noteableのインストールを説明しました。
次は、Noteableの動作確認を説明します。
Noteableの動作確認
Noteableの動作確認を行います。
まずは、Noteableが有効であることを確認します。
そして、読み込むデータを用意します。
データを用意する方法には、いろいろとあります。
ここでは、ファイルのURLをNoteableに渡すことで対応します。
今回は、オープンデータとして公開されているCSVを利用します。
データは、次のページで公開されています。
CSVのパスは、次のURLとなります。
したがって、次のようにプロンプトを入力します。
次のCSVを読み込んでください。
https://catalog-data.city.kanazawa.ishikawa.jp/dataset/70b0c2e9-e849-4bbb-8c23-eb3c8e2fdeb9/resource/fd44f76f-3e75-41a0-a529-11b2602f9c82/download/172014-2005-2015_02setaisuu.csv
そうすると、次のような結果となります。
この処理のスゴイところは、エラーを自ら修正しているところです。
読み込んだデータの最初の5件が、確認の意味で表示されています。
確かに、最初の5件は同じデータです。
一応、件数も確認しておきましょう。
ChatGPTに次のようにプロンプトを入力します。
読み込んだCSVのレコード件数は、全部で何件ですか?
ChatGPTがNoteableに問い合わせた結果、次のように結果が表示されています。
レコード件数も問題ありません。
Noteableは、正確にCSVを読み込めていると言えます。
「Used Noteable」をクリックすると、ChatGPTとNoteable間のやり取りを確認できます。
Noteableからの返答に「cell_link」というURLがあります。
このURLにアクセスすると、Noteableのページが開きます。
Pythonコードの実行や読み込みデータの保存は、Noteable上で行われていることが確認できます。
レコード総数の「216」という値も確認できますね。
では、ChatGPTに戻ります。
データ分析という以上は、もう少し高度なことを試してみましょう。
各年で集約した世帯数を表示してください。
このプロンプトに対して、次のように表示されます。
確認はしていませんが、正しそうな数字です。
金沢市は、世帯数が増加傾向であると言えますね。
次は、もっとややこしい注文をしてみましょう。
各校区における2005年から2020年までの世帯数の増減率を表示してください。
Noteableは、難なく回答してきます。
この結果をベースに、次のように指示します。
最も増えた校区と最も減った校区を教えてください。
結果があるので、すぐに返答が戻ってきます。
なるほどですね。
と言っても、私は金沢に縁も所縁もありません。
そのため、結果を見てもイマイチ実感はないですけどね。
こんな感じで、Noteableを使うとChatGPT上でデータ分析が可能になります。
Pythonのコードは一切何も触っていません。
すべて文章で指示しただけです。
スゴイとしか言いようがありません。
以上、Noteableの動作確認を説明しました。