內容簡介
《Apache Spark機器學習》包裝瞭一係列項目“藍圖”,展示瞭Spark可以幫你解決的一些有趣挑戰,讀者在將理論知識實踐於一些實際項目之前,會瞭解到如何使用Sparknotebook,以及如何訪問、清洗和連接不同的數據集,你將在其中瞭解Spark機器學習如何幫助你完成從欺詐檢測到分析客戶流失等各種工作。你還將瞭解如何使用Spark的並行計算能力構建推薦引擎。
目錄
譯者序
前 言
第1章 Spark機器學習簡介 1
1.1 Spark概述和技術優勢 2
1.1.1 Spark概述 2
1.1.2 Spark優勢 3
1.2 在機器學習中應用Spark計算 4
1.3 機器學習算法 5
1.4 MLlib 6
1.5 Spark RDD和DataFrame 8
1.5.1 Spark RDD 8
1.5.2 Spark DataFrame 9
1.5.3 R語言DataFrame API 10
1.5.4 機器學習框架、RM4E和Spark計算 11
1.5.5 機器學習框架 12
1.5.6 RM4E 13
1.5.7 Spark計算框架 13
1.6 機器學習工作流和Spark pipeline 14
1.7 機器學習工作流示例 16
1.8 Spark notebook簡介 19
1.8.1 麵嚮機器學習的notebook方法 19
1.8.2 Spark notebook 21
1.9 小結 22
第2章 Spark機器學習的數據準備 24
2.1 訪問和加載數據集 25
2.1.1 訪問公開可用的數據集 25
2.1.2 加載數據集到Spark 26
2.1.3 數據集探索和可視化 27
2.2 數據清洗 29
2.2.1 處理數據不完備性 30
2.2.2 在Spark中進行數據清洗 31
2.2.3 更簡便的數據清洗 32
2.3 一緻性匹配 33
2.3.1 一緻性問題 33
2.3.2 基於Spark的一緻性匹配 34
2.3.3 實體解析 34
2.3.4 更好的一緻性匹配 35
2.4 數據集重組 36
2.4.1 數據集重組任務 36
2.4.2 使用Spark SQL進行數據集重組 37
2.4.3 在Spark上使用R語言進行數據集重組 38
2.5 數據集連接 39
2.5.1 數據連接及其工具——Spark SQL 39
2.5.2 Spark中的數據集連接 40
2.5.3 使用R語言數據錶程序包進行數據連接 40
2.6 特徵提取 42
2.6.1 特徵開發的挑戰 42
2.6.2 基於Spark MLlib的特徵開發 43
2.6.3 基於R語言的特徵開發 45
2.7 復用性和自動化 45
2.7.1 數據集預處理工作流 46
2.7.2 基於Spark pipeline的數據集預處理 47
2.7.3 數據集預處理自動化 47
2.8 小結 49
第3章 基於Spark的整體視圖 51
3.1 Spark整體視圖 51
3.1.1 例子 52
3.1.2 簡潔快速的計算 54
3.2 整體視圖的方法 55
3.2.1 迴歸模型 56
3.2.2 SEM方法 57
3.2.3 決策樹 57
3.3 特徵準備 58
3.3.1 PCA 59
3.3.2 使用專業知識進行分類分組 59
3.3.3 特徵選擇 60
3.4 模型估計 61
3.4.1 MLlib實現 62
3.4.2 R notebook實現 62
3.5 模型評估 63
3.5.1 快速評價 63
3.5.2 RMSE 64
3.5.3 ROC麯綫 65
3.6 結果解釋 66
3.7 部署 66
3.7.1 儀錶盤 67
3.7.2 規則 68
3.8 小結 68
第4章 基於Spark的欺詐檢測 69
4.1 Spark欺詐檢測 70
4.1.1 例子 70
4.1.2 分布式計算 71
4.2 欺詐檢測方法 72
4.2.1 隨機森林 73
4.2.2 決策樹 74
4.3 特徵提取 74
4.3.1 從日誌文件提取特徵 75
4.3.2 數據閤並 75
4.4 模型估計 76
4.4.1 MLlib實現 77
4.4.2 R notebook實現 77
4.5 模型評價 77
4.5.1 快速評價 78
4.5.2 混淆矩陣和誤報率 78
4.6 結果解釋 79
4.7 部署欺詐檢測 80
4.7.1 規則 81
4.7.2 評分 81
4.8 小結 82
第5章 基於Spark的風險評分 83
5.1 Spark用於風險評分 84
5.1.1 例子 84
5.1.2 Apache Spark notebook 85
5.2 風險評分方法 87
5.2.1 邏輯迴歸 87
5.2.2 隨機森林和決策樹 88
5.3 數據和特徵準備 89
5.4 模型估計 91
5.4.1 在Data Scientist Workbench上應用R notebook 91
5.4.2 實現R notebook 92
5.5 模型評價 93
5.5.1 混淆矩陣 93
5.5.2 ROC分析 93
5.5.3 Kolmogorov-Smirnov檢驗 94
5.6 結果解釋 95
5.7 部署 96
5.8 小結 97
第6章 基於Spark的流失預測 99
6.1 Spark流失預測 99
6.1.1 例子 100
6.1.2 Spark計算 100
6.2 流失預測的方法 101
6.2.1 迴歸模型 102
6.2.2 決策樹和隨機森林 103
6.3 特徵準備 104
6.3.1 特徵提取 104
6.3.2 特徵選擇 105
6.4 模型估計 105
6.5 模型評估 107
6.6 結果解釋 109
6.7 部署 110
6.7.1 評分 111
6.7.2 乾預措施推薦 111
6.8 小結 111
第7章 基於Spark的産品推薦 112
7.1 基於Apache Spark 的産品推薦引擎 112
7.1.1 例子 113
7.1.2 基於Spark平颱的SPSS 114
7.2 産品推薦方法 117
7.2.1 協同過濾 117
7.2.2 編程準備 118
7.3 基於SPSS的數據治理 119
7.4 模型估計 120
7.5 模型評價 121
7.6 産品推薦部署 122
7.7 小結 125
第8章 基於Spark的學習分析 126
8.1 Spark流失預測 127
8.1.1 例子 127
8.1.2 Spark計算 128
8.2 流失預測方法 130
8.2.1 迴歸模型 130
8.2.2 決策樹 131
8.3 特徵準備 131
8.3.1 特徵開發 133
8.3.2 特徵選擇 133
8.4 模型估計 135
8.5 模型評價 137
8.5.1 快速評價 138
8.5.2 混淆矩陣和錯誤率 138
8.6 結果解釋 139
8.6.1 計算乾預影響 140
8.6.2 計算主因子影響 140
8.7 部署 141
8.7.1 規則 141
8.7.2 評分 142
8.8 小結
前言/序言
Preface 前 言 作為數據科學傢和機器學習專業人員,我們的工作是建立模型進行欺詐檢測、預測客戶流失,或者在廣泛的領域將數據轉換為洞見。為此,我們有時需要處理大量的數據和復雜的計算。因此,我們一直對新的計算工具滿懷期待,例如Spark,我們花費瞭很多時間來學習新工具。有很多可用的資料來學習這些新的工具,但這些資料大多都由計算機科學傢編寫,更多的是從計算角度來描述。 作為Spark用戶,數據科學傢和機器學習專業人員更關心新的係統如何幫助我們建立準確度更高的預測模型,如何使數據處理和編程更加簡單。這是本書的寫作目的,也是由數據科學傢來執筆本書的主要原因。 與此同時,數據科學傢和機器學習專業人員已經開發瞭工作框架、處理過程,使用瞭一些較好的建模工具,例如R語言和SPSS。我們瞭解到一些新的工具,例如Spark的MLlib,可以用它們來取代一些舊的工具,但不能全部取代。因此,作為Spark的用戶,將Spark與一些已有的工具共同使用對我們十分關鍵,這也成為本書主要的關注點之一,是本書不同於其他Spark書籍的一個關鍵因素。 整體而言,本書是一本由數據科學傢寫給數據科學傢和機器學習專業人員的Spark參考書,目的是讓我們更加容易地在Spark上使用機器學習。 主要內容第1章,從機器學習的角度介紹Apache Spark。我們將討論Spark DataFrame和R語言、Spark pipeline、RM4E數據科學框架,以及Spark notebook和模型的實現。 第2章,主要介紹使用Apache Spark上的工具進行機器學習數據準備,例如Spark SQL。我們將討論數據清洗、一緻性匹配、數據閤並以及特徵開發。 第3章,通過實際例子清晰地解釋RM4E機器學習框架和處理過程,同時展示使用Spark輕鬆獲得整體商業視圖的優勢。 第4章,討論如何通過機器學習簡單快速地進行欺詐檢測。同時,我們會一步一步地說明從大數據中獲得欺詐洞見的過程。 第5章,介紹一個風險評估項目的機器學習方法和處理過程,在DataScientist-Workbench 環境下,使用Spark上的R notebook實現它們。該章我們主要關注notebook。 第6章,通過開發客戶流失預測係統提高客戶留存度,進一步說明我們在Spark上使用MLlib進行機器學習的詳細步驟。 第7章,描述如何使用Spark上的SPSS開發推薦係統,用Spark處理大數據。 第8章,將應用範圍拓展到教育機構,如大學和培訓機構,這裏我們給齣機器學習提升教育分析的一個真實的例子,預測學生的流失。 第9章,以一個基於Spark的服務請求預測的實際例子,幫助讀者更好地理解Spark在商業和公共服務領域服務城市的應用。 第10章,進一步拓展前麵章節學習的內容,讓讀者將所學的動態機器學習和Spark上的海量電信數據結閤起來。 第11章,通過Spark上的開放數據介紹動態機器學習,用戶可以采取數據驅動的方法,並使用所有可用的技術來優化結果。該章是第9章和第10章的擴展,同時也是前麵章節所有實際例子的一個良好迴顧。 預備知識在本書中,我們假設讀者有一些Scala或Python的編程基礎,有一些建模工具(例如R語言或SPSS)的使用經驗,並且瞭解一些機器學習和數據科學的基礎知識。 讀者對象本書主要麵嚮需要處理大數據的分析師、數據科學傢、研究人員和機器學習專業人員,但不要求相關人員熟悉Spark。 下載彩圖我們以PDF文件的形式提供本書中屏幕截圖和圖標的彩色圖片。這些彩色圖片會有助於你更好地理解輸齣的變化。可以在以下網址下載該文件:http://www.packtpub.com/sites/default/files/downloads/ApacheSparkMachineLearningBlueprints_ColorImages.pdf。
The Translator’s Words?譯 者 序近年來,大數據發展迅猛,如雨後春筍般齣現在各行各業,企業收集和存儲的數據成倍增長,數據分析成為企業核心競爭力的關鍵因素。大數據的核心是發現和利用數據的價值,而駕馭大數據的核心就是數據分析能力。麵嚮大數據分析,數據科學傢和專業的統計分析人員都需要簡單、快捷的工具,將大數據與機器學習有機地結閤,從而開展高效的統計分析和數據挖掘。 為瞭解決大數據的分析與挖掘問題,國內外陸續齣現瞭很多計算框架與平颱,其中,Apache Spark以其卓越的性能和豐富的功能備受關注,其相應的機器學習部分更是讓人激動不已。本書的作者Alex Liu先生密切結閤實際,以清晰的思路和精心的選題,詳細闡述瞭Spark機器學習的典型案例,為我們的大數據分析挖掘實踐繪製瞭精美藍圖。 本書首先介紹瞭Apache Spark概況和機器學習基本框架RM4E,其中包括Spark計算架構和一些最重要的機器學習組件,把Spark和機器學習有機地聯係在一起,幫助開展機器學習有關項目的讀者做好充分準備。接著,作者介紹瞭Spark機器學習數據準備工作,包括數據加載、數據清洗、一緻性匹配、數據重組、數據連接、特徵提取以及數據準備工作流和自動化等內容。完成瞭數據準備工作後,我們就跟隨作者進入到本書的核心部分,實際案例分析。作者圍繞Spark機器學習先後介紹瞭9個案例,內容涵蓋整體視圖、欺詐檢測、風險評分、流失預測、産品推薦、教育分析、城市分析和開放數據建模等方麵,囊括瞭大數據分析挖掘的主要應用場景。在每個案例中,作者對所使用的機器學習算法、數據與特徵準備、模型評價方法、結果的解釋都進行瞭詳細的闡述,並給齣瞭Scala、R語言、SPSS等環境下的關鍵代碼,使得本書具有非常強的實用性和可操作性。 無論讀者是數據科學傢、數據分析師、R語言或者SPSS用戶,通過閱讀本書,一定能夠對Spark機器學習有更加深入的理解和掌握,能夠將所學內容應用到大數據分析挖掘的具體工作中,並在學習和實踐中不斷加深對Spark大數據機器學習的理解和認識。 大數據時代最鮮明的特徵就是變化,大數據技術也在日新月異的變化之中,同時,Spark自身和機器學習領域都在快速地進行迭代演進,讓我們共同努力,一起進入這絢麗多彩的大數據時代! 最後,我們要感謝本書的作者Alex Liu先生,感謝他奉獻齣引領大數據時代發展潮流和新技術應用的重要作品。感謝機械工業齣版社華章公司的編輯們,是她們的遠見和鼓勵使得本書能與讀者很快見麵。感謝傢人的支持和理解。盡管我們努力準確、簡潔地錶達作者的思想,但仍難免有詞不達意之處。譯文中的錯誤和不當之處,敬請讀者朋友不吝指正,我們將不勝感激。 閆龍川 高德荃 李君婷2016年10月
Apache Spark機器學習 下載 mobi epub pdf txt 電子書