本書從R語(yǔ)言的使用出發(fā),在重點(diǎn)介紹R語(yǔ)言編程基礎(chǔ)、操作、可視化、統(tǒng)計(jì)、高性能計(jì)算和機(jī)器學(xué)習(xí)的同時(shí),注重實(shí)踐能力的培養(yǎng)和數(shù)據(jù)分析與挖掘素質(zhì)的全面提高。本書分為統(tǒng)計(jì)分析基礎(chǔ)和機(jī)器學(xué)習(xí)實(shí)踐兩部分,共12章,內(nèi)容包括R語(yǔ)言概述、數(shù)據(jù)訪問(wèn)、數(shù)據(jù)操作、數(shù)據(jù)可視化、概率與分布、基本統(tǒng)計(jì)分析、回歸分析、方差分析、大數(shù)據(jù)高性能計(jì)算、機(jī)器學(xué)習(xí)流程、有監(jiān)督學(xué)習(xí)模型、無(wú)監(jiān)督學(xué)習(xí)模型。本書的重點(diǎn)是讓學(xué)生了解R語(yǔ)言數(shù)據(jù)分析與挖掘的基本技能和操作方法,并與數(shù)據(jù)分析與挖掘的典型方法、算法和應(yīng)用場(chǎng)景結(jié)合。本書內(nèi)容豐富、體系新穎、結(jié)構(gòu)合理、文字精練,適合作為普通高等院校信息類、管理類和數(shù)學(xué)統(tǒng)計(jì)類專業(yè)的R語(yǔ)言數(shù)據(jù)分析與挖掘課程的教材,也可作為數(shù)據(jù)科學(xué)行業(yè)相關(guān)從業(yè)人員的自學(xué)用書。
本書適合應(yīng)用型本數(shù)據(jù)科學(xué)與大數(shù)據(jù)教學(xué)的R語(yǔ)言核心課,內(nèi)容安排合理,適合零基礎(chǔ)要求,理論與案例相結(jié)合。
隨著信息技術(shù)的普及和應(yīng)用,各行各業(yè)產(chǎn)生了大量的數(shù)據(jù),人們持續(xù)不斷地探索處理這些數(shù)據(jù)的方法,以期大
限度地從中挖掘有用信息。面對(duì)如潮水般不斷增加的數(shù)據(jù),人們不再滿足于數(shù)據(jù)的查詢和統(tǒng)計(jì)分析,而是期望從數(shù)據(jù)中提取信息或者知識(shí)為決策服務(wù)。數(shù)據(jù)挖掘技術(shù)突破數(shù)據(jù)分析技術(shù)的種種局限,結(jié)合統(tǒng)計(jì)學(xué)、數(shù)據(jù)庫(kù)、機(jī)器學(xué)習(xí)等技術(shù)解決從數(shù)據(jù)中發(fā)現(xiàn)新的信息并輔助決策這一難題,是正在飛速發(fā)展的前沿學(xué)科。近年來(lái),隨著教育部新工科建設(shè)的不斷推進(jìn),大數(shù)據(jù)技術(shù)受到廣泛的關(guān)注,數(shù)據(jù)挖掘作為大數(shù)據(jù)技術(shù)的重要實(shí)現(xiàn)手段,能夠挖掘數(shù)據(jù)的關(guān)聯(lián)規(guī)則、實(shí)現(xiàn)數(shù)據(jù)的分類、聚類、異常檢測(cè)和時(shí)間序列分析等,解決商務(wù)管理、生產(chǎn)控制、市場(chǎng)分析、工程設(shè)計(jì)和科學(xué)探索等各行各業(yè)中的數(shù)據(jù)分析與信息挖掘問(wèn)題。
R語(yǔ)言是一種通用的統(tǒng)計(jì)計(jì)算和數(shù)據(jù)可視化開源軟件環(huán)境和編程語(yǔ)言,具有高度可擴(kuò)展性。R語(yǔ)言同時(shí)支持Linux、Windows和Mac操作系統(tǒng)。R語(yǔ)言的前身為貝爾實(shí)驗(yàn)室研發(fā)的S語(yǔ)言。1992年由新西蘭奧克蘭大學(xué)的Ross Ihaka和Robert Gentleman創(chuàng)建,并以他們的名字首字母作為項(xiàng)目名稱。2007年Revolution Analytics公司成立,對(duì)R語(yǔ)言做商用支持,2015年1月被Microsoft收購(gòu)。
1997年,R語(yǔ)言正式開源,吸引了世界范圍內(nèi)各行業(yè)的代碼貢獻(xiàn)者,實(shí)現(xiàn)各種各樣的數(shù)據(jù)分析方法。截至2018年11月,CRAN(the Comprehensive R Archive Network)官方收錄了13 328個(gè)算法庫(kù),常用的包括:
數(shù)據(jù)加載:RODBC、RMySQL、RSQLite、XLConnect、xlsx、foreign;
數(shù)據(jù)處理:dplyr、tidyr、stringr、lubridate;
數(shù)據(jù)可視化:ggplot2、ggvis、rgl、htmlwidgets、googleVis;
數(shù)據(jù)建模:car、mgcv、nlme、randomForest、multcomp、glmnet、survival、caret、mlr;
數(shù)據(jù)報(bào)告:shiny、xtable;
空間數(shù)據(jù):sp、maptools、maps、ggmap;
時(shí)間序列和金融數(shù)據(jù):zoo、xts、quantmod;
高性能計(jì)算:Rcpp、data.table、parallel;
網(wǎng)頁(yè)數(shù)據(jù):XML、jsonlite、httr。
截至本書出版,共有283所高校獲批數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè),其中985及211高校占比達(dá)13%。目前,國(guó)內(nèi)數(shù)據(jù)人才缺口更是達(dá)到百萬(wàn)級(jí)。由于其開源性、易用性和強(qiáng)大的數(shù)據(jù)分析能力,R語(yǔ)言已成為世界范圍內(nèi)應(yīng)用廣泛的數(shù)據(jù)科學(xué)工具和語(yǔ)言之一。目前,R語(yǔ)言數(shù)據(jù)分析與挖掘逐漸成為高校信息類、管理類和數(shù)學(xué)統(tǒng)計(jì)類專業(yè)的必修課程內(nèi)容,同時(shí),作為面向各專業(yè)的通識(shí)課也廣受歡迎。
本書作為立足于應(yīng)用型本科數(shù)據(jù)科學(xué)與大數(shù)據(jù)教學(xué)的R語(yǔ)言核心課教材,具有如下特色:
(1)內(nèi)容安排合理且全面,從R語(yǔ)言的基本編程、數(shù)據(jù)處理、數(shù)據(jù)可視化、統(tǒng)計(jì)分析到高性能計(jì)算和機(jī)器學(xué)習(xí),循序漸進(jìn),深入淺出。
(2)難度適中,適合作為本科中高年級(jí)的核心課教材,零基礎(chǔ)要求,對(duì)編程及數(shù)學(xué)知識(shí)不作為必要基礎(chǔ)。
(3)理論與案例相結(jié)合,理論與實(shí)踐相結(jié)合,包含了泰坦尼克號(hào)乘客生存分析、航班準(zhǔn)點(diǎn)數(shù)據(jù)處理、鳶尾花數(shù)據(jù)建模等實(shí)踐案例。
本書全面介紹了R語(yǔ)言的基本編程、數(shù)據(jù)處理、數(shù)據(jù)可視化、統(tǒng)計(jì)分析到高性能計(jì)算和機(jī)器學(xué)習(xí),主要內(nèi)容分為以下兩部分:
第一部分:統(tǒng)計(jì)分析基礎(chǔ)。第1章為R語(yǔ)言概述,包括R語(yǔ)言的相關(guān)背景、基本概念和基本操作等。第2章為數(shù)據(jù)訪問(wèn),包括基本數(shù)據(jù)類型、數(shù)據(jù)的輸入和輸出等。第3章為數(shù)據(jù)操作,包括數(shù)據(jù)的缺失值處理、轉(zhuǎn)換、合并和取子集等。第4章為數(shù)據(jù)可視化,包括各種圖形元素的繪制和各種圖表的繪制。第5章為概率與分布,包括常用概率和中心極限定理。第6章為基本統(tǒng)計(jì)分析,包括描述性統(tǒng)計(jì)分析、相關(guān)性和常用檢驗(yàn)等。第7章為回歸分析,包括OLS回歸和回歸診斷等。第8章為方差分析,包括ANOVA模型、單因素和多元方差分析等。
第二部分:機(jī)器學(xué)習(xí)實(shí)踐。第9章為大數(shù)據(jù)高性能計(jì)算,包括大數(shù)據(jù)的選擇、聚合、引用、篩選、連接和變形等。第10章為機(jī)器學(xué)習(xí)流程,包括數(shù)據(jù)探索、劃分、填充、特征選擇、建模調(diào)優(yōu)和測(cè)試評(píng)估等。第11章主要介紹常用的有監(jiān)督學(xué)習(xí)模型,包括線性、樸素貝葉斯、k近鄰、決策樹、隨機(jī)森林、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等。第12章主要介紹常用的無(wú)監(jiān)督學(xué)習(xí)模型,包括k均值聚類、DBSCAN聚類、AGNES層次聚類和關(guān)聯(lián)分析模型等。
本書由杜賓、錢亮宏、黃勃和高永彬編著。具體分工如下:杜賓編寫第1章到第8章,黃勃編寫第9章,錢亮宏編寫第10章和第11章,高永彬編寫第12章。全書由方志軍、范磊和許華根主審。感謝孫冉、沈燁和周恒對(duì)本書的貢獻(xiàn)。
由于編者水平有限,加之時(shí)間倉(cāng)促,書中難免存在疏漏和不足之處,敬請(qǐng)老師和同學(xué)批評(píng)指正。
編者
2018年11月
杜賓,男,教授,就職于江西財(cái)經(jīng)大學(xué)。管理科學(xué)與工程專業(yè)博士,1971年10月出生,江西吉安人。主要從事信息系統(tǒng)、機(jī)器學(xué)習(xí)、管理決策、數(shù)據(jù)分析等領(lǐng)域的研究,主講課程包括R語(yǔ)言數(shù)據(jù)分析基礎(chǔ)、計(jì)算機(jī)應(yīng)用技術(shù)、運(yùn)營(yíng)管理等。錢亮宏,男,畢業(yè)于上海交通大學(xué)電子信息與電氣工程學(xué)院,1989年8月出生,擁有10年R語(yǔ)言使用經(jīng)驗(yàn),一直奮戰(zhàn)在數(shù)據(jù)分析與挖掘領(lǐng)域的第一線,作為金融和互聯(lián)網(wǎng)行業(yè)資深數(shù)據(jù)挖掘?qū)<。黃勃:博士,講師,2014年12月武漢大學(xué)博士畢業(yè)入職上海工程技術(shù)大學(xué),主講了8門本科課程。研究方向?yàn)檐浖こ蹋瑱C(jī)器學(xué)習(xí),人工智能。發(fā)表學(xué)術(shù)論文30多篇,其中SCI,EI、ISTP三大檢索20篇;獲發(fā)明專利和軟件著作權(quán)5項(xiàng),省部級(jí)科技進(jìn)步獎(jiǎng)2項(xiàng);2016年獲批國(guó)家自然科學(xué)基金一項(xiàng)。高永彬:博士、講師,就職于上海工程技術(shù)大學(xué),博士畢業(yè)于韓國(guó)全北國(guó)立大學(xué),在模式識(shí)別、機(jī)器學(xué)習(xí)領(lǐng)域積累了大量的研究與實(shí)戰(zhàn)經(jīng)驗(yàn)。特別地,在基于深度學(xué)習(xí)技術(shù)的人臉識(shí)別以及車型檢測(cè)技術(shù)進(jìn)行了深入地研究,發(fā)表了近30篇期刊/會(huì)議論文,取得了豐厚的研究成果,發(fā)表在包括Information Sciences, Pattern Recognition Letters等高水平期刊中,其中SCI收錄5篇,EI收錄4篇。
第一部分
統(tǒng)計(jì)分析基礎(chǔ)
第1章
概述1
1.1 為什么使用R語(yǔ)言2
1.2 R的安裝 3
1.3 RStudio集成環(huán)境 4
1.4 R的基礎(chǔ)操作 4
1.5包 9
1.6 結(jié)果的重用性 10
1.7 綜合示例 11
1.8 大數(shù)據(jù)處理 11
1.9 數(shù)據(jù)挖掘 13
小結(jié) 16
習(xí)題 16
第2章
數(shù)據(jù)訪問(wèn) 17
2.1數(shù)據(jù)集合 17
2.2數(shù)據(jù)結(jié)構(gòu) 18
2.3數(shù)據(jù)的輸入 27
2.4數(shù)據(jù)的輸出 35
2.5數(shù)據(jù)集的標(biāo)注 36
2.6處理數(shù)據(jù)對(duì)象的實(shí)用函數(shù)36
小結(jié) 37
習(xí)題 37
第3章
數(shù)據(jù)操作 39
3.1一個(gè)示例 39
3.2創(chuàng)建新變量 41
3.3變量的重編碼 42
3.4變量的重命名 43
3.5缺失值 44
3.6日期型數(shù)據(jù) 46
3.7類型轉(zhuǎn)換 48
3.8數(shù)據(jù)排序 49
3.9數(shù)據(jù)集的合并 49
3.10數(shù)據(jù)集取子集 50
3.11使用SQL 語(yǔ)句操作數(shù)據(jù)框53
3.12一個(gè)數(shù)據(jù)處理難題 53
3.13數(shù)值和字符處理函數(shù) 54
3.14數(shù)據(jù)處理難題的一套解決方案61
3.15控制語(yǔ)句 66
3.16自定義函數(shù) 68
3.17重構(gòu)與整合 70
小結(jié) 73
習(xí)題 73
第4章
數(shù)據(jù)可視化 75
4.1創(chuàng)建圖形 75
4.2簡(jiǎn)單示例 77
4.3圖形參數(shù) 78
4.4添加文本、自定義坐標(biāo)軸和圖例83
4.5圖形的組合 89
4.6條形圖 93
4.7餅圖 97
4.8直方圖 99
4.9核密度圖 100
4.10點(diǎn)圖 105
4.11 ggplot2包 107
小結(jié) 116
習(xí)題 116
第5章
概率與分布 117
5.1隨機(jī)抽樣 117
5.2概率分布 118
5.3R的概率分布 122
5.4常用分布的概率函數(shù)圖124
5.5中心極限定理及應(yīng)用 127
小結(jié) 132
習(xí)題 132
第6章
基本統(tǒng)計(jì)分析 133
6.1描述性統(tǒng)計(jì)分析 133
6.2頻數(shù)表和列聯(lián)表 139
6.3相關(guān)系數(shù) 148
6.4檢驗(yàn) 152
6.5組間差異的非參數(shù)檢驗(yàn)154
小結(jié) 157
習(xí)題 157
第7章
回歸分析 159
7.1概論 160
7.2 OLS 回歸 161
7.3回歸診斷 170
7.4異常觀測(cè)值 179
7.5改進(jìn)方法 182
7.6選擇最佳的回歸模型184
7.7深度分析 188
小結(jié) 192
習(xí)題 192
第8章
方差分析 195
8.1 基本概念 195
8.2 ANOVA 模型擬合 196
8.3 單因素方差分析 198
8.4單因素協(xié)方差分析 202
8.5雙因素方差分析 206
8.6重復(fù)測(cè)量方差分析 208
8.7多元方差分析 210
8.8回歸實(shí)現(xiàn)ANOVA 214
小結(jié) 216
習(xí)題 216
第二部分
機(jī)器學(xué)習(xí)實(shí)踐
第9章
大數(shù)據(jù)高性能計(jì)算 218
9.1數(shù)據(jù)選擇 219
9.2數(shù)據(jù)聚合 223
9.3數(shù)據(jù)引用 225
9.4鍵與快速篩選 228
9.5數(shù)據(jù)連接 231
9.6數(shù)據(jù)變形 236
小結(jié) 238
習(xí)題 238
第10章
機(jī)器學(xué)習(xí)流程 239
10.1數(shù)據(jù)探索 240
10.2數(shù)據(jù)劃分 241
10.3數(shù)據(jù)填充 242
10.4特征選擇 246
10.5建模與調(diào)優(yōu) 251
10.6測(cè)試與評(píng)估 257
小結(jié) 260
習(xí)題 260
第11章
有監(jiān)督學(xué)習(xí)模型 261
11.1線性回歸模型 263
11.2邏輯回歸模型 269
11.3線性判別分析模型 275
11.4樸素貝葉斯模型 275
11.5k近鄰模型 275
11.6決策樹模型 284
11.7隨機(jī)森林模型 299
11.8神經(jīng)網(wǎng)絡(luò)模型 309
11.9支持向量機(jī)模型 319
小結(jié) 330
習(xí)題 330
第12章
無(wú)監(jiān)督學(xué)習(xí)模型 331
12.1 k均值聚類模型 333
12.2 DBSCAN聚類模型 341
12.3 AGNES層次聚類模型 346
12.4關(guān)聯(lián)分析模型 351
小結(jié) 357
習(xí)題 357
參考文獻(xiàn) 358