Scala機器學習(Mastering Scala Machine Learning)
內容描述
這是一本關於機器學習的書,它以Scala為重點,介紹了函數式編程方法以及如何在Spark上處理大數據。本書後面將介紹關於Hadoop的內容。最初它能在廉價硬件上處理大量的信息,因為當時傳統的關系數據庫不能處理這樣的信息(或能處理,但是代價過高)。大數據這個話題太大了,而Spark才是本書的重點,它是Hadoop MapReduce的另一個實現,Spark提高了磁盤上持久化保存數據的效率。通常認為使用Spark有點貴,因為它消耗更多的內存,要求硬件必須更可靠,但它也更具交互性。此外,Spark使用Scala工作(也可以使用Java和Python等),但Scala是主要的API語言。因此Spark用Scala在數據管道的表達方面有一定的協同性。
目錄大綱
譯者序
前言
第1章探索數據分析1
1.1Scala入門2
1.2去除分類字段的重複值2
1.3數值字段概述4
1.4基本抽樣、分層抽樣和一致抽樣5
1.5使用Scala和Spark的Note—book工作8
1.6相關性的基礎12
1.7總結14
第2章數據管道和建模15
2.1影響圖16
2.2序貫試驗和風險處理17
2.3探索與利用問題21
2.4不知之不知23
2.5數據驅動系統的基本組件23
2.5 .1數據收集24
2.5.2數據轉換層25
2.5.3數據分析與機器學習26
2.5.4UI組件26
2.5.5動作引擎28
2.5.6關聯引擎28
2.5.7監控28
2.6優化和交互28
2.7總結29
第3章使用Spark和MLlib30
3.1安裝Spark31
3.2理解Spark的架構32
3.2.1任務調度32
3.2.2Spark的組件35
3.2.3MQTT、ZeroMQ、Flume和Kafka36
3.2.4HDFS、Cassandra、S3和Tachyon37
3.2.5Mesos 、YARN和Standa—lone38
3.3應用38
3.3.1單詞計數38
3.3.2基於流的單詞計數41
3.3.3SparkSQL和數據框45
3.4機器學習庫46
3.4.1SparkR47
3.4.2圖算法:Graphx和Graph—Frames48
3.5Spark的性 調整48
3.6運行Hadoop的HDFS49
3.7總結54
第4章監督學習和無監督學習55
4.1記錄和監督學習55
4.1.1Iirs數據集56
4.1.2類標籤點57
4.1.3SVMWithSGD58
4.1.4logistic回歸60
4.1.5決策樹62
4.1.6bagging和boosting:集成學習方法66
4.2無監督學習66
4.3數據維度71
4.4總結73
第5章回歸和分類74
5.1回歸是什麼74
5.2連續空間和度量75
5.3線性回歸77
5.4logistic回歸81
5.5正則化83
5.6多元回歸84
5.7異方差84
5.8回歸樹85
5.9分類的度量87
5.10多分類問題87
5.11感知機87
5.12泛化誤差和過擬合90
5.13總結90
第6章使用非結構化數據91
6.1嵌套數據92
6.2其他序列化格式100
6.3Hive和Impala102
6.4會話化104
6.5使用特質109
6.6使用模式匹配110
6.7非結構化數據的其他用途113
6.8概率結構113
6.9投影113
6.10總結113
第7章使用圖算法115
7.1圖簡介115
7.2SBT116
7.3Scala的圖項目119
7.3.1增加節點和邊121
7.3.2圖約束123
7.3.3JSON124
7.4GraphX126
7.4.1誰收到電子郵 130
7.4.2連通分量131
7.4.3三角形計數132
7.4.4強連通分量132
7.4.5PageRank133
7.4.6SVD++134
7.5總結138
第8章Scala與R和Python的集成139
8.1R的集成140
8.1. 1R和SparkR的相關配置140
8.1.2數據框144
8.1.3線性模型150
8.1.4廣義線性模型152
8.1.5在SparkR中讀取JSON文件156
8.1.6在SparkR中寫入Parquet文件157
8.1. 7從R調用Scala158
8.2Python的集成161
8.2.1安裝Python161
8.2.2PySpark162
8.2.3從Java/Scala調用Python163
8.3總結167
第9章Scala中的NLP169
9.1文本分析流程170
9.2Spark的MLlib庫177
9.2. 1TF—IDF177
9.2.2LDA178
9.3分詞、標註和分塊185
9.4POS標記186
9.5使用word2vec尋找詞關係189
9.6總結192
第10章高級模型監控193
10.1系統監控194
10.2進程監控195
10.3模型監控201
10.3.1隨時間變化的性能202
10.3.2模型停用標準202
10.3.3A/B測試202
10.4總結202
譯者序
前言
第1章探索數據分析1
1.1Scala入門2
1.2去除分類字段的重複值2
1.3數值字段概述4
1.4基本抽樣、分層抽樣和一致抽樣5
1.5使用Scala和Spark的Note—book工作8
1.6相關性的基礎12
1.7總結14
第2章數據管道和建模15
2.1影響圖16
2.2序貫試驗和風險處理17
2.3探索與利用問題21
2.4不知之不知23
2.5數據驅動系統的基本組件23
2.5 .1數據收集24
2.5.2數據轉換層25
2.5.3數據分析與機器學習26
2.5.4UI組件26
2.5.5動作引擎28
2.5.6關聯引擎28
2.5.7監控28
2.6優化和交互28
2.7總結29
第3章使用Spark和MLlib30
3.1安裝Spark31
3.2理解Spark的架構32
3.2.1任務調度32
3.2.2Spark的組件35
3.2.3MQTT、ZeroMQ、Flume和Kafka36
3.2.4HDFS、Cassandra、S3和Tachyon37
3.2.5Mesos 、YARN和Standa—lone38
3.3應用38
3.3.1單詞計數38
3.3.2基於流的單詞計數41
3.3.3SparkSQL和數據框45
3.4機器學習庫46
3.4.1SparkR47
3.4.2圖算法:Graphx和Graph—Frames48
3.5Spark的性 調整48
3.6運行Hadoop的HDFS49
3.7總結54
第4章監督學習和無監督學習55
4.1記錄和監督學習55
4.1.1Iirs數據集56
4.1.2類標籤點57
4.1.3SVMWithSGD58
4.1.4logistic回歸60
4.1.5決策樹62
4.1.6bagging和boosting:集成學習方法66
4.2無監督學習66
4.3數據維度71
4.4總結73
第5章回歸和分類74
5.1回歸是什麼74
5.2連續空間和度量75
5.3線性回歸77
5.4logistic回歸81
5.5正則化83
5.6多元回歸84
5.7異方差84
5.8回歸樹85
5.9分類的度量87
5.10多分類問題87
5.11感知機87
5.12泛化誤差和過擬合90
5.13總結90
第6章使用非結構化數據91
6.1嵌套數據92
6.2其他序列化格式100
6.3Hive和Impala102
6.4會話化104
6.5使用特質109
6.6使用模式匹配110
6.7非結構化數據的其他用途113
6.8概率結構113
6.9投影113
6.10總結113
第7章使用圖算法115
7.1圖簡介115
7.2SBT116
7.3Scala的圖項目119
7.3.1增加節點和邊121
7.3.2圖約束123
7.3.3JSON124
7.4GraphX126
7.4.1誰收到電子郵 130
7.4.2連通分量131
7.4.3三角形計數132
7.4.4強連通分量132
7.4.5PageRank133
7.4.6SVD++134
7.5總結138
第8章Scala與R和Python的集成139
8.1R的集成140
8.1. 1R和SparkR的相關配置140
8.1.2數據框144
8.1.3線性模型150
8.1.4廣義線性模型152
8.1.5在SparkR中讀取JSON文件156
8.1.6在SparkR中寫入Parquet文件157
8.1. 7從R調用Scala158
8.2Python的集成161
8.2.1安裝Python161
8.2.2PySpark162
8.2.3從Java/Scala調用Python163
8.3總結167
第9章Scala中的NLP169
9.1文本分析流程170
9.2Spark的MLlib庫177
9.2. 1TF—IDF177
9.2.2LDA178
9.3分詞、標註和分塊185
9.4POS標記186
9.5使用word2vec尋找詞關係189
9.6總結192
第10章高級模型監控193
10.1系統監控194
10.2進程監控195
10.3模型監控201
10.3.1隨時間變化的性能202
10.3.2模型停用標準202
10.3.3A/B測試202
10.4總結202
作者介紹
作者:(美國)亞歷克斯·科茲洛夫(Alex Kozlov)譯者:羅棻劉波
亞歷克斯·科茲洛夫(Alex Kozlov),是一名多學科的大數據科學家。自1991年來到矽谷起就創辦了幾家計算機和數據管理公司。期間,他師從Daphne Koller和John Hennessy兩位教授,於1998年獲得斯坦福大學博士學位。他目前是企業安全初創公司E8 Security的首席解決方案架構師,曾在Cloudera、HP公司的HPLabs工作。
羅棻,重慶工商大學計算機科學與信息工程學院教師,主要從事計算機視覺、計算機算法的研究。同時對Scala編程感興趣。
劉波,重慶工商大學計算機科學與信息工程學院教師,主要從事機器學習理論、計算機視覺和最優化技術研究,同時愛好Hadoop和Spark平台上的大數據分析,也對Linux平台的編程和Oracle數據庫感興趣。