2024年3月22日

データ分析コンペティション「Kaggle」に参加しました!


Content
こんにちは。

この度、グローバルなデータ分析コンペティションである Kaggle(カグル) にチームで参加してみました。私自身は初参加で、参加前まではグローバルということもあり、非常に敷居が高いイメージでしたが、実際には初心者の人でもかなり始めやすい印象を受けました。

本記事では、Kaggle の概要、参加したコンペの概要、コンペ期間中にやったことと始めやすいと思った理由、参考にした本、参加してみての感想をお伝えします。少しでも Kaggle が気になっている人の一助になれば幸いです。

Kaggle とは?

  • グローバルなデータ分析コンペティションプラットフォームです
  • 常に複数のコンペが開催され、世界中の多くの参加者がモデルの性能を競い合っています
  • コードの公開やディスカッションも活発なため、初心者から上級者まですべての人がデータ分析を学ぶのに適したプラットフォームとなっています

参加したコンペの概要

概要

  • エストニアのソーラーパネルを設置した顧客の電力生産量/消費量を予測する

期間

  • 2023年11月1日~2024年1月31日(最終提出期限)

参加チーム数

  • 2,731チーム

評価方法

  • 平均絶対誤差(MAE:Mean Absolute Error)
    • 予測値と実測値の差(=誤差)の絶対値の平均
    • 平均的に MAE の値だけ上下にズレていると解釈できる

データ

  • 与えられているデータの範囲は、2021年9月1日~2023年5月31日
  • 主なデータの中身は以下
    • 電力生産量/消費量のデータ
    • 顧客データ
    • 気象データ
    • 電気料金データ
    • ガス料金データ など

 

今回のコンペを深堀した記事も別途参加メンバが執筆しております。ぜひご覧ください。

Kaggleのコンペを振り返る

ざっくりやったことと、始めやすいと思った理由

ざっくりやったこと

①Kaggle のアカウントを作成

②参加したいコンペに参加

  • チームで参加する場合は、チーム結成(このタイミングでなくてもOK)

③コンペの概要を把握

  • 目的変数、スケジュール感、評価方法、提出方法、データなどを確認

④公開コードを読み込み、ライブラリのインポート~提出までのベースラインを把握

⑤EDAや、他の公開コード、ディスカッションなどを踏まえ、独自の特徴量の追加やモデルの変更などを行ってみる

⑥提出

⑦スコアが表示されるので、⑤と⑥を繰り返し、高スコアを目指す

  • 1日の提出回数に上限はありますが、期間中であれば何回も提出できます

⑧最終的に提出するモデルを決定し、最終提出

 

 

始めやすいと思った理由

‐初心者の人でも始められるだけの情報が出回っている

  • 下記で紹介する本などをはじめ、現在では初心者の人でも始められるだけの情報が充実している印象です
  • 日本人の人が執筆されている本やサイトも多いので、文章も非常に読みやすいです

 

‐環境構築が不要

  • 特に上記④~⑥に関係する部分ですが、Kaggle では、Python や R言語 をブラウザ上で動かすことができる「Notebook」という環境が既に用意されています
  • 機械学習で用いられる様々なパッケージが予めインストールされているため、初心者がつまずきやすい環境構築をする必要がありません
  • 詳細は割愛しますが、Kaggle のサイト上の Code タブの「+ New Notebook」をクリックするだけで、簡単に作成/使用できます

 

‐公開されているコードを見られる/コピーして利用できる

  • 特に上記④、⑤に関係する部分ですが、こちらは特に始めやすいと思ったポイントです
  • Kaggle では、コードを公開してくださっている Kaggle 上級者の人が沢山いらっしゃるため、そのコンペにおけるベースライン(ライブラリのインポート~データの読み込み~EDA~特徴量エンジニアリング~モデル作成~予測~提出)を把握することができます
  • もちろん一から書くこともできますが、最初はなかなかハードルが高いと思うので、まずはひとつコードを読み込んでベースラインを把握するのがおすすめです。コードは複数公開されていますので、「Most Votes(最多得票)」でソートし、読みやすそうなコードを選ぶのがおすすめです
  • 私は趣味程度でしか Python を触ったことがなかったため、めちゃめちゃ調べながらでしたが、ひとつ読み込めばかなり全体的な流れが掴めると思います
  • 公開されているコードはコピーできるので、コピーして自分の Notebook として使用することも可能です
  • 極論、コードをコピーし、そのまま提出することも可能です。一番最初はまずそのまま提出してみて、どのようにスコアが出るか確認してみてもよいと思います

参考にした本

Python ではじめる Kaggle スタートブック

  • こちらは「初学者向けの Kaggle 入門書の決定版」を目指して執筆された本です
  • 「機械学習が分からない」「Python が分からない」「Kaggle の仕組みが理解できない」「英語で書かれていて取っつきにくい」など、初心者の人が感じる様々な障壁を、Kaggle に必要な知識に絞って丁寧に説明してくれています
  • 文字通り、「初学者向けの Kaggle 入門書の決定版」と感じる一冊でした!

 

スッキリわかるPythonによる機械学習入門

  • こちらは有名な「スッキリわかるシリーズ」の Python による機械学習入門です
  • Python の知識がある程度必要ですが、データ分析における各工程をバラバラに学ぶのではなく、「全体の流れ」が体験できる一冊となっています
  • Python 初心者の人であれば、以下と並行して読むとより理解が深まると思います

 

Kaggleで勝つデータ分析の技術

  • こちらは王道の一冊だと思います
  • Kaggle で勝つための参考書を目指して執筆された本です
  • より精度の高いモデルを作成するためのテクニックが様々な観点から紹介されています
  • 一方で、Kaggle のみに特化しているというわけではなく、一般的なデータ分析に役立つ内容が体系的に紹介されているので手元に置いておきたい一冊です

参加してみての感想

  • 第一の感想としては、最初にも述べた通り、初心者の人でもかなり始めやすい印象を受けました
  • 実際に始めてみれば手を動かすのは楽しいですし、何よりスコアが出るのは醍醐味のひとつと思います!(一喜一憂でした笑)
  • また、自分が知らないことが本当に沢山あることにも気づかされますし、勉強してみたいことも増えました
  • 今回は言及していませんが、特に最初はチームでの参加もおすすめです。分からない点は適宜質問し合えますし、何よりメンバが頑張っているので自分も頑張りたいという気持ちになります。私は Kaggle 初心者でしたので、経験者含む他のメンバの皆様に本当に色々と教えていただきました。メンバの皆様、本当にありがとうございました!

参考文献

2024年3月22日 データ分析コンペティション「Kaggle」に参加しました!

Category ブログ

ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。

お問い合わせはこちら