目  錄
 前言
 致謝
 關(guān)于作者
 關(guān)于技術(shù)審校人員
 第1章 機(jī)器學(xué)習(xí)介紹  1
 1.1 人工智能和機(jī)器學(xué)習(xí)用例  2
 1.1.1 零售業(yè)  2
 1.1.2 交通運(yùn)輸  3
 1.1.3 金融服務(wù)  3
 1.1.4 醫(yī)療保健和生物技術(shù)  3
 1.1.5 制造業(yè)  3
 1.1.6 政府部門  4
 1.2 機(jī)器學(xué)習(xí)與數(shù)據(jù)  4
 1.3 機(jī)器學(xué)習(xí)方法  6
 1.3.1 有監(jiān)督學(xué)習(xí)  6
 1.3.2 無監(jiān)督學(xué)習(xí)  6
 1.3.3 半監(jiān)督學(xué)習(xí)  6
 1.3.4 強(qiáng)化學(xué)習(xí)  6
 1.4 深度學(xué)習(xí)  7
 1.5 神經(jīng)網(wǎng)絡(luò)  7
 1.6 卷積神經(jīng)網(wǎng)絡(luò)  7
 1.7 特征工程  7
 1.7.1 特征選擇  8
 1.7.2 特征重要性  9
 1.7.3 特征提取  9
 1.7.4 特征構(gòu)建  9
 1.8 模型評估  10
 1.8.1 準(zhǔn)確率  10
 1.8.2 精度  10
 1.8.3 召回率  11
 1.8.4 F1度量  11
 1.8.5 AUROC  11
 1.9 過擬合與欠擬合  12
 1.10 模型選擇  12
 1.11 總結(jié)  12
 1.12 參考資料  13
 第2章 Spark和Spark MLlib
 介紹  16
 2.1 概述  16
 2.2 架構(gòu)  17
 2.3 執(zhí)行Spark應(yīng)用程序  19
 2.3.1 集群模式  19
 2.3.2 客戶端模式  19
 2.4 spark-shell介紹  19
 2.4.1 SparkSession  20
 2.4.2 彈性分布式數(shù)據(jù)集  21
 2.5 Spark SQL、DataSet和DataFrame的 API  29
 2.6 Spark數(shù)據(jù)源  31
 2.6.1 CSV  31
 2.6.2 XML  31
 2.6.3 JSON  32
 2.6.4 關(guān)系數(shù)據(jù)庫和MPP數(shù)據(jù)庫  33
 2.6.5 Parquet  36
 2.6.6 HBase  36
 2.6.7 Amazon S3  41
 2.6.8 Solr  42
 2.6.9 Microsoft Excel  43
 2.6.10 SFTP  44
 2.7 Spark MLlib介紹  44
 2.8 ML管道  46
 2.8.1 管道  47
 2.8.2 轉(zhuǎn)換器  47
 2.8.3 估計(jì)器  47
 2.8.4 ParamGridBuilder  47
 2.8.5 CrossValidator  47
 2.8.6 評估器  47
 2.9 特征提取、轉(zhuǎn)換和選擇  48
 2.9.1 StringIndexer  48
 2.9.2 Tokenizer  49
 2.9.3 VectorAssembler  50
 2.9.4 StandardScaler  51
 2.9.5 StopWordsRemover  52
 2.9.6 n-gram  52
 2.9.7 OneHotEncoderEstimator  53
 2.9.8 SQLTransformer  54
 2.9.9 詞頻–逆文檔頻率  55
 2.9.10 主成分分析  57
 2.9.11 ChiSqSelector  57
 2.9.12 Correlation  58
 2.10 評估指標(biāo)  60
 2.10.1 AUROC  60
 2.10.2 F1度量  61
 2.10.3 均方根誤差  61
 2.11 模型持久化  62
 2.12 Spark MLlib示例  62
 2.13 圖處理  66
 2.14 超越Spark MLlib:第三方機(jī)器學(xué)習(xí)集成  66
 2.15 利用Alluxio優(yōu)化Spark和Spark MLlib  66
 2.16 為什么使用Alluxio  68
 2.16.1 顯著提高大數(shù)據(jù)處理性能和可擴(kuò)展性  68
 2.16.2 多個(gè)框架和應(yīng)用程序可以以讀寫內(nèi)存的速度共享數(shù)據(jù)  69
 2.17 在應(yīng)用程序終止或失敗時(shí)提供高可用性和持久性  71
 2.18 優(yōu)化總體內(nèi)存使用并最小化垃圾收集  74
 2.19 降低硬件要求  74
 2.20 Apache Spark和Alluxio  75
 2.21 總結(jié)  75
 2.22 參考資料  76
 第3章 有監(jiān)督學(xué)習(xí)  79
 3.1 分類  79
 3.1.1 分類類型  79
 3.1.2 Spark MLlib分類算法  80
 3.1.3 第三方分類和回歸算法  85
 3.1.4 使用邏輯回歸算法的多類別分類  86
 3.1.5 使用隨機(jī)森林算法進(jìn)行流失預(yù)測  95
 3.1.6 使用XGBoost4J-Spark的極端梯度提升算法  108
 3.1.7 LightGBM:來自微軟的快速梯度提升算法  118
 3.1.8 使用樸素貝葉斯進(jìn)行情感分析  127
 3.2 回歸  133
 3.2.1 簡單線性回歸  134
 3.2.2 使用XGBoost4J-Spark進(jìn)行多元回歸分析  137
 3.2.3 使用LightGBM進(jìn)行多元回歸分析  143
 3.3 總結(jié)  148
 3.4 參考資料  149
 第4章 無監(jiān)督學(xué)習(xí)  154
 4.1 k-means聚類算法  154
 4.2 使用隱含狄利克雷分布進(jìn)行主題建模  162
 4.2.1 Stanford CoreNLP  163
 4.2.2 John Snow實(shí)驗(yàn)室的Spark NLP  164
 4.2.3 示例  170
 4.3 使用孤立森林進(jìn)行異常檢測  182
 4.3.1 參數(shù)  185
 4.3.2 示例  186
 4.4 使用主成分分析進(jìn)行降維  188
 4.5 總結(jié)  197
 4.6 參考資料  197
 第5章 推薦  200
 5.1 推薦引擎的種類   201
 5.1.1 使用交替最小二乘法的協(xié)同過濾  201
 5.1.2 參數(shù)  203
 5.1.3 示例  203
 5.2 使用FP增長進(jìn)行購物籃分析  209
 5.2.1 示例  210
 5.2.2 基于內(nèi)容的過濾  217
 5.3 總結(jié)  218
 5.4 參考資料  218
 第6章 圖分析  221
 6.1 圖介紹  221
 6.1.1 無向圖  221
 6.1.2 有向圖  222
 6.1.3 有向多重圖  222
 6.1.4 屬性圖  223
 6.2 圖分析用例  223
 6.2.1 欺詐檢測和反洗錢  224
 6.2.2 數(shù)據(jù)治理和法規(guī)遵從性  224
 6.2.3 風(fēng)險(xiǎn)管理  224
 6.2.4 運(yùn)輸  225
 6.2.5 社交網(wǎng)絡(luò)  225
 6.2.6 網(wǎng)絡(luò)基礎(chǔ)設(shè)施管理  225
 6.3 GraphX簡介  225
 6.3.1 Graph  225
 6.3.2 VertexRDD  226
 6.3.3 Edge  226
 6.3.4 EdgeRDD  226
 6.3.5 EdgeTriplet  226
 6.3.6 EdgeContext  226
 6.3.7 GraphX 示例  226
 6.3.8 圖算法  229
 6.3.9 GraphFrames  232
 6.4 總結(jié)  235
 6.5 參考資料  236
 第7章 深度學(xué)習(xí)  238
 7.1 神經(jīng)網(wǎng)絡(luò)  239
 7.2 神經(jīng)網(wǎng)絡(luò)的簡短歷史  240
 7.3 卷積神經(jīng)網(wǎng)絡(luò)  242
 7.4 深度學(xué)習(xí)框架  247
 7.4.1 TensorFlow  247
 7.4.2 Theano  247
 7.4.3 PyTorch  247
 7.4.4 DeepLearning4J  247
 7.4.5 CNTK  248
 7.4.6 Keras  248
 7.4.7 使用Keras進(jìn)行深度學(xué)習(xí)  248
 7.5 Spark分布式深度學(xué)習(xí)  258
 7.5.1 模型并行與數(shù)據(jù)并行  258
 7.5.2 Spark分布式深度學(xué)習(xí)框架  259
 7.6 Elephas:使用Keras和Spark進(jìn)行分布式深度學(xué)習(xí)  261
 7.7 Dist-Keras  270
 7.7.1 使用基于Keras和Spark的Dist-Keras來識別MNIST中的手寫數(shù)字  271
 7.7.2 貓和狗的圖像分類  276
 7.8 總結(jié)  283
 7.9 參考資料  283