Kaggleのコンペに参加して学んだ流れや注意点などについてお話したいと思います。 Kaggleのことが気になっている方や今後コンペに参加して上位を目指す方はぜひご覧ください。
目次
Kaggleとは
少し前にKaggleのコンペにソロで初参加しました。
知らない方のために簡単にご説明すると、Kaggleとは機械学習のコンペサイト(≒人工知能・AIの大会)です。
機械学習レベルと参加の経緯
ちなみに機械学習に関しては初心者で、Kaggleの初心者用チュートリアルとして有名なタイタニック問題を一度試してから、下記書籍を1冊読んだというレベルです。
一応本職がWEBエンジニアでPython(機械学習でよく使用されるプログラミング言語)は使えたので、プログラミング自体には困りませんでした。
詳しいプロフィールについてはこちら【ギフ太のプロフィール(自己紹介)】をご覧ください。
ちょうど上記書籍を読み終えたタイミングで株価予測関連のコンペが開催されていたので、勉強を兼ねて参加することにしました。
元々株式投資はしていたのと、人工知能での株価予測に興味があったので良い機会だなと思ったのがきっかけです。
Kaggleは基本的にはコンペ上位成績者のコード(成果物)が公開されるので、コンペに参加して最低限勉強したうえで優勝者のコードを分析すれば自作の株価予測AIが作れるかもと期待したのも参加した理由の一つです。
具体的にどういうプログラムを書いたかなどの需要はそこまでないと思いますので、そこは省略して今回の流れや今後コンペに参加する方のための注意点などについてご紹介したいと思います。
コンペ提出から賞金受け取りまでの流れ
コンペ提出
コンペ最終日、赤ちゃんのオムツ替え中にうんちを噴射されながらも、なんとか期限内に提出しました。
赤ちゃんのお尻を持ち上げてお尻がキュッとなっている状態でうんちをされると、ホースの先を摘んだときみたいに飛んでくることもあるのですね。勉強になりました。
Kaggleのコンペは主催者ごとにルールが違うのですが、今回参加したコンペは、自分で作ったプログラムを実際の株式相場で3ヶ月ほど動かし、その成果で競うという内容でした。
自分が作ろうと考えていたプログラムは時間的都合により最後まで到達できなかったので入賞は諦めたのですが、現時点のレベル感を知ろうと思い、とりあえず提出だけはしてみたという感じです。
リマインドメールに気付く
今回の結果を知るには、成果物を提出してから約3ヶ月待たないとならないので、正直育児に追われ提出したことも忘れていました。
育休中のとある日、ふとKaggleの存在を思い出し、重い腰を上げてメールチェックをしてみました。
余談ですが、私はメールチェックなどの事務作業・単純作業が極端に苦手です。 おそらく発達グレーと言われるであろう症状なのだと思いますが、やった方がいいとは思いつつも面倒でつい後回しにしてしまいます。 そのせいで1,000万円近く損をしたことも。悲 そうだ、これについても今度書きましょう。 追記:記事を書きましたので興味のある方はご覧ください。→ 発達グレーの特徴が原因で1,000万円損した話
Kaggleから届いてたメールを見ていくと、なんとTOP10以内に入賞しているから手続き(まずはフォームの回答)をしろとのリマインドメールが何通も来ていたのです。
まさかの内容にスパムメールを疑いましたが、ちゃんと調べたところ本物でした。
Kaggleはコンペの上位10名+全体の0.2%に入ると金メダルが貰えるルールなので、プロフィールを見たらちゃんと金メダルを手に入れておりました。(今回は2000強のチームが参加していたので14名が金メダルでした)
手続きフォームの回答をする
しかし、メールには手続きの期限が書いてあったのですが、既に期限を過ぎています。
まずいと思い、急いで手続きをしようと手続き用のリンクを開きました。
すると英語でのアンケートフォームみたいなページに飛んだので、流し読みしながらポチポチと回答して最後まで進みました。
担当者から権利剥奪の通知メールが届く
果たしてどうなるのかと思いながらもメールを待っていると、Kaggleの担当者から1通のメールが届きました。
「Since you did not respond to our requests we will need to remove you from the leaderboard. 」
直訳すると「あなたは私たちの要求に応じなかったので、リーダーボードからあなたを削除する必要があります。」とのことです。
なんということでしょう。慌てて回答したフォームを見返しました。
実は、Kaggleで入賞するとwinner callという主催者と電話するという流れがあるのですが、アンケート内でwinner callについて YES, NO という選択肢のある質問があったので、勝手に任意なのかと思い、面倒だから NO でいいやとチェックをして回答していたのです。
それが、winner callの拒否ということになっていたらしく、リーダーボードというランキングから削除されてしまったのです。
されてしまったと言ってもおわかりの通り自業自得なのですが。。
もちろんランキングから削除されるということはメダルと賞金の両方の権利を剥奪されるということです。
育休取ったらクビになった私としては、メダルはまだいいとしても賞金がなくなるのは痛いです。(クビについての詳細はこちら【男性育休を3ヶ月取ったら実質クビになった話】)
とりあえず、急いで担当者の方に英語でごめんなさいメールを送ったのですが、帰ってきたメールには「The time has passed」「もう遅い」と。
まさかのランキング復活
しかし、スラムダンク世代の自分には安西先生のあの言葉が浮かんできました。「あきらめたらそこで試合終了ですよ…?」と。
ダメ元で担当者の方に、主催者宛へ向けて書いたごめんなさいメールを転送してもらうようにお願いしました。
すると、その言葉が届き、今回だけは特別にとリーダーボード復活のお知らせが届いたのです。
明らかに自分に落ち度がりますし、半分以上諦めていたのでまさかの結果に小踊りです。
安西先生のおかげご担当者様と主催者様のおかげです。この場を借りて感謝申し上げます。ありがとうございました。
入賞したコードのレポートを提出
無事復活をさせていただいたので、賞金受け取りの条件であるレポートの提出です。
ちなみに自分が期限を過ぎていたのが理由か、こんなやつの話は聞く必要ないなと判断されたのかわかりませんが、winner call はありませんでした。
賞金受け取りのためにPayoneerへ登録
レポートの提出が終わるとKaggleから報酬を受け取るためのPayoneerアカウントを教えてと言われたので急いでアカウントを作成しました。
Payoneerとは海外からの報酬を受け取るのに使えるサービスで、海外取引をしている人にはメジャーなサービスみたいですね。
自分は利用が初めてでしたので、Kaggleが紹介してきたリンク経由でアカウントを作成したのですが、探すと口座開設キャンペーンなどもあったりするのでこれからアカウント作成する方は調べてみるのも良いかと思います。
Payoneerアカウント作成が完了後、Kaggleへ作成したアカウントを連絡しました。
Payoneerで確定申告書の記入
Payoneerへ登録が完了すると、おそらく確定申告書の記入というのを求められます。
米国での源泉徴収をされないようにする書類(余計なお金を取られないための書類)なのでちゃんと対応しましょう。
少し調べながらやれば早い人なら10分程で完了できると思います。
賞金が振り込まれる
PayoneerアカウントをKaggleに伝えてから数日、何の音沙汰もなかったのでもしやまたメールを見逃しているのかと思い確認したのですが、何も届いておらず。
少し不安になりながらも一週間ほど経った先日、遂に賞金が振り込まれたとの連絡が!
金額の詳細は一応伏せておきますが、賞金は米ドルで貰えるので円安の影響もあり嬉しかったです。
まとめ
タイトルには少し仰々しく書いてしまいましたが、今回の件はとても単純な話です。
Kaggle初心者が初コンペに参加したら運良く入賞したものの、メールチェックを疎かにしたせいで権利剥奪されそうになり、主催者の温情でなんとか賞金が貰えたというお話でした。
メールチェックは大事ですね。
Kaggle、好きな人にはとても楽しい遊びだと思います。遊んだうえに運が良ければお金ももらえます。どうしても時間は取られてしまいますが、向いている人にはとってもオススメです。
プログラムの知識は最低限必要ですが、プログラミング力としては1からスマホアプリを作るよりはハードルが低いと思います。(プログラミング初心者でも調べながら挑戦することができる範囲だと思います。)
求められるのはプログラミング力ではなく発想力や考える力なので、数学や物理が好きな人・得意な人は挑戦してみたら楽しめると思います。
オススメの流れとしては、自分と同じくタイタニックチュートリアルを挑戦してみて、向いているなと感じたら下記本を読んでコンペにチャレンジですね。
Kaggleのコンペには参加費の必要もありませんので、ぜひ挑戦してみてください。