こんにちは。てくいの メンバーのカワカミ(うぇるだん)です。新型コロナウイルス感染症の影響もあり、stayhomeな在宅ワークが最近の働き方の主流になってきていますが、こんな時だからこそ新しいことを!ということで、今更ですがKaggleに挑戦していき、その記録を残しておこうと思います。
目次
Kaggleってなに?
Kaggleとは、企業や政府、研究機関がコンペという形式で提供するデータ分析の課題(タスク)に対して、世界中の機械学習・エータサイエンスに携わる人々が、課題解決手法の精度等を競う「データ分析プラットフォーム」です。Kaggleは2017年にはGoogleによって買収されています。
課題提供者は、自身の事業に関係する課題解決のための知見を、外部から得ることができます。参加者は優秀なスコアを残すと賞金が与えられるほか、スコアに応じた称号(ランク)を得ることができます。Kaggle参加者をKaggler(カグラー)とも呼びます。
また、Kaggleのスコアをリクルーティングに利用する企業も多く、データ分析や機械学習に力を入れる大手の企業では、スコアに応じて業務中にKaggleコンペに参加できる時間が設けられていることもあるそうです。
データ収集や環境構築のストレスなく機械学習の研究に取り組むため、ついでに2020年8月末実施予定のE資格合格を目指した自習のために、遅ればせながらKaggle界に飛び込んでみました。Kaggle上位の方のすばらしい記事はよく見かけます(めちゃくちゃに参考にさせていただいています)が、完全初心者のヨチヨチした足取りはあんまりないかも… ということで、晒していこうと思います。
Kaggleの課題にはどんなものがある?
課題(タスク)には様々なものがあり、有名な予測系をはじめ、比較的新しい分野であるディープフェイクに関するタスクや、画像から傷の有無を推定するタスクなどもあります。最近のタスクだと、新型コロナウイルス感染症(COVID-19)に関するタスクがいくつか提供されています。
- ウイルスの遺伝学的、起源、進化について
- 医薬品とそれ以外の対策について
- 経済的影響について など…
Kaggleを概観してみよう!
まずはKaggeがどんな感じの場所なのか、ざっくりみてみましょう。
アカウントを登録する
アカウントは、Googleアカウントまたは、Eメールアドレスを利用してすぐに作成することができます。登録は無料です。
ログインしてKaggle全体を外観してみる
Kaggleにログインした状態でのTOP画面は、左側がメニュー、中央にニュースフィード、右側にプロフィールが表示されるシンプルなものです。
メニューの詳細
●Competitions
コンペに関する情報を確認するページです。現在開催中のコンペだけでなく、過去に開催されたコンペも確認することができます。注目のコンペは上の方にデデンと表示されています。開催中のコンペには、基本的に誰でもいつでも参加することができます。
また、コンペには幾つかカテゴリ分けがあります。
- Featured:一番メジャーなカテゴリで、賞金のあるコンペ
- Research:実験的要素の強いコンペで、報酬ははない
- Getting Started:初心者向けの、無期限に公開されているコンペ
- Playground:Getting Startedの一つ上のレベルのコンペで、お楽しみ用
- Recruitment:希望者に対して採用プロセスのあるコンペ
- Annual:年二回開催している大会
- Limited Participation:マスターとグランドマスターのみが参加可能なコンペ
●Datasets
Kaggleユーザーが利用できるデータセットを共有するためのメニューです。データセットを取得するほか、アカウントを持っていれば自分のデータセットを共有することも出来ます。Kaggleユーザーはこのデータを利用して、各コンペに挑みます。
Datasetの例:
- Airbub New User Bookings
Airbubの宿泊予約データ - Mercari Price Suggestion Challenge
メルカリの価格予測(値付けの参考価格) - Google Landmark Retrieval 2019
Googleの提供する画像データ(ランドマーク検出のコンペ用)
その他、QiitaのKaggleデータセットまとめの記事が参考になりました。
●Notebooks(旧:Kernel)
もともと、Kernelと呼ばれていた機能です。クラウド上で各種処理を行えます。使用言語はPythonまたはRを選択でき、編集画面もJupyter Notebook形式とScript形式から選べます。さらに、拡張設定としてGoogle Cloud Servicesを利用するか、Accelerator(GPU、TPU)を追加するかなどがあります。
GPU環境(NVIDIA Tesla 100)の使用には、週に30時間までの利用制限があります。また、TPUも使用できるようになりましたが、こちらにも同様の利用制限があります。
作成したNotebookは公開することができ、他のユーザーからの評価が高いと、メダルを獲得することができます。公開されているNotebookを使って、上位者の技術を学んだり、コンペ中に対象データに新たな特徴を発見した場合に共有できたりします。
●Discussion
分析コンペの内容について参加者同士でディスカッションする場です。初心者からの質問もありますし、評価方法等のコンペに関すること、Notebooksと同様に参加者がコンペのデータ等について発見したこと等が共有され、議論されています。
●Courses
Kaggleは無料でデータサイエンスを学ぶコンテンツを提供しています。初心者向けにPythonや機械学習を基礎から学ぶコースもあり、初心者がKaggleコンペにトライするのをしっかりサポートしてくれています。
例)
- Python
- Pandas
- Deep Learning
- SQL基礎
- GameAI基礎
●More
その他にも色々なメニューが提供されています。ランキング上位者をチェックできたり、人気のTagを調べたりできます。また、kaggleの使用方法についてもこちらから確認することができます。
今回は初心者らしく、Kaggleアカウントを作成し、画面を外観しました。次回は、早速初心者向けのコンペティション「タイタニック」に挑戦しましょう。
コメント
Comments are closed.