Copyright ?2016 Packt Publishing. First published in the English language under the title “Mastering Scala Machine Learning”.All rights reserved.Chinese simplified language edition published by China Machine Press.Copyright ?2017 by China Machine Press.本書(shū)中文簡(jiǎn)體字版由Packt Publishing授權(quán)機(jī)械工業(yè)出版社出版。未經(jīng)出版者書(shū)面許可,不得以任何方式復(fù)制或抄襲本書(shū)內(nèi)容。
目錄Contents
譯者序
前言
第1章探索數(shù)據(jù)分析1
1.1Scala入門(mén)2
1.2去除分類(lèi)字段的重復(fù)值2
1.3數(shù)值字段概述4
1.4基本抽樣、分層抽樣和一致抽樣5
1.5使用Scala和Spark的Notebook工作8
1.6相關(guān)性的基礎(chǔ)12
1.7總結(jié)14
第2章數(shù)據(jù)管道和建模15
2.1影響圖16
2.2序貫試驗(yàn)和風(fēng)險(xiǎn)處理17
2.3探索與利用問(wèn)題21
2.4不知之不知23
2.5數(shù)據(jù)驅(qū)動(dòng)系統(tǒng)的基本組件23
2.5.1數(shù)據(jù)收集24
2.5.2數(shù)據(jù)轉(zhuǎn)換層25
2.5.3數(shù)據(jù)分析與機(jī)器學(xué)習(xí)26
2.5.4UI組件26
2.5.5動(dòng)作引擎28
2.5.6關(guān)聯(lián)引擎28
2.5.7監(jiān)控28
2.6優(yōu)化和交互28
2.7總結(jié)29
第3章使用Spark和MLlib30
3.1安裝Spark31
3.2理解Spark的架構(gòu)32
3.2.1任務(wù)調(diào)度32
3.2.2Spark的組件35
3.2.3MQTT、ZeroMQ、Flume和Kafka36
3.2.4HDFS、Cassandra、S3和Tachyon37
3.2.5Mesos、YARN和Standalone38
3.3應(yīng)用38
3.3.1單詞計(jì)數(shù)38
3.3.2基于流的單詞計(jì)數(shù)41
3.3.3SparkSQL和數(shù)據(jù)框45
3.4機(jī)器學(xué)習(xí)庫(kù)46
3.4.1SparkR47
3.4.2圖算法:Graphx和GraphFrames48
3.5Spark的性能調(diào)整48
3.6運(yùn)行Hadoop的HDFS49
3.7總結(jié)54
第4章監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)55
4.1記錄和監(jiān)督學(xué)習(xí)55
4.1.1Iirs數(shù)據(jù)集56
4.1.2類(lèi)標(biāo)簽點(diǎn)57
4.1.3SVMWithSGD58
4.1.4logistic回歸60
4.1.5決策樹(shù)62
4.1.6bagging和boosting:集成學(xué)習(xí)方法66
4.2無(wú)監(jiān)督學(xué)習(xí)66
4.3數(shù)據(jù)維度71
4.4總結(jié)73
第5章回歸和分類(lèi)74
5.1回歸是什么74
5.2連續(xù)空間和度量75
5.3線(xiàn)性回歸77
5.4logistic回歸81
5.5正則化83
5.6多元回歸84
5.7異方差84
5.8回歸樹(shù)85
5.9分類(lèi)的度量87
5.10多分類(lèi)問(wèn)題87
5.11感知機(jī)87
5.12泛化誤差和過(guò)擬合90
5.13總結(jié)90
第6章使用非結(jié)構(gòu)化數(shù)據(jù)91
6.1嵌套數(shù)據(jù)92
6.2其他序列化格式100
6.3Hive和Impala102
6.4會(huì)話(huà)化104
6.5使用特質(zhì)109
6.6使用模式匹配110
6.7非結(jié)構(gòu)化數(shù)據(jù)的其他用途113
6.8概率結(jié)構(gòu)113
6.9投影113
6.10總結(jié)113
第7章使用圖算法115
7.1圖簡(jiǎn)介115
7.2SBT116
7.3Scala的圖項(xiàng)目119
7.3.1增加節(jié)點(diǎn)和邊121
7.3.2圖約束123
7.3.3JSON124
7.4GraphX126
7.4.1誰(shuí)收到電子郵件130
7.4.2連通分量131
7.4.3三角形計(jì)數(shù)132
7.4.4強(qiáng)連通分量132
7.4.5PageRank133
7.4.6SVD++134
7.5總結(jié)138
第8章Scala與R和Python的集成139
8.1R的集成140
8.1.1R和SparkR的相關(guān)配置140
8.1.2數(shù)據(jù)框144
8.1.3線(xiàn)性模型150
8.1.4廣義線(xiàn)性模型152
8.1.5在SparkR中讀取JSON文件156
8.1.6在SparkR中寫(xiě)入Parquet文件157
8.1.7從R調(diào)用Scala158
8.2Python的集成161
8.2.1安裝Python161
8.2.2PySpark162
8.2.3從Java/Scala調(diào)用Python163
8.3總結(jié)167
第9章Scala中的NLP169
9.1文本分析流程170
9.2Spark的MLlib庫(kù)177
9.2.1TFIDF177
9.2.2LDA178
9.3分詞、標(biāo)注和分塊185
9.4POS標(biāo)記186
9.5使用word2vec尋找詞關(guān)系189
9.6總結(jié)192
第10章高級(jí)模型監(jiān)控193
10.1系統(tǒng)監(jiān)控194
10.2進(jìn)程監(jiān)控195
10.3模型監(jiān)控201
10.3.1隨時(shí)間變化的性能202
10.3.2模型停用標(biāo)準(zhǔn)202
10.3.3A/B測(cè)試202
10.4總結(jié)202