Python+Spark 2.0+Hadoop機器學習與大數據實戰

Python+Spark 2.0+Hadoop機器學習與大數據實戰
作者:林大貴
定價:99元
印次:1-1
ISBN:9787302490739
出版日期:2018.01.01
印刷日期:2017.12.14
    本書從淺顯易懂的“大數據和機器學習”原理說明入手,講述大數據和機器學習的基本概念,如分類、分析、訓練、建模、預測、機器學習(推薦引擎)、機器學習(二元分類)、機器學習(多元分類)、機器學習(回歸分析)和數據可視化套用等。
    目錄
    第1章PythonSpark機器學習與Hadoop大數據 1
    1.1機器學習的介紹 2
    1.2Spark的介紹 5
    1.3Spark數據處理RDD、DataFrame、SparkSQL 7
    1.4使用Python開發Spark機器學習與大數據套用 8
    1.5PythonSpark機器學習 9
    1.6SparkMLPipeline機器學習流程介紹 10
    1.7Spark2.0的介紹 12
    1.8大數據定義 13
    1.9Hadoop簡介 14
    1.10HadoopHDFS分散式檔案系統 14
    1.11HadoopMapReduce的介紹 17
    1.12結論 18
    第2章VirtualBox虛擬機軟體的安裝 19
    2.1VirtualBox的下載和安裝 20
    2.2設定VirtualBox存儲資料夾 23
    2.3在VirtualBox創建虛擬機 25
    2.4結論 29
    第3章UbuntuLinux作業系統的安裝 30
    3.1UbuntuLinux作業系統的安裝 31
    3.2在Virtual設定Ubuntu虛擬光碟檔案 33
    3.3開始安裝Ubuntu 35
    3.4啟動Ubuntu 40
    3.5安裝增強功能 41
    3.6設定默認輸入法 45
    3.7設定“終端”程式 48
    3.8設定“終端”程式為白底黑字 49
    3.9設定共享剪貼簿 50
    3.10設定最佳下載伺服器 52
    3.11結論 56
    第4章HadoopSingleNodeCluster的安裝 57
    4.1安裝JDK 58
    4.2設定SSH無密碼登錄 61
    4.3下載安裝Hadoop 64
    4.4設定Hadoop環境變數 67
    4.5修改Hadoop配置設定檔案 69
    4.6創建並格式化HDFS目錄 73
    4.7啟動Hadoop 74
    4.8打開HadoopResource-ManagerWeb界面 76
    4.9NameNodeHDFSWeb界面 78
    4.10結論 79
    第5章HadoopMultiNodeCluster的安裝 80
    5.1把SingleNodeCluster複製到data1 83
    5.2設定VirtualBox網卡 84
    5.3設定data1伺服器 87
    5.4複製data1伺服器到data2、data3、master 94
    5.5設定data2伺服器 97
    5.6設定data3伺服器 100
    5.7設定master伺服器 102
    5.8master連線到data1、data2、data3創建HDFS目錄 107
    5.9創建並格式化NameNodeHDFS目錄 110
    5.10啟動HadoopMultiNodeCluster 112
    5.11打開HadoopResourceManagerWeb界面 114
    5.12打開NameNodeWeb界面 115
    5.13停止HadoopMultiNodeCluster 116
    5.14結論 116
    第6章HadoopHDFS命令 117
    6.1啟動HadoopMulti-NodeCluster 118
    6.2創建與查看HDFS目錄 120
    6.3從本地計算機複製檔案到HDFS 122
    6.4將HDFS上的檔案複製到本地計算機 127
    6.5複製與刪除HDFS檔案 129
    6.6在HadoopHDFSWeb用戶界面瀏覽HDFS 131
    6.7結論 134
    第7章HadoopMapReduce 135
    7.1簡單介紹WordCount.java 136
    7.2編輯WordCount.java 137
    7.3編譯WordCount.java 141
    7.4創建測試文本檔案 143
    7.5運行WordCount.java 145
    7.6查看運行結果 146
    7.7結論 147
    第8章PythonSpark的介紹與安裝 148
    8.1Scala的介紹與安裝 150
    8.2安裝Spark 153
    8.3啟動pyspark互動式界面 156
    8.4設定pyspark顯示信息 157
    8.5創建測試用的文本檔案 159
    8.6本地運行pyspark程式 161
    8.7在HadoopYARN運行pyspark 163
    8.8構建SparkStandaloneCluster運行環境 165
    8.9在SparkStandalone運行pyspark 171
    8.10SparkWebUI界面 173
    8.11結論 175
    第9章在IPythonNotebook運行PythonSpark程式 176
    9.1安裝Anaconda 177
    9.2在IPythonNotebook使用Spark 180
    9.3打開IPythonNotebook筆記本 184
    9.4插入程式單元格 185
    9.5加入注釋與設定程式代碼說明標題 186
    9.6關閉IPythonNotebook 188
    9.7使用IPythonNotebook在HadoopYARN-client模式運行 189
    9.8使用IPythonNotebook在SparkStandAlone模式運行 192
    9.9整理在不同的模式運行IPythonNotebook的命令 194
    9.9.1在Local啟動IPythonNotebook 195
    9.9.2在HadoopYARN-client模式啟動IPythonNotebook 195
    9.9.3在SparkStandAlone模式啟動IPythonNotebook 195
    9.10結論 196
    第10章PythonSparkRDD 197
    10.1RDD的特性 198
    10.2開啟IPythonNotebook 199
    10.3基本RDD“轉換”運算 201
    10.4多個RDD“轉換”運算 206
    10.5基本“動作”運算 208
    10.6RDDKey-Value基本“轉換”運算 209
    10.7多個RDDKey-Value“轉換”運算 212
    10.8Key-Value“動作”運算 215
    10.9Broadcast廣播變數 217
    10.10accumulator累加器 220
    10.11RDDPersistence持久化 221
    10.12使用Spark創建WordCount 223
    10.13SparkWordCount詳細解說 226
    10.14結論 228
    第11章PythonSpark的集成開發環境 229
    11.1下載與安裝eclipseScalaIDE 232
    11.2安裝PyDev 235
    11.3設定字元串替代變數 240
    11.4PyDev設定Python程式庫 243
    11.5PyDev設定anaconda2程式庫路徑 245
    11.6PyDev設定SparkPython程式庫 247
    11.7PyDev設定環境變數 248
    11.8新建PyDev項目 251
    11.9加入WordCount.py程式 253
    11.10輸入WordCount.py程式 254
    11.11創建測試檔案並上傳至HDFS目錄 257
    11.12使用spark-submit執行WordCount程式 259
    11.13在HadoopYARN-client上運行WordCount程式 261
    11.14在SparkStandaloneCluster上運行WordCount程式 264
    11.15在eclipse外部工具運行PythonSpark程式 267
    11.16在eclipse運行spark-submitYARN-client 273
    11.17在eclipse運行spark-submitStandalone 277
    11.18結論 280
    第12章PythonSpark創建推薦引擎 281
    12.1推薦算法介紹 282
    12.2“推薦引擎”大數據分析使用場景 282
    12.3ALS推薦算法的介紹 283
    12.4如何搜尋數據 285
    12.5啟動IPythonNotebook 289
    12.6如何準備數據 290
    12.7如何訓練模型 294
    12.8如何使用模型進行推薦 295
    12.9顯示推薦的電影名稱 297
    12.10創建Recommend項目 299
    12.11運行RecommendTrain.py推薦程式代碼 302
    12.12創建Recommend.py推薦程式代碼 304
    12.13在eclipse運行Recommend.py 307
    12.14結論 310
    第13章PythonSparkMLlib決策樹二元分類 311
    13.1決策樹介紹 312
    13.2“StumbleUponEvergreen”大數據問題 313
    13.2.1Kaggle網站介紹 313
    13.2.2“StumbleUponEvergreen”大數據問題場景分析 313
    13.3決策樹二元分類機器學習 314
    13.4如何蒐集數據 315
    13.4.1StumbleUpon數據內容 315
    13.4.2下載StumbleUpon數據 316
    13.4.3用LibreOfficeCalc電子表格查看train.tsv 319
    13.4.4複製到項目目錄 322
    13.5使用IPythonNotebook示範 323
    13.6如何進行數據準備 324
    13.6.1導入並轉換數據 324
    13.6.2提取feature特徵欄位 327
    13.6.3提取分類特徵欄位 328
    13.6.4提取數值特徵欄位 331
    13.6.5返回特徵欄位 331
    13.6.6提取label標籤欄位 331
    13.6.7建立訓練評估所需的數據 332
    13.6.8以隨機方式將數據分為3部分並返回 333
    13.6.9編寫PrepareData(sc)函式 333
    13.7如何訓練模型 334
    13.8如何使用模型進行預測 335
    13.9如何評估模型的準確率 338
    13.9.1使用AUC評估二元分類模型 338
    13.9.2計算AUC 339
    13.10模型的訓練參數如何影響準確率 341
    13.10.1建立trainEvaluateModel 341
    13.10.2評估impurity參數 343
    13.10.3訓練評估的結果以圖表顯示 344
    13.10.4編寫evalParameter 347
    13.10.5使用evalParameter評估maxDepth參數 347
    13.10.6使用evalParameter評估maxBins參數 348
    13.11如何找出準確率最高的參數組合 349
    13.12如何確認是否過度訓練 352
    13.13編寫RunDecisionTreeBinary.py程式 352
    13.14開始輸入RunDecisionTreeBinary.py程式 353
    13.15運行RunDecisionTreeBinary.py 355
    13.15.1執行參數評估 355
    13.15.2所有參數訓練評估找出最好的參數組合 355
    13.15.3運行RunDecisionTreeBinary.py不要輸入參數 357
    13.16查看DecisionTree的分類規則 358
    13.17結論 360
    第14章PythonSparkMLlib邏輯回歸二元分類 361
    14.1邏輯回歸分析介紹 362
    14.2RunLogisticRegressionWithSGDBinary.py程式說明 363
    14.3運行RunLogisticRegressionWithSGDBinary.py進行參數評估 367
    14.4找出最佳參數組合 370
    14.5修改程式使用參數進行預測 370
    14.6結論 372
    第15章PythonSparkMLlib支持向量機SVM二元分類 373
    15.1支持向量機SVM算法的基本概念 374
    15.2運行SVMWithSGD.py進行參數評估 376
    15.3運行SVMWithSGD.py訓練評估參數並找出最佳參數組合 378
    15.4運行SVMWithSGD.py使用最佳參數進行預測 379
    15.5結論 381
    第16章PythonSparkMLlib樸素貝葉斯二元分類 382
    16.1樸素貝葉斯分析原理的介紹 383
    16.2RunNaiveBayesBinary.py程式說明 384
    16.3運行NaiveBayes.py進行參數評估 386
    16.4運行訓練評估並找出最好的參數組合 387
    16.5修改RunNaiveBayesBinary.py直接使用最佳參數進行預測 388
    16.6結論 390
    第17章PythonSparkMLlib決策樹多元分類 391
    17.1“森林覆蓋植被”大數據問題分析場景 392
    17.2UCICovertype數據集介紹 393
    17.3下載與查看數據 394
    17.4修改PrepareData()數據準備 396
    17.5修改trainModel訓練模型程式 398
    17.6使用訓練完成的模型預測數據 399
    17.7運行RunDecisionTreeMulti.py進行參數評估 401
    17.8運行RunDecisionTreeMulti.py訓練評估參數並找出最好的參數組合 403
    17.9運行RunDecisionTreeMulti.py不進行訓練評估 404
    17.10結論 406
    第18章PythonSparkMLlib決策樹回歸分析 407
    18.1BikeSharing大數據問題分析 408
    18.2BikeSharing數據集 409
    18.3下載與查看數據 409
    18.4修改PrepareData()數據準備 412
    18.5修改DecisionTree.trainRegressor訓練模型 415
    18.6以RMSE評估模型準確率 416
    18.7訓練評估找出最好的參數組合 417
    18.8使用訓練完成的模型預測數據 417
    18.9運行RunDecisionTreeMulti.py進行參數評估 419
    18.10運行RunDecisionTreeMulti.py訓練評估參數並找出最好的參數組合 421
    18.11運行RunDecisionTreeMulti.py不進行訓練評估 422
    18.12結論 424
    第19章PythonSparkSQL、DataFrame、RDD數據統計與可視化 425
    19.1RDD、DataFrame、SparkSQL比較 426
    19.2創建RDD、DataFrame與SparkSQL 427
    19.2.1在local模式運行IPythonNotebook 427
    19.2.2創建RDD 427
    19.2.3創建DataFrame 428
    19.2.4設定IPythonNotebook字型 430
    19.2.5為DataFrame創建別名 431
    19.2.6開始使用SparkSQL 431
    19.3SELECT顯示部分欄位 434
    19.3.1使用RDD選取顯示部分欄位 434
    19.3.2使用DataFrames選取顯示欄位 434
    19.3.3使用SparkSQL選取顯示欄位 435
    19.4增加計算欄位 436
    19.4.1使用RDD增加計算欄位 436
    19.4.2使用DataFrames增加計算欄位 436
    19.4.3使用SparkSQL增加計算欄位 437
    19.5篩選數據 438
    19.5.1使用RDD篩選數據 438
    19.5.2使用DataFrames篩選數據 438
    19.5.3使用SparkSQL篩選數據 439
    19.6按單個欄位給數據排序 439
    19.6.1RDD按單個欄位給數據排序 439
    19.6.2使用SparkSQL排序 440
    19.6.3使用DataFrames按升序給數據排序 441
    19.6.4使用DataFrames按降序給數據排序 442
    19.7按多個欄位給數據排序 442
    19.7.1RDD按多個欄位給數據排序 442
    19.7.2SparkSQL按多個欄位給數據排序 443
    19.7.3DataFrames按多個欄位給數據排序 443
    19.8顯示不重複的數據 444
    19.8.1RDD顯示不重複的數據 444
    19.8.2SparkSQL顯示不重複的數據 445
    19.8.3Dataframes顯示不重複的數據 445
    19.9分組統計數據 446
    19.9.1RDD分組統計數據 446
    19.9.2SparkSQL分組統計數據 447
    19.9.3Dataframes分組統計數據 448
    19.10Join聯接數據 450
    19.10.1創建ZipCode 450
    19.10.2創建zipcode_tab 452
    19.10.3SparkSQL聯接zipcode_table數據表 454
    19.10.4DataFrameuser_df聯接zipcode_df 455
    19.11使用PandasDataFrames繪圖 457
    19.11.1按照不同的州統計並以直方圖顯示 457
    19.11.2按照不同的職業統計人數並以圓餅圖顯示 459
    19.12結論 461
    第20章SparkMLPipeline機器學習流程二元分類 462
    20.1數據準備 464
    20.1.1在local模式執行IPythonNotebook 464
    20.1.2編寫DataFramesUDF用戶自定義函式 466
    20.1.3將數據分成train_df與test_df 468
    20.2機器學習pipeline流程的組件 468
    20.2.1StringIndexer 468
    20.2.2OneHotEncoder 470
    20.2.3VectorAssembler 472
    20.2.4使用DecisionTreeClassi?er二元分類 474
    20.3建立機器學習pipeline流程 475
    20.4使用pipeline進行數據處理與訓練 476
    20.5使用pipelineModel進行預測 477
    20.6評估模型的準確率 478
    20.7使用TrainValidation進行訓練驗證找出最佳模型 479
    20.8使用crossValidation交叉驗證找出最佳模型 481
    20.9使用隨機森林RandomForestClassi?er分類器 483
    20.10結論 485
    第21章SparkMLPipeline機器學習流程多元分類 486
    21.1數據準備 487
    21.1.1讀取文本檔案 488
    21.1.2創建DataFrame 489
    21.1.3轉換為double 490
    21.2建立機器學習pipeline流程 492
    21.3使用dt_pipeline進行數據處理與訓練 493
    21.4使用pipelineModel進行預測 493
    21.5評估模型的準確率 495
    21.4使用TrainValidation進行訓練驗證找出最佳模型 496
    21.7結論 498
    第22章SparkMLPipeline機器學習流程回歸分析 499
    22.1數據準備 501
    22.1.1在local模式執行IPythonNotebook 501
    22.1.2將數據分成train_df與test_df 504
    22.2建立機器學習pipeline流程 504
    22.3使用dt_pipeline進行數據處理與訓練 506
    22.4使用pipelineModel進行預測 506
    22.5評估模型的準確率 507
    22.6使用TrainValidation進行訓練驗證找出最佳模型 508
    22.7使用crossValidation進行交叉驗證找出最佳模型 510
    22.8使用GBTRegression 511
    22.9結論 513
    附錄A本書範例程式下載與安裝說明 514
    A.1下載範例程式 515
    A.2打開本書IPythonNotebook範例程式 516
    A.3打開eclipsePythonProject範例程式 518

    相關詞條

    熱門詞條

    聯絡我們