Kaggle 銅メダルへの道(6日目)
こんにちは、筋肉めがねです。
久しぶりのブログでございます。2019年1月も残り1日となりました。とても早いものですね。皆さんは、年初に立てた目標をコツコツと進めておりますでしょうか。僕はと言うと、夏休みが残り1週間で終わる、という時の小学生の気持ちでございます。「あー、読書感想文もやってないし、自由研究もやってなーい。どうしよー。」さて、どうしましょうか。
よし、大学時代に通っていた空手道場の師範の言葉を思い出しましょう。
「ごちゃごちゃ言わずにやれ。」
そうやって、しばしば叱咤激励されたものでございます。
という事で、just do it.
前回までの記事では、KaggleのHouse PricesのCompetitionについて、欠損値の確認をしてみたり、heatmapを用いて相関図を描画してみたりと、いろいろと試してみましたが、予測結果をKaggleへ提出する、というゴールまで中々たどり着きませんでした。
ですので、本日は、Kaggleへ結果を提出する、という目標へ向け、以下の手順を一気に進めていきました。
- 動作環境の構築
- KaggleからCompetitionデータを取得
- データ概要の把握
- 外れ値の削除
- 目的変数の分布の確認、処理
- 前処理:欠損値処理
- 前処理:変数変換
- 機械学習
- 予測結果をKaggleへ提出
動作環境の構築については、以下の記事を参考にし、Google Colaboratory上で、Kaggleとのデータの連携ができるように、Kaggle APIの設定を行いました。
そして、以下の記事を参考にし、データ概要の把握から予測結果をKaggleへ提出しました。
提出した結果はこちらでございます。
Scoreは0.11557となっていますね。これは、House CompeitionのEvaluationを見てみると、"Root-Mean-Squared-Error (RMSE) between the logarithm of the predicted value and the logarithm of the observed sales price."とあります。
要は、僕が提出した予測結果(各物件に紐付いているIDと予測した値段、というシンプルな結果)と、各物件の実際の値段の「合ってなさ加減」と理解しましょう。つまり数値が小さければ小さいほど良いんですね。
そして、そのScoreが全体の中でどれぐらいの順位なのか、と言うと、それが以下に示されている順位ですね。
おー!!
上位11%に入っているではありませんか。これは、銅メダル圏内ですよね!
。。
でも、銅メダルの数が0ですね。。ふむ。。
。。どうやら凡ミスのようです。
House Price competitionのように、締め切りのないopen endなCompetitionは順位をつける事はあっても、メダルを参加者に与える事はしないようです。
1月中に銅メダルを取る、という目標ではありましたが、結果的には銅メダル圏内の順位を取る事が出来ました。まあ最初はこんなもんですな。
明日は、提出したモデルの概要を説明します。
2月以降は、締め切りのあるCompetitionに参加し、3月までに銀メダル以上を獲得する、という目標に向け進めていきましょう。
それでは、本日は以上でございます。