ISBN 9784873118871
NumPyによるデータ分析入門 : 配列操作、線形代数、機械学習のためのPythonプログラミング
- 出版社
- オライリー・ジャパン
- 刊行
- 2019-09
概要
NumPy を軸に科学計算から機械学習の基礎まで実装できる
想定読者
Pythonの基礎知識があり、データ分析・機械学習に踏み込みたいエンジニアや研究者
こんな人には向いていない
- Python 自体をこれから学び始める完全未経験者(配列・演算の説明が Python 知識を前提としているため)
- すでに NumPy を実務で日常的に使っている人には、基礎的な内容の比重が大きい
- 深層学習フレームワーク(PyTorch/TensorFlow)の使い方を直接学びたい人には適さない
読了後にできるようになること
- NumPy 配列の生成・変形・インデックス操作を体系的に理解し使いこなせる
- 線形代数の基本演算(行列積、逆行列、固有値分解等)を NumPy で実装できる
- 実データ(住宅価格データセット)を用いた統計分析と回帰予測を一通り実装できる
- k-means 等のクラスタ分析を NumPy レベルで構築し、動作原理を理解できる
- SciPy・pandas・scikit-learn との連携パターンを把握し、用途に応じたライブラリ選択ができる
- メモリ管理とベクトル化による計算性能の最適化手法を説明できる
本書のキー概念(章解説)
- 第 1 章 NumPy 配列の操作 — 配列生成・スライス・ブロードキャストの基礎。最初に確実に読む章
- 第 2 章 線形代数 — 機械学習の数理的基盤となる行列演算を NumPy で実装する
- 第 3 章 統計分析(ボストン市住宅価格データ) — 記述統計から相関分析まで実データで演習
- 第 4 章 予測モデル(住宅価格) — 回帰分析の実装。モデル評価指標との接続も扱う
- 第 5 章 クラスタ分析 — k-means の仕組みを NumPy から組み立てるため、アルゴリズム理解に有効
- 第 6 章 関連ライブラリとの連携 — SciPy / pandas / scikit-learn のどれを使うべきかの判断軸が整理される章
- 第 7 章 上級編 — メモリ管理と性能最適化 — 大規模データを扱う前に読んでおきたい。ベクトル化の重要性を体感できる
ハイライト
- サンプルとして使用するデータや手法も、現場で使えることを意識した、現実的で応用の利くものであることが特徴(実務志向の演習データを選定している点が他の入門書との差別化要因)
- 数値計算だけでなく、機械学習や、画像処理などを行う上でも必要な、NumPyとそれに関連するPythonの配列と演算についての知識とスキルが、300弱のコンパクトなページ数で、手軽に学ぶことができます(対象範囲と分量のバランスを端的に示しており、購買判断に直結する記述)
編集メモ
Qiita 記事データなし(envelope に articles 未添付)、Rakuten ランキング情報なし。書誌情報のみでの評価につきシグナル不足。NumPy 入門として一定の読者需要があるが、言及量の裏付けが取れないため supplementary とした
読む前に押さえておきたいこと
- Python の基本構文(変数・リスト・関数・for ループ)を一通り書いた経験
- 高校レベルの線形代数の概念(ベクトル・行列・内積)についての最低限の知識
- pip / conda による Python 環境の構築ができること
学習のコツ
- 1〜2章で配列操作と線形代数を固めてから 3〜5章の実データ演習に進む順序が回収が早い。線形代数に不安がある場合は 2章を繰り返し手を動かすこと
- 6章の関連ライブラリ連携章は、scikit-learn を使う前後のどちらで読んでも有効。NumPy から直接実装した後に scikit-learn API と対比すると、抽象化の意味が腑に落ちやすい
- 7章(メモリ管理・性能最適化)は大規模データを扱う予定がなければ後回しにしても問題ない。パフォーマンスチューニングが必要になった段階で参照する使い方でも機能する
- コードは必ず手元で動かしながら読む。ブロードキャストのルールは図解より実行結果で体得する方が確実
出版社による内容紹介
NumPyを使いこなして科学計算や複雑な計算を楽に行う知識とスキルがマスターできる! Pythonの数値計算用ライブラリNumPyは、複雑な計算を簡単に高速に行えるため、科学分野の研究者を中心に人気が高いツールです。複雑な計算を行うには、まず、仕組みをしっかり理解する必要があるのですが、本書ではPythonの数列と演算について、詳しく丁寧に説明します。また、サンプルとして使用するデータや手法も、現場で使えることを意識した、現実的で応用の利くものであることが特徴。数値計算だけでなく、機械学習や、画像処理などを行う上でも必要な、NumPyとそれに関連するPythonの配列と演算についての知識とスキルが、300弱のコンパクトなページ数で、手軽に学ぶことができます。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。