見出し画像

Kagglerへの道が見えた日

翔泳社ブックアンバサダーが募集されていたので、これはちょうど良い!と思い応募したところ何と選ばれてしまった!

幾度となくやってみようとは思っては断念していたKaggle。アンバサダーに選ばれたことをきっかけにこの本で体系的に学んでみたいと思ったのが始まり始まり。

●アンバサダーについてはこちら
https://www.shoeisha.co.jp/book/campaign/ambassador

●私が選んだ書籍はこちら
「Pythonで動かして学ぶ!Kaggleデータ分析入門」
https://www.shoeisha.co.jp/book/detail/9784798165233

スクリーンショット 2021-01-02 9.48.11

以降、Chapter1からAppendixの道のり。

Chapter1 Kaggleとは?

Kaggleがどうもとっつきにくかったのが、やはり英語と個人的にちょっと分かり難さを感じるUIかと。いや、きっと慣れていないだけだと思うが・・。
そんなKaggleのサイトの見方や用語の説明がまとまっていて分かりやすい!コンペの種類とかコミュニティの紹介とかも載っているし、徐々にKaggleの世界に引き込まれつつある。このままChapter2に進むことを決心。いや、アンバサダー選ばれたし。。もう引き返せない笑

Chapter2 データ分析の手順・概要

ふむふむ。Kaggle以前にデータ分析に関しての一般的な流れが説明されておる。「目的変数」「説明変数」、聞いたことあるぞあるぞ。一応、G検定はとってるし!

環境はと・・「Juptyer Notebook」「Anaconda」「ローカル上」「クラウド上」とそれぞれ説明があるし、以前に環境は構築していたから再確認の意味で手元のローカル環境を見直す良い機会となった。

そしてKagglerになるべくアカウントを作成!・・以前していた。ログイン!
アカウントも作成していたし、もう引き返せない笑

いずれにしてもこの章を読めば環境やアカウント作成まではOK

Chapter3 Kaggleコンペにチャレンジ1: Titanicコンペ

もうコンペチャレンジ!?と思って読み始めた。言い換えれば環境もアカウントもあれば、すぐにでも挑戦できるってことか。よし、賞金ゲットしてKagglerの仲間入りだぜ!
と思ったらチュートリアル的なものなのか。とりあえずデータセットをDLして中身を確認。
・・・データか。Survivedを全員1にしてあげたい所だが、そうもいかない。ここは心を鬼にしてデータが全てだ!という誰かの言葉を信じ、感情を押し殺す。環境はKaggle上で行うことにした。以降も同様。

データを読み込んで内容を確認と。表形式で見やすく表示された。気分はすっかりKaggler。とりあえずデータ形式や各値の型などを確認。乗船した港別の生存率とかポンポン確認できるから楽しい。男女別生存率の結果を見てちょっと意外だなって思った。もしくは、やはり助けようとしたのか。データから想像するのも非常に興味深い。

・・そうか、箱髭図やらヒストグラムやら、その辺りの基本的な見方をおさらいしなくては。。

ひとまず本書に沿って、欠損値のない状態にまで完成。長かった・・。でもこの通りに進めていけばきっと大丈夫と信じて次へ。キノコはKaggle上の環境で手を動かしながら確認したが、他の環境の手順も詳しく書かれているからお薦め!

「モデリング」。いよいよ機械学習か!と読み進めていく。過学習、ホールドアウトなど、基本的な言葉の説明を理解し(たつもりになり)、手を動かす。

予測結果のファイルを書き出せたところで、Kaggleに投稿!人生初投稿です(涙)するとScoreが表示された・・0.77272。なるほど、このスコアを高めていけばいいのか!よし!スコアだ!

と思ってページをめくると「それ以外を考えることも重要」・・。おぉ。そうか。実際の仕事においての分析視点などの説明が続く。確かに。。スコアが全てじゃない!と5秒前の決意を無かったことにした。

分析1 Titanicにはどのような人が乗船していたのか?
チケットごとの人数・年齢、料金分布などを分析。単に若者が安いチケットを買っているわけではない事や、どの港が高いチケットを買う乗客が多いかなどが見えてきたりもする。その港で何か商売すれば?!データってすご。データを分析していくと、なぜか情景が浮かんでくる。

分析2 特定のクラスタに注目してみる
なるほど少数派に着目する事で全体に埋もれてしまいがちな特徴が見えてきたりもするわけだ。ここでは10代・20代に注目しているが、面白い結果となった!

機械学習ときくとモデルを作って推論してなどのイメージが強いが、まずはデータを分析・可視化するだけでも見えてくるものがあるし、データから頭の中に物語が作られていくような感じがして非常に興味深かった。もはや引き返そうなどいう思いは頭から消えていた笑

Chapter4 Kaggleコンペにチャレンジ2: House Pricesコンペ

説明を読むと住宅価格を予想するコンペのようだ。Titanicが分類予測だったのに対し、このコンペは回帰(連続値の予測)ということで、本書でまた違うデータ分析を学べるのは良い。

まずは前処理からだ。どんな列があって、欠損はないか。前チャプターでやっているはずだが細かところを忘れていると、このチャプターでも必要な説明が書かれていて親切。素敵。

Titanicに続きLightGBMでまずは各変数の重要度を確認。前チャプターで基本的流れはを体験しているので比較的スムーズに!分かると楽しい。

さて、このコンペではRMSEが評価指標となるということで、平均二乗誤差なるものを求めるためのライブラリをインポート。この辺りも詳細に説明が記載されているから、動かしながら理解すると言う点でとても分かりやすい!この予測精度を改善していけばいいんだなっと。
欠損値や外れ値などを前処理をして再び精度確認。

さらに時間に関係する説明変数をもとに新たな特徴量を生成したり、ハイパーパラメータを最適化して、その都度精度がどうなるかを順を追って試していく形も分かりやすい。いよいよ2度目のKaggleに投稿!

このチャプターではさらにランダムフォレスト、XGBoostでどうなるか?も手を動かしながら進めていく。これまでなかなかイメージが湧かなかったのは、断片的な知識だったのもあり、このチャプターで一通りのイメージを十分に理解することができた(と本人は思っている!)

Chapter5 さらなるデータサイエンス力工場のためのヒント

このチャプターではさらに力をつけ理解を深めるために、Kagglerへのインタビューやおすすめのコンペ、GCPの使い方が紹介されている。思考回路が一杯一杯になってきていたので、こういう読み物として楽しめる章があって助かった・・!

APPENDIX Kaggle Days Tokyo 2019レポート

2019年12月に日本国内で初開催となった「Kaggle Days」のイベントの様子が紹介されている。

で、肝心のKagglerになれたのか?

まだ1周読み込んだだけなのでKagglerになれた実感はない(当たり前か笑)
Kagglerへの道のりはまだまだ遠いが、ただ道が見えたのは大きかった!道が見えれば歩き出そうと思える。そう思わせてくれる一冊だった。

#翔泳社ブックアンバサダー


いいなと思ったら応援しよう!