これからは「AIの時代だ!」ってことで機械学習から地道に勉強を開始したのですが、入門書を1冊終えて「次は何をしたらいいのだろう?」状態になってしまいました。
機械学習に限った話じゃないけれど、特にIT系の勉強は入門書を1冊終えてそのまま終息。。。と、続かないことってよくありますよね。
実務で実践できるのがベストだけれど、そうそういいチャンスが転がってるわけもないですし。
まさにそんな状態だった僕にとって、『Python実践 100本ノック』シリーズはデータ分析・機械学習の第2歩目を歩ませてくれるとってもいい教材でした!
この100本ノックシリーズですが、2024年2月時点で4種類の書籍が出版されています。
もちろん、僕は4種類やり切って確かな手応えを感じているので、今回はこの『Python実践100本ノック』シリーズが機械学習・データ分析の勉強をやっている人たちに紹介したいと思います。
僕みたいに学習に伸び悩んでいる人たちの参考になったら嬉しいです。
- 機械学習/データ分析の入門書の次のステップがわからない人
- 『Python実践100本ノック』シリーズの内容に興味がある人
- Kaggleにチャレンジしたけれど「やっぱり無理だー」ってなった人
こんにちは、3姉妹の父のくじら(@kujira_525)です!
子育てにはとってもお金がかかるので、もっとたくさん稼いで稼いで稼ぎまくるために、いろいろ勉強しています。
『Python実践 100本ノック』シリーズを勉強する前の僕はこんな感じ
本の紹介をする前に、僕がどんな状況でこのシリーズを使って勉強を始めたのかを書いておきますね。
どれくらいわかっている人が使うと良い書籍なのかがイメージしやすいはず!
僕はIT系企業でエンジニアとして働いていますが、いわゆるインフラエンジニア的なロールをやっているので、普段業務ではプログラムを書いたりすることはほぼありませんし、理系出身ですが生物系だったので情報系の素質も持ち合わせていないです。なので、ほぼ「文系未経験」です。
そんな僕でもやっぱりこれからはAIの時代だし、機械学習、ディープラーニングくらいわかってないとエンジニアとして定年まで働けないんじゃないか、、、という切実な思いから勉強をスタートしました。
まずは Python から勉強を始める
まず最初は機械学習の基本になるPythonというプログラミング言語の勉強をしなければと思い、こちらの入門書を1冊やって基本文法を覚えました。
僕がやったのは第1版だったけど、ほどよく挿絵やキャラクター同士の会話も入っていてPythonど素人にはとてもわかりやすかったです。
続いて機械学習の入門書を1冊やってみた
Pythonの基本文法がわかるようになったので、Python の勉強で使った本と同じスッキリわかるシリーズのこちらの書籍で機械学習の勉強もしました。
これも挿絵や先生と生徒の会話みたいなのが入っていて理解しやすいです。内容的にもデータの前処理から分類/回帰の教師あり学習、クラスタリング/次元削減の教師なし学習まで一通り学べるので、機械学習/データ分析の一連の流れを勉強できました。
実践あるのみ!ってことで Kaggle にチャレンジ
入門書を終えたあとはどうするかなーと思っていたところ、「データ分析/機械学習は Kaggle (データ分析のコンペ) をやりながら、他の人のノートブック (コンペの解き方などを色んな人がノートブックとして公開・共有してくれている) を見ながら勉強するのが一番だ」っていう情報を仕入れて Kaggle に突撃してみました。
Kaggleのコンペの進め方がよくわからなかったので、一応先に以下の書籍を読んでざっとイメージを掴んでからやっています。
この本はKaggleの操作方法ももちろん書いてあるんですが、データ分析を実施するにあたっての勘所であったり、どうやったら有用なノートブックを見つけられるかなど実践的な内容がたくさん書いてあるので、Kaggleを始めるなら一読しておくといいと思います。(Kaggleの画面とかは新しくなって変わっちゃってるのですが、ベースは変わってないのでとても役に立ちました)
そして、何を勉強しなければいけないのかがなんとなくわかった
初めてのKaggleでちょうど良さそうなテーブルデータ系のコンペを見つけたのでひとまず参戦しました。
当然何から手を付けていいかわからないので他の人のノートブックを読んで勉強することに。
すると、びっくりするくらい何やっているかよくわかりませんでした!w
頑張ってなにをやっている処理なのかをググりつつ少しずつ理解しながら進めてどうにかモデルを構築して提出まではできたのですが、まだまだできないこと、わからないことがたくさんあるなーと実感しました。
具体的にはこんなところがよくわかっていなかったと思います。
- 新しく作った特徴量データがどうやって算出されているのかわからない(文法的に理解できない)
- 可視化したり精度を確認したりしているけど、このグラフやスコアで何がわかるのかわからない
- いきなり LightGBM なる未知の(今まで勉強していない)モデルが出てきて、何やっているのかわからない
このままKaggleを続けて地道にわからないことをひとつずつ潰していくという道もあるのですが、どうせなら体系的に勉強したいと思っていたところで出会ったのが『Python実践100本ノック』シリーズ。
僕みたいに以下の状況のような人にはきっと役に立つ書籍です。
- データの前処理を行うためのの文法がスラスラ書けない(理解できない)
- matplotlibやSeabronでさくっとグラフ化できない、統計的なスコアの見方がわからない
- 決定木や線形回帰のモデルしか知らない
前置きが長くなってしまいましたが、具体的にこのシリーズのどの本がどういった勉強に役立つかを、実際にやってみた感想も含めて紹介していきますね!
『Python実践 100本ノック』シリーズは現時点で4種類
Python 実践シリーズは現時点で4種類出版されています。
どの本も350ページを超えるボリュームなのでしっかりやるとそれなりに時間がかかりますが、やることがノックという単位で区切られているので、少しずつでも進めやすいのが特徴です。(ノック1〜ノック100まである)
各ノックの最初にはやることが書かれているので、まずは冒頭だけ読んでどんなコードになるかイメージしたり実際に自分で書いてみてからサンプルコードで答え合わせをする。わからなかった時はサンプルコードと解説を読んで理解するという形で進めていくと、力になります。
書籍の名前が100本ノックなのでひたすら同じことを繰り返しやらされそうなイメージもあるかもしれませんが、全く同じ内容を繰り返すようなノックは無いので安心してください。
気合と根性!ではなくて、1つ1つしっかり理解していくスタイルです。
それぞれ特徴のある本なので、自分が鍛えたい内容を含んだ本をやるのが一番です。それぞれの本の特徴はこのあと紹介しますね。
一通りやってみたい!という場合は『Python実践 データ分析 100本ノック』がデータの前処理、可視化、機械学習の内容を網羅的に含めているのでまずはこれをやってみるのがおすすめです。
まずは『Python 実践データ分析 100本ノック』でデータ分析の全体像+αをつかむ
1冊目は『Python実践 データ分析 100本ノック』です。
『Python実践 データ分析 100本ノック』では実際の現場でのデータ分析を想定して、どういった作業が必要になるのかをベースにノックを行っていきます。
例えば、実際の現場では分析対象をいろいろなデータソースからかき集めてくる必要があるわけですが、それぞれフォーマットが異なっていたり、一貫性が無かったり、もちろん欠損値などがあったりすることも多いので、様々なケースを想定してデータの前処理の方法を学んでいきます。
入門書で取り扱うデータはきれいなデータ(あまり前処理が必要ではないデータ)が多いので、とても勉強になります。
後半は、どういうケースでどういった機械学習モデルを使うべきなのかなどを踏まえて、いくつかの機械学習モデルを使って分析をおこなっていきます。
この辺りも、単純にデータモデルを作るだけでなく、何を気にしながらモデルをブラッシュアップしていていく必要があるのかも触れられているので、入門書より深く学ぶことができます。
最後の発展編では画像や動画を使った物体検出や、形態素解析を使った自然言語の処理など、テーブルデータ以外に関するデータ分析についても学ぶことができます。
入門書ではテーブルデータがメインになることが多いので、そういう意味で発展編ではより広範なデータ分析を学ぶことができます。
とは言え、発展編の内容は物体検出や形態素解析のさわりの部分だけなので、これらについてしっかり勉強したい場合は別の書籍などを使ったほうがよいです。
そんなわけで『Python実践 データ分析 100本ノック』はかなりオールマイティーに勉強できる1冊にはなっていますが、一番の売りは前半部分の様々なデータの前処理を学べる点です。
他の3冊にも前処理をしっかりやるノックは含まれていないので、テーブルデータの結合、欠損値の補完、新しい特徴量の作成など、pandas の操作方法がまだまだだなぁと感じる方にはおすすめの一冊です。
『Python実践 機械学習システム 100本ノック』で機械学習の実運用をイメージする
2冊目は『Python実践 機械学習システム 100本ノック』。
『Python実践 機械学習システム 100本ノック』には実運用にデータ分析を組み込んだ場合を想定したノックが詰まっています。
全ノックを通してピザチェーンの売上データを利用しながら、今後の売上予測などを機械学習を使って予測していくのですが、通常こういった業務は定期的に繰り返し行っていく必要があったり、結果を現場の従業員(お店の店長)に伝える必要があります。
そのため、新しく更新されたデータを元にデータの前処理をし、モデルを構築し、レポートを生成するといった一連の流れを関数化して繰り返し利用できるようにしたり、あるいは各店舗ごとや月ごとの売上予測データなどをデータ分析や統計知識のない現場の店長に伝えるために、視覚的にわかりやすいグラフやランキングを生成したり、それをExcel ファイルとして出力するなど、実業務を行うために必要な知識を学ぶことができます。
多くの入門書はデータ分析の一連の流れに沿って学習をすることができますが、これを仕組み化するところに特化した記述は少ないと思うので、そういった意味でとても希少な教本ではないかなと思います。
単に技術だけではなく、実際の運用方法をイメージすることができるので、データサイエンティストやデータ分析者の業務イメージの理解も進みますし、これからこういった職種にチャレンジしていきたい人にはとても役立つ一冊ではないかと思います。
可視化/グラフ化の苦手を『Python実践 データ加工/可視化 100本ノック』で克服する
3冊目は『Python実践 データ加工/可視化 100本ノック』。
『Python実践 データ加工/可視化 100本ノック』では様々なデータを対象にどのようなデータ加工ができるのかや、データ毎にどういった可視化手法が役立つのかなどが学べます。
例えば、テーブルデータであっても様々なファイルやデータソースに散らばっているものを1つにまとめる練習や、Excelファイル上のデータや日時データの取り扱い方があったり、非構造化データであるテキストファイルのデータや画像、音声データなど、様々なケースを分析するためのデータの加工方法やその可視化方法が学べます。特に可視化については matplotlib だけでなく seaborn も使ってきれいに表現する方法なども学べるので、入門編からの良いステップアップになるのではないかと思います。
2冊目の『Python実践 機械学習システム 100本ノック』を読んだ人であれば、データ分析の知識がない人が理解しやすい形で伝える方法がどれだけ重要かわかるのですが、なんのために可視化するのかという目的意識を持って読んでみると、とても有益なノックが多数含まれている100本ノックになっています。
機械学習は決定木や線形回帰だけじゃない『Python 実践 AIモデル構築 100本ノック』で様々な手法を学ぶ
4冊目は『Python実践 AIモデル構築 100本ノック』です。
『Python実践 AIモデル構築 100本ノック』はその名の通り、とにかく様々な機械学習モデルを構築したり、各モデルの精度の比較などをしながら、各モデルの特徴などを理解していくノックがたくさん収録されています。
僕が初めて Kaggle に挑戦していろいろな人のノートブックを覗いてみた際も、勾配ブースティングモデルやランダムフォレストモデルを使っているケースが多く、初めて見るモデル名に「???」となってしまいました。
入門書では回帰や分類、クラスタリングといった機械学習における目的ごとに1,2つ程度の基礎的なモデルしか学ばないことが多いですが、『Python実践 AIモデル構築 100本ノック』をやることでモデルに関する知識が格段に広がるし、各モデルを評価する方法や調整する方法を学ぶことで、より実践に近いモデルの利用方法を学ぶことができます。もちろん Kaggel でも役に立つ!
また、最後にはPyCaretを使ったAutoMLも学べます。
AutoMLは機械学習モデルの構築自体を自動化できるツールなのですが、ちょっと触っただけで「こんな便利なライブラリまであんのかい!」と入門書では扱われることが少ない内容まで含まれているので、新しい知識を得られること間違いなしの1冊になっています。
機械学習/データ分析の海は広い。100本ノックで鍛えて一緒に泳いでいこう!
機械学習/データ分析の分野はとにかく覚えることがとにかく多いので、1回入門書をやったくらいではとても歯が立ちません!
入門書の一歩先まで踏み込んでデータ分析・機械学習のスキルをより深く、より広く学んだり、たくさんコードを書いて分析の基礎になるPython や各ライブラリの操作方法を定着させていくのに『Python実践100本ノック』シリーズはとても役立つ書籍です。
しっかり意味を理解しながら、「これをやるならこんなコードかな?」と想像しながら何度もコードを書いていくことでしっかりと基本が身についてくるので、データ分析/機械学習の2冊目、3冊目の書籍として使ってみてくださいね。
機械学習やデータ分析、AIの勉強をするなら Kindle Unlimited の読み放題がおすすめ
Amazon が提供しているKindle Unlimitedという書籍の読み放題サービスなら、機械学習やデータ分析、 AI に関する書籍もたくさんラインナップがあるのでたくさん読めます。
なにか新しいことを勉強しようとすると、「どんな本を読んだらいいのかな?」「どの本がいいんだろう?」と書籍選びに悩んでしまったり、「本を買ってみたはいいけれどちょっとイメージと違ったなぁ」「こっちじゃなくてあっちの分野の勉強がしたいぞ」なんてこともザラにあります。
特に参考書は値段も3000円くらいすることが多いので、なるべくハズレを引きたくないですよね。
そんな本選びの失敗を避ける方法として、僕は Kindle Unlimited が結構いいなぁと思っています。
- 何冊読んでもたったの月額980円
- スマホ、タブレット、PCで読めるので場所を選ばないしかさばらない
- 蔵書は200万冊以上
- 読み放題だから、読みたいところだけ読んで次にいけるのでタイパもコスパもいい
例えば AI の勉強をしたいとなったら、どんな本を読みたいですか?
ざっと思いつくのはこのあたりのジャンルの本です。
- 最近の AI ブームや今後の展望を知るための本
- ディープラーニングや機械学習についての本
- Python や機械学習関連ライブラリについての本
- SQL や DB についての本
- アプリ開発の本 etc…
でもこれらの本を全部買って読もうとしたら1万円は余裕で超えてしまいます。
しかも、買って読むとなるとどうしても全部読みきりたくなるんですが、興味の無い内容も含まれていたりして頑張って読もうとすると時間を無駄にするかもしれません。
でも、Kindle Unlimited は読み放題サービスなので、適当に読みたそうな内容の本をみつくろって必要なところだけパパっと読んで終わりにしてもいいし、Kindle 本(電子書籍) なので持ち運びや保管場所を気にする必要もなし。スマホやタブレット、PCでどこでも読めちゃいます。
それでいて月額 980 円という本1冊分以下の価格設定なのですが、初月無料や2ヶ月で99円 (たまに3ヶ月の時もある) のキャンペーンが常時開催されているので、お試しで使ってみるのは全然ありです。
解約もぽちぽちっとやるだけで簡単なので、読みたい本が Kindle Unlimited の対象になっているなら、とりあえず軽い気持ちで1,2ヶ月だけ利用してみると、リーズナブルにたくさん勉強できますよ。
僕が新しい分野を勉強するときは最初にKindle Unlimitedで何冊か選んで流し読みして、概要をおさえるようにしてます!
ちょっと読んでみて「あんまりおもしろい分野じゃないなー」って思うことも多いからかなり重宝してます
\ Kindle Unlimited は初月無料 or 2ヶ月99円のキャンペーンをやってるよ /