Python+Spark 2.0+Hadoop机器学习与大数据实战 目录

林大贵 著

封面  1
书名  3
前言  7
目录  13
第1章 Python Spark机器学习与Hadoop大数据  23
    1.1 机器学习的介绍  24
    1.2 Spark的介绍  27
    1.3 Spark数据处理 RDD、DataFrame、Spark SQL  29
    1.4 使用Python开发 Spark机器学习与大数据应用  30
    1.5 Python Spark 机器学习  31
    1.6 Spark ML Pipeline机器学习流程介绍  32
    1.7 Spark 2.0的介绍  34
    1.8 大数据定义  35
    1.9 Hadoop 简介  36
    1.10 Hadoop HDFS分布式文件系统  36
    1.11 Hadoop MapReduce的介绍  39
    1.12 结论  40
第2章 VirtualBox虚拟机软件的安装  41
    2.1 VirtualBox的下载和安装  42
    2.2 设置VirtualBox存储文件夹  45
    2.3 在VirtualBox创建虚拟机  47
    2.4 结论  51
第3章 Ubuntu Linux 操作系统的安装  52
    3.1 Ubuntu Linux 操作系统的安装  53
    3.2 在Virtual设置Ubuntu虚拟光盘文件  55
    3.3 开始安装Ubuntu  57
    3.4 启动Ubuntu  62
    3.5 安装增强功能  63
    3.6 设置默认输入法  67
    3.7 设置“终端”程序  70
    3.8 设置“终端”程序为白底黑字  71
    3.9 设置共享剪贴板  72
    3.10 设置最佳下载服务器  74
    3.11 结论  78
第4章 Hadoop Single Node Cluster的安装  79
    4.1 安装JDK  80
    4.2 设置SSH无密码登录  83
    4.3 下载安装Hadoop  86
    4.4 设置Hadoop环境变量  89
    4.5 修改Hadoop配置设置文件  91
    4.6 创建并格式化HDFS目录  95
    4.7 启动Hadoop  96
    4.8 打开Hadoop Resource-Manager Web界面  98
    4.9 NameNode HDFS Web界面  100
    4.10 结论  101
第5章 Hadoop Multi Node Cluster的安装  102
    5.1 把Single Node Cluster复制到data1  105
    5.2 设置VirtualBox网卡  106
    5.3 设置data1服务器  109
    5.4 复制data1服务器到data2、data3、master  116
    5.5 设置data2服务器  119
    5.6 设置data3服务器  122
    5.7 设置master服务器  124
    5.8 master连接到data1、data2、data3 创建HDFS目录  129
    5.9 创建并格式化NameNode HDFS目录  132
    5.10 启动Hadoop Multi Node Cluster  134
    5.11 打开Hadoop ResourceManager Web界面  136
    5.12 打开NameNode Web界面  137
    5.13 停止Hadoop Multi Node Cluster  138
    5.14 结论  138
第 6章 Hadoop HDFS命令  139
    6.1 启动Hadoop Multi-Node Cluster  140
    6.2 创建与查看HDFS目录  142
    6.3 从本地计算机复制文件到HDFS  144
    6.4 将HDFS上的文件复制到本地计算机  149
    6.5 复制与删除HDFS文件  151
    6.6 在Hadoop HDFS Web用户界面浏览HDFS  153
    6.7 结论  156
第7章 Hadoop MapReduce  157
    7.1 简单介绍WordCount.java  158
    7.2 编辑WordCount.java  159
    7.3 编译WordCount.java  163
    7.4 创建测试文本文件  165
    7.5 运行WordCount.java  167
    7.6 查看运行结果  168
    7.7 结论  169
第8章 Python Spark的介绍与安装  170
    8.1 Scala的介绍与安装  172
    8.2 安装Spark  175
    8.3 启动pyspark交互式界面  178
    8.4 设置pyspark显示信息  179
    8.5 创建测试用的文本文件  181
    8.6 本地运行pyspark程序  183
    8.7 在Hadoop YARN运行pyspark  185
    8.8 构建Spark Standalone Cluster运行环境  187
    8.9 在Spark Standalone运行pyspark  193
    8.10 Spark Web UI界面  195
    8.11 结论  197
第9章 在 IPython Notebook 运行 Python Spark 程序  198
    9.1 安装Anaconda  199
    9.2 在IPython Notebook使用Spark  202
    9.3 打开IPython Notebook笔记本  206
    9.4 插入程序单元格  207
    9.5 加入注释与设置程序代码说明标题  208
    9.6 关闭IPython Notebook  210
    9.7 使用IPython Notebook在Hadoop YARN-client模式运行  211
    9.8 使用IPython Notebook在Spark Stand Alone模式运行  214
    9.9 整理在不同的模式运行IPython Notebook的命令  216
        9.9.1 在 Local 启动 IPython Notebook  217
        9.9.2 在Hadoop YARN-client 模式启动 IPython Notebook  217
        9.9.3 在Spark Stand Alone 模式启动 IPython Notebook  217
    9.10 结论  218
第10章 Python Spark RDD  219
    10.1 RDD的特性  220
    10.2 开启IPython Notebook  221
    10.3 基本RDD“转换”运算  223
    10.4 多个RDD“转换”运算  228
    10.5 基本“动作”运算  230
    10.6 RDD Key-Value 基本“转换”运算  231
    10.7 多个RDD Key-Value“转换”运算  234
    10.8 Key-Value“动作”运算  237
    10.9 Broadcast 广播变量  239
    10.10 accumulator累加器  242
    10.11 RDD Persistence持久化  243
    10.12 使用Spark创建WordCount  245
    10.13 Spark WordCount详细解说  248
    10.14 结论  250
第11章 Python Spark的集成开发环境  251
    11.1 下载与安装eclipse Scala IDE  254
    11.2 安装PyDev  257
    11.3 设置字符串替代变量  262
    11.4 PyDev 设置 Python 链接库  265
    11.5 PyDev设置anaconda2链接库路径  267
    11.6 PyDev设置Spark Python链接库  269
    11.7 PyDev设置环境变量  270
    11.8 新建PyDev项目  273
    11.9 加入WordCount.py程序  275
    11.10 输入WordCount.py程序  276
    11.11 创建测试文件并上传至HDFS目录  279
    11.12 使用spark-submit执行WordCount程序  281
    11.13 在Hadoop YARN-client上运行WordCount程序  283
    11.14 在Spark Standalone Cluster上运行WordCount程序  286
    11.15 在eclipse外部工具运行Python Spark程序  289
    11.16 在eclipse运行spark-submit YARN-client  295
    11.17 在eclipse运行spark-submit Standalone  299
    11.18 结论  302
第12章 Python Spark创建推荐引擎  303
    12.1 推荐算法介绍  304
    12.2 “推荐引擎”大数据分析使用场景  304
    12.3 ALS推荐算法的介绍  305
    12.4 如何搜索数据  307
    12.5 启动IPython Notebook  311
    12.6 如何准备数据  312
    12.7 如何训练模型  316
    12.8 如何使用模型进行推荐  317
    12.9 显示推荐的电影名称  319
    12.10 创建Recommend项目  321
    12.11 运行RecommendTrain.py 推荐程序代码  324
    12.12 创建Recommend.py推荐程序代码  326
    12.13 在eclipse运行Recommend.py  329
    12.14 结论  332
第13章 Python Spark MLlib决策树二元分类  333
    13.1 决策树介绍  334
    13.2 “StumbleUpon Evergreen”大数据问题  335
        13.2.1 Kaggle网站介绍  335
        13.2.2 “StumbleUpon Evergreen”大数据问题场景分析  335
    13.3 决策树二元分类机器学习  336
    13.4 如何搜集数据  337
        13.4.1 StumbleUpon数据内容  337
        13.4.2 下载 StumbleUpon 数据  338
        13.4.3 用LibreOffice Calc 电子表格查看train.tsv  341
        13.4.4 复制到项目目录  344
    13.5 使用IPython Notebook示范  345
    13.6 如何进行数据准备  346
        13.6.1 导入并转换数据  346
        13.6.2 提取 feature 特征字段  349
        13.6.3 提取分类特征字段  350
        13.6.4 提取数值特征字段  353
        13.6.5 返回特征字段  353
        13.6.6 提取 label 标签字段  353
        13.6.7 建立训练评估所需的数据  354
        13.6.8 以随机方式将数据分为 3 部分并返回  355
        13.6.9 编写 PrepareData(sc) 函数  355
    13.7 如何训练模型  356
    13.8 如何使用模型进行预测  357
    13.9 如何评估模型的准确率  360
        13.9.1 使用 AUC 评估二元分类模型  360
        13.9.2 计算 AUC  361
    13.10 模型的训练参数如何影响准确率  363
        13.10.1 建立 trainEvaluateModel  363
        13.10.2 评估impurity参数  365
        13.10.3 训练评估的结果以图表显示  366
        13.10.4 编写 evalParameter  369
        13.10.5 使用 evalParameter 评估 maxDepth 参数  369
        13.10.6 使用 evalParameter 评估 maxBins 参数  370
    13.11 如何找出准确率最高的参数组合  371
    13.12 如何确认是否过度训练  374
    13.13 编写RunDecisionTreeBinary.py程序  374
    13.14 开始输入RunDecisionTreeBinary.py程序  375
    13.15 运行RunDecisionTreeBinary.py  377
        13.15.1 执行参数评估  377
        13.15.2 所有参数训练评估找出最好的参数组合  377
        13.15.3 运行 RunDecisionTreeBinary.py 不要输入参数  379
    13.16 查看DecisionTree的分类规则  380
    13.17 结论  382
第14章 Python Spark MLlib 逻辑回归二元分类  383
    14.1 逻辑回归分析介绍  384
    14.2 RunLogisticRegression WithSGDBinary.py程序说明  385
    14.3 运行RunLogisticRegression WithSGDBinary.py进行参数评估  389
    14.4 找出最佳参数组合  392
    14.5 修改程序使用参数进行预测  392
    14.6 结论  394
第15章 Python Spark MLlib支持向量机SVM二元分类  395
    15.1 支持向量机SVM算法的基本概念  396
    15.2 运行SVMWithSGD.py进行参数评估  398
    15.3 运行SVMWithSGD.py 训练评估参数并找出最佳参数组合  400
    15.4 运行SVMWithSGD.py 使用最佳参数进行预测  401
    15.5 结论  403
第16章 Python Spark MLlib朴素贝叶斯二元分类  404
    16.1 朴素贝叶斯分析原理的介绍  405
    16.2 RunNaiveBayesBinary.py程序说明  406
    16.3 运行NaiveBayes.py进行参数评估  408
    16.4 运行训练评估并找出最好的参数组合  409
    16.5 修改RunNaiveBayesBinary.py 直接使用最佳参数进行预测  410
    16.6 结论  412
第17章 Python Spark MLlib决策树多元分类  413
    17.1 “森林覆盖植被”大数据问题分析场景  414
    17.2 UCI Covertype数据集介绍  415
    17.3 下载与查看数据  416
    17.4 修改PrepareData() 数据准备  418
    17.5 修改trainModel 训练模型程序  420
    17.6 使用训练完成的模型预测数据  421
    17.7 运行RunDecisionTreeMulti.py 进行参数评估  423
    17.8 运行RunDecisionTreeMulti.py 训练评估参数并找出最好的参数组合  425
    17.9 运行RunDecisionTreeMulti.py 不进行训练评估  426
    17.10 结论  428
第18章 Python Spark MLlib决策树回归分析  429
    18.1 Bike Sharing大数据问题分析  430
    18.2 Bike Sharing数据集  431
    18.3 下载与查看数据  431
    18.4 修改 PrepareData() 数据准备  434
    18.5 修改DecisionTree.trainRegressor训练模型  437
    18.6 以 RMSE 评估模型准确率  438
    18.7 训练评估找出最好的参数组合  439
    18.8 使用训练完成的模型预测数据  439
    18.9 运行RunDecisionTreeMulti.py进行参数评估  441
    18.10 运行RunDecisionTreeMulti.py训练评估参数并找出最好的参数组合  443
    18.11 运行RunDecisionTreeMulti.py 不进行训练评估  444
    18.12 结论  446
第19章 Python Spark SQL、DataFrame、RDD数据统计与可视化  447
    19.1 RDD、DataFrame、Spark SQL 比较  448
    19.2 创建RDD、DataFrame与Spark SQL  449
        19.2.1 在 local 模式运行 IPython Notebook  449
        19.2.2 创建RDD  449
        19.2.3 创建DataFrame  450
        19.2.4 设置 IPython Notebook 字体  452
        19.2.5 为DataFrame 创建别名  453
        19.2.6 开始使用 Spark SQL  453
    19.3 SELECT显示部分字段  456
        19.3.1 使用 RDD 选取显示部分字段  456
        19.3.2 使用 DataFrames 选取显示字段  456
        19.3.3 使用 Spark SQL 选取显示字段  457
    19.4 增加计算字段  458
        19.4.1 使用 RDD 增加计算字段  458
        19.4.2 使用 DataFrames 增加计算字段  458
        19.4.3 使用 Spark SQL 增加计算字段  459
    19.5 筛选数据  460
        19.5.1 使用 RDD 筛选数据  460
        19.5.2 使用 DataFrames 筛选数据  460
        19.5.3 使用 Spark SQL 筛选数据  461
    19.6 按单个字段给数据排序  461
        19.6.1 RDD 按单个字段给数据排序  461
        19.6.2 使用 Spark SQL排序  462
        19.6.3 使用 DataFrames按升序给数据排序  463
        19.6.4 使用 DataFrames按降序给数据排序  464
    19.7 按多个字段给数据排序  464
        19.7.1 RDD 按多个字段给数据排序  464
        19.7.2 Spark SQL 按多个字段给数据排序  465
        19.7.3 DataFrames 按多个字段给数据排序  465
    19.8 显示不重复的数据  466
        19.8.1 RDD 显示不重复的数据  466
        19.8.2 Spark SQL 显示不重复的数据  467
        19.8.3 Dataframes显示不重复的数据  467
    19.9 分组统计数据  468
        19.9.1 RDD 分组统计数据  468
        19.9.2 Spark SQL分组统计数据  469
        19.9.3 Dataframes分组统计数据  470
    19.10 Join 联接数据  472
        19.10.1 创建 ZipCode  472
        19.10.2 创建 zipcode_tab  474
        19.10.3 Spark SQL 联接 zipcode_table 数据表  476
        19.10.4 DataFrame user_df 联接 zipcode_df  477
    19.11 使用 Pandas DataFrames 绘图  479
        19.11.1 按照不同的州统计并以直方图显示  479
        19.11.2 按照不同的职业统计人数并以圆饼图显示  481
    19.12 结论  483
第20章 Spark ML Pipeline 机器学习流程二元分类  484
    20.1 数据准备  486
        20.1.1 在 local 模式执行 IPython Notebook  486
        20.1.2 编写 DataFrames UDF 用户自定义函数  488
        20.1.3 将数据分成 train_df 与 test_df  490
    20.2 机器学习pipeline流程的组件  490
        20.2.1 StringIndexer  490
        20.2.2 OneHotEncoder  492
        20.2.3 VectorAssembler  494
        20.2.4 使用 DecisionTreeClassier 二元分类  496
    20.3 建立机器学习pipeline流程  497
    20.4 使用pipeline进行数据处理与训练  498
    20.5 使用pipelineModel 进行预测  499
    20.6 评估模型的准确率  500
    20.7 使用TrainValidation进行训练验证找出最佳模型  501
    20.8 使用crossValidation交叉验证找出最佳模型  503
    20.9 使用随机森林 RandomForestClassier分类器  505
    20.10 结论  507
第21章 Spark ML Pipeline 机器学习流程多元分类  508
    21.1 数据准备  509
        21.1.1 读取文本文件  510
        21.1.2 创建 DataFrame  511
        21.1.3 转换为 double  512
    21.2 建立机器学习pipeline流程  514
    21.3 使用dt_pipeline进行数据处理与训练  515
    21.4 使用pipelineModel 进行预测  515
    21.5 评估模型的准确率  517
    21.4 使用TrainValidation进行训练验证找出最佳模型  518
    21.7 结论  520
第22章 Spark ML Pipeline 机器学习流程回归分析  521
    22.1 数据准备  523
        22.1.1 在local 模式执行 IPython Notebook  523
        22.1.2 将数据分成 train_df 与 test_df  526
    22.2 建立机器学习pipeline流程  526
    22.3 使用dt_pipeline进行数据处理与训练  528
    22.4 使用pipelineModel 进行预测  528
    22.5 评估模型的准确率  529
    22.6 使用TrainValidation进行训练验证找出最佳模型  530
    22.7 使用crossValidation进行交叉验证找出最佳模型  532
    22.8 使用GBT Regression  533
    22.9 结论  535
附录A 本书范例程序下载与安装说明  536
A.1 下载范例程序  537
A.2 打开本书IPython Notebook范例程序  538
A.3 打开 eclipse PythonProject 范例程序 518

发布了106 篇原创文章 · 获赞 27 · 访问量 33万+

猜你喜欢

转载自blog.csdn.net/belldeep/article/details/86560076