Python工程應(yīng)用——機(jī)器學(xué)習(xí)方法與實(shí)踐
定 價:39 元
- 作者:郭奕
- 出版時間:2022/6/23
- ISBN:9787560664644
- 出 版 社:西安電子科技大學(xué)出版社
- 中圖法分類:TP311.561
- 頁碼:272
- 紙張:
- 版次:1
- 開本:16開
本書通過對大量實(shí)際案例的分析以及部分相關(guān)理論的適當(dāng)解讀,幫助讀者使用Python語言進(jìn)行程序設(shè)計,同時能夠利用Python語言實(shí)現(xiàn)基礎(chǔ)的機(jī)器學(xué)習(xí)算法。
全書包含三大部分:機(jī)器學(xué)習(xí)概念和編程基礎(chǔ)、數(shù)據(jù)預(yù)處理基礎(chǔ)、機(jī)器學(xué)習(xí)方法及案例,每一部分都結(jié)合大量實(shí)際例程進(jìn)行解讀。本書共13章,具體內(nèi)容包括機(jī)器學(xué)習(xí)概述、Python機(jī)器學(xué)習(xí)基礎(chǔ)庫、數(shù)據(jù)預(yù)處理、K近鄰算法、樸素貝葉斯、決策樹、隨機(jī)森林、AdaBoost模型、支持向量機(jī)、人工神經(jīng)網(wǎng)絡(luò)、K均值聚類、財政收入影響因素分析及預(yù)測案例、偷稅漏稅行為識別分析案例。書末給出兩個附錄,分別為Python的安裝與環(huán)境配置和Python開發(fā)工具的安裝。
本書適合作為電子信息類專業(yè)的教材,希望學(xué)習(xí)機(jī)器學(xué)習(xí)技術(shù)的讀者均可使用。學(xué)習(xí)本書需要具備Python程序設(shè)計基礎(chǔ)知識。
★本書免費(fèi)提供書中程序代碼和部分?jǐn)?shù)據(jù)集、PPT及部分案例講解視頻、Python的安裝與環(huán)境配置、Python開發(fā)工具的安裝等資源,需要的讀者可以掃描扉頁二維碼或從出版社網(wǎng)站查看。
自從AlphaGo在2016年3月戰(zhàn)勝了人類圍棋頂尖高手之后,人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等詞匯就逐漸進(jìn)入了大眾的視野,機(jī)器學(xué)習(xí)也成為了學(xué)術(shù)界和工業(yè)界都極其關(guān)注的技術(shù)。機(jī)器學(xué)習(xí)是計算機(jī)研究領(lǐng)域的一個重要分支,是人工智能的核心基礎(chǔ),也是人工智能領(lǐng)域最具活力的研究方向之一。
機(jī)器學(xué)習(xí)的算法研究需要具備一定的理論基礎(chǔ),而其算法的產(chǎn)業(yè)應(yīng)用又需要一定的編程基礎(chǔ)。面對機(jī)器學(xué)習(xí),不少人都想嘗試和體驗其神奇之處,但又苦于其較高的門檻而不知如何下手。盡管已經(jīng)有許多介紹機(jī)器學(xué)習(xí)的優(yōu)秀著作,但它們大多要么過于偏重理論,要么過于偏重應(yīng)用,要么過于“厚重”,讓人望而生畏。本書致力于將理論與實(shí)踐相結(jié)合,在盡量通俗、形象地講述理論知識的同時,利用Python這一簡單、易學(xué)的編程語言進(jìn)行機(jī)器學(xué)習(xí)算法的實(shí)踐和應(yīng)用。
鑒于上述寫作思路,本書共設(shè)計了13章,主要包括以下內(nèi)容:
第1章為機(jī)器學(xué)習(xí)基礎(chǔ),簡要介紹機(jī)器學(xué)習(xí)的概念、應(yīng)用、研究方法等;
第2章和第3章為Python應(yīng)用于機(jī)器學(xué)習(xí)研究的基礎(chǔ)內(nèi)容,主要介紹Python中常用于機(jī)器學(xué)習(xí)的基本庫以及機(jī)器學(xué)習(xí)應(yīng)用中的數(shù)據(jù)預(yù)處理方法;
第4章到第11章為機(jī)器學(xué)習(xí)算法和基本實(shí)踐,分別從分類任務(wù)和聚類任務(wù)兩大方面介紹了八種常見的機(jī)器學(xué)習(xí)模型,每個模型除了介紹基本原理之外,都通過具體的案例介紹了算法的應(yīng)用,方便讀者復(fù)現(xiàn)練習(xí);
第12章和第13章提供了兩個完整的、相對復(fù)雜的案例,進(jìn)一步說明機(jī)器學(xué)習(xí)方法的使用。
書中所有案例均來自于實(shí)際工程應(yīng)用項目或者國際開源的比賽項目,對于科學(xué)研究和行業(yè)發(fā)展有一定的參考價值。
本書由西華大學(xué)電氣與電子信息學(xué)院郭奕老師擔(dān)任主編,郭老師主要編寫了本書的第1、2、3、4、5、9、10、11章,東莞理工學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院潘曉衡老師編寫了本書的第6、7、8章,肖海林工程師編寫了本書的第12、13章。本書中部分經(jīng)典案例使用了開源數(shù)據(jù)集和開源代碼。感謝王曉蘭、湯微杰、周鑫、熊雪軍、周永平同學(xué)在書稿校驗和代碼驗證階段所做的大量工作,同時也感謝在本書編寫過程中給予我們幫助的其他朋友們。
本書相關(guān)的教學(xué)資料和程序源代碼等可以在西安電子科技大學(xué)出版社的網(wǎng)站上下載。書中存在的不當(dāng)和錯誤之處,敬請讀者批評指正,我們不勝感謝。這里特留下作者郵箱以接受批評指正和進(jìn)行相關(guān)討論:lpngy@vip.163.com。
編 者?
2022年4月
第1章 機(jī)器學(xué)習(xí)概述 1
1.1 什么是機(jī)器學(xué)習(xí) 2
1.2 機(jī)器學(xué)習(xí)的應(yīng)用 4
1.2.1 圖像和計算機(jī)視覺 4
1.2.2 日常生活及消費(fèi) 8
1.2.3 金融領(lǐng)域 9
1.2.4 醫(yī)療領(lǐng)域 9
1.2.5 自然語言處理 10
1.2.6 安全和異常行為監(jiān)測 12
1.2.7 工業(yè)和商業(yè)領(lǐng)域 13
1.2.8 娛樂領(lǐng)域 14
1.3 機(jī)器學(xué)習(xí)的主要研究內(nèi)容 15
1.4 機(jī)器學(xué)習(xí)問題的常規(guī)處理方法 16
1.4.1 開發(fā)機(jī)器學(xué)習(xí)應(yīng)用的
一般步驟 16
1.4.2 選擇合適的算法 18
1.4.3 使用Python開發(fā)機(jī)器
學(xué)習(xí)應(yīng)用 19
1.4.4 機(jī)器學(xué)習(xí)模型的評價 21
1.5 機(jī)器學(xué)習(xí)、模式識別、數(shù)據(jù)
挖掘和人工智能的關(guān)系 24
本章小結(jié) 26
思考題 26
第2章 Python機(jī)器學(xué)習(xí)基礎(chǔ)庫 27
2.1 Numpy 28
2.1.1 Numpy庫的安裝 28
2.1.2 Numpy庫的導(dǎo)入 28
2.1.3 創(chuàng)建數(shù)組 29
2.1.4 查詢數(shù)組類型 29
2.1.5 數(shù)組的其他創(chuàng)建方式 29
2.1.6 數(shù)組元素的存取 30
2.1.7 ufunc運(yùn)算 30
2.1.8 矩陣的運(yùn)算 30
2.2 Pandas 30
2.2.1 Pandas的安裝 31
2.2.2 Pandas的導(dǎo)入 31
2.2.3 Series 31
2.2.4 DataFrame 32
2.3 Matplotlib 32
2.3.1 Matplotlib的安裝 32
2.3.2 Matplotlib的導(dǎo)入 32
2.3.3 基本繪圖命令plot 33
2.3.4 繪制多窗口圖形 35
2.3.5 文本注釋 36
2.4 Scipy 37
2.4.1 Scipy的安裝 37
2.4.2 Scipy的導(dǎo)入 38
2.4.3 最小二乘法 38
2.4.4 非線性方程求解 40
2.5 Scikit-Learn 40
2.5.1 Scikit-Learn的安裝 41
2.5.2 Scikit-Learn的數(shù)據(jù)集 41
2.6 TensorFlow 42
2.6.1 TensorFlow的安裝 42
2.6.2 TensorFlow的使用 43
2.7 PyTorch 44
2.8 PaddlePaddle 44
本章小結(jié) 45
思考題 45
第3章 數(shù)據(jù)預(yù)處理 46
3.1 數(shù)據(jù)預(yù)處理概述 47
3.2 數(shù)據(jù)預(yù)分析 47
3.2.1 統(tǒng)計特性分析 48
3.2.2 數(shù)據(jù)質(zhì)量分析 49
3.3 數(shù)據(jù)清理 51
3.3.1 異常值處理 51
3.3.2 缺失值處理 51
3.4 數(shù)據(jù)集成 53
3.4.1 實(shí)體識別 53
3.4.2 冗余屬性識別 54
3.5 數(shù)據(jù)變換 54
3.5.1 簡單函數(shù)變換 54
3.5.2 歸一化 54
3.5.3 連續(xù)屬性離散化 55
3.6 數(shù)據(jù)規(guī)約 58
3.6.1 屬性規(guī)約 58
3.6.2 數(shù)值規(guī)約 60
3.7 Python的主要數(shù)據(jù)預(yù)處理函數(shù) 60
本章小結(jié) 61
思考題 61
第4章 K近鄰算法 62
4.1 模型介紹 63
4.1.1 算法概述 63
4.1.2 算法基本原理 63
4.1.3 算法實(shí)現(xiàn)代碼 65
4.2 案例一 約會網(wǎng)站配對 66
4.2.1 問題介紹 66
4.2.2 數(shù)據(jù)準(zhǔn)備 67
4.2.3 算法實(shí)現(xiàn) 70
4.2.4 算法測試 71
4.2.5 算法應(yīng)用 72
4.3 案例二 手寫數(shù)字識別 73
4.3.1 問題介紹 73
4.3.2 數(shù)據(jù)準(zhǔn)備 73
4.3.3 算法實(shí)現(xiàn) 74
4.4 案例三 鳶尾花品種識別 76
4.4.1 問題介紹 76
4.4.2 數(shù)據(jù)準(zhǔn)備 76
4.4.3 算法實(shí)現(xiàn) 78
本章小結(jié) 79
思考題 79
第5章 樸素貝葉斯 80
5.1 模型介紹 81
5.1.1 貝葉斯決策理論基礎(chǔ) 81
5.1.2 使用樸素貝葉斯進(jìn)行分類 82
5.1.3 樸素貝葉斯分類器的特點(diǎn) 83
5.2 案例四 社區(qū)留言板文本分類 84
5.2.1 案例介紹 84
5.2.2 數(shù)據(jù)準(zhǔn)備 84
5.2.3 概率計算 86
5.2.4 算法改進(jìn) 87
5.2.5 改進(jìn)后的樸素貝葉斯
分類器應(yīng)用 89
5.3 案例五 舊金山犯罪分類預(yù)測 90
5.3.1 案例介紹 90
5.3.2 數(shù)據(jù)準(zhǔn)備 91
5.3.3 模型實(shí)現(xiàn) 92
本章小結(jié) 93
思考題 93
第6章 決策樹 94
6.1 模型介紹 95
6.1.1 決策樹概述 95
6.1.2 決策樹數(shù)學(xué)基礎(chǔ) 100
6.1.3 決策樹算法 102
6.2 案例六 魚類和非魚類判定 103
6.2.1 案例介紹 103
6.2.2 案例實(shí)現(xiàn) 104
6.3 案例七 貸款權(quán)限判定 114
6.3.1 案例介紹 114
6.3.2 案例實(shí)現(xiàn) 115
本章小結(jié) 119
思考題 119
第7章 隨機(jī)森林 121
7.1 模型介紹 122
7.1.1 隨機(jī)森林的歷史 122
7.1.2 隨機(jī)森林原理 122
7.1.3 構(gòu)建隨機(jī)森林 123
7.1.4 隨機(jī)森林模型的性能評估 124
7.1.5 隨機(jī)森林的應(yīng)用 125
7.1.6 隨機(jī)森林的Python常用庫 125
7.2 案例八 聲吶信號分類 126
7.2.1 案例介紹 126
7.2.2 案例實(shí)現(xiàn) 127
7.3 案例九 泰坦尼克號幸存者預(yù)測 132
7.3.1 案例介紹 132
7.3.2 案例實(shí)現(xiàn) 133
本章小結(jié) 139
思考題 139
第8章 AdaBoost模型 140
8.1 模型介紹 141
8.1.1 AdaBoost原理 141
8.1.2 AdaBoost的算法流程 142
8.1.3 AdaBoost的Python常用庫 144
8.2 案例十 馬疝病預(yù)測 146
8.2.1 案例介紹 146
8.2.3 案例實(shí)現(xiàn) 146
8.3 案例十一 學(xué)生課程成績預(yù)測 149
8.3.1 案例介紹 149
8.3.2 案例實(shí)現(xiàn) 150
本章小結(jié) 154
思考題 154
第9章 支持向量機(jī) 155
9.1 線性支持向量機(jī) 156
9.1.1 間隔與支持向量 156
9.1.2 對偶問題 158
9.1.3 SMO算法 159
9.2 非線性分類 170
9.2.1 核函數(shù)概述 170
9.2.2 高斯徑向基核函數(shù) 171
9.3 案例十二 手寫數(shù)字識別 175
本章小結(jié) 179
思考題 179
第10章 人工神經(jīng)網(wǎng)絡(luò) 180
10.1 從感知機(jī)到多層感知機(jī) 181
10.1.1 神經(jīng)元和感知機(jī) 181
10.1.2 多層感知機(jī) 183
10.2 激活函數(shù)和損失函數(shù) 184
10.2.1 激活函數(shù) 184
10.2.2 損失函數(shù) 186
10.3 反向傳播算法 187
10.4 案例十三 手寫數(shù)字識別 188
10.4.1 數(shù)據(jù)準(zhǔn)備 188
10.4.2 網(wǎng)絡(luò)配置 189
10.4.3 模型訓(xùn)練 190
10.4.4 模型使用 193
本章小結(jié) 195
思考題 195
第11章 K均值聚類 196
11.1 模型介紹 197
11.1.1 模型概述 197
11.1.2 基本的K均值聚類算法 197
11.1.3 K均值聚類算法的代碼實(shí)現(xiàn) 198
11.1.4 二分K均值算法 202
11.2 案例十四 居民家庭消費(fèi)調(diào)查 204
11.2.1 案例介紹 204
11.2.2 案例實(shí)現(xiàn) 205
11.3 案例十五 物流公司最佳
配送路徑問題 207
本章小結(jié) 210
思考題 210
第12章 財政收入影響因素分析及
預(yù)測案例 212
12.1 案例引入 213
12.2 模型介紹 213
12.3 案例操作 215
12.3.1 案例步驟 215
12.3.2 案例實(shí)現(xiàn) 215
本章小結(jié) 221
思考題 221
第13章 偷稅漏稅行為識別分析案例 222
13.1 案例引入 223
13.2 模型介紹 223
13.3 案例操作 224
13.3.1 案例步驟 224
13.3.2 案例實(shí)現(xiàn) 224
本章小結(jié) 232
思考題 232
附錄A Python的安裝與環(huán)境配置 233
A.1 Python的官方安裝 233
A.1.1 Python的官方下載 233
A.1.2 Python的官方安裝 235
A.1.3 手動配置環(huán)境變量 239
A.2 Anaconda的安裝 242
A.2.1 Anaconda的下載 242
A.2.2 Anaconda的安裝 244
A.2.3 手動配置Anaconda的環(huán)境
?變量 250
A.2.4 Anaconda的運(yùn)行 250
附錄B Python開發(fā)工具的安裝 252
B.1 Jupyter Notebook的安裝 252
B.1.1 Jupyter Notebook的下載和
安裝 252
B.1.2 Jupyter Notebook的運(yùn)行 255
B.2 PyCharm的安裝 257
B.2.1 PyCharm的下載 257
B.2.2 PyCharm的安裝 259