第 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.8one-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.7SIFT特征點檢測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實現LDA400
14.8用LDA對文本文檔分類402
14.9為LDA準備數據405
第15章 自動機器學習與遷移學習408
15.1技術要求408
15.2簡介409
15.3Auto-WEKA409
15.4用AutoML工具TPOT生成機器學習管道410
15.5Auto-Keras412
15.6auto-sklearn413
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