AI・機械学習コラム

AI・機械学習コラム

第2回 kaggleコンペ参加マニュアル(準備編)

2019.10.11
東京システムハウス

1. はじめに

 前回の連載ではPythonの環境構築を行い、自身のローカル環境で機械学習やデータ分析をするための準備を整えました。
2回目と3回目の連載は「kaggle」が実施しているデータ分析のコンペに参加することで、分析の方法を学んでいきます。
今回2回目の連載ですが、「kaggle」のコンペに参加し、分析を行う準備の方法について説明したいと思います。

 

2. kaggleとは

 kaggleとは、世界中のデータサイエンティストが参加するコミュニティの一つです。kaggleの大きな特徴として、機械学習を用いて課題を解決するコンペを実施する場が提供されていることが挙げられます。コンペでは企業や研究家などがデータと課題を提供し、コンペ参加者は最適なモデル作成を競い合います。中には賞金が出るコンペもあり、賞金と引き換えに最も制度の高い分析モデルを買い取るケースもあります。
 「AIや機械学習の初心者だからコンペの参加なんてとても無理」と思うかもしれませんが、コンペは難易度の高いものから、初学者向けの簡単なものまで様々なものがあります。また、コンペ参加者のコードやその説明を見ることが出来るのでとても勉強になりますし、実際の企業がAIや機械学習をどのように活用しようとしているかを知ることも出来ます。
今回と次回の連載では、初心者の向けのコンペである、タイタニック号の生存者予測のコンペに参加して結果をkaggleに提出することで、kaggleのコンペ参加の方法を説明したいと思います。

 

3. kaggleのアカウントを作る

 まず、kaggleに参加するにはアカウントの作成が必要です。
 https://www.kaggle.com/にアクセスし、画面右上の"Register"からアカウント作成を進めます。アカウントはグーグルアカウント等との紐づけもできますが、メールアドレスによる新規登録の場合は、メールアドレス、氏名、ニックネーム等の情報を記入して登録処理を進めると、入力したアドレスにメールが届きますので、承認を行なえば登録完了となります。

 

 

 アカウント作成が完了したら、作成したアカウントでkaggleにサインインしてください。


 

4. コンペに参加しよう

 続いて、タイタニック号の生存者予測のコンペのページである、以下URLにアクセスします。

 https://www.kaggle.com/c/titanic

 ページにアクセスすると簡単な概要が表示されていますのでそちらに目を通しましょう。

 

 

 OverviewのDescriptionには、データサイエンスや機械学習の初学者、もしくはkaggleの簡単なコンテストを探している人向けであること、タイタニック号の生存予測の概要、どのようなスキルが必要かが書かれています。


 また、OverviewのEvaluationを見ると、提出するファイルの形式等が書いてあります。

 

 本コンペでは、PassengerIdと生存なら1、死亡なら0で表される生存予告のCSVファイルを作成し、提出すれば良いことが分かります。
本コンペでは提出は結果のCSVファイルだけですが、コンペによっては「Kernel」というコードを動かす環境をそのまま提出するケースもあります。
コンペにより条件や提出物等は異なりますので、概要や後述するルールにはよく目を通すと良いでしょう。


 概要を確認したら、次はコンペのルールを確認します。画面の「Rules」をクリックするとそのコンペのルールが表示されます。

 

 

 ルールの内容を確認します。

 

 

 ルールでは、コンペの期日やコンペ参加のアカウントに関するルール等が記載してあります。
 本コンペのルールとして、関係がありそうな所を列挙すると、以下の通りです。

  1. 1日あたり10回の結果提出が上限回数である
  2. 審査のために最大5つの最終提出物が選択できる
  3. 締め切りや終了日は無し
  4. 答えを検索してそのまま提出することはコンペの意味が無いのでやめたほうが良い

 

 本コンペには締め切りはありませんが、他のコンペで締め切りがあるものが多数ですので、しっかりとチェックしましょう。

 

5. コンペに参加する

 コンペの概要、ルールを確認したらコンペに参加しましょう。コンペのメニューの右端にある「Join Competition」をクリックすれば参加できます。

 


 

6. まとめ

 今回の連載ではkaggleのコンペに参加するところまで進めました。次回の連載では、提供されているデータを利用して分析を実施し、結果提出まで進めたいと思います。