【Python】機械学習の勉強で読んだ本5冊|Kaggle Expertになるまで

Python
スポンサーリンク

社会人になってからプログラミングを始め、Pythonを勉強してKaggle Expertになりました。
今回はそれまでに読んだ本を5冊紹介します。

大事な前提ですが、本を読んだところでKaggleのメダルが取れるようにはなりません

なんとかメダルを取れたのは、平日も土日もPCに向かい続けたからだと思っています。

じゃあなんで私が本を買ったのかというと、
初めに何をしたらいいかわからない状況を乗り越えるため
だけです。

基礎知識さえ抑えたら、たぶんKaggle内の情報だけで銅メダルはとれます。
もしお金が惜しいなら、ネット記事で勉強してKaggleを始めれば十分です。

Pythonではじめる機械学習

機械学習の基礎の基礎が書かれている本です。

勉強を始めたばかりの初心者ならこの本がいいと思います。
ただ、この本だけを読んでKaggleに挑戦すると浦島太郎状態になります。
紹介している技術が古く、最新のモデルには全く歯が立たないためです。

いきなり難しいことから勉強するのが嫌な人は、この本から始めるといいでしょう。

線形回帰やランダムフォレストなどを学べるので、第一歩としては十分です。
Kaggleには”Tabuler Playground Series”というメダル付与がない単純なコンペがあります。
そこでこの本の内容を試し、機械学習に慣れてみるといいかもしれません。

Kaggleで勝つデータ分析の技術

Kaggle全般の基礎知識について書かれている本です。

個人的には、今すぐKaggleに登録してコンペに参加するのが最短の勉強法だと思います。
そしてこの本を持っていれば、最低限必要な情報は抑えられるはずです。

ただこの本を読んでも、勝つというか、メダルを取ることはできません。
なぜなら、コンペ参加者はみんなこの本の内容を知った上で工夫しているからです。

もっと言えば、この本に書いてあることを実践したNotebookが公開されたりします。
むしろ本書の内容を知っていることがベースラインであるとも言えますね。

ちなみに、Kaggle系の本で新しいものがあるので、これもおすすめです。

画像や自然言語などディープラーニングについて解説されているので、
直近のコンペによくあてはまった内容になっています。

ゼロから作るDeep Learning

ディープラーニングがどのように作られ、学習するのかが理解できる本です。

最近のKaggleコンペでの上位モデルは、
ほとんどがディープラーニング(ニューラルネット)を使っています。

本ブログでは、初心者向けのモデルとしてXGBoostLightGBMを紹介しています。
しかしこれだけでメダルがとれるコンペは、最近はほとんどありません。

そして、画像や文章、音を扱うモデルにおいてはディープラーニングの知識が必要です。
さらに、Transformerというモデルがほとんどの機械学習タスクで猛威を振るっています。
とどめに、テーブルデータにおいてもTabNetが活躍する始末です。

現在は、機械学習を習得するうえでディープラーニングの勉強は避けて通れません。

なので、この本で基礎知識(理論)を抑えましょう。
ディープラーニングのライブラリとしては、kerasとpytorchが主流です。

keras:TPUが使える
pytorch:自由度が高くtimmが優秀

というメリットがあるので、どちらも使い方を知っておきたいところです。
Kaggleの公開コードではpytorchが多めなので、pytorchからが始めやすいと思います。

Python実践データ分析100本ノック

この本を読めばデータ加工についての最低限の知識が得られます。

機械学習では、モデル作成だけじゃなくデータ処理(加工)の技術も必要です。
本書で最低限の知識を抑えて、Kaggleで公開されているNotebookの処理を真似てみれば大丈夫です。

費用を抑えたい人は、”Kaggleで勝つデータ分析の技術”だけでも十分かもしれません。
個人的にこの本を最初に読んで前処理を勉強したので、ピックアップしました。

【2023/02/13追記】
現在、pandasに代わってpolarsというライブラリが流行り始めています。

polarsのほうがメモリ消費が小さく速度も速いです。
なので、この本でpandasを勉強した後に、余裕がある人はpolarsでも挑戦すると良いでしょう。
”polars 100本ノック”で検索すると勉強になると思います。

退屈なことはPythonにやらせよう

機械学習とは全く関係がない本です。

なぜ選んだのかと言うと、これまでに紹介した4冊ではPythonの文法についてほぼ触れられていないからです。

この本のメリットは、本業の事務作業を自動化しながらもPythonの文法を学べることです。

プログラミングを勉強するなら、
・アウトプットが見えること
・勉強の成果が実生活に反映されること
の2点が重要だと思います。

仕事の作業だとアウトプットが見えやすいので、勉強のモチベーションを維持しやすいですよ。
私はこの本とpythonでexcelを自動化する本の2冊で文法を勉強しました。
ただ、excel操作に関してはVBAで良いと思ってしまったので、本書を推しておきます。

まとめ

今回は、私が機械学習を勉強するために使った本を紹介しました。
逆に言えばこの5冊しか読んでいないので、そんなに読まなくてもExpertにはなれます。

なんか適当に独学してるだけで、

どうやって勉強を進めたらいいかわからんな。。。

と悩んでいる人向けに、
もし私が初心者ならどう勉強するかを解説しているので、参考にどうぞ。
>>コスパよく初心者が機械学習を勉強する方法|ロードマップ

コメント

タイトルとURLをコピーしました