プログラミング

【体験談】Pythonでの機械学習勉強におススメの書籍10選を紹介

本日はプログラミング学習におススメの書籍10選を実際に著者自身が学習した順序も踏まえてご紹介します。

本記事に記載の図書は間違いなくすべて良書であり選択の失敗はないことをお約束します!

また、初心者がPythonの知識ゼロベースから機械学習を習得するまでに必要な書籍を順番に記載しています。

本記事にて紹介している図書の内容ををしっかりと身に付けることができれば十分機械学習エンジニアとして活躍できるか思います!


脳みそ男

Python初心者で機械学習を勉強したいけどどの本から勉強すればいい?



プログラミングの学習本は高いので選択に失敗したくない。。

脳筋太郎




本記事ではそんな疑問にお答えします。

機械学習って何??という方は一度以下の記事をご一読ください!


こんな方におすすめの記事

  • pythonの知識ゼロから機械学習を勉強したい方
  • 機械学習を学ぶための書籍選択で失敗をしたくない方
  • 機械学習に必要なNumpy/Pandas/Matplotlibの基礎ももれなく習得したい方




STEP 1 : 独学プログラマー  Python言語の基本から仕事のやり方まで



まずPythonってなに?聞いたことあるけど、、という方はこちらの「独学プログラマー Python言語の基本から仕事のやり方まで」をおススメします!

Pythonのインストールから環境の構築、Pythonの基本文法、関数の書き方まで本書でPythonの基本的な扱いは身に付けることができます。

また、何よりもプログラミングを学ぶために必要なことや学ぶ姿勢など初学者が知っておくべきことが丁寧につづられています。

簡単なゲームを作るような例題も紹介されているので、楽しみながら学習できますよ!


本書で身に付けられること

  • Pythonの基本的な文法(リスト、タプルの扱い、演算の基礎 等)
  • Pythonでの関数作成の基礎
  • Pythonの学習のステップの全体像とプログラミングを学ぶ姿勢



STEP2 : 退屈なことはPythonにやらせよう ノンプログラマーにもできる自動化処理プログラミング



この後も紹介に出てくるオライリージャパンの書籍になります。総ページ数600ページ越えであり、少し手に取りづらい印象を受けるかもしれません。

ただ本書を読めばPythonでExcelを操作したり、PDFの情報を抜き取ったり、GUIインターフェースを自由に操作したり実際に身に付けることで業務効率化につながるノウハウがみっちり詰まっています!

機械学習まで学ぶのはしんどいなぁ、、という方も本書までは一度騙されたと思って手に取ってみてください。

本書を参考にいままで何も考えずに行っていた単純作業を「どうやってPythonで実現させようか?」という判断ステップを踏む脳みそに切り替わったらあなたの勝ちです!

本書で身に付けられること

  • Anaconda仮想環境を用いたPythonプログラミングの実用的内容
  • Excel(CSV)、PDF、画像、テキストなどのPythonでの処理方法の基礎
  • Pythonによる転記、反復処理の自動化方法


STEP3 : Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理


次は機械学習およびデータサイエンティストとしての基礎を築いていくための書籍紹介です。

本書「Pythonによるデータ分析入門」ではNumpy/Pandas/Matplotlibの基礎を網羅的に学ぶことができます。

Python基礎の説明も記載されているのでPythonが何たるかをふわっとわかっている方は少しレベルが高いですが、本書から学習を始めてもよいかと思います。

なんにせよ本書はわかりやすい!特にPandasでデータテーブルの操作を学ぶとExcelでイライラしていた処理が一瞬でできることに感動しますよ!

本書で身に付けられること

  • Anaconda仮想環境・JupyterNotebookを用いたデータ解析環境の構築方法
  • データサイエンティストに必須のNumpy/Pandas/Matplotlibによるデータの解析方法基礎
  • 実際のデータを用いた豊富な演習問題による手を動かすスキル


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


本書はデータ分析技術をより実データに沿って身に付け、機械学習のイメージをつけるために有益な書籍です。

時間のない方はSTEP3で紹介したPythonによるデータ分析入門をしっかり読み込んで本書はスキップしてよいと思いますが、時間をかけて確実に自分で手を動かして使えるものにしたい方は本書の100本ノックをやりきることをおススメします。

具体的な事例とともに実際にデータ解析を進める手順、データを使って機械学習で実現することのイメージを持つことができます。

教科書通りのきれいなデータセットではなく、欠損値などを含む実務に近い形でデータ解析の方法を学べることがイチオシの理由です。

本書で身に付けられること

  • Pandasを使った実際のデータ(欠損値、文字の揺れを含む)の処理方法
  • 機械学習導入までのデータ処理のステップと機械学習の基礎
  • 可視化による傾向分析の手法基礎


STEP5 : Pythonで理解する統計解析の基礎






次は機械学習技術の習得に先駆けてPythonを用いた統計解析の方法の基礎を 本書「Pythonで理解する統計解析の基礎」にて習得することをおススメします。

統計学を体系的に学んでおり、すでに知識を有している方は本書の内容は簡単すぎるかと思いますのでスキップしてよいかと思います。

ただ統計って何?ガウス分布って何?というような方は本書をぜひ手に取って機械学習を始める前に統計の基礎を習得していただきたいと思います。

なぜなら機械学習を進めるうえで統計学は避けては通れない学問だからです。

また、本書ではPythonを使って統計量の集計や可視化を行うのでPython自体の学習にもなり一石二鳥です!


本書で身に付けられること

  • 統計学にかかわる基本的な用語の理解
  • 代表的な確率分布とその定義
  • 統計的仮説検定の基礎



STEP 6 : Pythonではじめる機械学習 scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

さて次はついに機械学習に触れていきます。

本書ではscikit-learnを用いた回帰および分類の手法の基礎を網羅的に学習できます(機械学習を勉強し始めた人はみんな読んでいるのでは?と勝手に思っています)。

Pythonの基礎が身についていれば本書のコード自体の理解はそれほど難しくないかと思います。

順序だててどのようにデータを処理、予測モデルを構築、評価するのか、またどんなデータの時にどんな予測モデルが適切なのかしっかりと学ぶことができます。

本書をもとに簡単でも自分で予測モデルを作れた時には感動しますよ!

本書で身に付けられること

  • Scikit-learnの代表的な回帰、分類予測モデルの構築方法
  • 機械学習を導入するためのステップと予測結果の評価手法
  • 予測モデルの最適化方法



STEP 7 : ゼロから作るDeep Learning Pythonで学ぶディープラーニングの理論と実装

次は深層学習の基礎を学ぶための図書の紹介です。本著もオライリーの「Pythonではじめる機械学習」に続いて深層学習の導入において超有名本です。

pythonの基礎の振り返りから具体例を通したニューラルネットワーク(NN)の構築方法、誤差逆伝搬の原理解説など初学者に優しく、丁寧に深層学習の原理がまとめられています。

畳み込みニューラルネットワーク(CNN)にも触れているので、深層学習を用いた画像認識技術の基礎を学びたい方も必見です。

本書で身に付けられること

  • ニューラルネットワーク導入の意義とその構造
  • 深層学習 における予測最適化手法の原理 (誤差逆伝搬法、最適化関数 など)
  • 畳み込みニューラルネットワーク(CNN)の基礎



STEP 8 : Python機械学習プログラミング 達人データサイエンティストによる理論と実装

機械学習および深層学習の基礎を両方学ぶための良書です。

Scikit-learn導入の詳細説明に加え、データの前処理の方法など丁寧に記載されており、実務を想定した説明になっています。

また上記で紹介したオライリー書籍はそれぞれ機械学習、深層学習に特化した内容になっていますが、本書は畳み込みニューラルネットワーク(CNN)をはじめ、リカレントニューラルネットワーク(RNN)の導入などの詳細も分かりやすい原理の説明図とともに紹介されています。


本書で身に付けられること

  • Scikit-learnの代表的なモデルの原理およびモデル構築方法
  • データの前処理、パラメータのチューニング、評価手法の詳細
  • ニューラルネットワークの基本原理説明およびCNN/RNNの原理と導入方法



STEP 9 : Python機械学習クックブック

本書はすべて読み通すというよりも機械学習を行う上での辞書的役割を担います。

機械学習を進めるうえで高頻度でぶつかる課題に対して模範コードとともに解決案がわかりやすくまとめられています。

実際にデータを扱う上でこんな処理したいけどやり方が分からない!ということが初学者のうちは頻発します。

その時にこの図書に立ち戻るとまさに求めていた解法が書かれているというような感じです。辞書的役割での参照を繰り返すうちにその処理方法を自分のものにしていきましょう!

本書で身に付けられること

  • 機械学習を行う上での200以上の課題解決方法 (特徴量の標準化方法、欠損値の処理方法など)
  • 各機械学習モデルごとの導入のポイントおよびチューニング方法
  • 画像、テキスト処理の典型的手法



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

最後は少しレベルは上がりますが、機械学習の基礎習得したうえでさらに上を目指すために最適な良書「Kaggleで勝つデータ分析の技術」です。

本書ではKaggleのコンペティションに勝つために課題データ毎にどのような処理が必要でどのようなモデルを選択し、どのような評価を行うのが適切か非常に丁寧に説明されています。

Kaggleなんかやらないよ!と思われる方もいらっしゃると思いますが、ご心配なく。

すべて実務で応用可能な手法であり、機械学習の教科書よりも実データに対する泥臭いデータ整理の手法がまとめられています。

実際にご自身の会社のデータで機械学習を導入したいと思っている方は是非ご一読ください。本書を参考にすればほかの本に浮気するよりもストレートに解法にたどり着けると思います。


本書で身に付けられること

  • 機械学習を導入するデータの傾向ごとの適切な前処理、モデル選択、評価の手法
  • 実データに対する具体的なデータ整理の方法
  • モデルの予測精度を上げるために取るべき手法



まとめ


以上、機械学習をPythonプログラミングで習得するためのおススメ図書の紹介でした。

本記事に紹介した図書を順番にマスターすれば機械学習を十分扱える力がつくことを保証します。

ただ一点図書のデメリットは書籍の発行日とモジュールのバージョンを合わせないと実行時にエラーが出て立ち止まってしまう可能性があることです。

初心者のうちはそのようなエラーの解決にも時間を要してしまい、心折れてしまう要因にも。。

なるべく早く、手を動かしながら学びたいと思っているあなたにはオンラインの学習プラットフォームが良いかもしれません。

プログラミング環境を準備せずとも最新の内容を動画の説明とWeb上のプログラミングで習得することができます。

書籍とは異なり、まずエラーが起こることはないです。

本ブログでは特にDataCampをオンライントレーニング用のプラットフォームとしておススメしています。

詳細に関してはこちらで紹介していますので是非学習方法選択の参考としてください。↓


それでは本日は以上でした!

-プログラミング