Kaggle:データサイエンティストが学び競争する場所

データサイエンスは、その名前にもかかわらず、通常、科学というよりは芸術です。ダーティデータと古い統計予測モデルから始めて、機械学習をうまく活用しようとします。誰もあなたの仕事をチェックしたり、それを改善しようとしたりしません。新しいモデルが古いモデルよりもうまく適合している場合は、それを採用して次の問題に進みます。データがドリフトし始め、モデルが機能しなくなったら、新しいデータセットからモデルを更新します。

Kaggleでデータサイエンスを行うことはまったく異なります。Kaggleは、オンラインの機械学習環境およびコミュニティです。数百または数千の個人またはチームがモデル化しようとする標準のデータセットがあり、各競技会のリーダーボードがあります。多くのコンテストは賞金とステータスポイントを提供し、人々はコンテストが終了するまでモデルを改良して、スコアを向上させ、はしごを登ることができます。わずかなパーセンテージが、勝者と次点者の違いを生むことがよくあります。

Kaggleは、プロのデータサイエンティストが暇なときに遊ぶことができるものであり、意欲的なデータサイエンティストは、優れた機械学習モデルを構築する方法を学ぶために使用できます。

Kaggleとは何ですか?

より包括的に見ると、Kaggleはデータサイエンティスト向けのオンラインコミュニティであり、機械学習コンテスト、データセット、ノートブック、トレーニングアクセラレータへのアクセス、教育を提供しています。Anthony Goldbloom(CEO)とBen Hamner(CTO)は2010年にKaggleを設立し、Googleは2017年に会社を買収しました。

Kaggleのコンテストは、いくつかの分野で機械学習アートの状態を改善しました。1つは暗黒物質のマッピングです。もう1つはHIV / AIDSの研究です。Kaggleコンテストの勝者を見ると、多くのXGBoostモデル、いくつかのランダムフォレストモデル、およびいくつかのディープニューラルネットワークが表示されます。

Kaggleコンペティション

Kaggleコンテストには、Getting Started、Playground、Featured、Research、Recruitmentの5つのカテゴリがあります。

入門コンテストは半永久的であり、機械学習の分野でドアに足を踏み入れたばかりの新規ユーザーが使用することを目的としています。賞品やポイントはありませんが、十分なチュートリアルがあります。入門コンテストには、2か月のローリングリーダーボードがあります。

遊び場の競技会は、難易度の高い入門の一歩上にあります。賞品は賞賛から少額の賞金まで多岐にわたります。

注目のコンテストは、一般的に商業目的で、難しい予測問題を引き起こす本格的な機械学習の課題です。注目のコンテストは、最も手ごわい専門家やチームの一部を引き付け、100万ドルにもなる賞金プールを提供します。それは落胆するように聞こえるかもしれませんが、これらのいずれかを獲得しなくても、他の人の解決策、特に上位の解決策を試したり読んだりすることから学ぶことができます。

研究競争には、注目の競争問題よりも実験的な問題が含まれます。彼らは実験的な性質のため、通常は賞品やポイントを提供しません。

採用コンテストでは、個人が企業がキュレーションした課題の機械学習モデルを構築するために競います。コンテストの終了時に、関心のある参加者は、主催者による検討のために履歴書をアップロードできます。賞品は(潜在的に)コンテストを主催する会社または組織での就職の面接です。

大会にはいくつかの形式があります。標準のKaggleコンペティションでは、ユーザーはコンペティションの開始時に完全なデータセットにアクセスし、データをダウンロードし、ローカルまたはKaggle Notebooks(以下を参照)でデータに基づいてモデルを構築し、予測ファイルを生成してから、予測を送信としてアップロードできます。 Kaggleで。Kaggleのほとんどのコンテストはこの形式に従いますが、別の方法もあります。いくつかの大会はステージに分かれています。一部は、KaggleNotebook内から提出する必要のあるコードコンテストです。

Kaggleデータセット

Kaggleは35,000を超えるデータセットをホストしています。これらは、表形式データのコンマ区切り値(CSV)、ツリーのようなデータのJSON、SQLiteデータベース、ZIPおよび7zアーカイブ(画像データセットによく使用される)、複数のBigQueryデータセットなど、さまざまな公開形式になっています。 -GoogleのサーバーでホストされているテラバイトのSQLデータセット。

Kaggleデータセットを見つける方法はいくつかあります。Kaggleのホームページには、「ホット」なデータセットと、フォローしている人がアップロードしたデータセットのリストがあります。Kaggleデータセットページには、データセットリスト(最初は「最もホットな」順に並べられていますが、他の順序付けオプションがあります)と検索フィルターがあります。タグとタグページを使用して、データセットを見つけることもできます(例://www.kaggle.com/tags/crime)。

ローカルマシン、URL、GitHubリポジトリ、Kaggle Notebook出力から、Kaggleにパブリックデータセットとプライベートデータセットを作成できます。URLまたはGitHubリポジトリから作成されたデータセットを定期的に更新するように設定できます。

現時点では、Kaggleにはかなりの数のCOVID-19データセット、課題、およびノー​​トブックがあります。この病気とそれを引き起こすウイルスを理解するための努力に対して、すでにいくつかのコミュニティの貢献がありました。

Kaggleノートブック

Kaggleは、スクリプト、RMarkdownスクリプト、JupyterNotebookの3種類のノートブックをサポートしています。スクリプトは、すべてをコードとして順番に実行するファイルです。ノートブックはRまたはPythonで作成できます。Rコーダーや競技会のコードを提出する人々は、しばしばスクリプトを使用します。Pythonコーダーや探索的データ分析を行う人々は、JupyterNotebookを好む傾向があります。

任意のストライプのノートブックには、オプションで無料のGPU(Nvidia Tesla P100)またはTPUアクセラレータを搭載でき、Google Cloud Platformサービスを使用できますが、適用される割り当てがあります。たとえば、週に30時間のGPUと30時間のTPUです。基本的に、ディープラーニングトレーニングを加速する必要がない限り、ノートブックでGPUまたはTPUを使用しないでください。無料利用枠の許容量を超えると、Google CloudPlatformサービスを使用するとGoogleCloudPlatformアカウントに料金が発生する場合があります。

KaggleデータセットはいつでもKaggleノートブックに追加できます。競争のルールを受け入れる場合に限り、競争データセットを追加することもできます。必要に応じて、あるノートブックの出力を別のノートブックのデータに追加することで、ノートブックをチェーンできます。

ノートブックは、本質的にDockerコンテナであるカーネルで実行されます。ノートブックを開発するときに、そのバージョンを保存できます。

ノートブックでサイトキーワードクエリとフィルターを使用してノートブックを検索するか、Kaggleホームページを参照することができます。ノートブックリストを使用することもできます。データセットと同様に、リスト内のノートブックの順序は、デフォルトでは「辛さ」によるものです。公共のノートを読むことは、人々がデータサイエンスをどのように行っているかを学ぶ良い方法です。

ノートブックがパブリックかプライベートかに応じて、ノートブックで他のユーザーと複数の方法で共同作業できます。公開されている場合は、特定のユーザーに編集権限を付与できます(誰でも表示できます)。プライベートの場合は、表示または編集の権限を付与できます。

KaggleパブリックAPI

インタラクティブなノートブックの作成と実行に加えて、ローカルマシンからKaggleパブリックAPIを呼び出すKaggleコマンドラインを使用してKaggleと対話できます。Python3インストーラーを使用してKaggleCLIをインストールpipし、KaggleサイトからAPIトークンをダウンロードしてマシンを認証できます。

Kaggle CLIおよびAPIは、競技会、データセット、およびノー​​トブック(カーネル)と対話できます。APIはオープンソースであり、GitHubの//github.com/Kaggle/kaggle-apiでホストされています。そこにあるREADMEファイルは、コマンドラインツールの完全なドキュメントを提供します。

Kaggleコミュニティと教育

Kaggleは、コミュニティディスカッションフォーラムとマイクロコースを主催しています。フォーラムのトピックには、Kaggle自体、はじめに、フィードバック、Q&A、データセット、マイクロコースが含まれます。マイクロコースでは、Python、機械学習、データの視覚化、パンダ、機能エンジニアリング、ディープラーニング、SQL、地理空間分析など、データサイエンティストに関連するスキルをそれぞれ数時間でカバーします。

全体として、Kaggleは、データサイエンスを学び、データサイエンスの課題について他の人と競争するのに非常に役立ちます。また、標準の公開データセットのリポジトリとしても非常に便利です。ただし、有料のクラウドデータサイエンスサービスや独自の分析に代わるものではありません。