カレーちゃんブログ

Kaggleや競技プログラミングなどのこと

4/22技術書典Kaggle本 タイタニックチュートリアルのコンペページ翻訳を公開します。(その2)

4/22技術書典Kaggle本 タイタニックチュートリアルのコンペページ翻訳を公開します。(その1)の続きであり、これで第2章の内容がほぼ全てです。

その1では、単純にタイタニックチュートリアルのページを翻訳しましたが、今回は翻訳のうちでわかりにく部分の説明が主な内容です。(本をそのまま貼り付けているので、若干わかりづかったり、順番が悪いところもありますが、とりあえず、そのまま貼り付けます。後日修正します。)

本の詳細については、次のリンクから確認ください。

先着200冊限定で1,000円で頒布します!【技術書典4,kaggle本】 - currypurin’s diary

f:id:currypurin:20180420084030p:plain このページの趣旨は、タイタニックチュートリアルにある以下のそれぞれのタブを説明することです。

f:id:currypurin:20180418220617p:plain


「Private Leaderboard (非公開スコア)」と「Public Leaderboard (公開スコア)」の違いについて

Public LeaderboardとPrivate Leaderboardの2つにLeaderboardを分ける理由は、初めての方には分かりづらいので次の図で説明します。 f:id:currypurin:20180418212608p:plain

①のようにPublicLeaderboardのみだと、公開スコアを頼りに、モデルを修正しサブミットを繰り返すことにより、公開スコアに最適化してしまうため、新規のデータに適合しないモデルがコンペの上位になってしまいます。

そこで、②のように1/2を公開スコア、1/2を非公開スコアにして、コンペ終了後に公開する非公開スコアを最終スコアとします。こうすることで、公開スコアを目安とするものの、過剰な公開スコアへの適合は避けた、新規データに最適化したモデルが非公開スコアの上位になることになります。

カーネル環境1

Kernelsのページを開くと、次のようにカーネルが並んでいます。 f:id:currypurin:20180418214439p:plain

以下では、Kernelsに並んでいる項目について説明します。

Kernelsの左側の例

f:id:currypurin:20180418214650p:plain

f:id:currypurin:20180418215159p:plain

Kernelsの右側の例

f:id:currypurin:20180418215423p:plain

f:id:currypurin:20180418215554p:plain

Discussion (ディスカッション)

ディスカッションは、参加者がそのコンペでの分析手法等について議論をする場所です。 カーネルと異なりDiscussionではdownvote (反対票を投じること)ができます。そのため、左端の数字は「upvote数 − downvote数」が表示されています。また右端にはコメント数が表示されています。

f:id:currypurin:20180418215725p:plain

Leaderboard (リーダーボード)

Leaderboardは、コンペの順位表です。上部には、自分の直近のサブミットの情報 (サブミット時につけた名前やスコア等)が表示されます。 また、その下には、Public LeaderboardとPrivate Leaderboardタブが表示されます。Public Leaderboardにおいて、その時点の順位表を確認でき、コンペ終了後にPrivate Leaderboardでそのコンペでの最終順位を確認できます。 「Kernel」の欄に表示があるものは、カーネルが登録されているものです。コンペ中に他の参加者が公開しているカーネルは当然参考になりますし、コンペ終了後にPrivate Leaderboardの上位で公開されているカーネルは、まさに知見のかたまりでもの凄く参考になります。

f:id:currypurin:20180418220030p:plain

f:id:currypurin:20180418220116p:plain

Leaderboardをスクロールすると、自分のベストスコアがLeaderboardに表示され、その下には、直近のスコアが表示されます。

f:id:currypurin:20180418220157p:plain

Team (チーム)

Teamでは、チームの名前の設定や、チームメンバーの閲覧、チームメンバーの招待、招待中のリクエストの閲覧、招待されているリクエストの閲覧をすることができます。

My Submissions (自分のサブミット一覧)

My Submissionsでは、自分のサブミットの一覧が表示されます。ここで 「Use for Final Score」にチェックをつけることで、最終順位の算出 (Private Leaderboardのスコア)に使うサブミットを選びます。

Submit Predictions (予測のサブミット)

ローカルで作ったデータをサブミットする場所です。サブミットの仕方については、3.4 の「ローカルPCで提出データを作成してサブミット」で説明しています。


タイタニックのページの翻訳と翻訳の解説はここまででした。次回(第3章は、カーネルの使い方とサブミット(データの提出)の説明です。


  1. 通常は単にカーネルと表現されますが、この本ではスクリプトとノートブックを合わせた環境のことを「カーネル環境」、個別のスクリプトまたはノートブックを「カーネル」と表現することにします。また、カーネルの使い方は3.2で説明します。