Kaggle 銅メダルへの道(2日目)
こんにちは、筋肉めがねです。
さて、ドイツ語を話せるようになりたい、ということで、英語の勉強方法を振り返るという話でした。シャドーウィングでしたね。学生の当時、僕が使っていた教材はEnglish Journalでした。朝8時から研究室にこもって、ショーンKの渋いナレーションにリードされながら、毎日毎日、英語のインタビューを30分ぐらい聞いていたものです。イヤホンをつけ、例えばレオナルドディカプリオとインタビューアーのやりとりを聞きながら、その会話のスクリプトを読みながら、彼らと全く同じスピードで、同じ抑揚で同じ発音で、自分の口に出して真似ていく。30分の練習の後には気分は既にディカプリオでしたね。
それでは、本日もKaggleで銅メダルを取ることを目指して一つ一つ進めていきましょう。前回は住宅価格を推定するCompetitionのデータをダウンロードしました。本日は、同Competitionに参加した先人たちのブログを読み、どうアプローチしてゴールを目指せば良いのか、理解していきましょう。
どうやら参加者固有のステップもありそうですが、Kaggleに参加する上でどうしても外せない基礎となるステップがありそうです。
- 動作環境の構築
- KaggleからCompetitionデータを取得
- データ概要の把握
- 外れ値の削除
- 前処理:欠損値処理
- 前処理:変数変換
- 目的変数の分布の確認、処理
- 特徴量の選択
- 機械学習
- モデルをKaggleへ提出
参考となるブログを以下に列挙しましょう。
https://www.kaggle.com/serigne/stacked-regressions-top-4-on-leaderboard
python初心者がkaggleのHousePriceコンペに参加してみた - Qiita
住宅価格を予測する〜Kaggle House Priceチュートリアルに挑む(その1) | キヨシの命題
不動産価格を機械学習で予測するKaggleに挑戦する [ベンチマーク編] | infomode
機械学習3ヶ月の初心者がKaggleHousingPriceに挑戦した(Top29%) 前半 - Qiita
Kaggleの練習問題(Regression)を解いてKagglerになる - Qiita
本日は、モデルを実行するための環境を構築しましょう。
以下の記事でも触れましたが、ローカルPCで機械学習を実行させると数時間かかる事もある、という話を良く聞きます。
それは、ローカルPC(僕はMacbookairを使っています。)のCPUでは、サクッとできないからなんですね。そこで、先人たちはGPU(Graphics Processing Unit)なるものを使っているらしいので、今回は、GPUをオンラインで使える環境を構築しましょう。
ということで、GPUが使える環境という事で良く使われているらしいGoogle Colaboratoryで環境を構築します。
こちらのブログを参考にしています。
Google Colaboratoryを開き、ウィンドウ下にある「NEW PYTHON 3 NOTEBOOK」をクリックします。
続いて、toolbarのRuntimeからChange runtime typeを選びます。
これで、先ずはGoogle Colaboratory上でコードを走らせる環境ができました。
続いて、KaggleからダウンロードしたデータをGoogle Colaboratory上で扱えるように設定します。Kaggleからダウンロードしたデータを解凍します。解凍したら「all」という名前のフォルダがあるはずです。それをGoogle Driveにアップロードしましょう。
そして、Google Colaboratoryに戻って頂いてpydriveをpipでインストールしましょう。pipの前に「!」をつける事を忘れないようにしましょう。「再生ボタン」を押すとコードが実行されます。
続いて、以下のコードを実行します。
実行すると、リンクが表示されるので、リンクをクリックし、Googleアカウントを選び、そこで表示されるコードをコピーします。コピーしたコードを、Google Colaboratoryにある「Enter verification code」のテキストボックスに入れます。
これにより、Google ColaboratoryからGoogle Driveへアクセスできる環境ができました。
続いて、Google Driveへアップロードしたファイル1つ1つをGoogle Colaboratory上で操作できるようにします。
先ほどアップロードした「all」というフォルダーをGoogle Drive上で開き、ファイルを右クリックし、「Get shareable link」をクリックします。
そして、リンクが表示されるので、表示されたリンクの「ID=」以降の部分をコピーします。
以下のコードをGoogle Colaboratory上で実行します。コピーしたIDを*に部分に入れましょう。以下のコードは3つのファイルを扱っているので、Google Drive上で、それぞれ3つのファイルから一つづつ「Get shareable link」でIDを取得しましょう。
これで、Google ColaboratoryからGoogle Drive上の特定のファイルを扱うための設定は終わりです。
実際に、扱えているのか見てみましょう。
Google Colaboratory上でpandasというライブラリをimportし、以下のコードを実行しましょう。
そうすると、テーブル上の最初の5行が確認できます。
これで、Google ColaboratoryからGoogle Drive上の特定のファイルを扱える、という事を確認できました。
次の記事では、早速データを見ていきましょう。
それでは、本日は以上でございます。