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