本記事では、オライリーの本を使った、学習ロードマップを紹介します。
これら以外にも良著はたくさんありますが、「現代のデータサイエンティストに求められているスキル」を身につけられるという視点で本を選びました。
入門編
「理論と実践」の両軸でスキルを固めたい「入門者」に向けて、次の3冊をおすすめします。
1. Pythonによるデータ分析入門

- ページ数:596
- 所要時間(目安):14h
学べること
- Pythonの基礎(セットアップ、IPython、データ構造、シーケンス、関数、ファイル処理)
- NumPyとpandasの基本文法
- 読み書き
- クリーニング
- ラベリング
- Matplotlibとseabornによる可視化
- 集計
- 時系列データ分析
- NumPyとpandasの応用
2. ゼロからはじめるデータサイエンス

- ページ数:456
- 所要時間(目安):10h
学べること
- Pythonの基礎
- 可視化
- 線形代数
- 統計
- 確率
- 仮説と推定
- 勾配降下法
- データ取得と操作
- k近傍法
- クラスタリング
- ナイーブベイズ
- 線形回帰
- 重回帰
- ロジスティック回帰
- 決定木
- 自然言語処理
- ネットワーク分析
- リコメンデーション
- 機械学習
- ニューラルネットワーク
- ディープラーニング
- DBとSQL
- MapReduce
- データ倫理
3. Pythonではじめる機械学習

- ページ数:392
- 所要時間(目安):7h
学べること
- 教師あり学習
- 教師なし学習
- 前処理
- データ表現
- 特徴量エンジニアリング
- モデル評価
- モデル改良
- アルゴリズムチェーン
- パイプライン
- テキストデータ処理
中級編
Pythonと機械学習を一定習得した中級者に向けて、次の3冊をおすすめします。
4. Fluent Python

- ページ数:832
- 所要時間(目安):15h
学べること
- 特殊メソッド
- 組み込み型シーケンス
- リスト内包表記
- ジェネレータ式
- タプル
- スライス
- bisect
- メモリビュー
- デック
- キュー
- テキストとバイト
- 無名関数
- 関数アノテーション
- operator
- デザインパターン
- 関数デコレータ
- クロージャ
5. ハイパフォーマンスPython

- ページ数:360
- 所要時間(目安):7h
学べること
- ボトルネックの測定方法
- 最適なデータ構造の使い分け
- コンパイラの比較(CythonやPyPyなど)
- パッケージの扱い方
- マルチコアCPUの活用法
- メモリ効率を劇的に改善するトライ構造や近似計算
6. 機械学習のための特徴量エンジニアリング

- ページ数:224
- 所要時間(目安):4h
学べること
- Pythonの基礎
- 特徴量ハッシング
- ビンカウンティング
- データの圧縮
- 非線形特徴量
- モデルスタッキング
- 画像特徴量抽出と深層学習による自動特徴学習
上級編
Pythonistとしてのさらなる高みを目指したい上級者に向けて、次の3冊をおすすめします。
7. Robust Python

- ページ数:378
- 所要時間(目安):10h
学べること
- データ型の明示と検証
- データ型の設計
- ユーザー定義のデータ型
- enum
- データクラス
- クラス
- 拡張性
- アーキテクチャパターン
- 静的解析
- テスト戦略
- 受け入れテスト
- プレオパティベーステスト
- ミューテーション解析
8. Test-Driven Development with Python

- ページ数:624
- 所要時間(目安):14h
学べること
- テスト駆動開発(TDD)の基本概念
- Djangoの基礎
- 機能テスト
- 単体テスト
- ステージング環境でのテスト
- Testing Goat
- テスト自動化
- Mocking
- スパイキング
- Outside-In TDD
- CI
- BDD
9. Architecture Patterns with Python

- ページ数:301
- 所要時間(目安):8h
学べること
- ドメインモデル
- ドメイン駆動設計(DDD)
- リポジトリパターン
- テストピラミッド
- イベント駆動型アーキテクチャ(EDA)
- ドメインイベント
- メッセージバス
- ハンドラーパターン
- CQRSパターン
- 依存性注入(DI)
- Flask API
番外編
10. リーダブルコード

- 「読みやすいコード」を書くための方法論がまとまった一冊。
- コーディングをする方の必須教養とも言える。
11. Pythonチュートリアル

- Pythonという言語仕様に関して入門的にまとまった一冊。
- データ分析を目的とするのであれば、「1. Pythonによるデータ分析入門」を推奨。
12. ゼロから作るDeep Learning

- 深層学習について、入門的にまとまった一冊。
- 深層学習に興味があったり、実務で使うことが確定している場合は、非常におすすめ。
- 実務においては、深層学習よりも説明可能性の高いモデルを活用することが多い所感があるため、番外編で紹介。
【関連記事】データサイエンティスト向けおすすめ本
最後に
いかがだったでしょうか?
この記事を通して、少しでもあなたの困りごとが解決したら嬉しいです^^
おまけ(お知らせ)
エンジニアの仲間(データサイエンティストも含む)を増やしたいため、公式LINEを始めました🎉
「一緒に仕事をしてくれる方」「友だちとして仲良くしてくれる方」は、友だち追加をしていただけますと嬉しいです!
(仲良くなった人たちを集めて、「ボードゲーム会」や「ハッカソン」や「もくもく会」もやりたいなと考えています😆)
とはいえ、みなさんにもメリットがないと申し訳ないので、特典を用意しました!
友だち追加後に、アンケートに回答してくれた方へ「エンジニア図鑑(職種20選)」のPDFをお送りします◎
