Kaggleコミュニティコンペの開き方と振り返り

# はじめに
この記事はKaggle Advent Calender 2024の22日目の記事です。

# 自己紹介

Kaggle Competitions MasterのRyushiと申します！
新卒でデータサイエンティストとして働いており、Kaggleにも取り組んでいます。

- Kaggle: https://www.kaggle.com/ryushisa
- X: https://x.com/ryukwirt

趣味でKagglerの方と飲み行ったりする活動(?)もしています

# 背景
Kagglerの方を集めて忘年会を行う機会があり、せっかくKagglerが集まるならコンペやりたいよね。
という話になり、Kaggle Competitions MasterのT88([Xプロフィール](https://x.com/take213?s=21)) さんと2人で今回コンペの設計を行いました。

本記事は、実際の開き方と開いた上での反省を書きたいと思います。

# Kaggleコミュニティコンペ主催まで

## 手順

### 1. **Kaggleコミュニティコンペサイトにアクセス**
   - まず、以下のリンクからKaggleのコミュニティコンペサイトへアクセスします。
   - [Kaggle Community Competitions](https://www.kaggle.com/c/about/community)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3953113/7bb2fc2c-7cf9-1d75-103b-8a56abfe811f.png)


### 2. **"New Competition"をクリック**
   - サイトにアクセス後、左上にある「New Competition」をクリックします。このボタンを押すことで、コンペの作成画面に進むことができます。

![tmp001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3953113/38e0f633-1fa9-fea9-5f10-0ee4d3d7cfe8.png)


### 3. **コンペのタイトルや説明を記述**
   - コンペのタイトルを入力し、コンペに関する説明を記述します。


### 4. **"Privacy, Access & Resources"の設定**
   - コンペのプライバシーやアクセスに関する設定を行います。
   - 「WHO CAN JOIN」の項目で、どのユーザーがコンペに参加できるかを選択します。例えば、誰でも参加可能にするか、特定のグループに制限するかを設定することができます。

![tmp002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3953113/0cefb4fa-65db-b30e-edf6-5ab5e165a902.png)

### 5. **"Create Competition"をクリック**
   - すべての項目を入力し終わったら、「Create Competition」ボタンを押してコンペを作成します。
   - その後利用規約が出るので、チェックすればコンペのハコができます

![tmp004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3953113/9405ded1-8ff9-ae65-9b11-bf12da7539ca.png)


### 6. **その後**
   - ここまで行うと画面中央あたりの"Launch Checklist"に記載されているchecklist通りに進めていけばコンペが完成します！

## Tips
上の手順まで行った後は基本的に"Launch Checklist"通りに進んでいけば良いのですが、便利だった点やつまづいた点などがありましたので紹介します。

### 評価関数は用意してくれている
チェックリストの"Evaluation"ではkaggleが評価関数を用意しているので、有名なものはここから選べばそれでよしです！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3953113/e162133a-fee3-e122-3fa0-c3c7618803e2.png)

### "Solution File"の用意
Solution FileとはLB上のスコアを計算するための、testデータの解答のことです。

このファイルで注意なのはidに該当するカラムを1つ用意するということです。
私たちは最初二つのidを用意していたのですが、いつまで経ってもuploadできず、idに該当するカラムを1つにしたところ適切にアップロードできました！

また、'Usage'というカラムも必要です。
これはLB上のpublicの評価をするか、privateの評価をするかを判断するためのカラムです。

# 実際に開いてみての感想

実際のコンペはこちらから確認できます
https://www.kaggle.com/competitions/ryushi-88-cup-re
(長くなるので詳細は割愛します)

## 大反省!!uploadするデータセットを間違える
気合いを入れて設計してやっと始まったと思ったコンペ開始23分後
参加者のNSKさんが"すみません、public 0 出ちゃいました"と発言し、
焦ってprivateのスコアを確認すると、privateも0になっており、ホスト大焦り

uploadしたtrainの中にtestデータが丸々含まれており、盛大にリークしておりました...

https://x.com/naohachi89/status/1870483790453485601?s=46

そこから1hで全力データを再生成して、コンペが再開されました

https://x.com/take213/status/1870352362357055869?s=46

一番やってはいけないミスをしてしまったので、大反省です....笑

## コンペ主催者あるあるで盛り上がる
コンペホスト経験者のyukiさん([Xプロフィール](https://x.com/yuki93753711?s=21))と主催者あるあるで盛り上がりました。
「ずっとデータ見てるからこんなん誰でも気づくとか思っちゃうよね」
「完全に理解されたらどうしようってずっと不安」
「簡単すぎても、難しすぎても消化不良になってしまっても良くないよね」
などなど、共感する部分が多くてとても楽しかったです！

## Award Badge手に入る
今年からできたKaggleのAwardsが手に入りました
まだこれしかないので、今後はコンペ頑張って100位以内のAwards目指していきたい！！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3953113/965c6841-9350-1e64-e783-f9afa93e9b41.png)


## 初めてでしたが、皆さん楽しんでくれてよかった
盛大なリーク等はありつつも、皆さん楽しんでくれたようでよかったです！

https://x.com/sinchir0/status/1870504506657734967?s=46

https://x.com/amaebin/status/1870466102154907802?s=46

## 今後もコンペを作っていきたい
以前コミュニティコンペに参加してから興味を持っていた主催者を今回行うことができて、大変勉強になりました。
今後も開いていきたいと思いました（データは何重にもチェックする）！

読んでいただきありがとうございました。