ISBN 9784873117980
Pythonではじめる機械学習 : scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
- 出版社
- オライリー・ジャパン
- 刊行
- 2017-05
概要
scikit-learnを軸にPythonで機械学習の実践サイクルを習得する
想定読者
Python基礎は習得済みで、機械学習の実装を体系的に学び始めたいエンジニア・データ分析者
こんな人には向いていない
- すでにscikit-learnを実務で活用している中級以上の実務者には基礎事項の比重が大きい
- 深層学習(DNN・CNN・RNN)を主軸に学びたい読者にはカバー範囲が伝統的ML寄りで不足する
- 統計学・確率論を数式レベルで体系的に学びたい読者には理論的記述が意図的に薄い
この本で身につくこと
- scikit-learnのAPIを使って分類・回帰・クラスタリングをステップバイステップで実装できる
- クロスバリデーションとグリッドサーチでハイパーパラメータを系統的に調整できる
- スケーリング・カテゴリエンコーディングなど特徴量前処理の基本手法を選択・適用できる
- 過学習と汎化性能の関係を評価指標から診断し、モデルを改善するサイクルを回せる
- ランダムフォレスト・SVM・勾配ブースティングなど主要アルゴリズムの特性を比較して選択できる
ハイライト(外部からの言及)
数学の知識がなくても読み進められる、理論だけでなく実践面も重視した機械学習の入門書 — 出典
本書の設計思想を最も端的に示す一文。数式に阻まれて他書で挫折した読者が再入門する際の選択理由がここに集約されている
最初に実践について述べて後から理論を補強するスタイルで、理解しやすいように工夫されています — 出典
類書と逆順の「実践→理論」構成が、手を動かしながら学ぶ読者のモチベーション維持を助ける点で差別化されている
モデルの評価と改善について多くの紙面を割くなど、類書にはない特徴を備えています — 出典
モデル評価に厚みを持たせている点が、実務でPDCAを回したい読者から支持される核心
読了後にできること
Before(読む前): Pythonは書けるが機械学習のコードをどう組み立てればよいか分からず、サンプルコードのコピペ止まりになっている
After(読み終えた後): scikit-learnを使ってデータ読み込みから前処理・学習・評価・改善までの一連のサイクルを自力で設計・実装できる
章立て
第1章 はじめに
本書の前提(Python / scikit-learn / numpy)と環境構築。読者像を最初に固める導入章
第2章 教師あり学習
本書で最頻参照される章。線形回帰・決定木・SVM・ニューラルネットの基礎を実装で把握
第3章 教師なし学習と前処理
k-means / 階層クラスタ / PCA。scikit-learn での前処理(StandardScaler 等)も収録
第4章 データの表現と特徴量エンジニアリング
実務で最も差が出る領域。カテゴリ変数・対数変換・自動特徴量選択など
第5章 モデルの評価と改良
Cross-Validation / Grid Search / Pipeline。実務で必ず使う評価設計の基礎章
第6章 アルゴリズムチェーンとパイプライン
Pipeline 設計の章。前処理 + モデル + ハイパラ調整を 1 つの object として扱う作法
第7章 テキストデータの処理
BoW / TF-IDF / トピックモデル。NLP 入門としての位置付け
第8章 おわりに
本書の到達点と次のステップ(深層学習・確率モデル等)への橋渡し
関連記事 / 参考情報
- 機械学習エンジニアに爆速でなるための教材集 — ML エンジニアを目指す学習ロードマップ。本書を scikit-learn 入門の定番として位置付けている
- Kaggle Expertになるまで勉強したことを全て書く — Kaggle Expert 到達までの学習経路。本書を Kaggle 入門前の機械学習基礎固めとして推薦
- 文系大学生が機械学習を0から始めて9か月でKaggle銀メダルを獲得するまで — 数学・CS 知識なしから Kaggle 銀メダル取得までの体験記。初期教材として本書を参照
- scikit-learn を用いた交差検証(Cross-validation)とハイパーパラメータのチューニング(grid search) — GridSearchCV・StratifiedKFold の実装解説。本書のモデル評価章を補完する技術実装記事
- 【機械学習】ランダムフォレストを理解する — ランダムフォレストのアルゴリズムと実装を解説。本書で紹介されるアルゴリズムを深掘りする補完記事
- 機械学習について一回挫折してしまったエンジニアが何とかお仕事で機械学習を使えるようになるまで — ML 挫折後の再入門体験記。本書の実践先行スタイルが再起動のきっかけとして機能した事例
- 2020年に読むべきデータサイエンスに関する書籍 — データサイエンス関連書籍のレビュー記事。本書を Python × ML 入門の定番として紹介
- sklearn.feature_selection による特徴量選択 — scikit-learn の特徴量選択 API を実装レベルで解説。本書の特徴量エンジニアリング章を補完
学習のヒント
- NumPy・pandas の基本操作(配列演算・DataFrame のフィルタリング・集計)を先に習得しておくと、本書のコード例への集中度が上がる
- 各章のサンプルコードは Jupyter Notebook で実際に動かしながら読むことが著者の意図に沿った使い方。パラメータを変えて挙動の変化を確認する実験を並行させると理解が定着しやすい
- 5章「モデルの評価と改善」は本書の独自性が最も出ている章で実務直結度が高い。1〜4 章で基本を掴んだら 5 章を重点的に読む価値がある
- 出版は 2017 年のため一部 API や推奨手法が最新版と異なる場合がある。scikit-learn 公式ドキュメントを並行参照しながら読むと陳腐化した記述を補完できる
前提知識
- Python で NumPy・pandas を使った基本的なデータ操作(配列演算・DataFrame のフィルタリング・集計)
- 機械学習の概念的なイメージ(「訓練データで学習して未知データに適用する」程度)があると初期の文脈理解が早い
次に読む本
Kaggleで勝つデータ分析の技術
本書が教える標準的な前処理・モデル選択の手順を土台に、Kaggle コンペ特有の特徴量工作・モデルスタッキング・CV 戦略を実戦レベルで習得する段階で参照すると、入門から競技水準への差分を最短で埋められる。
ゼロから作るDeep Learning
scikit-learn の高水準 API で ML の入力・出力を習得した後、ニューラルネットの誤差逆伝播・重み更新を Python でゼロから実装することで「API が内部でやっていること」の理解を深める段階で役立つ。本書の「使い方の習得」から「仕組みの理解」へとフェーズを移す際の自然な接続点。
機械学習のエッセンス
本書が数式を意図的に省いて実装優先で進む設計を取るのに対し、線形代数・確率・最適化の数学的基礎を丁寧に導入する構成であり、「コードは動かせるが数学的な根拠が掴めない」という段階に達したときに両書を対で参照すると、理論と実装の往復が可能になる。
出版社による内容紹介
数学の知識がなくても読み進められる、理論だけでなく実践面も重視した機械学習の入門書! バックグラウンドに数学的な知識がなくても理解できるように書かれた、Pythonを使った機械学習の入門書。Pythonの機械学習用ライブラリの大定番、scikit-learnの開発に関わる著者が、scikit-learnを使った機械学習の方法を、ステップバイステップで解説します。最初に実践について述べて後から理論を補強するスタイルで、理解しやすいように工夫されています。理論面と実践面のバランスが良く、モデルの評価と改善について多くの紙面を割くなど、類書にはない特徴を備えています。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。