3dwoo大學簡體電腦書店
Spark機器學習:核心技術與實踐
( 簡體 字)
作者:[美]亞歷克斯·特列斯(Alex Tellez) 馬克斯·帕普拉(Max Pumperla)著類別:1. -> 程式設計 -> Spark
出版社:機械工業出版社Spark機器學習:核心技術與實踐 3dWoo書號: 49094
詢問書籍請說出此書號!
有庫存
NT售價: 345
出版日:5/1/2018
頁數:225
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787111598466 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
譯者序
關于作者
前言
第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
作為一名具有機器學習和統計背景的開發人員,你是否感受到了當前緩慢的“小數據”機器學習工具的限制?那么本書就是為你而寫!在本書中,你將會使用Spark創建可擴展的機器學習應用,為現代的數據驅動業務提供支持。



本書從MLlib和H2O庫定義的機器學習原語開始,你將學到如何使用二分類檢測由CERN粒子對撞機產生的大量數據中的希格斯波色子,并使用多元分類的集成方法對日常身體活動進行分類。接下來,你將解決一個涉及航班延誤預測的典型回歸問題,并編寫復雜的Spark流水線。你將在doc2vec算法和K-means聚類的幫助下分析Twitter數據。最后,你將會使用MLlib構建不同的模式挖掘模型,使用Spark和Spark SQL對DataFrame進行復雜的操作,并在Spark Streaming環境中部署你的應用。



機器學習的目的是建立從數據中習得的系統。能夠理解復雜數據中的趨勢和模式對于成功至關重要,這是當代充滿挑戰的市場中取得增長的關鍵戰略之一。隨著機器學習的飛速發展,開發人員正在熱衷于找出如何讓他們的Spark應用更為智能化的手段。



本書賦予你將數據轉化為可操作知識的途徑,通過大量的實踐案例,講解機器學習的高級應用和Spark在各種企業級系統中的應用,幫助你掌握使用Spark進行分析和實現機器學習算法。



通過閱讀本書,你將學到:

•使用Spark流在線聚合推文

•運行PageRank算法計算用戶影響力

•使用Spark執行復雜的DataFrame操作

•定義Spark流水線以組合各個數據轉換

•利用生成的模型進行離線/在線預測

•將學習從集成方法遷移到更為簡單的神經網絡

•了解基本的圖屬性和重要的圖操作

•使用GraphFrame、DataFrame在圖上的擴展,以優雅的查詢語言學習圖結構

•使用K-means算法聚類電影評論數據集
大數據是幾年前我們開始探索用Spark進行機器學習時的初衷。我們希望建立的機器學習程序能夠充分利用大量數據訓練模型,但一開始這并不容易。Spark仍在演進階段,還沒有包含強大的機器學習庫,而且我們也在試圖弄清楚建立一個機器學習程序到底意味著什么。

慢慢地,我們開始探索Spark生態系統的各個角落,追隨它的演進。對我們來說,最關鍵的是需要一個強大的機器學習庫,能夠提供像R和Python庫那樣的功能。這對我們來說比較容易,因為當時我們正積極參與H2O機器學習庫和它的一個叫作Sparkling Water的分支的開發,這個分支能夠讓Spark應用程序使用H2O庫。然而,模型訓練只是機器學習的冰山一角,我們還不得不弄清楚如何把Sparkling Water連接到Spark RDD、DataFrame以及DataSet,怎樣用Spark連接和讀取不同的數據源,以及怎樣把模型導出到其他的應用程序加以使用。

在這個過程中,Spark自身也在演進。Spark最初是一個純粹的Scala項目,后來開始提供Python接口,之后提供R接口。Spark API也在這個漫長的過程中從提供底層的RDD接口發展到高階的DataSet接口(一組類SQL的接口)。而且,Spark也采納了源自Python scikit-learn庫的機器學習流水線的概念。所有這些改進使得Spark成為一個非常好的數據轉換和處理工具。

基于這些經驗,我們決定撰寫本書,同世界分享我們得到的知識,意圖很簡單:用示例來展示建立Spark機器學習應用的方方面面,不僅展示如何使用最新的Spark功能,而且也展示Spark底層接口。我們所發現的關于Spark、機器學習應用開發流程和源代碼組織方面很多小的技巧和捷徑也會在本書中分享給讀者,讓大家免于犯同樣的錯誤。

本書的示例使用Scala作為主要的實現語言。使用Python還是Scala是一個艱難的抉擇,但是最終Scala勝出。使用Scala有兩個主要的原因:它提供了最為完整的Spark接口,而且得益于JVM帶來的性能優勢,在生產環境中部署的大部分應用都使用Scala。最后,本書的示例源代碼都可以在網上下載。

希望你能夠享受本書帶來的閱讀樂趣,并且希望它能夠幫助你遨游Spark的世界,幫助你開發機器學習應用。

本書主要內容

第1章帶領讀者進入機器學習和大數據的世界,介紹它們的歷史,以及包括Apache Spark和H2O在內的當代工具。

第2章專注于二項模型的訓練和評估。

第3章嘗試根據健身房中人體傳感器所收集的數據推測人的活動。

第4章介紹使用Spark處理自然語言問題,展示其對電影評論進行情感分析的能力。

第5章詳細討論了當代自然語言處理技術。

第6章介紹頻繁模式挖掘的基礎知識,Spark MLlib中相關的三個算法,以及把算法部署為Spark Streaming應用。

第7章介紹圖和圖分析的基本概念,解釋Spark GraphX的核心功能,以及一些圖算法,如PageRank。

第8章把之前章節介紹的技巧組合為一個完整的示例,包括數據處理、模型搜索和訓練,以及把模型部署為一個Spark Streaming應用。

所需的環境

本書提供的代碼示例基于Apache Spark 2.1及Scala API,使用Sparkling Water庫來訪問H2O機器學習庫。在每一章中,我們會展示如何使用spark-shell啟動Spark,以及如何下載運行代碼所需要的數據。

簡而言之,運行本書提供的代碼所需的基礎環境包括:

Java 8

Spark 2.1

面向的讀者

如果你是一名開發者,有著機器學習和統計背景,但是受限于現有的、慢速的、基于小規模數據的機器學習工具,這本書適合你!在本書中,你會使用Spark創建可擴展的機器學習應用,用來支撐現代數據驅動商業。我們假定你已經了解機器學習的基本概念和算法,能夠運行Spark(在集群或者本地運行),而且對Spark的各種基本庫有一些基礎的了解。
pagetop