機(jī)器學(xué)習(xí)與R語言(原書第2版)
定 價(jià):69 元
叢書名:數(shù)據(jù)科學(xué)與工程技術(shù)叢書
- 作者:(美)布雷特·蘭茨(Brett Lantz)
- 出版時(shí)間:2017/3/1
- ISBN:9787111553281
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP181
- 頁碼:278
- 紙張:膠版紙
- 版次:1
- 開本:16開
本書共12章:第1章介紹機(jī)器學(xué)習(xí)的基本概念和理論,并介紹用于機(jī)器學(xué)習(xí)的R軟件環(huán)境的準(zhǔn)備;第2章介紹如何應(yīng)用R來管理數(shù)據(jù),進(jìn)行數(shù)據(jù)的探索分析和數(shù)據(jù)可視化;第3~9章介紹典型的機(jī)器學(xué)習(xí)算法,包括k近鄰分類算法、樸素貝葉斯算法、決策樹和規(guī)則樹、回歸預(yù)測、黑盒算法——神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)、關(guān)聯(lián)分析、k均值聚類,并給出大量的實(shí)際案例和詳細(xì)的分析步驟,例如乳腺癌的判斷、垃圾短信的過濾、貸款違約的預(yù)測、毒蘑菇的判別、醫(yī)療費(fèi)用的預(yù)測、建筑用混凝土強(qiáng)度的預(yù)測、光學(xué)字符的識別、超市購物籃關(guān)聯(lián)分析以及市場細(xì)分等;第10章介紹模型性能評價(jià)的原理和方法;第11章給出提高模型性能的幾種常用方法;第12章討論用R進(jìn)行機(jī)器學(xué)習(xí)時(shí)可能遇到的一些高級專題,如特殊形式的數(shù)據(jù)、大數(shù)據(jù)集的處理、并行計(jì)算和GPU計(jì)算等技術(shù)。
前 言機(jī)器學(xué)習(xí)的核心是將信息轉(zhuǎn)化為具有可行性的情報(bào)的算法。這一事實(shí)使得機(jī)器學(xué)習(xí)非常適用于當(dāng)今的大數(shù)據(jù)時(shí)代。如果沒有機(jī)器學(xué)習(xí),要跟上海量的信息數(shù)據(jù)流幾乎是不可能的。
鑒于R不斷增長的地位(R是一個(gè)跨平臺的、零成本的統(tǒng)計(jì)編程環(huán)境),現(xiàn)在是開始使用機(jī)器學(xué)習(xí)的最好時(shí)代。R提供了一套功能強(qiáng)大且易于學(xué)習(xí)的工具,這些工具可以幫助你發(fā)現(xiàn)數(shù)據(jù)背后隱藏的信息。
通過把實(shí)踐案例研究與基本理論(你需要理解這些理論在后臺是如何運(yùn)行的)相結(jié)合,本書提供了將機(jī)器學(xué)習(xí)應(yīng)用到項(xiàng)目中所需要的全部知識。
本書涵蓋的內(nèi)容第1章介紹了用來定義和區(qū)分機(jī)器學(xué)習(xí)算法的術(shù)語和概念,并給出了將學(xué)習(xí)任務(wù)與適當(dāng)算法相匹配的方法。
第2章提供了一個(gè)在R中自己實(shí)際動手操作數(shù)據(jù)的機(jī)會,并討論了基本的數(shù)據(jù)結(jié)構(gòu)以及用于載入、探索和理解數(shù)據(jù)的程序。
第3章教你如何將一個(gè)簡單且功能強(qiáng)大的學(xué)習(xí)算法應(yīng)用于你的第一個(gè)學(xué)習(xí)任務(wù):識別癌癥的惡性樣本。
第4章揭示了用于先進(jìn)的垃圾郵件過濾系統(tǒng)的概率的基本概念,并且在建立你自己的垃圾郵件過濾器的過程中,你將學(xué)習(xí)文本挖掘的基本知識。
第5章探索兩種學(xué)習(xí)算法,它們的預(yù)測不僅精確而且容易解釋。我們將把這兩種算法應(yīng)用于對透明度要求很高的任務(wù)中。
第6章介紹了用于數(shù)值預(yù)測的機(jī)器學(xué)習(xí)算法。由于這些技術(shù)在很大程度上來源于統(tǒng)計(jì)領(lǐng)域,所以你還將通過學(xué)習(xí)必要的基本指標(biāo)來理解數(shù)值之間的關(guān)系。
第7章包括兩個(gè)極其復(fù)雜但功能強(qiáng)大的機(jī)器學(xué)習(xí)算法。盡管數(shù)學(xué)可能會讓人望而生畏,但是我們將以簡單的術(shù)語,結(jié)合實(shí)際例子來說明它們內(nèi)部的運(yùn)作原理。
第8章揭示了許多零售商使用的推薦系統(tǒng)的算法。如果你想知道零售商是如何比你自己更了解你的購物習(xí)慣的,本章將揭示他們的秘密。
第9章介紹k均值聚類。該算法用來查找相關(guān)個(gè)體的聚類。我們將使用該算法來確定一個(gè)網(wǎng)絡(luò)社區(qū)內(nèi)的分布。
第10章提供了度量機(jī)器學(xué)習(xí)項(xiàng)目是否成功的信息,并提供了機(jī)器學(xué)習(xí)算法在未來數(shù)據(jù)上性能的可靠估計(jì)。
第11章揭示了在機(jī)器學(xué)習(xí)競賽中排名最靠前的團(tuán)隊(duì)所采用的方法。如果你具有競爭意識,或者僅僅想獲取數(shù)據(jù)中盡可能多的信息,那么需要學(xué)習(xí)這些技術(shù)。
第12章探討了機(jī)器學(xué)習(xí)的前沿主題。從使用大數(shù)據(jù)到使R的運(yùn)行速度更快,涉及的這些主題將幫助你拓展使用R進(jìn)行數(shù)據(jù)挖掘的界限。
學(xué)習(xí)本書的知識準(zhǔn)備本書中的例子是基于Microsoft Windows和Mac OS X系統(tǒng)的R 3.2.0進(jìn)行編寫與測試的,當(dāng)然,對于任意最新的R版本,這些例子基本上都能運(yùn)行。
本書讀者對象本書適用于任何希望使用數(shù)據(jù)來采取行動的人。或許你已經(jīng)對機(jī)器學(xué)習(xí)有些了解但從來沒有使用過R,或許你已經(jīng)對R有些了解但機(jī)器學(xué)習(xí)對于你來說是全新的知識,無論何種情況,本書將讓你快速上手。稍微熟悉一些基本的數(shù)學(xué)和編程概念將是有幫助的,但先前的經(jīng)驗(yàn)并不是必需的,你只需要有好奇心就行。
本書約定在本書中,你將發(fā)現(xiàn)一些用于區(qū)分不同類型信息的文本樣式。下面是這些樣式的一些例子,以及它們的含義解釋。
文本中的代碼字、數(shù)據(jù)庫表名、文件夾名、文件名、文件擴(kuò)展名、路徑名、虛擬URL、用戶輸入和Twitter句柄如下所示:“安裝一個(gè)添加包的最直接方式是通過install.packages()函數(shù)。”
代碼段如下所示:
任何命令行輸入或輸出如下所示:
新的術(shù)語(new term)和重要詞匯(important word)以黑體顯示。你在屏幕上看到的單詞,例如,在菜單或?qū)υ捒蛑锌吹降膯卧~,像這樣出現(xiàn)在文本中:“CRAN頁面左邊的任務(wù)視圖鏈接提供添加包的長列表!
警告或者重要注釋。
提示和技巧。
致謝沒有家人和朋友的支持,編寫本書根本是不可能的。特別地,我要非常感謝我的妻子Jessica在過去的一年中對我的耐心與鼓勵(lì)。在我的兒子Will出生時(shí)第1版的寫作正在進(jìn)行中,在我的寫作中他分散了我較多的精力,在本書出版后他很快就要成長為一名大男孩。不知道是相關(guān)還是因果,仿佛每次我打開本書,我的家人都會在我的眼前出現(xiàn)!我把本書獻(xiàn)給我的孩子們,希望有一天他們能從中受到啟發(fā),應(yīng)對重大的挑戰(zhàn),并跟隨他們的好奇心,無論他們的好奇心會通向哪里。
我還要感謝支持本書的很多人。本書的很多想法來源于我與密歇根大學(xué)、圣母大學(xué)以及中佛羅里達(dá)大學(xué)的教育工作者、同事以及合作者的互動。此外,如果沒有各位研究人員以公開出版物、課程和源代碼的形式分享他們的專業(yè)知識,本書可能根本就不會存在。最后,我要感謝R團(tuán)隊(duì)和所有那些貢獻(xiàn)R添加包的人員的努力,是他們的努力最終為大家普及了機(jī)器學(xué)習(xí)。我真心希望我的研究是機(jī)器學(xué)習(xí)這塊馬賽克中有價(jià)值的一片圖案。
目 錄
推薦序
譯者序
前言
關(guān)于審稿人
第1章 機(jī)器學(xué)習(xí)簡介1
1.1 機(jī)器學(xué)習(xí)的起源1
1.2 機(jī)器學(xué)習(xí)的使用與濫用3
1.2.1 機(jī)器學(xué)習(xí)的成功使用3
1.2.2 機(jī)器學(xué)習(xí)的限制4
1.2.3 機(jī)器學(xué)習(xí)的倫理方面5
1.3 機(jī)器如何學(xué)習(xí)6
1.3.1 數(shù)據(jù)存儲7
1.3.2 抽象化7
1.3.3 一般化9
1.3.4 評估10
1.4 實(shí)踐中的機(jī)器學(xué)習(xí)11
1.4.1 輸入數(shù)據(jù)的類型11
1.4.2 機(jī)器學(xué)習(xí)算法的類型12
1.4.3 為輸入數(shù)據(jù)匹配算法14
1.5 使用R進(jìn)行機(jī)器學(xué)習(xí)15
1.5.1 安裝R添加包15
1.5.2 載入和卸載R添加包16
1.6 總結(jié)16
第2章 數(shù)據(jù)的管理和理解18
2.1 R數(shù)據(jù)結(jié)構(gòu)18
2.1.1 向量18
2.1.2 因子20
2.1.3 列表21
2.1.4 數(shù)據(jù)框23
2.1.5 矩陣和數(shù)組25
2.2 用R管理數(shù)據(jù)27
2.2.1 保存、載入和移除R數(shù)據(jù)結(jié)構(gòu)27
2.2.2 用CSV文件導(dǎo)入和保存數(shù)據(jù)28
2.3 探索和理解數(shù)據(jù)29
2.3.1 探索數(shù)據(jù)的結(jié)構(gòu)29
2.3.2 探索數(shù)值變量30
2.3.3 探索分類變量38
2.3.4 探索變量之間的關(guān)系40
2.4 總結(jié)43
第3章 懶惰學(xué)習(xí)—使用近鄰分類44
3.1 理解近鄰分類44
3.1.1 kNN算法45
3.1.2 為什么kNN算法是懶惰的50
3.2 例子—用kNN算法診斷乳腺癌51
3.2.1 第1步—收集數(shù)據(jù)51
3.2.2 第2步—探索和準(zhǔn)備數(shù)據(jù)52
3.2.3 第3步—基于數(shù)據(jù)訓(xùn)練模型55
3.2.4 第4步—評估模型的性能56
3.2.5 第5步—提高模型的性能57
3.3 總結(jié)59
第4章 概率學(xué)習(xí)—樸素貝葉斯分類60
4.1 理解樸素貝葉斯60
4.1.1 貝葉斯方法的基本概念61
4.1.2 樸素貝葉斯算法65
4.2 例子—基于貝葉斯算法的手機(jī)垃圾短信過濾69
4.2.1 第1步—收集數(shù)據(jù)69
4.2.2 第2步—探索和準(zhǔn)備數(shù)據(jù)70
4.2.3 第3步—基于數(shù)據(jù)訓(xùn)練模型81
4.2.4 第4步—評估模型的性能82
4.2.5 第5步—提高模型的性能83
4.3 總結(jié)84
第5章 分而治之—應(yīng)用決策樹和規(guī)則進(jìn)行分類85
5.1 理解決策樹85
5.1.1 分而治之86
5.1.2 C5.0決策樹算法89
5.2 例子—使用C5.0決策樹識別高風(fēng)險(xiǎn)銀行貸款91
5.2.1 第1步—收集數(shù)據(jù)92
5.2.2 第2步—探索和準(zhǔn)備數(shù)據(jù)92
5.2.3 第3步—基于數(shù)據(jù)訓(xùn)練模型94
5.2.4 第4步—評估模型的性能97
5.2.5 第5步—提高模型的性能97
5.3 理解分類規(guī)則101
5.3.1 獨(dú)立而治之101
5.3.2 1R算法103
5.3.3 RIPPER算法104
5.3.4 來自決策樹的規(guī)則105
5.3.5 什么使決策樹和規(guī)則貪婪106
5.4 例子—應(yīng)用規(guī)則學(xué)習(xí)算法識別有毒的蘑菇108
5.4.1 第1步—收集數(shù)據(jù)108
5.4.2 第2步—探索和準(zhǔn)備數(shù)據(jù)108
5.4.3 第3步—基于數(shù)據(jù)訓(xùn)練模型109
5.4.4 第4步—評估模型的性能111
5.4.5 第5步—提高模型的性能112
5.5 總結(jié)114
第6章 預(yù)測數(shù)值型數(shù)據(jù)—回歸方法115
6.1 理解回歸115
6.1.1 簡單線性回歸117
6.1.2 普通最小二乘估計(jì)119
6.1.3 相關(guān)性120
6.1.4 多元線性回歸121
6.2 例子—應(yīng)用線性回歸預(yù)測醫(yī)療費(fèi)用124
6.2.1 第1步—收集數(shù)據(jù)124
6.2.2 第2步—探索和準(zhǔn)備數(shù)據(jù)125
6.2.3 第3步—基于數(shù)據(jù)訓(xùn)練模型129
6.2.4 第4步—評估模型的性能131
6.2.5 第5步—提高模型的性能132
6.3 理解回歸樹和模型樹134
6.4 例子—用回歸樹和模型樹估計(jì)葡萄酒的質(zhì)量136
6.4.1 第1步—收集數(shù)據(jù)137
6.4.2 第2步—探索和準(zhǔn)備數(shù)據(jù)137
6.4.3 第3步—基于數(shù)據(jù)訓(xùn)練模型139
6.4.4 第4步—評估模型的性能142
6.4.5 第5步—提高模型的性能143
6.5 總結(jié)145
第7章 黑箱方法—神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)147
7.1理解神經(jīng)網(wǎng)絡(luò)147
7.1.1從生物神經(jīng)元到人工神經(jīng)元148
7.1.2激活函數(shù)149
7.1.3網(wǎng)絡(luò)拓?fù)?51
7.1.4用后向傳播訓(xùn)練神經(jīng)網(wǎng)絡(luò)154
7.2例子—用人工神經(jīng)網(wǎng)絡(luò)對混凝土的強(qiáng)度進(jìn)行建模155
7.2.1第1步—收集數(shù)據(jù)155
7.2.2第2步—探索和準(zhǔn)備數(shù)據(jù)156
7.2.3第3步—基于數(shù)據(jù)訓(xùn)練模型157
7.2.4第4步—評估模型的性能159
7.2.5第5步—提高模型的性能159
7.3理解支持向量機(jī)161
7.3.1用超平面分類161
7.3.2對非線性空間使用核函數(shù)164
7.4例子—用支持向量機(jī)進(jìn)行光學(xué)字符識別166
7.4.1第1步—收集數(shù)據(jù)166
7.4.2第2步—探索和準(zhǔn)備數(shù)據(jù)167
7.4.3第3步—基于數(shù)據(jù)訓(xùn)練模型168
7.4.4第4步—評估模型的性能170
7.4.5第5步—提高模型的性能171
7.5總結(jié)172
第8章 探尋模式—基于關(guān)聯(lián)規(guī)則的購物籃分析173
8.1理解關(guān)聯(lián)規(guī)則173
8.1.1用于關(guān)聯(lián)規(guī)則學(xué)習(xí)的Apriori算法174
8.1.2度量規(guī)則興趣度—支持度和置信度175
8.1.3用Apriori原則建立規(guī)則176
8.2例子—用關(guān)聯(lián)規(guī)則確定經(jīng)常一起購買的食品雜貨177
8.2.1第1步—收集數(shù)據(jù)177
8.2.2第2步—探索和準(zhǔn)備數(shù)據(jù)178
8.2.3第3步—基于數(shù)據(jù)訓(xùn)練模型183
8.2.4第4步—評估模型的性能185
8.2.5第5步—提高模型的性能187
8.3總結(jié)190
第9章 尋找數(shù)據(jù)的分組—k均值聚類191
9.1理解聚類191
9.1.1聚類—一種機(jī)器學(xué)習(xí)任務(wù)192
9.1.2k均值聚類算法193
9.2例子—用k均值聚類探尋青少年市場細(xì)分198
9.2.1第1步—收集數(shù)據(jù)199
9.2.2第2步—探索和準(zhǔn)備數(shù)據(jù)199
9.2.3第3步—基于數(shù)據(jù)訓(xùn)練模型203
9.2.4第4步—評估模型的性能205
9.2.5第5步—提高模型的性能207
9.3總結(jié)208