●第1章概述
1.1什麼是機器學習——從一個小故事開始/002
1.2機器學習的一些應用場景——蝙蝠公司的/003
1.3機器學習應該如何入門——世上無難事/005
1.4有監督學習與無監督學習/007
1.5機器學習中的分類與回歸/008
1.6模型的泛化、過擬合與欠擬合/008
1.7小結/009
第2章基於Python語言的環境配置
2.1Python的下載和安裝/012
2.2JupyterNotebook的安裝與使用方法/013
2.2.1使用pip進行JupyterNotebook的下載和安裝/013
2.2.2運行JupyterNotebook/014
2.2.3JupyterNotebook的使用方法/015
2.3一些必需庫的安裝及功能簡介/017
2.3.1Numpy——基礎科學計算庫/017
2.3.2Scipy——強大的科學計算工具集/018
2.3.3pandas——數據分析的利器/019
2.3.4matplotlib——畫出優美的圖形/020
2.4scikit-learn——非常流行的Python機器學習庫/021
2.5小結/022
第3章K最近鄰算法——近朱者赤,近墨者黑
3.1K最近鄰算法的原理/024
3.2K最近鄰算法的用法/025
3.2.1K最近鄰算法在分類任務中的應用/025
3.2.2K最近鄰算法分類任務/029
3.2.3K最近鄰算法用於回歸分析/031
3.3K最近鄰算法項目實戰——酒的分類/034
3.3.1對數據集進行分析/034
3.3.2生成訓練數據集和測試數據集/036
3.3.3使用K最近鄰算法進行建模/038
3.3.4使用模型對新樣本的分類進行預測/039
3.4小結/041
第4章廣義線性模型——“耿直”的算法模型
4.1線性模型的基本概念/044
4.1.1線性模型的一般公式/044
4.1.2線性模型的圖形表示/045
4.1.3線性模型的特點/049
4.2最基本的線性模型——線性回歸/050
4.2.1線性回歸的基本原理/050
4.2.2線性回歸的性能表現/051
4.3使用L2正則化的線性模型——嶺回歸/053
4.3.1嶺回歸的原理/053
4.3.2嶺回歸的參數調節/054
4.4使用L1正則化的線性模型——套索回歸/058
4.4.1套索回歸的原理/058
4.4.2套索回歸的參數調節/059
4.4.3套索回歸與嶺回歸的對比/060
4.5小結/062
第5章樸素貝葉斯——打雷啦,收衣服啊
5.1樸素貝葉斯基本概念/064
5.1.1貝葉斯定理/064
5.1.2樸素貝葉斯的簡單應用/064
5.2樸素貝葉斯算法的不同方法/068
5.2.1貝努利樸素貝葉斯/068
5.2.2高斯樸素貝葉斯/071
5.2.3多項式樸素貝葉斯/072
5.3樸素貝葉斯實戰——判斷腫瘤是良性還是惡性/075
5.3.1對數據集進行分析/076
5.3.2使用高斯樸素貝葉斯進行建模/077
5.3.3高斯樸素貝葉斯的學習曲線/078
5.4小結/080
第6章決策樹與隨機森林——會玩讀心術的算法
6.1決策樹/082
6.1.1決策樹基本原理/082
6.1.2決策樹的構建/082
6.1.3決策樹的優勢和不足/088
6.2隨機森林/088
6.2.1隨機森林的基本概念/089
6.2.2隨機森林的構建/089
6.2.3隨機森林的優勢和不足/092
6.3隨機森林實例——要不要和相親對像進一步發展/093
6.3.1數據集的準備/093
6.3.2用get_dummies處理數據/094
6.3.3用決策樹建模並做出預測/096
6.4小結/098
第7章支持向量機SVM——專治線性不可分
7.1支持向量機SVM基本概念/100
7.1.1支持向量機SVM的原理/100
7.1.2支持向量機SVM的核函數/102
7.2SVM的核函數與參數選擇/104
7.2.1不同核函數的SVM對比/104
7.2.2支持向量機的gamma參數調節/106
7.2.3SVM算法的優勢與不足/108
7.3SVM實例——波士頓房價回歸分析/10
7.3.1初步了解數據集/109
7.3.2使用SVR進行建模/110
7.4小結/114
第8章神經網絡——曾入“冷宮”,如今得寵
8.1神經網絡的前世今生/116
8.1.1神經網絡的起源/116
8.1.2第一個感知器學習法則/116
8.1.3神經網絡之父——傑弗瑞·欣頓/117
8.2神經網絡的原理及使用/118
8.2.1神經網絡的原理/118
8.2.2神經網絡中的非線性矯正/119
8.2.3神經網絡的參數設置/121
8.3神經網絡實例——手寫識別/127
8.3.1使用MNIST數據集/128
8.3.2訓練MLP神經網絡/129
8.3.3使用模型進行數字識別/130
8.4小結/131
第9章數據預處理、降維、特征提取及聚類——快刀斬亂麻
9.1數據預處理/134
9.1.1使用StandardScaler進行數據預處理/134
9.1.2使用MinMaxScaler進行數據預處理/135
9.1.3使用RobustScaler進行數據預處理/136
9.1.4使用Normalizer進行數據預處理/137
9.1.5通過數據預處理提高模型準確率/138
9.2數據降維/140
9.2.1PCA主成分分析原理/140
9.2.2對數據降維以便於進行可視化/142
9.2.3原始特征與PCA主成分之間的關繫/143
9.3特征提取/144
9.3.1PCA主成分分析法用於特征提取/145
9.3.2非負矩陣分解用於特征提取/148
9.4聚類算法/149
9.4.1K均值聚類算法/150
9.4.2凝聚聚類算法/153
9.4.3DBSCAN算法/154
9.5小結/157
第10章數據表達與特征工程——錦上再添花
10.1數據表達/160
10.1.1使用啞變量轉化類型特征/160
10.1.2對數據進行裝箱處理/162
10.2數據“升維”/166
10.2.1向數據集添加交互式特征/166
10.2.2向數據集添加多項式特征/170
10.3自動特征選擇/173
10.3.1使用單一變量法進行特征選擇/173
10.3.2基於模型的特征選擇/178
10.3.3迭代式特征選擇/180
10.4小結/182
第11章模型評估與優化——隻有更好,沒有優選
11.1使用交叉驗證進行模型評估/184
11.1.1scikit-learn中的交叉驗證法/184
11.1.2隨機拆分和“挨個兒試試”/186
11.1.3為什麼要使用交叉驗證法/188
11.2使用網格搜索優化模型參數/188
11.2.1簡單網格搜索/189
11.2.2與交叉驗證結合的網格搜索/191
11.3分類模型的可信度評估/193
11.3.1分類模型中的預測準確率/194
11.3.2分類模型中的決定繫數/197
11.4小結/198
第12章建立算法的管道模型——團結就是力量
12.1管道模型的概念及用法/202
12.1.1管道模型的基本概念/202
12.1.2使用管道模型進行網格搜索/206
12.2使用管道模型對股票漲幅進行回歸分析/209
12.2.1數據集準備/209
12.2.2建立包含預處理和MLP模型的管道模型/213
12.2.3向管道模型添加特征選擇步驟/214
12.3使用管道模型進行模型選擇和參數調優/216
12.3.1使用管道模型進行模型選擇/216
12.3.2使用管道模型尋找更優參數/217
12.4小結/220
第13章文本數據處理——親,見字如“數”
13.1文本數據的特征提取、中文分詞及詞袋模型/222
13.1.1使用CountVectorizer對文本進行特征提取/222
13.1.2使用分詞工具對中文文本進行分詞/223
13.1.3使用詞袋模型將文本數據轉為數組/224
13.2對文本數據進一步進行優化處理/226
13.2.1使用n-Gram改善詞袋模型/226
13.2.2使用tf-idf模型對文本數據進行處理/228
13.2.3刪除文本中的停用詞/234
13.3小結/236
第14章從數據獲取到話題提取——從“研究員”到“段子手”
14.1簡單頁面的爬取/238
14.1.1準備Requests庫和UserAgent/238
14.1.2確定一個目標網站並分析其結構/240
14.1.3進行爬取並保存為本地文件/241
14.2稍微復雜一點的爬取/244
14.2.1確定目標頁面並進行分析/245
14.2.2Python中的正則表達式/247
14.2.3使用BeautifulSoup進行HTML解析/251
14.2.4對目標頁面進行爬取並保存到本地/256
14.3對文本數據進行話題提取/258
14.3.1尋找目標網站並分析結構/259
14.3.2編寫爬蟲進行內容爬取/261
14.3.3使用潛在狄利克雷分布進行話題提取/263
14.4小結/265
第15章人纔需求現狀與未來學習方向——你是不是下一個“大牛”
15.1人纔需求現狀/268
15.1.1全球AI從業者達190萬,人纔需求3年翻8倍/268
15.1.2AI人纔需求集中於一線城市,七成從業者月薪過萬/269
15.1.3人纔困境仍難緩解,政策支援亟不可待/269
15.2未來學習方向/270
15.2.1用於大數據分析的計算引擎/270
15.2.2深度學習開源框架/271
15.2.3使用概率模型進行推理/272
15.3技能磨煉與實際應用/272
15.3.1Kaggle算法大賽平臺和OpenML平臺/272
15.3.2在工業級場景中的應用/273
15.3.3對算法模型進行A/B測試/273
15.4小結/274
參考文獻/275
機器學習正在迅速改變我們的世界。我們幾乎每天都會讀到機器學習如何改變日常的生活。如果你在淘寶或者京東這樣的電子商務網站購買商品,或者在愛奇藝或是騰訊視頻這樣的視頻網站觀看節目,甚至隻是進行一次百度搜索,就已經觸踫到了機器學習的應用。使用這些服務的用戶會產生數據,這些數據會被收集,在進行預處理之後用來訓練模型,而模型會通過這些數據來提供更好的用戶體驗。此外,目前還有很多使用機器學習技術的產品或服務即將在我們的生活當中普及,如能夠解放雙手的無人駕駛汽車、聰明伶俐的智能家居產品、善解人意的導購機器人等。可以說要想深入機器學習的應用開發當中,現在就是一個非常理想的時機。本書內容涵蓋了有監督學習、無監督學習、模型優化、自然語言處理等機器學習領域所必須掌握的知識,從內容結構上非常注重知識的實用性和可操作性。全書采用由淺入深、循序漸進的講授方式,接近遵循和尊重初學者對機器學習知識的認知規律。本書適合有一等