概要
Kaggleを通してデータ分析の基本的な進め方を学べる。
俗にいわれるkaggle本よりも初心者向け。Kaggleコンペの流れを理解できる。
対象者
・データ分析初級者
・Kaggleに興味を持っている人
・データサイエンティスト脱初心者を目指す人
Pythonや機械学習の基礎的なことを他の教材を学び、Kaggleに挑戦する前に読むと具合がよさそうな本だと感じました。
まさに今の私が読む本でした。感謝。
前提知識
・Python(この本で基礎文法などの説明は少ない、ほぼないかも)
・中学レベルの数学(と、本には書いてあるが実際はこの本を進めるだけならまぁ...)
この本の良かったところ
kaggleの説明
英語という言語の壁があるのでとっつきにくさがあるKaggleですが、画像付きでコンペのページの見方を説明してくれます。どこを見ればいいかわかるのでとてもありがたいです。
また初級者が選びやすいコンペの特徴などを挙げてくれているのでよい。
この辺はネットで調べてみると他の人の視点の初級者向けのKaggleの使い方の説明があるので、そちらも流し見するとより効果的だと感じました。カレーちゃんさんのKaggleのチュートリアルなどおすすめです。
その先の実務を見ている
本文中しきりに書いてあるのが実務からの視点。
Kaggleのコンペでできることは実務におけるほんの一部。しかしその一部はとても重要なもの。コンペで学べるそのほんの一部、コンペ以外で学べる点、どちらもがデータサイエンティストにおいて重要であるということが再三言われています。
またデータコンペと実務の違い(実務ではここはもっとうんたら~)など実務についたときに役立ちそうだなと。
ベースラインの作成
機械学習のデータ分析を少し勉強をしていて全く触れてこなかった知識「ベースライン」。
分析の骨格を最初に決めて推論まで行い、そこに肉付けをしていくというもの。このベースラインの作り方が大事なんだろうなと思わせるくらいにはしっかりとベースラインの作成に関して書いてあります。データコンペだけでなく実務においても役立ちそうだと思いました。
他にはLightGBMというなかなかにつよいやつも知りました。かなり便利らしい。
つまずいたところ
バージョンの違いなどでつまずいたところを挙げておきます。
early_stopping
#モデルの宣言
model = lgb.LGBMClassifier(**params)
#モデルの学習(自分なりに修正)
model.fit(X_tr, y_tr,
eval_set=[(X_tr, y_tr),(X_val, y_val)],
callbacks=
[lgb.early_stopping(stopping_rounds=100,verbose=True),lgb.log_evaluation(100)])
#モデルの学習(本での記述)
model.fit(X_tr, y_tr,
eval_set=[(X_tr,y_tr),(X_val,y_val)],
callbacks=[
lgb.early_stopping(stopping_rounds=100,verbose=100)]
本のPythonのバージョンは3.7。私の環境は3.10なので少し違いがありました。
pandas_profiling
#モデルの学習(自分なりに修正)
import ydata_profiling as ydp
#モデルの学習(本での記述)
import pandas_profiling as pdp
出版された後に名称の変更があったようです。
import mlb
import mlb
env = mlb.make_env()
ite_test = env.iter_test()
8章MLBの回帰問題。推論スクリプトを提出するコンペの使用上KaggleNotebookを使うそうです。おそらくmlbファイルを使って仮想環境?を作って何かすると思うのですが、現状の私にはよくわかっていません。
Python3.7だとうまく動くそうなのですが3.8以降だとうまく動作しないというのをDiscussionで見つけました。KaggleNotebookのPythonのバージョンを変えるのは調べてもよくわからなかったのでうまくいかず。
jupyterなどを使ってうまくやれそうなのかもわからず。何か解決策があればよかったのですがね。
さいごに
本のまとめ?感想?はむずかしく感じました。内容を載せすぎてもいけず、語らずすぎてもいけず。
この本を読む前の私のような、Kaggle入門の前の段階である人になんとなくこの本の良さが伝わればいいと思います。
Kaggleたのしんでこー。