本書圍繞scikit-learn庫,詳細介紹機器學習模型、算法、應用場景及其案例實現(xiàn)方法,通過對相關算法循序漸進的講解,帶你輕松踏上機器學習之旅。本書采用理論與實踐相結(jié)合的方式,結(jié)合Python3語言的強大功能,以小的編程代價來實現(xiàn)機器學習算法。本書配套PPT課件、案例源碼、數(shù)據(jù)集、開發(fā)環(huán)境與答疑服務。 本書共分13章,內(nèi)容包括機器學習的基礎理論、模型范式、策略、算法以及機器學習的應用開發(fā),涵蓋特征提取、簡單線性回歸、k近鄰算法、多元線性回歸、邏輯回歸、樸素貝葉斯、非線性分類、決策樹回歸、隨機森林、感知機、支持向量機、人工神經(jīng)網(wǎng)絡、K均值算法、主成分分析等熱點研究領域。 本書可以作為機器學習初學者、研究人員或從業(yè)人員的參考書,也可以作為計算機科學、大數(shù)據(jù)、人工智能、統(tǒng)計學和社會科學等專業(yè)的大學生或研究生的教材。
涵蓋機器學習模型和scikit-learn使用技巧、基本工具和實現(xiàn)方法,循序漸進地講解相關機器學習算法,帶你輕松踏上機器學習之旅。
采用理論與實踐相結(jié)合的方式,結(jié)合Python 3的強大功能,以最小的編程代價實現(xiàn)機器學習算法。
全程以真實案例驅(qū)動,詳解機器學習的基本概念、算法流程、模型構建、數(shù)據(jù)訓練、模型評估與調(diào)優(yōu)、必備工具和實現(xiàn)方法。
機器學習實際上已經(jīng)存在了幾十年,或者也可以認為存在了幾個世紀。追溯到17世紀,貝葉斯、拉普拉斯關于最小二乘法的推導和馬爾可夫鏈,這些構成了機器學習廣泛使用的工具和基礎。從1950年艾倫·圖靈提議搭建一個學習機器開始,到2000年年初深度學習的實際應用以及最近的進展,比如2012年的AlexNet,機器學習有了很大的發(fā)展。
scikit-learn項目最早由數(shù)據(jù)科學家 David Cournapeau在2007年發(fā)起,需要NumPy和SciPy等其他包的支持,它是Python語言中專門針對機器學習應用而發(fā)展起來的一款開源框架。
機器學習是一門多領域交叉學科,涉及概率論、統(tǒng)計學、逼近論、凸分析、算法復雜度理論等多門學科。它專門研究計算機怎樣模擬或?qū)崿F(xiàn)人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構并使之不斷改善自身的性能。它是人工智能的核心,即使計算機具有智能的根本途徑。
本書針對機器學習這個領域,描述了多種學習模型、策略、算法、理論以及應用,基于Python3使用scikit-learn工具包演示算法解決實際問題的過程。對機器學習感興趣的讀者可通過本書快速入門,快速勝任機器學習崗位,成為人工智能時代的人才。
讀者需要了解的重要信息
本書作為機器學習專業(yè)圖書,介紹機器學習的基本概念、算法流程、模型構建、數(shù)據(jù)訓練、模型評估與調(diào)優(yōu)、必備工具和實現(xiàn)方法,全程以真實案例驅(qū)動,案例采用Python3實現(xiàn)。本書涵蓋數(shù)據(jù)獲得、算法模型、案例代碼實現(xiàn)和結(jié)果展示的全過程,以機器學習的經(jīng)典算法為軸線:算法分析數(shù)據(jù)獲取模型構建推斷算法評估。本書案例具有代表性,結(jié)合了理論與實踐,并能明確機器學習的目標及完成效果。
本書內(nèi)容
本書共分13章,系統(tǒng)講解機器學習的典型算法,內(nèi)容包括機器學習概述、數(shù)據(jù)特征提取、scikit-learn估計器分類、樸素貝葉斯分類、線性回歸、k近鄰算法分類和回歸、從簡單線性回歸到多元線性回歸、從線性回歸到邏輯回歸、非線性分類和決策樹回歸、從決策樹到隨機森林、從感知機到支持向量機、從感知機到人工神經(jīng)網(wǎng)絡、主成分分析降維。
本書的例子都是在Python3集成開發(fā)環(huán)境Anaconda3中經(jīng)過實際調(diào)試通過的典型案例,同時本書配備了案例的源碼和數(shù)據(jù)集供讀者參考。
配套資源下載
本書配套的案例源碼、PPT課件、數(shù)據(jù)集、開發(fā)環(huán)境和答疑服務,需要使用微信掃描下邊的二維碼下載,可按掃描后的頁面提示,把鏈接轉(zhuǎn)發(fā)到自己的郵箱中下載。如果有疑問,請聯(lián)系booksaga@163.com,郵件主題寫scikit-learn機器學習實戰(zhàn)。
本書讀者
本書適合大數(shù)據(jù)分析與挖掘、機器學習與人工智能技術的初學者、研究人員及從業(yè)人員,也適合作為高等院校和培訓機構大數(shù)據(jù)、機器學習與人工智能相關專業(yè)的師生教學參考。
致 謝
本書完成之際,感謝合作者與清華大學出版社各位老師的支持。作者夜以繼日用了近一年的時間寫作,并不斷修正錯誤和完善知識結(jié)構。由于作者水平有限,書中有紕漏之處還請讀者不吝賜教。本書寫作過程中參考的圖書與網(wǎng)絡資源都在參考文獻中給出了出處。
鄧立國
2022年1月
鄧立國,東北大學計算機應用博士畢業(yè)。廣東工業(yè)大學任教,主要研究方向:數(shù)據(jù)挖掘、知識工程、大數(shù)據(jù)處理、云計算、分布式計算等。著有圖書《scikit-learn機器學習實戰(zhàn)》《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》《Python大數(shù)據(jù)分析算法與實例》《Python機器學習算法與應用》《數(shù)據(jù)庫原理與應用(SQL Server 2016版本)》等圖書。
第1章 機器學習概述 1
1.1 什么是機器學習 1
1.2 機器學習的作用領域 3
1.3 機器學習的分類 4
1.4 機器學習理論基礎 6
1.5 機器學習應用開發(fā)的典型步驟 7
1.6 本章小結(jié) 8
1.7 復習題 8
第2章 機器學習之數(shù)據(jù)特征 9
2.1 數(shù)據(jù)的分布特征 9
2.1.1 數(shù)據(jù)分布集中趨勢的測度 9
2.1.2 數(shù)據(jù)分布離散程度的測定 14
2.1.3 數(shù)據(jù)分布偏態(tài)與峰度的測定 17
2.2 數(shù)據(jù)的相關性 19
2.2.1 相關關系 19
2.2.2 相關分析 22
2.3 數(shù)據(jù)的聚類性 24
2.4 數(shù)據(jù)主成分分析 27
2.4.1 主成分分析的原理及模型 27
2.4.2 主成分分析的幾何解釋 29
2.4.3 主成分的導出 30
2.4.4 證明主成分的方差是依次遞減的 31
2.4.5 主成分分析的計算 32
2.5 數(shù)據(jù)動態(tài)性及其分析模型 34
2.5.1 動態(tài)數(shù)據(jù)及其特點 34
2.5.2 動態(tài)數(shù)據(jù)分析模型分類 35
2.5.3 平穩(wěn)時間序列建模 35
2.6 數(shù)據(jù)可視化 37
2.7 本章小結(jié) 39
2.8 復習題 39
第3章 用scikit-learn估計器分類 40
3.1 scikit-learn基礎 40
3.1.1 sklearn包含的機器學習方式 40
3.1.2 sklearn的強大數(shù)據(jù)庫 41
3.1.3 sklearn datasets構造數(shù)據(jù) 42
3.2 scikit-learn估計器 43
3.2.1 sklearn估計器的類別 43
3.2.2 sklearn分類器的比較 43
3.3 本章小結(jié) 47
3.4 復習題 48
第4章 樸素貝葉斯分類 49
4.1 算法原理 49
4.1.1 樸素貝葉斯算法原理 49
4.1.2 樸素貝葉斯分類法 50
4.1.3 拉普拉斯校準 52
4.2 樸素貝葉斯分類 52
4.2.1 高斯樸素貝葉斯 53
4.2.2 伯努利樸素貝葉斯 54
4.2.3 多項式樸素貝葉斯 55
4.3 樸素貝葉斯分類實例 57
4.4 樸素貝葉斯連續(xù)值的處理 60
4.5 本章小結(jié) 62
4.6 復習題 63
第5章 線性回歸 64
5.1 簡單線性回歸模型 64
5.1.1 一元線性回歸模型 64
5.1.2 損失函數(shù) 65
5.1.3 梯度下降算法 65
5.1.4 二元線性回歸模型 67
5.1.5 多元線性回歸模型 68
5.2 分割數(shù)據(jù)集 68
5.2.1 訓練集和測試集 69
5.2.2 驗證集 72
5.3 用簡單線性回歸模型預測考試成績 73
5.3.1 創(chuàng)建數(shù)據(jù)集并提取特征和標簽 73
5.3.2 模型訓練 75
5.4 本章小結(jié) 78
5.5 復習題 78
第6章 用k近鄰算法分類和回歸 79
6.1 k近鄰算法模型 79
6.1.1 k近鄰算法的原理 79
6.1.2 距離的度量 81
6.1.3 算法的優(yōu)缺點及算法的變種 81
6.2 用k近鄰算法處理分類問題 82
6.3 用k近鄰算法對鳶尾花進行分類 85
6.3.1 導入數(shù)據(jù)集 85
6.3.2 模型訓練 86
6.4 用k近鄰算法進行回歸擬合 88
6.5 本章小結(jié) 90
6.6 復習題 91
第7章 從簡單線性回歸到多元線性回歸 92
7.1 多變量的線性模型 92
7.1.1 簡單線性回歸模型 92
7.1.2 多元線性回歸模型的預測函數(shù) 93
7.1.3 向量形式的預測函數(shù) 93
7.1.4 向量形式的損失函數(shù) 94
7.1.5 梯度下降算法 94
7.2 模型的優(yōu)化 94
7.2.1 數(shù)據(jù)歸一化 94
7.2.2 欠擬合和過擬合 96
7.2.3 正則化 99
7.2.4 線性回歸與多項式 101
7.2.5 查準率和召回率 102
7.3 用多元線性回歸模型預測波士頓房價 103
7.3.1 導入波士頓房價數(shù)據(jù) 104
7.3.2 模型訓練 105
7.3.3 模型優(yōu)化 106
7.3.4 學習曲線 108
7.4 本章小結(jié) 110
7.5 復習題 110
第8章 從線性回歸到邏輯回歸 111
8.1 邏輯回歸模型 111
8.1.1 基本公式 112
8.1.2 邏輯回歸算法的代價函數(shù) 113
8.1.3 邏輯回歸算法的損失函數(shù) 114
8.1.4 梯度下降算法 114
8.2 多元分類問題 115
8.2.1 OVR 115
8.2.2 softmax函數(shù) 116
8.3 正則化項 118
8.3.1 線性回歸的正則化 118
8.3.2 邏輯回歸的正則化 119
8.4 模型優(yōu)化 119
8.4.1 判定邊界 119
8.4.2 L1和L2的區(qū)別 120
8.5 用邏輯回歸算法處理二分類問題 121
8.5.1 導入數(shù)據(jù)集 122
8.5.2 模型訓練 123
8.5.3 學習曲線 125
8.6 識別手寫數(shù)字的多元分類問題 128
8.6.1 導入數(shù)據(jù)集 128
8.6.2 模型訓練 129
8.6.3 模型優(yōu)化 131
8.7 本章小結(jié) 132
8.8 復習題 132
第9章 非線性分類和決策樹回歸 133
9.1 決策樹的特點 133
9.2 決策樹分類 135
9.3 決策樹回歸 137
9.4 決策樹的復雜度及使用技巧 139
9.5 決策樹算法:ID3、C4.5和CART 140
9.5.1 ID3算法 140
9.5.2 C4.5算法 141
9.5.3 CART算法 142
9.6 本章小結(jié) 143
9.7 復習題 143
第10章 集成方法:從決策樹到隨機森林 144
10.1 Bagging元估計器 144
10.2 由隨機樹組成的森林 145
10.2.1 隨機森林 145
10.2.2 極限隨機樹 146
10.2.3 參數(shù) 146
10.2.4 并行化 147
10.2.5 特征重要性評估 147
10.3 AdaBoost 149
10.3.1 AdaBoost算法 149
10.3.2 AdaBoost使用方法 150
10.4 梯度提升回歸樹 150
10.4.1 分類 151
10.4.2 回歸 151
10.4.3 訓練額外的弱學習器 153
10.4.4 控制樹的大小 154
10.4.5 數(shù)學公式 154
10.4.6 正則化 155
10.4.7 投票分類器 157
10.4.8 投票回歸器 159
10.5 本章小結(jié) 161
10.6 復習題 161
第11章 從感知機到支持向量機 162
11.1 線性支持向量機分類 162
11.1.1 線性支持向量機分類示例 163
11.1.2 軟間隔分類 165
11.2 非線性支持向量機分類 168
11.2.1 多項式內(nèi)核 169
11.2.2 相似特征 171
11.2.3 高斯RBF內(nèi)核 173
11.2.4 計算復雜度 175
11.3 支持向量機回歸 175
11.4 本章小結(jié) 178
11.5 復習題 178
第12章 從感知機到人工神經(jīng)網(wǎng)絡 179
12.1 從神經(jīng)元到人工神經(jīng)元 179
12.1.1 生物神經(jīng)元 180
12.1.2 神經(jīng)元的邏輯計算 181
12.2 感知機 182
12.3 多層感知機 186
12.3.1 反向傳播算法 187
12.3.2 激活函數(shù) 188
12.3.3 分類MLP 189
12.3.4 回歸MLP 190
12.3.5 實用技巧 191
12.4 本章小結(jié) 192
12.5 復習題 192
第13章 主成分分析降維 193
13.1 數(shù)據(jù)的向量表示及降維問題 193
13.2 向量的表示及基變換 194
13.2.1 內(nèi)積與投影 194
13.2.2 基 195
13.2.3 基變換的矩陣表示 196
13.3 協(xié)方差矩陣及優(yōu)化目標 197
13.3.1 方差 198
13.3.2 協(xié)方差 199
13.3.3 協(xié)方差矩陣 199
13.3.4 協(xié)方差矩陣對角化 200
13.4 PCA算法流程 201
13.5 PCA實例 202
13.6 scikit-learn PCA降維實例 203
13.7 核主成分分析KPCA簡介 208
13.8 本章小結(jié) 209
13.9 復習題 209
參考文獻 210