內容簡介

本書採用理論與大量實例相結合的方式幫助開發人員掌握使用Spark進行分析和實現機器學習演算法。通過這些示例和Spark在各種企業級系統中的應用,幫助讀者解鎖Spark機器學習演算法的複雜性,通過數據分析產生有價值的數據洞察力。



 

作者介紹

Alex Tellez是一名終身的數據黑客/愛好者,對數據科學及其在商業問題上的應用充滿了激情。他在多個行業擁有豐富的經驗,包括銀行業、醫療保健、在線約 會、人力資源和在線遊戲。Alex還在各種人工智慧/機器學習會議上進行過多次演講,同時也在大學講授關於神經網路的課程。閑暇時間,Alex喜歡和家人 在一起,騎自行車!Max Pumperla是一名數據科學家和工程師,專註于深度學習及其應用。他目前在Skymind擔任深度學習工程師,並且是aetros.com的聯合創始 人。Max是幾個Python軟體包的作者和維護者,包括elephas,一個使用Spark的分散式深度學習庫。他的開源足跡包括對許多流行的機器學習 庫的貢獻,如keras、deeplearning4j和hyperopt。他擁有漢堡大學的代數幾何博士學位。Michal Malohlava是Sparkling Water的創建者、極客和開發者,Java、Linux、編程語言愛好者,擁有10年以上的軟體開發經驗。他于2012年在布拉格的查爾斯大學獲得博士 學位,並在普渡大學攻讀博士后。在學習期間,他關注利用模型驅動方法和領域特定語言構建分散式、嵌入式、實時和模塊化系統,參與了各種系統的設計和開發, 包括SOFA和分形組件系統以及jPapabench控制系統。現在,他的主要興趣是大數據計算。他參與了高級大數據計算平台H2O的開發,並將其嵌入到 Spark引擎中作為Sparkling Water項目發布。
 

目錄

譯者序
關於作者
前言
第1章 大規模機器學習和Spark入門 1
1.1 資料科學 2
1.2 資料科學家:21世紀最炫酷的職業 2
1.2.1 資料科學家的一天 3
1.2.2 大資料處理 4
1.2.3 分散式環境下的機器學習演算法 4
1.2.4 將數據拆分到多台機器 6
1.2.5 從Hadoop MapReduce到Spark 6
1.2.6 什麼是Databricks 7
1.2.7 Spark包含的內容 8
1.3 H2O.ai簡介 8
1.4 H2O和Spark MLlib的區別 10
1.5 資料整理 10
1.6 資料科學:一個反覆運算過程 11
1.7 小結 11
 
第2章 探索暗物質:希格斯玻色子 12
2.1 Ⅰ型錯誤與Ⅱ型錯誤 12
2.1.1 尋找希格斯玻色子 13
2.1.2 LHC和資料的創建 13
2.1.3 希格斯玻色子背後的理論 14
2.1.4 測量希格斯玻色子 14
2.1.5 資料集 14
2.2 啟動Spark與載入數據 15
2.2.1 標記點向量 22
2.2.2 創建訓練和測試集合 24
2.2.3 第一個模型:決策樹 26
2.2.4 下一個模型:集合樹 32
2.2.5 最後一個模型:H2O深度學習 37
2.2.6 構建一個3層DNN 39
2.3 小結 45
 
第3章 多元分類的集成方法 46
3.1 數據 47
3.2 模型目標 48
3.2.1 挑戰 48
3.2.2 機器學習工作流程 48
3.2.3 使用隨機森林建模 61
3.3 小結 78
 
第4章 使用NLP和Spark Streaming預測電影評論 80
4.1 NLP簡介 81
4.2 資料集 82
4.3 特徵提取 85
4.3.1 特徵提取方法:詞袋模型 85
4.3.2 文本標記 86
4.4 特徵化——特徵雜湊 89
4.5 我們來做一些模型訓練吧 92
4.5.1 Spark決策樹模型 93
4.5.2 Spark樸素貝葉斯模型 94
4.5.3 Spark隨機森林模型 95
4.5.4 Spark GBM模型 96
4.5.5 超級學習器模型 97
4.6 超級學習器 97
4.6.1 集合所有的轉換 101
4.6.2 使用超級學習器模型 105
4.7 小結 105
 
第5章 word2vec預測和聚類 107
5.1 詞向量的動機 108
5.2 word2vec解釋 108
5.2.1 什麼是單詞向量 108
5.2.2 CBOW模型 110
5.2.3 skip-gram模型 111
5.2.4 玩轉詞彙向量 112
5.2.5 余弦相似性 113
5.3 doc2vec解釋 113
5.3.1 分散式記憶體模型 113
5.3.2 分散式詞袋模型 114
5.4 應用word2vec並用向量探索資料 116
5.5 創建文檔向量 118
5.6 監督學習任務 119
5.7 小結 123
 
第6章 從點選流向資料中抽取模式 125
6.1 頻繁模式挖掘 126
6.2 使用Spark MLlib進行模式挖掘 130
6.2.1 使用FP-growth進行頻繁模式挖掘 131
6.2.2 關聯規則挖掘 136
6.2.3 使用prefix span進行序列模式挖掘 138
6.2.4 在MSNBC點選流向資料上進行模式挖掘 141
6.3 部署模式挖掘應用 147
6.4 小結 154
 
第7章 使用GraphX進行圖分析 155
7.1 基本的圖理論 156
7.1.1 圖 156
7.1.2 有向和無向圖 156
7.1.3 階和度 157
7.1.4 有向無環圖 158
7.1.5 連通分量 159
7.1.6 樹 160
7.1.7 多重圖 160
7.1.8 屬性圖 161
7.2 GraphX分散式圖計算引擎 162
7.2.1 GraphX中圖的表示 163
7.2.2 圖的特性和操作 165
7.2.3 構建和載入圖 170
7.2.4 使用Gephi視覺化圖結構 172
7.2.5 圖計算進階 178
7.2.6 GraphFrame 181
7.3 圖演算法及其應用 183
7.3.1 聚類 183
7.3.2 頂點重要性 185
7.4 GraphX在上下文中 188
7.5 小結 189
 
第8章 Lending Club借貸預測 190
8.1 動機 190
8.1.1 目標 191
8.1.2 數據 192
8.1.3 資料字典 192
8.2 環境準備 193
8.3 數據載入 193
8.4 探索——資料分析 194
8.4.1 基本清理 194
8.4.2 預測目標 200
8.4.3 使用模型評分 221
8.4.4 模型部署 224
8.5 小結 229
 

 
序言
 
The Translator’s Words 譯者序
近些年來,隨著計算力的提升、集群規模的擴大以及大資料基礎軟體的普及,人們對於海量資料的存儲和處理能力得到了極大的提升,大資料的處理要求不再僅限於簡單的資料清理、聚合和轉換,更希望能從海量資料中發現模式,預測規律。而人工智慧、深度學習熱潮的興起,更是把大資料和機器學習推向了更高的高度。
在這樣的背景下,傳統的基於單機、小資料的機器學習演算法庫變得不再合適,人們迫切希望有一個分散式的、可伸縮的、高性能的機器學習庫來處理海量資料。為此大量基於分散式框架的機器學習庫應運而生,而Spark MLlib作為其中最為耀眼的明星受到了極大的關注。為什麼Spark MLlib會受到如此青睞呢?
首先,Spark MLlib是基於Spark通用計算引擎所構建的,Spark計算引擎因其更為優異的架構和實現而擁有很好的性能。因此構建在其上的MLlib也具備很好的性能表現。
其次,Spark MLlib充分吸收和借鑒了當今主流的機器學習API的設計,它的API與Python scikit-learn極為相似,因此傳統的機器學習工程師可以極低的學習成本將已有經驗遷移到Spark上來。
再者,Spark提供了一個完整的生態圈,囊括了各種類型的計算模式。使用者可以輕鬆地使用Spark來實現完整的資料處理和機器學習流水線,而無須切換不同的系統。
當然,Spark和Spark MLlib還有很多其他的優點,這就是它為什麼能夠成為現今主流大資料機器學習庫的原因所在。
本書作為Spark MLlib的書籍從實踐的角度介紹了各種機器學習演算法,其中第2章和第3章介紹了分類演算法,第4~6章介紹了自然語言處理的相關技術,第7章介紹了圖演算法相關的知識,第8章則集合了前面所有的演算法介紹了一個端到端的機器學習處理實例。
本書與其他常見機器學習書籍的最大不同點在於,本書並沒有對演算法原理進行詳細的介紹,同時也沒有過多涉及Spark和Spark MLlib實現/API。本書希望讀者對演算法基礎和Spark使用有一個基本的瞭解。相反,本書每一章對於每一種演算法都輔以一個具體而實際的例子,從利用二分類演算法來分類希格斯玻色子到使用自然語言處理技術來區分電影評論中的正負面情緒。更為難能可貴的是1本書同時介紹了模型部署和模型評分的實際場景和問題,而不僅僅局限於模型訓練。最後本書以Lending Club借貸預測的實際例子來展示從資料整理到建模再到部署的整個過程。
演算法和技術的更新日新月異,譯者並不期待書中所介紹的東西不會過時,但是譯者更希望讀者能從本書中瞭解到資料科學和機器學習的方法論,這將會更有幫助。
本書由本人和兩位同事陽衛清、唐明潔共同翻譯而成。在翻譯期間譯者付出了大量的時間和精力。同時,感謝家人的支持和幫助,沒有她們在背後的支持,本書的翻譯是不可能實現的。
譯者水準有限,翻譯之中難免疏漏,有任何的意見和建議請及時回饋,以便譯者及時修正和改進。
 
邵賽賽
2018年1月12日於上海
 
網路書店 類別 折扣 價格
  1. 新書
    79
    $327