関連サイト
本書の関連ページが用意されています。
内容紹介
必須のPython機械学習ライブラリを使いこなそう! 機械学習の各手法を80超のレシピとして幅広く解説。具体的には、次のテーマを取り上げます
― ◎機械学習の基本的な枠組み、◎モデル構築前のワークフローと前処理、◎次元削減、◎線形モデルの構築、◎ロジスティック回帰、◎距離指標によるモデル構築、◎交差検証とモデル構築後のワークフロー、◎サポートベクトルマシン、◎決定木とアンサンブル学習、◎テキストと多分類、◎ニューラルネットワーク、◎単純な評価器の作成 ―
原著 2nd Edition待望の翻訳! 本書は『scikit-learn Cookbook - Second Edition』の翻訳書です。 本書の対象読者として、機械学習のPythonプログラミングについてある程度知識または経験のある方を想定しています。
書誌情報
- 著者: Julian Avila, Trent Hauck(著), 株式会社クイープ(訳)
- 発行日: 2019-03-18 (紙書籍版発行日: 2019-03-18)
- 最終更新日: 2019-03-18
- バージョン: 1.0.0
- ページ数: 392ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
本書の対象読者として、機械学習のPythonプログラミングについてある程度知識または経験のある方を想定しています。
著者について
Julian Avila
金融とコンピュータービジョンを活動フィールドとするプログラマー兼データサイエンティスト。マサチューセッツ工科大学(MIT)卒。大学では数学を専攻し、量子力学コンピュータを研究。
Trent Hauck
データサイエンティスト。カンザス大学で学士号と修士号を取得。著書に『Instant Data Intensive Apps with pandas How-to』(Packt Publishing)がある。
株式会社クイープ
1995年、米国サンフランシスコに設立。コンピュータシステムの開発、ローカライズ、コンサルティングを手がけている。2001年に日本法人を設立。主な訳書に、『AIアルゴリズムマーケティング自動化のための機械学習/経済モデル、ベストプラクティス、アーキテクチャ』『徹底理解ブロックチェーン ゼロから着実にわかる次世代技術の原則』『[第2版]Python機械学習プログラミング 達人データサイエンティストによる理論と実践』などがある(いずれもインプレス発行)。
目次
著者紹介
レビュー担当者紹介
謝辞
はじめに
- 本書の内容
- 本書の対象読者
- 本書の表記
- サンプルコードのダウンロード
第1章 機械学習の枠組みを理解する―NumPyからパイプラインまで
1.1 はじめに
- 1.2 NumPyの基礎<Recipe 1>
- 1.3 Irisデータセットを読み込む<Recipe 2>
- 1.4 Irisデータセットを可視化する<Recipe 3>
- 1.5 Irisデータセットをpandasで可視化する<Recipe 4>
- 1.6 NumPyとmatplotlibを使ってプロットする<Recipe 5>
- 1.7 最も小さな機械学習レシピ:SVM分類<Recipe 6>
- 1.8 交差検証の紹介<Recipe 7>
- 1.9 すべてを1つにまとめる<Recipe 8>
- 1.10 機械学習のオーバービュー:分類と回帰<Recipe 9>
第2章 モデル構築前のワークフローと前処理―サンプルデータの作成から確率的勾配降下法まで
- 2.1 はじめに
- 2.2 簡単な分析を行うためのサンプルデータを作成する<Recipe 10>
- 2.3 標準正規分布の尺度でデータをスケーリングする<Recipe 11>
- 2.4 しきい値化を通じて二値の特徴量を作成する<Recipe 12>
- 2.5 カテゴリ値の変数を操作する<Recipe 13>
- 2.6 さまざまな戦略を使って欠測値を補完する<Recipe 14>
- 2.7 外れ値が存在する状況での線形モデル<Recipe 15>
- 2.8 パイプラインを使ってすべてを1つにまとめる<Recipe 16>
- 2.9 回帰にガウス過程を使用する<Recipe 17>
- 2.10 回帰に確率的勾配降下法を使用する<Recipe 18>
第3章 次元削減―PCAから性能テストまで
- 3.1 はじめに
- 3.2 PCAによる次元削減<Recipe 19>
- 3.3 分解に因子分析を使用する<Recipe 20>
- 3.4 非線形次元削減にカーネルPCAを使用する<Recipe 21>
- 3.5 次元削減にTSVDを使用する<Recipe 22>
- 3.6 分類のための分解にDictionary Learningを使用する<Recipe 23>
- 3.7 次元削減に多様体を使用する:t-SNE<Recipe 24>
- 3.8 次元削減法をパイプラインでテストする<Recipe 25>
第4章 線形モデル―線形回帰からLARSまで
- 4.1 はじめに
- 4.2 直線をデータに適合させる<Recipe 26>
- 4.3 機械学習を使って直線をデータに適合させる<Recipe 27>
- 4.4 線形回帰モデルを評価する<Recipe 28>
- 4.5 リッジ回帰を使って線形回帰の欠点を克服する<Recipe 29>
- 4.6 リッジ回帰のパラメータを最適化する<Recipe 30>
- 4.7 疎性を使ってモデルを正則化する<Recipe 31>
- 4.8 LARSによる正則化へのより基本的なアプローチ<Recipe 32>
第5章 ロジスティック回帰―データの読み込みからパイプラインまで
- 5.1 はじめに
- 5.2 UCI Machine Learning Repositoryからデータを読み込む<Recipe 33>
- 5.3 pandasを使ってPima Indians Diabetesデータセットを可視化する<Recipe 34>
- 5.4 UCI Machine Learning RepositoryのWebページを調べる<Recipe 35>
- 5.5 ロジスティック回帰による機械学習<Recipe 36>
- 5.6 混同行列を使ってロジスティック回帰の誤分類を調べる<Recipe 37>
- 5.7 ロジスティック回帰で分類のしきい値を変化させる<Recipe 38>
- 5.8 ROC分析<Recipe 39>
- 5.9 コンテキストなしでROC曲線をプロットする<Recipe 40>
- 5.10 データセットの読み込みからROC曲線のプロットまでを1つにまとめる:UCI Breast Cancerデータセット<Recipe 41>
第6章 距離指標を使ったモデルの構築―k-means法からk近傍法まで
- 6.1 はじめに
- 6.2 k-means法を使ったデータのクラスタリング<Recipe 42>
- 6.3 セントロイドの個数を最適化する<Recipe 43>
- 6.4 クラスタの正確さを評価する<Recipe 44>
- 6.5 ミニバッチk-means法を使ってより多くのデータに対処する<Recipe 45>
- 6.6 k-means法により画像を量子化する<Recipe 46>
- 6.7 特徴空間において最近傍を特定する<Recipe 47>
- 6.8 混合ガウスモデル(GMM)による確率的クラスタリング<Recipe 48>
- 6.9 k-means法を使って外れ値を検出する<Recipe 49>
- 6.10 回帰にk近傍法(KNN)を使用する<Recipe 50>
第7章 交差検証とモデル構築後のワークフロー―モデルの選択から永続化まで
- 7.1 はじめに
- 7.2 交差検証を使ってモデルを選択する<Recipe 51>
- 7.3 k分割交差検証<Recipe 52>
- 7.4 均衡な交差検証<Recipe 53>
- 7.5 ShuffleSplitによる交差検証<Recipe 54>
- 7.6 時系列交差検証<Recipe 55>
- 7.7 scikit-learnによるグリッドサーチ<Recipe 56>
- 7.8 scikit-learnによるランダムサーチ<Recipe 57>
- 7.9 分類指標<Recipe 58>
- 7.10 回帰指標<Recipe 59>
- 7.11 クラスタリング指標<Recipe 60>
- 7.12 ダミー推定器を使って結果を比較する<Recipe 61>
- 7.13 特徴選択<Recipe 62>
- 7.14 L1ノルムによる特徴選択<Recipe 63>
- 7.15 joblibまたはpickleを使ってモデルを永続化する<Recipe 64>
第8章 サポートベクトルマシン―線形SVMからサポートベクトル回帰まで
- 8.1 はじめに
- 8.2 線形SVMを使ってデータを分類する<Recipe 65>
- 8.3 SVMを最適化する<Recipe 66>
- 8.4 SVMによる多クラス分類<Recipe 67>
- 8.5 サポートベクトル回帰<Recipe 68>
第9章 決定木アルゴリズムとアンサンブル学習
- 9.1 はじめに
- 9.2 決定木を使って基本的な分類を行う<Recipe 69>
- 9.3 pydotを使って決定木を可視化する<Recipe 70>
- 9.4 決定木のチューニング<Recipe 71>
- 9.5 回帰に決定木を使用する<Recipe 72>
- 9.6 交差検証を使って過学習を抑制する<Recipe 73>
- 9.7 ランダムフォレスト回帰を実装する<Recipe 74>
- 9.8 最近傍に基づくバギング回帰<Recipe 75>
- 9.9 勾配ブースティング決定木のチューニング<Recipe 76>
- 9.10 アダブースト(AdaBoost)回帰器のチューニング<Recipe 77>
- 9.11 scikit-learnでスタッキングアグリゲータを作成する<Recipe 78>
第10章 テキスト分類と多クラス分類
- 10.1 分類に確率的勾配降下法を使用する<Recipe 79>
- 10.2 ナイーブベイズを使って文書を分類する<Recipe 80>
- 10.3 半教師あり学習によるラベル伝播法<Recipe 81>
第11章 ニューラルネットワーク
- 11.1 はじめに
- 11.2 パーセプトロン分類器<Recipe 82>
- 11.3 ニューラルネットワーク:多層パーセプトロン<Recipe 83>
- 11.4 ニューラルネットワークによるスタッキング<Recipe 84>
第12章 単純な推定器の作成
- 12.1 はじめに
- 12.2 単純な推定器を作成する<Recipe 85>