RでKaggleをやってたらいつのまにかNotebooks Expertになってた
noteのデータエンジニアのigjitです。
私はRが好きで、RでJava VMを実装したりして遊んでいます。最近ではRでKaggle(データ分析コンペ)をやるのが趣味です。
Kaggleのコンペのためにコードを書いて公開していたら、いつのまにかNotebooks Expertになっていました。そしてその過程で、英語が苦手でもなんとかコミュニケーションを取っていこう、という心境の変化が起こりました。その様子を話していこうと思います。
そもそもExpertってなに
KaggleにはProgression Systemという、ユーザーのデータサイエンティストとしての成長を示す仕組みがあります。
Novice、Contributor、Expert、Master、Grandmasterの5段階の称号があり、Competitions、Notebooks,Datasets、Discussionの4つのカテゴリそれぞれに対して付与されます。
今回私が得たのはNotebooksカテゴリに対するExpertの称号です。
カテゴリによって称号を得られる条件は違っていて、Notebooks Expertの場合はNotebookに対して5つの銅メダルを獲得することです。
Notebookの銅メダルは、そのNotebookが5 votes(いいね)を獲得するともらえます。
メダル獲得のようす
きっかけ
最初に公開したNotebookは、初めて参加したコンペ(H&Mコンペ。ユーザーに対する服の推薦の精度を競うもの)のために、Notebookの使い方を覚えつつ、試しに「最近人気の服を全ての人に推薦する」という雑な予測結果をsubmitするものでした。
これ本当に大したことやってなくて、単に同僚にこんな内容でfirst submitしたよ、って共有するだけのために公開したのでした。
でもなぜか9 votesももらえてびっくり。
Kaggleユーザーは初心者にやさしい。
これでvotesを集めるとメダルがもらえることを知りました。
次にメダルを獲得したのは、同じH&Mコンペで人気のPythonのNotebookの内容をRでやってみたもの。
この頃にはもうNotebookを公開することに全く抵抗がなかった気がします。
とりあえず雑なコードを公開しても悪いことは起こらなそうだし、もしかしたらvoteしてもらえるかも、みたいな。
Rユーザーとの交流
そしてH&Mコンペが終わって、RでKaggleをやる人がもっと増えれば良いのに、と思うようになります。
なので次に挑戦したAmexコンペでは、まず評価指標のRパッケージを作って使い方をNotebookで共有しました。
コメントもらえた!
この頃から、だんだん自分の英語力の無さから来る気おくれよりも、コミュニケーションしたさが勝るようになってきます。
ある日、自分のRパッケージを使ってくれてるNotebookを発見。うれしい!
中身を見てみると、ちょっと修正すればスコアが大幅に上がりそうだったので、修正版のNotebookを書いて、どきどきしながらコメントを投稿。
おお、自分の英語が通じてるみたい。よかった。
この修正版のNotebookも7 votesもらって銅メダルを獲得しました。やったね。
良かったこと
Notebookを公開して良かったことはたくさんあります。
まずは単純にみんなほめてくれること。Kaggleユーザーはやさしい。
有用なフィードバックがもらえることもあります。
このNotebookで私は間違った集計結果を公開してしまっていたのですが、間違いに気づいたユーザーがコメントで指摘してくれました。言われなかったら気付かないままでした。ありがたい。
そして何よりも良いのは何らか他のユーザーの役に立てるかもしれないこと。
自分がつまづいたり実装に手間取ったりした箇所は、他の人も困っている可能性があるので、どんどん解法を共有すると良いと思います。
ひどい英語を、もっと
私は英語が苦手で、特に英文を書くのはどう書き始めて良いかわからず、いつも気おくれします。
でも最近では、「片言で伝わりづらかったとしても、それを補う何らか価値のあることを伝えられるかも」と思いこんで書くようにしています。
一番重要なのはその人が持っているアイデアや役に立つコードで、それを説明するための英語が多少おかしくてもそんなに問題じゃないはず。
英語で発信することに気おくれしている人には、酷い英語をもっとお願いしますというコラムをおすすめします。
これからも
というわけでRでKaggleをやってたらいつのまにかNotebooks Expertになっていた話でした。
次はRでCompetitions Expertを目指しています(銅メダルあと1個で達成)。
引き続き「ひどい英語」でコミュニケーションしながらKaggleを楽しんでいきます。