Python 機器學習經典實例, 2/e (Python Machine Learning Cookbook, 2/e)

Giuseppe Ciaburro,Prateek Joshi

  • Python 機器學習經典實例, 2/e (Python Machine Learning Cookbook, 2/e)-preview-1
  • Python 機器學習經典實例, 2/e (Python Machine Learning Cookbook, 2/e)-preview-2
Python 機器學習經典實例, 2/e (Python Machine Learning Cookbook, 2/e)-preview-1

買這商品的人也買了...

商品描述

本書介紹瞭如何使用scikit-learn、TensorFlow等關鍵庫來有效解決現實世界的機器學習問題。本書著重於實用的解決方案,提供多個案例,詳細地講解瞭如何使用Python生態系統中的現代庫來構建功能強大的機器學習應用程序;還介紹了分類、聚類和推薦引擎等多種機器學習算法,以及如何將監督學習和無監督學習技術應用於實際問題;最後,介紹了強化學習、深度神經網絡和自動機器學習等應用示例。

本書適合數據科學家、機器學習開發人員、深度學習愛好者以及希望使用機器學習技術和算法解決實際問題的Python程序員閱讀。

作者簡介

朱塞佩.查博羅(Giuseppe Ciaburro)擁有環境技術物理學博士學位和兩個學科的碩士學位,他的重點研究方向是機器學習在城市聲環境研究中的應用。他有超過15年的編程專業經驗(Python、R、MATLAB),開始從事燃燒學領域的研究,後又致力於聲學和噪音控制方向,並出版過幾本著作,銷量均不錯。


普拉蒂克.喬希(Prateek Joshi)畢業於南加州大學,擁有人工智能碩士學位。他是一位人工智能專家,也是一位 TEDx演講者,曾位列福布斯30歲以下的30位精英榜單,並在美國消費者新聞與商業頻道(CNBC)、TechCrunch、矽谷商業期刊(Silicon Valley Business Journal)及更多的刊物上發表過文章。

目錄大綱

第 1章 監督學習 1
1.1 技術要求 1
1.2 簡介 2
1.3 用Python創建數組 3
1.3.1 準備工作 3
1.3.2 詳細步驟 3
1.3.3 工作原理 4
1.3.4 更多內容 4
1.4 用均值移除法進行數據預處理 5
1.4.1 準備工作 5
1.4.2 詳細步驟 6
1.4.3 工作原理 7
1.4.4 更多內容 7
1.5 數據縮放 7
1.5.1 準備工作 7
1.5.2 詳細步驟 8
1.5.3 工作原理 9
1.5.4 更多內容 9
1.6 歸一化 9
1.6.1 準備工作 9
1.6.2 詳細步驟 10
1.6.3 工作原理 10
1.6.4 更多內容 10
1.7 二值化 10
1.7.1 準備工作 11
1.7.2 詳細步驟 11
1.7.3 工作原理 11
1.7.4 更多內容 12
1.8 one-hot編碼 12
1.8.1 準備工作 12
1.8.2 詳細步驟 12
1.8.3 工作原理 13
1.8.4 更多內容 14
1.9 標籤編碼 14
1.9.1 準備工作 14
1.9.2 詳細步驟 14
1.9.3 工作原理 15
1.9.4 更多內容 16
1.10 構建線性回歸器 16
1.10.1 準備工作 17
1.10.2 詳細步驟 18
1.10.3 工作原理 20
1.10.4 更多內容 20
1.11 計算回歸準確度 21
1.11.1 準備工作 21
1.11.2 詳細步驟 21
1.11.3 工作原理 22
1.11.4 更多內容 22
1.12 模型持久化 22
1.12.1 準備工作 22
1.12.2 詳細步驟 23
1.12.3 工作原理 23
1.12.4 更多內容 23
1.13 構建嶺回歸器 24
1.13.1 準備工作 25
1.13.2 詳細步驟 25
1.13.3 工作原理 26
1.14 構建多項式回歸器 26
1.14.1 準備工作 27
1.14.2 詳細步驟 27
1.14.3 工作原理 29
1.14.4 更多內容 29
1.15 估算房屋價格 29
1.15.1 準備工作 30
1.15.2 詳細步驟 30
1.15.3 工作原理 33
1.15.4 更多內容 33
1.16 計算特徵的相對重要性 33
1.16.1 準備工作 34
1.16.2 詳細步驟 34
1.16.3 工作原理 36
1.16.4 更多內容 36
1.17 評估共享單車的需求分佈 36
1.17.1 準備工作 36
1.17.2 詳細步驟 36
1.17.3 工作原理 39
1.17.4 更多內容 39
第 2章 構建分類器 41
2.1 技術要求 41
2.2 簡介 42
2.3 構建簡單分類器 42
2.3.1 準備工作 43
2.3.2 詳細步驟 43
2.3.3 工作原理 45
2.3.4 更多內容 45
2.4 構建邏輯回歸分類器 45
2.4.1 準備工作 45
2.4.2 詳細步驟 46
2.4.3 工作原理 49
2.4.4 更多內容 49
2.5 構建樸素貝葉斯分類器 49
2.5.1 準備工作 50
2.5.2 詳細步驟 50
2.5.3 工作原理 52
2.5.4 更多內容 53
2.6 將數據集劃分成訓練集和測試集 53
2.6.1 準備工作 54
2.6.2 詳細步驟 54
2.6.3 工作原理 56
2.6.4 更多內容 57
2.7 用交叉驗證評估模型準確度 57
2.7.1 準備工作 57
2.7.2 詳細步驟 57
2.7.3 工作原理 58
2.7.4 更多內容 59
2.8 混淆矩陣可視化 59
2.8.1 準備工作 60
2.8.2 詳細步驟 60
2.8.3 工作原理 61
2.8.4 更多內容 62
2.9 提取性能報告 62
2.9.1 準備工作 62
2.9.2 詳細步驟 62
2.9.3 工作原理 63
2.9.4 更多內容 63
2.10 根據特徵評估汽車質量 63
2.10.1 準備工作 63
2.10.2 詳細步驟 64
2.10.3 工作原理 66
2.10.4 更多內容 66
2.11 生成驗證曲線 66
2.11.1 準備工作 67
2.11.2 詳細步驟 67
2.11.3 工作原理 69
2.11.4 更多內容 69
2.12 生成學習曲線 69
2.12.1 準備工作 70
2.12.2 詳細步驟 70
2.12.3 工作原理 71
2.12.4 更多內容 71
2.13 估算收入階層 71
2.13.1 準備工作 72
2.13.2 詳細步驟 72
2.13.3 工作原理 75
2.13.4 更多內容 75
2.14 葡萄酒質量預測 75
2.14.1 準備工作 76
2.14.2 詳細步驟 76
2.14.3 工作原理 78
2.14.4 更多內容 78
2.15 新聞組熱門話題分類 78
2.15.1 準備工作 78
2.15.2 詳細步驟 79
2.15.3 工作原理 80
2.15.4 更多內容 80
第3章 預測建模 81
3.1 技術要求 81
3.2 簡介 82
3.3 用SVM構建線性分類器 82
3.3.1 準備工作 83
3.3.2 詳細步驟 84
3.3.3 工作原理 86
3.3.4 更多內容 87
3.4 用SVM構建非線性分類器 87
3.4.1 準備工作 87
3.4.2 詳細步驟 87
3.4.3 工作原理 89
3.4.4 更多內容 89
3.5 解決類型不平衡問題 89
3.5.1 準備工作 90
3.5.2 詳細步驟 90
3.5.3 工作原理 93
3.5.4 更多內容 93
3.6 提取置信度 93
3.6.1 準備工作 93
3.6.2 詳細步驟 93
3.6.3 工作原理 95
3.6.4 更多內容 96
3.7 尋找最優超參數 96
3.7.1 準備工作 96
3.7.2 詳細步驟 96
3.7.3 工作原理 100
3.7.4 更多內容 101
3.8 構建事件預測器 101
3.8.1 準備工作 101
3.8.2 詳細步驟 102
3.8.3 工作原理 104
3.8.4 更多內容 104
3.9 估算交通流量 104
3.9.1 準備工作 104
3.9.2 詳細步驟 105
3.9.3 工作原理 107
3.9.4 更多內容 107
3.10 用TensorFlow簡化機器學習流程 107
3.10.1 準備工作 107
3.10.2 詳細步驟 108
3.10.3 工作原理 109
3.10.4 更多內容 109
3.11 堆疊法實現 109
3.11.1 準備工作 109
3.11.2 詳細步驟 109
3.11.3 工作原理 110
3.11.4 更多內容 111
第4章 無監督學習——聚類 112
4.1 技術要求 112
4.2 簡介 113
4.3 用k-means算法聚類數據 113
4.3.1 準備工作 114
4.3.2 詳細步驟 114
4.3.3 工作原理 116
4.3.4 更多內容 117
4.4 用向量量化壓縮圖片 117
4.4.1 準備工作 118
4.4.2 詳細步驟 118
4.4.3 工作原理 121
4.4.4 更多內容 121
4.5 用凝聚層次聚類進行數據分組 122
4.5.1 準備工作 122
4.5.2 詳細步驟 122
4.5.3 工作原理 125
4.5.4 更多內容 125
4.6 評估聚類算法性能 126
4.6.1 準備工作 126
4.6.2 詳細步驟 126
4.6.3 工作原理 129
4.6.4 更多內容 129
4.7 用DBSCAN算法估算簇的個數 129
4.7.1 準備工作 130
4.7.2 詳細步驟 130
4.7.3 工作原理 133
4.7.4 更多內容 133
4.8 探索股票數據模式 134
4.8.1 準備工作 134
4.8.2 詳細步驟 134
4.8.3 工作原理 136
4.8.4 更多內容 136
4.9 構建市場細分模型 136
4.9.1 準備工作 136
4.9.2 詳細步驟 137
4.9.3 工作原理 139
4.9.4 更多內容 139
4.10 用自動編碼器重構手寫數字圖像 139
4.10.1 準備工作 140
4.10.2 詳細步驟 140
4.10.3 工作原理 143
4.10.4 更多內容 144
第5章 可視化數據 145
5.1 技術需求 145
5.2 簡介 146
5.3 畫3D散點圖 146
5.3.1 準備工作 146
5.3.2 詳細步驟 146
5.3.3 工作原理 148
5.3.4 更多內容 148
5.4 畫氣泡圖 148
5.4.1 準備工作 148
5.4.2 詳細步驟 148
5.4.3 工作原理 149
5.4.4 更多內容 150
5.5 畫動態氣泡圖 150
5.5.1 準備工作 150
5.5.2 詳細步驟 150
5.5.3 工作原理 152
5.5.4 更多內容 152
5.6 畫餅圖 152
5.6.1 準備工作 152
5.6.2 詳細步驟 153
5.6.3 工作原理 154
5.6.4 更多內容 154
5.7 繪製日期格式的時間序列數據 154
5.7.1 準備工作 154
5.7.2 詳細步驟 154
5.7.3 工作原理 156
5.7.4 更多內容 156
5.8 畫直方圖 156
5.8.1 準備工作 157
5.8.2 詳細步驟 157
5.8.3 工作原理 158
5.8.4 更多內容 159
5.9 可視化熱力圖 159
5.9.1 準備工作 159
5.9.2 詳細步驟 159
5.9.3 工作原理 161
5.9.4 更多內容 161
5.10 動態信號的可視化模擬 161
5.10.1 準備工作 161
5.10.2 詳細步驟 161
5.10.3 工作原理 163
5.10.4 更多內容 164
5.11 用seaborn庫畫圖 164
5.11.1 準備工作 164
5.11.2 詳細步驟 164
5.11.3 工作原理 166
5.11.4 更多內容 166


第6章 構建推薦引擎 167
6.1 技術要求 167
6.2 簡介 168
6.3 為數據處理構建函數組合 168
6.4 構建機器學習管道 171
6.5 構建最近鄰分類器 173
6.6 構建KNN分類器 176
6.7 構建KNN回歸器 181
6.8 計算歐式距離分數 184
6.9 計算皮爾遜相關係數 186
6.10 查找數據集中的相似用戶 189
6.11 生成電影推薦 191
6.12 實現排序算法 193
6.13 用TensorFlow構建過濾器模型 195

第7章 文本數據分析 201
7.1 技術要求 201
7.2 簡介 202
7.3 用標記解析的方法預處理數據 203
7.4 提取文本數據的詞幹 205
7.5 用詞形還原的方法還原文本的基本形式 207
7.6 用分塊的方法劃分文本 209
7.7 構建詞袋模型 211
7.8 構建文本分類器 214
7.9 識別名字性別 217
7.10 語句情感分析 219
7.11 用主題建模識別文本模式 223
7.12 用spaCy進行詞性標註 226
7.13 用gensim構建Word2Vec模型 228
7.14 用淺層學習檢測垃圾信息 229

第8章 語音識別 232
8.1 技術要求 232
8.2 簡介 233
8.3 讀取和繪製音頻數據 233
8.4 將音頻信號轉換為頻域 236
8.5 用自定義參數生成音頻信號 238
8.6 合成音樂 241
8.7 提取頻域特徵 243
8.8 構建隱馬爾可夫模型 246
8.9 構建語音識別器 248
8.10 構建TTS系統 253

第9章 時序列化和時序數據分析 256
9.1 技術要求 256
9.2 簡介 257
9.3 將數據轉換為時間序列格式 257
9.4 切分時間序列數據 260
9.5 操作時間序列數據 262
9.6 從時序數據中提取統計信息 265
9.7 為序列數據構建隱馬爾可夫模型 268
9.8 為序列化文本數據構建條件隨機場 271
9.9 股市數據分析 274
9.10 用RNN預測時間序列數據 279

第 10章 圖像內容分析 284
10.1 技術要求 284
10.2 簡介 285
10.3 用OpenCV_Python操作圖像 286
10.4 邊緣檢測 288
10.5 直方圖均衡 290
10.6 角點檢測 293
10.7 SIFT特徵點檢測 294
10.8 構建Star特徵檢測器 296
10.9 用視覺碼本和向量量化創建特徵 299
10.10 用極端隨機森林訓練圖像分類器 302
10.11 構建對象識別器 304
10.12 用LightGBM進行圖像分類 306


第 11章 生物特徵人臉識別 310
11.1 技術要求 310
11.2 簡介 311
11.3 從網絡攝像頭採集和處理視頻信息 311
11.4 用Haar級聯構建人臉識別器 313
11.5 構建眼鼻檢測器 316
11.6 主成分分析 319
11.7 核主成分分析 321
11.8 盲源分離 324
11.9 用局部二值模式直方圖構建人臉識別器 328
11.10 基於HOG模型進行人臉識別 332
11.11 人臉特徵點識別 334
11.12 用人臉識別進行用戶身份驗證 336

第 12章 強化學習 339
12.1 技術要求 339
12.2 簡介 340
12.3 用MDP預報天氣 341
12.4 用DP優化金融投資組合 344
12.5 找出最短路徑 346
12.6 使用Q學習決定折扣因子 348
12.7 實現深度Q學習算法 351
12.8 開發基於AI的動態模型系統 353
12.9 通過雙Q學習進行深度強化學習 355
12.10 通過dueling Q學習進行深度強化學習 357

第 13章 深度神經網絡 361
13.1 技術要求 361
13.2 簡介 362
13.3 構建感知機模型 362
13.4 構建單層神經網絡 365
13.5 構建深度神經網絡 368
13.6 創建向量量化器 371
13.7 為序列數據分析構建循環神經網絡 373
13.8 可視化OCR數據庫字符 377
13.9 使用神經網絡構建光學字符識別器 379
13.10 用ANN實現優化算法 381


第 14章 無監督表示學習 385
14.1 需要的文件 385
14.2 簡介 386
14.3 用降噪自動編碼器檢測欺詐交易 386
14.4 用CBOW和skipgram表示生成詞嵌入 391
14.5 用PCA和t-SNE可視化MNIST數據 393
14.6 使用詞嵌入進行推特情感分析 397
14.7 用scikit-learn實現LDA 400
14.8 用LDA對文本文檔分類 402
14.9 為LDA準備數據 405


第 15章 自動機器學習與遷移學習 408
15.1 技術要求 408
15.2 簡介 409
15.3 Auto-WEKA 409
15.4 用AutoML工具TPOT生成機器學習管道 410
15.5 Auto-Keras 412
15.6 auto-sklearn 413
15.7 用MLBox進行功能選擇和洩漏檢測 415
15.8 用卷積神經網絡進行遷移學習 417
15.9 用ResNet-50作預訓練圖像分類器進行遷移學習 421
15.10 用VGG16模型作特徵提取器進行遷移學習 423
15.11 用預訓練GloVe嵌入模型進行遷移學習 425

第 16章 生產中的應用 430
16.1 技術要求 430
16.2 簡介 430
16.3 處理非結構化數據 431
16.4 部署機器學習模型 433
16.5 跟踪生產中的變化 435
16.6 跟踪準確率並優化模型 437