🧁

データコンペでCode Interpreter片手に戦ってみたけど惨敗でした

2023/07/30に公開

yukiCup2023Summerに参加しました

「君はバイク乗りを救えるか」というタイトルの内輪のデータコンペにお誘いいただき参加しました。

https://www.kaggle.com/competitions/yukicup2023summer

コンペの内容は、中古バイクの販売価格を予測するというテーブルコンペで、1日(8時間)という期間で競うコンペでした。

コンペは、SIGNATEさんのコンペに参加したくらいで、まともなデータコンペは、ほとんど初めて(一応、サブミットはできて、PublicとPrivateの違いはわかる程度)の初心者でした。

一方、参加者は、Kaggleグランドマスターが複数名、Kaggleマスターが複数名、エキスパート多数という異常なハイレベル(ていうか、グランドマスターってそんなポコポコいるものなの??)

これはチートせざるをえないということで、覚えたてのChatGPT Code Interpreterを武器に戦うことに。

ある程度使えるので、これはいいところまでいけるんじゃないか??と淡い期待を抱いていました。

https://zenn.dev/karaage0703/articles/5df61d446684f9

結果発表

最初に結論からです。惨敗でした。42人中35人(Publicの結果ですが、Privateも同順位)

Kaggleグランドマスター、マスターの壁は厚かったです。

Code Interpreterの効果

よかったところ

速い

EDAはガンガンやってくれました。久しぶりすぎて、submitのやり方とか自信なかったのですが、submitのデータ形式をアップロードして「これに合うように作って」とお願いするとうまく作ってくれました。

なので、かなり早く1回目提出できたのですが、既に提出多数。人間強い…

日本語使えるようにする方法もすでに知っていたので活用できました。

https://twitter.com/karaage0703/status/1679878343037194240

https://note.com/currypurin/n/n45ab3a454c52

日本語表示失敗

日本語表示成功

知らない方法を教えてくれる

あんまりPandasの使い方とか得意じゃなかったので、色々なテクニックを知ることができました。

相談しながらできる

これが一番大きいかもです。時間を気にせずいつでも相談できますし、詰まったら相談して、次の方向性を決めてくれます。良かったです。

良くなかった点

使えるライブラリが限られる

特にコンペでよく使われるLightGBMが使えないのが痛かったです。途中から、仕方ないのでCode Interpreterに教えてもらったコードをLightGBMを使える環境(Kaggle Notebook)で実行して、エラーメッセージをCode Interpreterに教えるという、AIの奴隷みたいになってしまいました。

能力のない人間は、AIに使われる存在に…

あまりにストレスフルなので、最後の方は、自分が主体となり、特徴量生成のところにアドバイスをもらう形に変更しました。

制限が厳しい

ChatGPTの使用制限はやはり厳しかったです。途中何度かいいところで使えなくなりました。

OSS実装も試してみましたが、やはりCode Interpreterに比べると使い勝手がよくなかったです。

https://zenn.dev/karaage0703/articles/faaa61602a53d4

カレーちゃんさんは、ChatGPTのプラグインNoteableを使っていたようです。ただ、これもChatGPTの制限からは逃れられないですね。

https://www.kaggle.com/competitions/yukicup2023summer/discussion/427852

なぜかイージーミス

AIなのに何だそのtypoは!

データ解法

上位者による解法。レベル高すぎて参考になりません(できません)でした。当日の閉会式(非公開)での上位者コメントです。

  • bike_titleをタブで区切って特徴量(one-hot-encoding)とってくる
  • bike_type(バイクの種類)をあえて特徴量に入れない(シェイクを避ける)
  • 500(マジックナンバー)を足して対数変換
  • Word2Vec使う

その他は、KaggleのNotebookを参照ください。

まとめ

データコンペでCode Interpreterを武器に無双したかったけど、全然ダメだったという話でした。

やっぱり人間の力は偉大。ただ、Code Interpreterが無かったら、もっとダメな結果だったと思いますし、勉強にもなるし、やる気もでるし色々プラスの面も多く見れました。

今のところは、AIに丸投げよりは、人間が主体となってアドバイスもらう形の方が良いかなと感じました。自分のためにも。

Code Interpreterがネットに繋がるようになったら、また全然違う景色が見えそうだなとは思いました。

あと、今回のコンペ、内輪のコンペにしてはりレベル高すぎでは(Kaggle Grand Masterって、そんなにそこらへんにいるもんじゃないでしょ??)と思いました。まる。

コンペ自体は、8時間という時間で上級者から初心者に近い人まで楽しめる適切な問題設定の良コンペでした。企画してくださったyukiさんはじめ、運営、参加者のみなさまありがとうございました!

他の方のコンペ参戦記録

https://zenn.dev/wotb_pythonista/articles/edd665b140223e

https://teyoblog.hatenablog.com/entry/2023/07/31/130506

https://kabayan55.hatenablog.com/entry/2023/07/31/195128

参考になりそうな例

https://speakerdeck.com/t88/mang-sikuteshou-wodong-kasenaishi-mo-iigan-zinijin-bu-chu-sitekureruagentzuo-ritai

関連記事

https://karaage.hatenadiary.jp/entry/2023/04/24/073000

変更履歴

  • 2023/11/20 参考になりそうな例のリンクを追記

Discussion