Kaggle概要
Kaggleは、予測モデリングを行う会社とそのサービスを表します。Kaggleでは予測モデリングや分析手法のプラットフォーム運営を行いながら、設定課題にむけて研究者がデータを投稿してモデルの良し悪しを競争し、手法のブラッシュアップを図っています。 【参考】:kaggle
Kaggle入門情報
Kaggleは登録会員800万人を超える、最大のデータサイエンス向けCompetition(コンペ)サービスプラットフォームとなります。企業とデータサイエンティストとのマッチングがされるメリットがあるほか、自己学習のインプットと競争によるアウトプットが実現できる場としても有効です。 【参考】:Unique Kaggle Users
Kaggleを始めるには、公式サイトの右上「Register」をクリックし無料会員登録を行います。会員登録のアカウントはGoogleアカウントを用いるか、Eメールを使いサインインします。 【参考】:Kaggle Register
Kaggleの使い方
Kaggleのサイトのカテゴリーは、「Competitions」「Datasets」「Code」「Course」に分類されています。 【参考】:Competitions 【参考】:Datasets 【参考】:Code 【参考】:Courses
Competitions(コンペティション)はいわゆるコンペで、機械学習・データ分析のベストなアルゴリズムを競い合います。賞金が得られますので、優秀なアイデアが集約できるメリットがあります。Datasetsデータセット)はデータサイエンスや機械学習で用いるデータの集合体です会員・コミュニティはデータを活用し、分析に役立てることができます。
Code(コード)では、データサイエンスと機械学習のコードが集約されており、データ分析にすぐ活用できます。Learn(学習)では、AI学習プラットフォームとして16の各コースを無償利用し、修了認定を受けることができます。
Kaggleのコード編集・デバッグ・実行は、Kaggle Notebook(ノートブック)を用います。アカウントにサインイン後に、左上の「+」ボタンをクリックし、「New Notebook」で作成します。
機械学習・データ分析のラーニングから活用までカバーされていることが利用者増加につながっています。
データセットとは
データセットとはデータサイエンスで用いるデータの集合体です。データサイエンス業務に必要とされるコードとデータとして、CSVやJSON・SQLite等のファイルフォーマットがサポートされています。
具体的には、「Trending Datasets(トレンドデータセット)」「Popular Datasets(定番人気のデータセット)」等の他、テーマ別のデータセットが多数掲載されています。およそ50,000のデータセットと400,000のノートブックが公開されています。 【参考】:Datasets
Kaggleのおすすめデータセット
Kaggleのドキュメントでは、「CSV」「SQLite」「アーカイブ形式」のファイルタイプに応じたデータセットが紹介されています。
「The Complete Pokemon Dataset」では、7世代の802体のポケモンの基本データがCSVで提供されています。「European Soccer Database」では、欧州プロサッカーの25,000を超える対戦データと、10,000を超える選手のデータがSQLiteで掲載されています。 【参考】:The Complete Pokemon Dataset 【参考】:European Soccer Database
アーカイブ形式はZipや7zがサポートされています。「Chest X-Ray Images (Pneumonia)」圧縮アーカイブされた胸部X線画像(肺炎)の画像データセットが紹介されています。 【参考】:Chest X-Ray Images (Pneumonia)
Kaggleの学習と成長システム
Kaggleの学習と成長を支えるために関連情報が整理され「Kaggle Progression System」として公開されています。以下の主要な報奨制度を挙げておきます。 【参考】:Kaggle Progression System
・付与される称号レベル 作業品質や達成状況に応じて、「Novice」「Contributor」「Expert」「 Master」「Grandmaster」の階級が設定されています。そのランキングも「Competition」「Datasets」「Notebook」「Discussion」ごとに公開されています。Grandmasterは一握りで、Competition分野で248名が掲載されています。 【参考】:Kaggle Rankings
・メダルの授与 Kaggleにおいても、表彰の方法としてメダル授与が一般的です。「Competition」「Datasets」「Notebook」「Discussion」それぞれに付与条件が決まっています。コンペの場合は参加チーム数によって多少の差がありますが、Goldがトップ10、Silverがトップ5~20%、Bronzeがトップ10~40%に付与されています。金メダルはやはり難関だと言えそうです。
・ランキングとポイント ランキングと獲得ポイントも公式サイトのLeaderboard順位表に掲載されます。獲得ポイントは時間とともに減衰するよう計算されており、最新の達成状況がポイント上位になります。称号やメダルと同様に、ポイント付与においても「Competition」「Datasets」「Notebook」「Discussion」それぞれにポイント計算の条件が決まっています。
Kaggleの勉強法
Kaggleの勉強法ですが、まずはKaggle提供の学習コースがおすすめです。KaggleのLearn(学習)サイトでは各16コースの紹介があります。Python自体を学ぶことも可能ですし、SQLや計算科学・機械学習等があります。入門から中上級レベルのコースまでカバーされています。
料金は無料で、修了証明書が授与されます。各コースの時間は3~5時間程度ですので、全て学習しても2週間程度で終了可能です。まずはここでコンペで必要なベーススキルを蓄積することをおすすめします。 【参考】:Kaggle Courses
Kaggleのおすすめ書籍としては、初学者向け・経験者向けに各1冊の参考書をおすすめします。
・実践Data Scienceシリーズ PythonではじめるKaggleスタートブック 出版元:講談社 初学者向けの入門からコンペに参加するまで解説しています。 サンプルコードと解説で、内容が身に着くよう工夫されています。 【参考】:実践Data Scienceシリーズ PythonではじめるKaggleスタートブック
・Kaggleで勝つデータ分析の技術 出版元:技術評論社 データサイエンティストとしてデータ分析を担当している人向けの情報です。 Kaggleのコンペで予測モデルの精度向上をしたい方に適しています。 【参考】:Kaggleで勝つデータ分析の技術
Kaggleのコンペ概要
Competitions(コンペ)と言っても、Kaggleでは各種形式のコンペが提供されています。主なコンペ形式としては「Getting Started」「Playground」「Featured」「Research」、等があります。
Getting Startedは、入門編で賞金やポイントはありませんが、入門チュートリアルとして利用されています。会員登録後の手始めとして参加する方が多いです。Playgroundは遊び場を意味し、Getting Startedの次のステップとして利用します。機械学習の比較的シンプルなタスクが提供されており、少額の賞金が出ることもあります。
Featuredは呼び物を意味し、Kaggleを代表するコンペとなります。難易度は高く、フルスケールの機械学習の課題が与えられます。Researchは、KaggleでFeaturedに並ぶコンペで、実験的なリサーチが対象です。通常は、賞金やポイントが得られることはありません。
コンペの提出フォーマット
コンペの退出フォーマットは、いくつか分類されています。最初は、各コンペの実施要項・ルールにしたがい参加しやすいものを選ぶのが良いでしょう。 【参考】:Kaggle Competition Formats
SimpleはKaggleの通常形式で、クラシックとも言います。この形式ではルールに基づき全データセットをダウンロードし、予測ファイルを生成します。予測結果が得られたらアップロードします。Two-stageは、ステージ1とステージ2にわかれた形式です。ステージ2に進むにはステージ1の達成状況によります。それぞれステージ開始前に新しいテストデータセットが提供されます。
CodeはKaggle Notebookの指定環境で、テストデータを推論します。CPUやGPUの使用時間、外部データやインターネット使用に制限が課せられます。推論上の制約が課せられるのでシンプルなコンペ形式が多い傾向があります。
Kaggleのコンペ賞金
Kaggleの賞金は難易度や情勢で変動しますが、およそ25,000米ドルから100,000米ドルが提供されているとのことです。過去にはミリオンドル越えの賞金がかけられたこともあります。 【参考】:Kaggle General
会員の中には賞金稼ぎ目的の人もいますが、勝てないとあきらめずにコツコツ続けてメダルを勝ち取る方もいますので、継続したスキルアップが求められることに変わりありません。
Kaggleの日本語情報
Kaggleは英語表記のためとまどう人も多いと思いますが、Chromeの翻訳機能を使うことで内容を理解することは十分可能です。しかしながら、どうしても英語はちょっとという方向けに同等の取り組みを紹介します。
最初に紹介するのは、Kaggleの日本語版とも言われているSIGNATEです。SIGNATEは、Competition(コンペ)・Career(キャリアアップ)・Learning(スキルアップ)で構成されていますのでKaggleと同等です。参加規模はKaggleにかないませんが、それでも累計賞金額62,000,000円以上となっています 【参考】:SIGNATE
次に紹介するのは、特許庁の試みです。特許庁初のAIコンペとして「AI×商標:イメージサーチコンペティション」が実施されました。
優れた類似商標画像の検出ツールを審査システムに搭載し、2022年4月にも人工知能(AI)を利用した商標の画像検索システムをリリースの模様です。日本版Kaggleとしてメディアにも掲載されています。この試みが定着すると、日本人技術者にもメリットがあると考えられます。 【参考】:特許庁 AI×商標:イメージサーチコンペティション」の開催
Kaggle会員になったらスキルアップを継続しましょう
Kaggleではラーニング用途に留まってしまい、コンペ参加に至らない方も少なくはないです。自身の知識を高めるには、他の参加者の知見を活用することも重要です。共有されているDiscussionやCodeから新しい気付きを得て、スキルアップに取り組むことをおすすめします。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから