Noteableプラグインを使ってChatGPTにデータ分析を手伝ってもらう(ChatGPT部, 大城)
こんばんは、ChatGPT部(チャットGPT部)、部長の大城です。
最近はNoteableプラグインに結構ハマっているのですが、今日は明日のLLM Meetup Tokyo#3のネタ探しも含めてChatGPTxデータサイエンス、の実験です。
ChatGPTで決定木分析
こちらは鉄板ネタですね。今回はkaggleのタイタニックのトレーニングデータをNoteableにアップロードして、それを決定木で解析してもらいました。
( ダイジェストでお届け。データについては実験用に拝借。 )

決定木ツリーが深すぎたので、調整。

SHAPで評価するのがいいかはわかんないですが、一応特徴量の影響度の可視化。class0が死亡、class1が生存。

特徴量に関する解釈の依頼。

今回作成してもらったモデルの精度評価。0.799なのでまぁまぁでしょうか。

混同行列の可視化。

決定木くらいならサクッとやってくれますね。
LightGBM x SHAP
こちらもダイジェストにて。デモデータとしてはボストンの住宅価格のデータセットです。
一応、タスクの理解度の確認から。

デモ用のタスクの実行を依頼。

SHAP値の可視化。
(もしかしたらプラスとマイナス、逆になってるかも・・?)

別の表現方法での可視化。

それぞれの影響の大きなFeautrue(特徴量)について

SHAPをサクッとできるのはめっちゃ便利ですね。
とりあえずNoteable、といった感じ。
ネットワーク図関連 -> ある程度はいけそう
続いてはグラフ構造、と言うことで山手線をwikipediaから引っ張ってきてもらって、それらの駅の関係性でネットワーク図を書いてもらいました。
まずはグラフDBについての質問から。

wikipediaより山手線について情報を抽出してもらいました。
( これがしれっとできるのもすごい・・ )

可視化第一弾。今回は前後の駅情報だけなので、形状の情報はないんですよねぇ・・。

試しに駅間の距離を抽出して実行してもらった結果がこちら。
うーん、先ほどよりひどいかも・・(笑

ひとまずここまで。本当は緯度経度情報を渡せばバッチリだと思うのですが、ChatGPTにinputしようとすると分量の問題からか途中エラーになって止まってしまったので、一旦はこちらまでにしておきます。
(でも、おそらくファイルとかに保存してNotebaleから読み込ませるといける気がしてます)
ネットワーク図もある程度サクッとできるので便利ですね。
テキストマイニング系 -> ライブラリ関係でうまくいかず
ちなみに今回は実験として日本語のテキストマイニングにも手を出そうと思いましたが、「ネガ・ポジ判定」はライブラリ関係がうまくNoteableの環境に入らず、一旦断念しています。
( Notebook上で楽に動作するもの、何かないですかねぇ・・ )
この辺を参考にasariとかにチャレンジしてみましたが、Noteableではうまくいかず。
一方で、「ChatGPT自身で、ネガ・ポジ判定」はある程度できたので、代替策としてこう言う使い方もあるかもなとは思っています。

私のツイートも判定してもらいました・・(笑

所感等:やはりプロトタイピングには便利
ChatGPT、とりあえず依頼しておけば5分、10分後には何かしらのoutputを出してくれるので、やはり便利ですね。Noteableプラグインを使えばログイン環境下にデータの設置もできますし、機密データでなければある程度実験的にも利用できそうです。
一方で、Notebookの世界で完結しないライブラリのインストールなどは苦戦する印象がありました(特に、日本語圏での極性辞書を使ったネガポジ判定)。この辺りは便利なライブラリが出るのを待つか、Noteableに変わる環境からAPIでCahtGPTを呼び出すかの2択になるのかなとは思っています。
と言うことで、明日はこの辺をLTにまとめてLLM Meetup Tokyo#3で発表してこようと思います。
皆さんもどうぞ良いChatGPTライフを・・!(大城)