feature image

2025年3月17日 | 活動紹介

traP Kaggle 班 x 日本経済新聞社でデータ分析コンペを開催しました!

情報工学系 B3 の @abap34 です。昨年まで Kaggle 班の班長をしていました。

さて、Kaggle 班では定期的に部内データ分析コンペを開催しているのですが、

Kaggle班で機械学習講習会と部内データ分析コンペを開催しました!
こんばんは ! 情報工学系 B3 の @abap34 です。Kaggle 班の班長をしています。最近は、財布を落として教務課の人に怒られました。 さて、梅雨ですね。。。梅雨といえば機械学習です ! Kaggle班では、新入生教育・部内イベントの一環として、 * 機械学習講習会 * 部内データ分析コンペ (traP competition #00) を開催しました。 本ブログはその開催記録です。昨今のKaggle班の情勢、そして講習会、コンペ運営について書いていきます。 Kaggle班とは? この記事は、Kaggle班が今年度に出す最初のブログなので、まず簡単に Kaggle班の紹介をしたいと思います。 Kaggle班は、きちんと書くと「Kaggleをはじめとしたデータ分析コンペなどの参加を見据えつつ、機械学習について部員同士で学び、知識を深める」ということを目的とした組織です。 ...簡単にいえば、数学やプログラムを書くことが好きな人が集まって機械学習を勉強している集団です。このブログが投稿されるサイトである https://trap.jp/ を見ればわかるとお
traP コンペ 2023 夏 sponsored by ピクシブ株式会社 運営後記
この記事の内容 * 開催までの経緯 * コンペの準備と大事件の発生 * 開催! * よかったこと、反省ポイント * 運営の感想 はじめに こんばんは! @abap34 です。情報工学系のB2で、アルゴリズム班Kaggle部の部長をしています。 さて、Kaggle部では、かねてより告知の通り、8/20~27の七日間、部内データ分析コンペを開催しました。 ~ traP コンペ 2023 夏 sponsored by pixiv ~ を開催します!こんにちは!!!!!!!! アルゴリズム班Kaggle部部長の@abap34です。 昨年度の夏休みも開催したKaggle部主催のデータ分析コンペですが... アルゴリズム班にKaggle部を設立し、初心者向けデータ分析体験会を開催しました!この記事の内容traPアルゴリズム班の紹介データ分析コンペ/Kaggleとは?初心者向けデータ分析体験会開催記今後についてtraPアルゴリズム班の紹介こんにちは! 22Bのabap34です。traPではアルゴリズム班に所属しています。 traPのアルゴリズム班では、多くの

春休みということで 3/2 から 3/8 にかけて部内データ分析コンペを開催しました!

さらに、今回は日本経済新聞社様にご協力いただき、会場や日経のエンジニアの方によるサポートなどをご提供していただきました!

このブログではコンペとイベントについて振り返ります。

コンペの概要

期間は 3/2 ~ 3/8 までの一週間で、52人 (19チーム) が参加しました。事前にチームを結成しての参加という形式です。

今回は日本経済新聞社様から会場として東京本社をご提供いただき、初日と最終日に念願のオンサイトができました 🙌

コンペは 773 Sub、合わせて 18個の Discussion・公開カーネルが投稿されるという盛り上がりでした!

激戦を制したのは M1 の @SSlime さん, @Hmcmch さん, B1 の @Elmer さんからなるチームでした。おめでとうございます!

タスク

今回のお題は「GitHub のアクティブ予測」です。

データとしてコミットの列と issue, pull request などのレポジトリのメタデータを使い、2年後にそのプロジェクトは依然としてコミットされているか? かを予測する精度を競いました。

評価指標は ROC-AUC です。

データセット

Google が GitHub と協力して収集・公開している GitHub にあるレポジトリのさまざまなデータを集計した公開データセットからコミットを取得して、コミット頻度に基づいてレポジトリを4万個ほどサンプリングしました。

GitHub on BigQuery: Analyze all the open source code | Google Cloud Blog

さらに、これらに対して GitHub の Public API を叩いて、issue, pull request, star 数などのメタデータを取得し、元データセットを作成しました。

これに対して

をし、

「2025/01/01 から 2025/02/01 の間に少なくとも1件のコミットがあったか?」を「アクティブ」の定義として、ターゲットとして追加しました。

ここからターゲットがあまりにも imbalance にならないようにフィルタリングして、最終的に 約3500 レポジトリを訓練データ、約1800 レポジトリをテストデータとし、今回のコンペのデータセットとしました。

コミットデータの取得元である上のデータは 4TB, 30億行を超える非常に大きなデータセットなので、BigQuery で加工・抽出を行いました。(計算リソースは日経さんにご提供いただきました。個人の財布ではこのレベルのデータを扱うのはかなり大変なので本当に感謝しています)

GitHub の Public API は rate limit が厳しいため必要分を収集するのに 2週間近くかかりました。計算機を動かせる時間はずっと rate limit に引っかかっているせいで GitHub によるログインができなくなり、 Copilot などが死んでしまったのが辛かったです。

最終的に出来上がったデータセット

個人的な感想としては、いろんな目線でとても面白いタスクになったと思います。

まず競技的な目線で見ると、かなり「やることが尽きない」タイプのデータで面白いと思います。(詳しくは solution に少し書きます)

短期コンペにしてはデータ量がそこそこ多いのもありますが、それだけでなくテキスト (issue, pull request の本文など) が含まれているところなどもやり込み要素になりそうです。

また、単にソフトウェア開発者の目線で見ると「どういうレポジトリが将来的にアクティブになるのか?」は普通に気になるところです。

例えば  

普通にコンペでなくとも調べたくなりますね。

solution

ここでは上位チームの解法に触れながら、(懇親会で話しきれなかったこともあったので) いくらか今回のコンペの solution について書きます。

上に書いたように今回のターゲットは結局コミットによって決まるわけですから「いかにコミット情報を載せるか?」が基本的に重要です。

さらに、将来的なコミット情報を伝えたい気持ちになると、コミットの間隔やその差分など、トレンドをうまく表現する特徴が作れると非常に強力です。(事前に解いた感じだと、この辺りをいくらか入れると 0.94 くらいは出るという想定でした)

上に書いたものに加えて

などを有効な特徴として見出しているチームが多かったです。

コミットの情報に加えて、差別化要素になりうるのが issue, pull request, star 数, fileなどのメタ情報です。これらの数などはもちろん有効ですし、close 率や close されるまでの期間などを集約しているチームもありました。

自由度が高く、個人的に面白いと思っているのは file のデータです。これにはファイル名とファイルサイズが入っているのですが、

などを作っているチームがありました。

短期コンということもあり、コミットメッセージや issue / pr の本文などのテキストに手を出せたチームはなかったようですが、これらの質を調べてみても面白いかもしれません。例えば

などしてもらうことを出題者としては想定していました。

モデルは基本的には GBDT を使っているところが多く、実際うまく働いていたようですが、NN に手を出しているところもあったようです。

他にも、実装までは間に合わなかったようですが pseudo labeling を検討しているチームなどもあったようです。今回のようなタスクでは試したい選択肢だと思います。

オンサイトのイベント

オンサイトでは初日にキックオフと 1 Sub までのサポート、最終日には講評や日経のエンジニアの方による業務の紹介、上位入賞者の表彰や懇親会などを開催しました!

キックオフのようす
表彰のようす
講評のようす
懇親会のようす。みんな solution 話で盛り上がっていて最高!

やはり実際に集まることの効果は大きいなと思いました。懇親会でずっと互いに効いたことやうまくいかなかったことなどを話し合っていてよかったです。

感想

念願だったオンサイトの開催と懇親会をできたこと、かなり面白い問題が作れたこと、個人的には大満足しています。

実は自分はこれで引退なのですが、機械学習に興味がある人がいる限り Kaggle班は盛り上がり続けていくと思いますので、今後にご期待ください!

問い合わせの窓口としては @abap34 はまだ有効なので、Kaggle 班に興味がある科学大生・企業の方などはお気軽にご連絡ください!

以上です。

abap34 icon
この記事を書いた人
abap34

Rec ブースで all night long

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2017年11月14日
IBIS2017参加報告
Keijan icon Keijan
2022年4月7日
traPグラフィック班の活動紹介
annin icon annin
2021年8月12日
CPCTFを支えたWebshell
mazrean icon mazrean
2021年5月19日
CPCTF2021を実現させたスコアサーバー
xxpoxx icon xxpoxx
2021年3月19日
traPグラフィック班の活動紹介
NABE icon NABE
2025年3月5日
2024年度冬ハッカソン12班「Hero Girl」
gurukun41 icon gurukun41
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記