CCCMKホールディングス TECH LABの Tech Blog

TECH LABのエンジニアが技術情報を発信しています

ブログタイトル

いまさら聞けないKaggleチュートリアル第2回 登録→提出までやってみよう!

はじめに

こんにちは。技術開発ユニットの伊藤です。

「いまさら聞けないKaggleチュートリアル」はDBMK研究所の伊藤と森田の二人で書いています。 第2回は伊藤が担当します。 前回の記事ではkaggleに参加する意義について書いています。

いまさら聞けないKaggleチュートリアル第1回  Kaggleとは?参加する意味とは?

今回はkaggleへの登録と予測の提出を行います。 分析用の環境構築が面倒なので分析はkaggleカーネルを利用します。

アカウント登録

kaggleのページ右上にある"Register"からアカウントの登録を行います。 Googleアカウントまたはメールアドレスで登録できます。

f:id:si31059:20200616155233j:plain
アカウント登録

メールアドレスでの登録はアドレス、パスワード、名前を登録しました。 名前はリーダーボード(ランキング)などに表示されます。

タイタニックに挑戦

コンペへの参加

ページ左側の"Compete"からコンペ一覧を表示できます。 コンペ一覧から開催中のコンペや過去のコンペを探すことができます。 kaggleの初心者向けのコンペにはタイタニック、住宅価格予測などがありますが、 今回はタイタニックに参加します。 タイタニックは常時開催されているコンペで最初にチュートリアルとして参加する方の多いコンペです。 前回の記事では5位以内に入ると賞金がもらえると書きましたが、 タイタニックコンペでは賞金は発生しません。

コンペページで"Join Competition"をクリックし、 規約に同意すると参加できます。

f:id:si31059:20200616155543j:plain
コンペに参加

タイタニックコンペではタイタニック号沈没事故を題材にしたコンペで、 乗客の性別、年齢といった説明変数をもとに生存、死亡を予測します。 予測は正解率(Accuracy)により評価されます。

kaggleカーネルの使い方

kaggleカーネルはkaggleに用意された実行環境で、 webブラウザ上で分析ができます。 面倒な環境構築をせずにnumpyやpandas、sklearnなどのライブラリが利用できるので非常に便利です。

また、他の参加者が公開したカーネルを見たり、 他の参加者に自分のノートブックを公開したりできます。

ノートブックの新規作成

"Notebooks" -> "New Notebook"と選択すると 新たにノートブックを作成できます。

f:id:si31059:20200616155632j:plain
ノートブックの新規作成

次にノートブックの設定を選びます。 言語(PythonまたはR)、タイプ(ノートブックまたはスクリプト)を選択できます。

f:id:si31059:20200616155717j:plain
ノートブックの設定

今回はPythonのノートブックを選択しました。

次にkaggleのノートブックの使い方と予測を提出する方法を紹介します。

csvの読み込み

データセットは '/kaggle/input/titanic/'以下に入っています。 df_train = pd.read_csv('/kaggle/input/titanic/train.csv') で読み込むことができます。

予測の保存

タイタニックコンペの場合は '/kaggle/input/titanic/gender_submission.csv' を参考に予測を作成します。 submissionというデータフレームをsubmission.csvという名前で保存する場合、 submission.to_csv('submission.csv') で保存できます。

ノートブックの保存

ノートブック右上の"Save Version"からノートブックを保存できます。 出力したcsvファイルを保存する場合は "Save & Run All (Commit)"を選択します。 "save"をクリックすると保存が開始されます。

f:id:si31059:20200616155758j:plain
ノートブックの保存

予測の提出

保存が完了したら左下に表示される"view"または左上の"矢印"をクリックし、 Notebookから離れます。 画面を下にスクロールし、先ほど保存したsubmission.csvまで移動します。 "Submit"を押せば予測の提出をすることができます。

f:id:si31059:20200616155835j:plain
予測の提出

結果

正しく提出できれば以下のようにCompleteと表示されると思います。

f:id:si31059:20200716153342j:plain
提出成功

予測を提出すると提出した予測と実際の回答から 自動でスコアを計算してくれます。 タイタニックコンペの評価指標はAccuracyなので、 スコアは0から1の値を取り、すべて不正解だと0、すべて正解で1になります。 今回のスコアは0.66985でした。

また、リーダーボードから自分の順位を確認することもできます。 順位は21200位くらいでした。 参加チーム数が約22200なので順位は相当低いです。

おわりに

今回はkaggleへの登録とノートブックの使い方について紹介しました。 とりあえず予測を提出することができましたが、 次回の記事では分析とスコアアップに取り組みます。