はじめに
kaggleなどのデータサイエンスコンペの認知度が上がった昨今では、企業内にkaggle部を設置する例を多く見かけるようになったかと思います。
弊社にもデータ分析コンペ参加を目的とする部(通称ARISE kaggle部)がありますが、部として運営していく上での効果や課題感などを共有したいと思います。
kaggleとは
kaggleとは、データサイエンティストに特化した競技会サイトを運営しており、世界中のデータサイエンティストが予測精度を競い合うコンテストを主催するプラットフォーマーです。
コンペの期間は約2~3ヵ月であり、与えられたデータに対して意図を読み解き、前処理を行い、分析モデルを構築して、プログラム実装を期間内に繰り返しながら、予測精度を競うスピード開発が求められるため、分析スキルを短期間で向上させることが期待できます。
どういった活動をしているか
slackにkaggle部の専用チャンネルを用意しており、チャンネルには40-50人程度が参加してもらっており、目ぼしいコンペが開催されるたびに、チャネルで周知してコンペ参加希望を募り、チームを組んで参加してもらうのが主な活動内容となっております。
チーム参加での負担や細かい分担は組んだメンバーでの意向が色濃く反映されますが、ディスカッションなどのコンペ情報をチームで共有しつつ、週一でミーティングするのが基本になっています。
なぜチームコンペを推奨するのか
チームでのコンペ参加を主な活動内容としていますが、以下の効果を期待してます。
①情報がスムーズに取得できること
一人で参加するより、チームで公開されている解法を共有しあう体制をとることができるので情報取得の効率がかなり良くなり知識量が圧倒的に向上します。
②初心者参加のハードルを下げるため
チーム内に初心者だけにならないよう、チーム編成時に気を払っており、参加経験なくても、コンペ経験者の中で磨かれることを期待しています。
③モチベーションが維持できること
割と大事なのですが、日々の業務と並走しつつ、1-2か月モチベーションを維持するのが大変なので、チームによってモチベーションの維持を狙っています。
逆にチーム制による課題もあり
- チームメンバー同士での稼働調整が大変でメンバー1人に負荷が行ってしまう恐れがある。
- コード管理が複雑になる。特に最近多い、参加者が Kaggle の Code 環境上でソースコードを実行する「code competitions」形式だと管理の難易度が上がる。
ここら辺はチーム内での工夫ポイントだったりするかもしれないですが、コンペ内容やメンバーの気質によって左右されるので難しいところです。
アウトプットの機会提供
LT会での発表でも良いのでアウトプットすることで理解度がかなり異なってきます。
たとえ入賞できなくても上位解法をまとめただけでも、理解力が向上するので積極的に社内勉強会やブログでの発信を推奨しています。勉強会などは、個人でやるより会社の勉強会などを活用できるので、企業内kaggle部とするメリットの一つかと思います。
まとめ
チーム制で目標に向かってスキル向上を目指してしてもらうのはスキルアップ面ではとても良いことであり、効果も見えております。
また企業側からしても成長の機会提供や採用活動への大きなメリットとして考えられます。
もし、皆さんの会社にkaggle活動している団体があれば参加したり、なければ有志で設立してみてはいかがでしょうか。