本書重點講解數據科學的核心理論與代表性實踐,在編寫過程中充分借鑒了國外著名大學設立的相關課程以及全球暢銷的外文專著,而且也考慮到了國內相關課程定位與專業人才的培養需求。
全書共包括8個部分: 數據科學的基礎理論、理論基礎、流程與方法、技術與工具、數據產品及開發、典型案例及實踐、R語言學習筆記與參考手冊以及數據科學的重要資源。
本書的讀者范圍廣,可以滿足數據科學與大數據技術、計算機科學與技術、管理工程、工商管理、數據統計、數據分析、信息管理與信息系統等多個專業的老師、學生(含碩士生和博士生)的教學與自學需要。作者以本教材為基礎,將提供MOOC公開課,助力培養數據科學領域的人才。
朝樂門老師的《數據科學理論與實踐》是一本值得推薦的優秀教材。
陳國良(中國科學院院士)
朝老師的《數據科學理論與實踐》是一本通俗易懂且充滿智慧,讀了之后有收獲與感動的精品教材,讓我覺得相見恨晚!
龐艷蓓(哥倫比亞大學碩士研究生/中國人民大學本科生)
Data Science is transforming every sphere of human endeavor. His book is an invaluable resource to anyone who wants to create the future. (數據科學正在改變著人類探索的每一個領域。對于致力于創造未來的人們,朝樂門老師的這本書是無價之寶。)
Leon Katsnelson (IBM全球戰略合作總監與數據科學社區首席技術官)
序
大數據時代的到來催生了一門新學科——數據科學,并在全球范圍內引發了相關課程和專業建設的大討論。核心教材的開發是課程設計與專業建設的關鍵環節。作為一門新興學科,數據科學與大數據技術類課程亟待一批優秀教材來揭示其核心理論體系及代表性實踐。為此,全國高校大數據教育聯盟于2016年牽頭成立數據科學與大數據技術教材專家指導委員會,并特邀中國人民大學朝樂門老師主持《數據科學理論與實踐》一書的編寫工作。
不負眾望,朝樂門老師完成了一本極具特色的、高水平優秀教材。本書的主要特色包括以下四點。
一是堅持系統性與重點突出并重。本書并不是相關知識的簡單匯編,不僅給出了數據科學的知識體系,而且還重點講解了一些關鍵細節性知識和新知識,如數據產品開發、數據加工、數據故事化描述和數據連續性保障等。
二是重視理論與實踐相結合。數據科學是一門實踐性很強的課程,不但需要扎實的理論功底,而且還要具備豐富的實戰經驗。為此,本書吸收了國內外重要的研究進展與實踐經驗。
三是遵循教與學的規律。每章的開始和結尾之處分別給出了“如何開始學習”和“如何繼續學習”,并以圖表、小故事形式解讀重要知識點,使得原本有所“枯燥”的課程變得“有趣”,不僅提升了教材的可讀性,更重要的是培養了學生的學習信心與興趣。
四是力爭繼承與創新相結合。本書不僅吸收了國內外相關領域的最新研究成果,而且結合作者自己的研究,有很強的系統性和前瞻性,體現了作者的科學態度、堅實理論功底和獨到見解。
繼《數據科學》一書出版以來,朝樂門老師專注于數據科學與大數據技術的研究,在數據科學理論與實踐方面做出了諸多有益探索。他的認真負責、開拓進取、刻苦鉆研的做事態度值得鼓勵。在此,也希望更多的專家學者加入數據科學隊伍之中,本書將是帶您走進數據科學與大數據技術之門的金鑰匙。
朝樂門,1979年生,中國人民大學數據工程與知識工程教育部重點實驗室、信息資源管理學院副教授,博士生導師;章魚大數據首席數據科學家;中國計算機學會信息系統專委員會委員、ACM高級會員、國際知識管理協會正式委員、全國高校大數據教育聯盟大數據教材專家指導委員會委員;主持完成國家自然科學基金、國家社會科學基金等重要科學研究項目10余項;參與完成核高基、973、863、國家自然科學基金重點項目、國家社會科學基金重大項目等國家重大科研項目10余項;獲得北京市中青年骨干教師稱號、國際知識管理與智力資本杰出成就獎、Emerald/EFMD國際杰出博士論文獎、國家自然科學基金項目優秀項目、中國大數據學術創新獎、中國大數據創新百人榜單、中國人民大學優秀博士論文獎等多種獎勵30余項。朝樂門是我國第一部系統闡述數據科學理念、理論、方法、技術和工具的重要專著——《數據科學》(清華大學出版社,2016)的作者,也是數據科學與大數據技術專業*個領域本體“DataScienceOntology”研發團隊的總負責人。
第1章基礎理論
如何開始學習
1.1術語定義
1.2研究目的
1.3發展簡史
1.4理論體系
1.5基本原則
1.6數據科學家
如何繼續學習
習題
參考文獻
第2章理論基礎
如何開始學習
2.1數據科學的學科地位
2.2統計學
2.3機器學習
2.4數據可視化
如何繼續學習
習題
參考文獻
第3章流程與方法
如何開始學習
3.1基本流程
3.2數據加工
3.3數據審計
3.4數據分析
3.5數據可視化
3.6數據故事化
3.7項目管理
如何繼續學習
習題
參考文獻
第4章技術與工具
如何開始學習
4.1技術體系
4.2MapReduce
4.3Hadoop
4.4Spark
4.5NoSQL與NewSQL
4.6R與Python
4.7發展趨勢
如何繼續學習
習題
參考文獻
第5章數據產品及開發
如何開始學習
5.1定義
5.2主要特征
5.3關鍵活動
5.4數據柔術
5.5數據能力
5.6數據戰略
5.7數據治理
如何繼續學習
習題
參考文獻
第6章典型案例及實踐
如何開始學習
6.12012年美國總統大選
6.2統計分析
6.3機器學習
6.4數據可視化
6.5SparkR編程
如何繼續學習
習題
參考文獻
附錄AR語言學習筆記與參考手冊
學習與參考指南
1. R變量定義方法
2. R語句的寫法
3. R中的賦值語句
4. R的文件讀寫路徑——當前工作目錄
5. R的變量查找機制——搜索路徑
6. R中查看幫助的方法
7. R區分大小寫字母
8. R的注釋
9. R的語句
10. R中的變量命名規范
11. R中的關鍵字/保留字
12. R中的默認數據類型
13. R中數據類型的判斷與強制類型轉換
14. R中的向量
15. R中的列表
16. R中的數據框
17. R中的因子類型
18. R中的循環語句
19. R中的選擇語句
20. R中的特殊運算符
21. R中的快速生成數列的方法
22. R中自定義函數
23. R中常用的數學函數
24. R中的字符串處理函數
25. R中的常用統計函數
26. R中的隨機數
27. R包的用法
28. R中的矩陣
29. R中的數組
30. R中的面向對象編程
31. R中的S4類
32. R中的數據可視化
33. R的輸入輸出
34. R中的正則表達式
35. R的數據集
36. R第三方包——R的靈魂
37. 基于R的數據加工
附錄B數據科學的重要資源
1. 學術期刊
2. 國際會議
3. 研究機構
4. 課程資源
5. 碩士學位項目
6. 專家學者
7. 相關工具
附錄C術語索引
后記
圖目錄
圖11DIKW金字塔2
圖12數據與數值的區別3
圖13大數據的本質4
圖14大數據的特征5
圖15DIKUW模型及應用8
圖16數據洞見8
圖17業務數據化與數據業務化9
圖18常用驅動方式9
圖19數據的層次性9
圖110大數據生態系統10
圖111Gartner技術成熟度曲線11
圖112數據科學的萌芽期(1974—2009年)11
圖113數據科學的快速發展期(2010—2013年)12
圖114數據科學的逐漸成熟期(2014年至今)13
圖115數據科學的理論體系14
圖116數據科學的主要內容15
圖117數據科學的“三世界原則”16
圖118數據科學的“三個要素”及“3C精神”17
圖119數據范式與知識范式的區別18
圖120數據管理范式的變化18
圖121大數據的資產屬性19
圖122常用驅動方式20
圖123CAPTCHA項目21
圖124ReCAPTCHA項目21
圖125數據與算法之間的關系22
圖126BellKors Pragmatic Chaos團隊獲得Netflix獎23
圖127Netflix獎公測結果23
圖128RStudio中編輯Markdown的窗口25
圖129數據科學家團隊28
圖130學習數據科學的四則原則29
圖21數據科學的理論基礎35
圖22統計方法的分類(目的與思路視角)37
圖23統計學中的數據推斷37
圖24數據統計方法的類型(方法論視角)38
圖25數據統計基本方法38
圖26元分析與基本分析39
圖27GFT預測與美國疾病控制中心數據的對比40
圖28GFT估計與實際數據的誤差(2013年2月)40
圖29大數據時代的思維模式的轉變41
圖210西洋雙陸棋42
圖211自動駕駛42
圖212機器學習的基本思路42
圖213機器學習的三要素44
圖214機器學習的類型45
圖215KNN算法的基本步驟46
圖216決策樹示例——識別鳥類48
圖217感知器示例50
圖218前向神經網絡50
圖219歸納學習與分析學習52
圖220增強學習53
圖221IBM Watson54
圖222Pepper機器人54
圖223機器學習及其應用55
圖224Anscombe四組數據的可視化57
圖225John Snow的鬼地圖(Ghost Map)58
圖31數據科學的基本流程62
圖32量化自我63
圖33整齊數據與干凈數據的區別64
圖34整齊數據示意圖64
圖35殘差67
圖36數據分析的類型68
圖37Analytics 1.0~3.069
圖38數據加工方法70
圖39數據審計與數據清洗71
圖310缺失數據的處理步驟72
圖311冗余數據的處理方法72
圖312數據分箱處理的步驟與類型73
圖313均值平滑與邊界值平滑74
圖314內容集成76
圖315結構集成76
圖316數據脫敏處理77
圖317數據連續性的定義及重要性81
圖318可視化審計82
圖319Gartner分析學價值扶梯模型83
圖320冰激凌的銷量與謀殺案的發生數量84
圖321數據分析的類型86
圖322拿破侖進軍俄國慘敗而歸的歷史事件的可視化87
圖323可視化分析學的相關學科87
圖324可視化分析學模型88
圖325數據可視化的方法體系89
圖326視覺圖形元素與視覺通道89
圖327雷達圖示例89
圖328齊美爾連帶89
圖329視覺隱喻的示例——美國政府機構的設置90
圖330地鐵路線圖的創始人Henry Beck91
圖331Henry Beck的倫敦地鐵線路圖91
圖332視覺突出的示例92
圖333完圖法則的示例92
圖334視覺通道的選擇與展示94
圖335視覺通道的精確度對比94
圖336視覺通道的可辨認性——某公司產品銷售示意圖95
圖337視覺通道的可分離性差95
圖338上下文導致視覺假象196
圖339上下文導致視覺假象296
圖340對亮度和顏色的相對判斷容易造成視覺假象的示例96
圖341數據可視化與數據故事化描述97
圖342數據的故事化描述及故事的展現98
圖343項目管理的主要內容101
圖344數據科學項目的基本流程102
圖41大數據產業全景圖107
圖42基礎設施108
圖43分析工具109
圖44企業應用109
圖45行業應用110
圖46跨平臺基礎設施和分析工具110
圖47開源系統111
圖48數據源與Apps111
圖49數據資源111
圖410MapReduce執行過程113
圖411MapReduce對中間數據的處理116
圖412以MapReduce為核心和以YARN為核心的軟件棧對比118
圖413下一代MapReduce框架118
圖414Apache Hadoop官網119
圖415Apache Hadoop生態系統119
圖416Hadoop MapReduce數據處理流程121
圖417Apache Hive官網122
圖418Apache Pig官網123
圖419Apache Mahout官網124
圖420Apache HBase官網125
圖421HBase與Hadoop項目125
圖422HBase邏輯模型126
圖423Apache Zookeeper官網127
圖424Apache Flume官網127
圖425Apache Sqoop官網128
圖426Spark 技術架構130
圖427Spark執行流程130
圖428Spark Scheduler134
圖429傳統關系數據庫的優點與缺點136
圖430關系數據庫與NoSQL數據庫之間的關系138
圖431NoSQL數據分布的兩個基本途徑139
圖432分片處理140
圖433主從復制141
圖434對等復制142
圖435數據不一致性142
圖436CAP理論143
圖437Memcached官網146
圖438一致性散列的分配方式147
圖439服務器增加時的變化147
圖440計算模式的演變150
圖441數據管理的新變化152
圖51數據產品開發中的數據與數據柔術157
圖52數據產品開發與數據柔術160
圖53數據產品的多樣性160
圖54數據產品的層次性161
圖55Google全球商機洞察(Global Market Finder)162
圖56數據產品鏈162
圖57傳統產品開發與數據產品開發的區別163
第5章數據產品及開發
如何開始學習
【學習目的】
【掌握】 數據產品的類型、特征及開發方法
【理解】 數據能力評估方法、數據治理的主要內容、數據柔術的基本思想
【了解】 數據戰略的制定要求
【學習重點】
數據產品的開發方法
數據能力的評估方法
數據治理的重要內容
數據柔術的基本思想
【學習難點】
數據產品的設計
數據柔術的基本思想
DMM模型的應用
【學習問答】
序號我提出的疑問本章中的答案
1數據產品是什么?與傳統產品之間的區別是什么?定義(5.1)、特征(5.2)
2如何開發數據產品?關鍵活動(5.3)、數據柔術(5.4)、數據能力(5.5)、數據戰略(5.6)、數據治理(5.7)
3數據產品開發需要具備哪些基本功?數據柔術(5.4)、數據能力評估(5.5)、數據戰略制定(5.6)、數據治理方法(5.7)
4數據管理與數據治理的區別是什么?數據治理與數據管理的區別(5.7)
5數據柔術是什么?如何掌握數據柔術?數據柔術(5.4)
6如何評估一個組織機構的數據管理能力?數據能力(5.5)
7如何制定一個機構的大數據戰略?數據戰略(5.6)
5.1定義
數據產品(Data Products)是指“能夠通過數據來幫助用戶實現其某一個(些)目標的產品”。數據產品是在數據科學項目中形成,能夠被人、計算機以及其他軟硬件系統消費、調用或使用,并滿足他們(它們)某種需求的任何東西,包括數據集、文檔、知識庫、應用系統、硬件系統、服務、洞見、決策及它們的各種組合。需要注意的是:
數據產品開發涉及數據科學項目流程的全部活動,數據產品不僅包括數據科學項目的最終產品,而且也包括其中間產品以及副產品。例如,本書圖31所示的數據科學的基本流程中的每個活動產生的中間產品均可稱之為“數據產品”。
與傳統物質產品不同的是,數據產品的消費者不僅限于人類用戶,而且還包括計算機以及其他軟硬件系統。其實,數據產品被計算機以及其他軟/硬件系統調用和“消費”的過程是“數據轉換為能源和材料的過程”,進而可以推動信息化和工業化深度融合。
數據產品的存在形式有多種,不僅包括數據集,而且還包括文檔、知識庫、應用系統、硬件系統、服務、洞見、決策或它們的組合。
從數據流的視角看,“數據產品的開發過程”是一個“數據加工(Data Wrangling或Data Munging)”的過程。通常,數據產品開發需要一種特殊的方法和技術——數據柔術(Data Jujitsu),如圖51所示。
圖51數據產品開發中的數據與數據柔術
1. 數據加工(Data Wrangling或Data Munging)
數據產品開發的關鍵環節是數據加工。從實現方式看,數據加工是一種數據轉換過程,可分為單維度轉換和多維度轉換。
單維度轉換。在數據加工過程中,從結構化程度、加工程度和復雜化程度等多個維度(圖51)中選擇某一維度,并在此維度上進行數據轉換。例如,將非結構化數據轉換為結構化數據。
多維度轉換。數據加工的工作中也可以在不同維度之間進行轉換,例如將零次半結構化數據轉換為二次結構化數據。
需要注意的是,數據科學中的數據加工不完全等同于傳統意義上的數據轉換。二者的主要區別在于: 數據加工過程更強調的是將數據科學家的3C精神融入到數據轉換過程,追求的是數據處理過程的創新與增值,如表51所示。
……