RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Python データサイエンス データサイエンスおすすめ教材紹介【Skill Stacks】

【教材紹介】Python機械学習プログラミング(第3版)* 文量多め

投稿日:2022年1月7日 更新日:

今回の書籍は内容理解する難易度が高めですが、機械学習の基礎(用語・位置付け・アルゴリズム)が網羅できる、Pythonでの機械学習を学ぶためのおすすめ教材を紹介します。

正式名(ISBNコード)


[第3版]Python機械学習プログラミング 達人データサイエンティストによる理論と実践(ISBN978-4-295-01007-4)

内容量

648ページ

評価

総合評価

データサイエンティストになりたい方向けです。教材としては、機械学習の初歩からすべてを網羅的に説明している本です。網羅的であるため、内容量が圧倒的に多くなっています。プログラミングをしてみるだけではなくアルゴリズムの説明があるため、理解難易度は高くなりがちです。

注意したいことは、次の方は本書全てを読むことはおすすめしません。たとえば、専門分野や自分の仕事が確定していて、データサイエンスをビジネス活用したい人。
ただ、数学的な理論は読み飛ばすのであれば、ビジネス活用するための全般的な前提知識を得ることに適しているかと思います。つまり、コンサル会社や自社内のデータサイエンティストに仕事を委託するものの、中身はある程度分かっていたい方にもおすすめです。

評価:初学者

★☆☆☆☆
はっきり言って数学的な前提知識が多く、データサイエンティストになりたい人以外は難解な内容です。

評価:中級者

★★★★★
数学の基礎知識がある方には本書をお勧めします。その他の方では、機械学習に全体的に触れたあと、現場の知識をベースに理論で理解したい人におすすめです。

理解難易度

★★★☆☆
アルゴリズムの理解には行列、偏微分などの数学(線形代数)の知識が必要です。

必要知識

線形代数

行列(用語や基礎的な内容のみ)
偏微分
共分散

獲得可能スキル

技術

内容および獲得可能スキル

1.「データから学習する能力」をコンピューターに与える

基礎, 教師あり学習, 教師なし学習, 強化学習
基礎, 教師あり学習, 回帰, 分類
基礎, 分類, 二値分類, 多クラス分類
基礎, 回帰, 線形回帰
基礎, 強化学習
基礎, 教師なし学習, クラスタリング, 次元削減

2.分類問題-単純な機械学習アルゴリズムの訓練

人工ニューロン, パーセプトロン, アルゴリズム, 学習規則
線形代数, ドット積, 行列, 行列の転置, ベクトルの角度
Python, オブジェクト指向, Numpy, pandas, matplotlib
Irisデータセット
ADALINE, 勾配降下法, 偏微分, 標準化, バッチ勾配降下法, 確率的勾配降下法, オンライン学習

3.分類問題-機械学習ライブラリscikit-learnの活用

Python, scikit-learn, パーセプトロン, 正解率, 過学習, 決定領域
ロジスティック回帰, アルゴリズム, シグモイド関数, 尤度, 勾配上昇法
過学習, 正則化, バリアンス, バイアス, 共線性, L2正則化
サポートベクトルマシン, SVM, マージン, アルゴリズム, スラック変数, カーネルSVM
決定木, ランダムフォレスト
k最近傍法, 次元の呪い

4.データ前処理-よりよいトレーニングセットの構築

欠測値, CSV, pandas, DataFrame, dropna, 欠測値補完, 順序特徴量, 名義特徴量, one-hotエンコーディング,
データセット分割, 訓練データセット, テストデータセット, 標準化, 正規化, L1, L2
逐次特徴量選択アルゴリズム, 次元削減, knn, ランダムフォレスト, 特徴量の重要度

5.次元削減でデータを圧縮する

特徴量抽出, 主成分分析, 線形判別分析, カーネル主成分分析
主成分分析, アルゴリズム, 共分散,
線形判別分析, Linear Discriminant Analysis, LDA, scikit-learn
カーネル主成分分析, カーネル行列, カーネルトリック, SciPy, 射影

6.モデルの評価とハイパーパラメータのチューニングのベストプラクティス

ホールドアウト法, k分割交差検証, 復元抽出, 非復元抽出
層化k分割交差検証, バイアス, バリアンス, 学習曲線, 検証曲線
グリッドサーチ, 入れ子式の交差検証, 適合率, 再現率, F1スコア
混同行列, 真陽性, 真陰性, 偽陽性, 偽陰性, 誤分類率, 正解率
ROC曲線, 曲面下面積, 適合率-再現率曲線
マクロ平均法, マイクロ平均法, 一対全分類, クラスの不均衡

7.アンサンブル学習ー異なるモデルの組み合わせ

アンサンブル法, クラス分類, 多数決, 相対多数決
重み付け, Python, argmax, bincount
バギング, ブートストラップ標本
ブースティング, アダブースト, scikit-learn, 勾配ブースティング, XGBoost

8.機械学習の適用1-感情分析

自然言語処理, 感情分析, 極性, 書き手の意見, 意見マイニング
Bag-of-Words, BOW, TF-IDF
正規表現, トークン化, 英語, ワードステミング, NLTK, ストップワード
アウトオブコア学習, リカレントニューラルネットワーク, CountVectorizer, TfidfVectorizer, HashingVectorizer, Word2Vec
トピックモデル, Latent Dirichlet Allocation, LDA, Expectation-Maximization, EMアルゴリズム

9.機械学習の適用2-Webアプリケーション

SQLite, Flask, sqlite3, HTML, WTForms
モデル永続化, pickle
デプロイ, PythonAnywhere

10.回帰分析-連続値をとる目的変数の予測

回帰分析, 単線形回帰, 重線形回帰, 相関行列, 多項式回帰
リッジ回帰, ラッソ回帰, Elastic Net(L1+L2)
決定木回帰, 情報利得, ランダムフォレスト回帰

11.クラスタ分析-ラベルなしデータの分析

教師なし学習
k-means, k-means++
ハードクラスタリング, ソフトクラスタリング
エルボー法, シルエット分析
階層的クラスタリング, 凝集型, 分割型, 単連結法, 完全連結法
DBSCAN

12.多層人工ニューラルネットワークを一から実装

多層人工ニューラルネットワーク, バックプロパゲーション, フィードフォワード, アルゴリズム

13.ニューラルネットワークの訓練をTensorFlowで並列化する

TensorFlow, CUDA, OpenCL, テンソル
シグモイド関数, 双曲線正接関数, ソフトマックス関数, ReLU活性化関数

14.TensorFlowのメカニズム

計算グラフ, TensorFlow 1.X, TensorFlow 2.X, Keras
自動微分, 連鎖律, 損失関数
決定木ブースティング

15.画像の分類-ディープ畳み込みニューラルネットワーク

畳み込みニューラルネットワーク, CNN, サブサンプリング層, ドロップアウト
オプティマイザ, Adam

16.系列データのモデル化-リカレントニューラルネットワーク

リカレントニューラルネットワーク, T-BPTT, 系列データ, 再帰, LSTM
Transformer, Self-Attention, Multi-Head Attention

17.新しいデータの合成-敵対的生成ネットワーク

オートエンコーダー, AE, VAE, エンコーダ, デコーダ
GAN, 価値関数, バッチ正規化
全変動, KL情報量, JS情報量, EM距離, 勾配ペナルティ, DCGAN, モード崩壊

18.複雑な環境での意思決定-強化学習

強化学習, 環境, エージェント, 報酬, マルコフ決定過程, モデルフリー, モデルベース
動的計画法, モンテカルロ法, TD学習
グリッドワールド

補足

この本は文量が多すぎたため、他の教材では1分で読める文量にしています。

その他の教材紹介ページはこちら → Skill Stacks

-Python, データサイエンス, データサイエンスおすすめ教材紹介【Skill Stacks】

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

(VPSでつくる) PythonでMariaDB(MySQL)へ接続できるアプリを触ってみよう

連載第十一回目です。 Python3.6.8+FlaskでMariaDBに接続・データベースを編集するアプリを動作させる設定を行い、動作確認します。 この記事は、VPSで作るPythonでのWebアプ …

[Meisyo] 打撃・守備のバランス調整(v0.40)

変更概要 守備力を上方修正します。 詳細に言うと、OPSに対する影響度を、守備力=ミートまたは反応の有利な能力値にしました。 これまではOPSに対する影響は、守備力<ミートまたは反応の有利な能力値(2 …

[Meisyo]ビッグデータから学ぶ試合の基礎設計4

ここでは、「どのパラメータが打率等にどれくらい関係するのか」を理解することで強いチームを作る指針を記載しておきます。 機械学習(重回帰分析)を使って本気で遊んでます。 実際のデータセットはこちら 野手 …

統計的因果探索(LiNGAM)を分析実務観点で詳しく解説

統計的因果推論の一分野である統計的因果探索。 その研究の中で生み出された画期的なモデルLiNGAMの解説を行います。PythonによるLiNGAMの実装については、cdt15/lingamと、応用モデ …

ログがサービス改善の命

Meisyoでは常にログを取って、「ユーザがどこで困ってそうかな」を探し続けています。 探す方法はいたって簡単。 (何か問題があると考えて)ログを眺める 今回のアップデートでは、アイテムの購入数を選択 …