Python+Spark 2.0+Hadoop機器學習與大數據分析實戰 [Big Data]

Python+Spark 2.0+Hadoop機器學習與大數據分析實戰 [Big Data]

Python+Spark 2.0+Hadoop機器學習與大數據分析實戰 [Big Data]

 

作者:林大貴

ISBN:9789864341535

 

http://www.3dwoo.com/showBookDetail.asp?nb=45289

 

內容簡介:
◆本書淺顯易懂的原理說明◆Step by Step實機操作◆範例程式詳細解說◆大幅降低機器學習與大數據技術的學習門檻機器學習正熱門機器學習是近20多年興起的多領域學科,機器學習演算法可從大量數據中建立模型,並利用模型對未知數據進行預測。近年來各大公司google、facebook、microsoft、IBM…等,全力投入機器學習研究與應用,以Google為例,Google早已將機器學習,運用在垃圾郵件判斷、自動回覆、照片分類與搜尋、翻譯、語音辨識等功能。在你在不知不覺中,機器學習已經讓日常生活更便利。「大數據」與「機器學習」相輔相成大數據的特性: 大量資料、多樣化、速度快。因此如何從大量資料中擷取出有用的資訊,是大數據的主要課題。機器學習需要大量資料進行訓練,並且訓練過程需大量運算。正好大數據的興起帶來大量資料,以及可儲存大量數據的分散式儲存技術,例如:Hadoop HDFS、NoSQL..。還有分散式運算可進行大量運算,例如Spark 基於記憶體內的分散式運算框架,可以大幅提升效能。Python與Spark與Hadoop的完美結合本書的主題是Python+Spark+Hadoop機器學習與大數據分析:使用Python開發Spark應用程式,具有多重好處,既可以享有Python語言特性所帶來的好處:程式碼簡明、易學習、高生產力的特質。再加上Spark基於記憶體內的分散式運算框架,非常適合需多次重覆運算的機器學習演算法,可以大幅提升效能。Spark可輕易讀取Hadoop分散式儲存技術HDFS。Spark也可以在Hadoop 新MapReduce架構YARN執行。Python與Spark機器學習與資料視覺化Python資料分析的相關模組如NumPy、Matplotlib、Pandas、Scikit-learn,讓Python成為資料分析主要語言之一。使用Python開發Spark機器學習應用時,你仍然可以繼續使用這些模組,這對於Python開發者帶來很大的方便,例如:你可以使用Spark ML Pipeline機器學習、訓練、預測。並且可以將Spark DataFrames轉換為Pandas DataFrame。轉換後你就可以運用Python豐富的資料視覺化套件,例如matplotlib、Bokeh…等,進行資料視覺化。本書特色:實機操作建置Spark+Hadoop機器學習與大數據平臺一般人學習大數據的困難是,沒有多臺機器建立分散式系統,但是透過本書介紹使用Virtual Box虛擬機器的方法,就能在自家電腦演練建立Hadoop叢集,並且建立Python Spark機器學習開發環境。本書特色:以實務範例程式學會Python+Spark機器學習與大數據以大數據實務案例MovieLens(電影喜好推薦引擎)、StumbleUpon (網頁二元分類)、Covtype(森林覆蓋多元分類),BikeSharing(類Ubike租借數量迴歸分析),介紹如何使用Python Spark運用機器學習演算法:決策樹、邏輯迴歸、支持向量機器SVM、單純貝氏。進行資料處理、訓練、建立模型、訓練驗證找出最佳模型、預測結果。
目錄:
Chapter01 Python Spark機器學習與Hadoop大數據
1.1 機器學習介紹
1.2 Spark介紹
1.3 Spark資料處理RDD、DataFrame、Spark SQL
1.4 使用Python開發Spark機器學習與大數據應用
1.5 Python Spark 器學習
1.6 Spark ML Pipeline機器學習流程介紹
1.7 Spark 2.0介紹
1.8 大數據定義
1.9 Hadoop簡介
1.10 Hadoop HDFS分散式檔案系統
1.11 Hadoop MapReduce介紹
1.12 結論

Chapter02 Virtual Box虛擬機器軟體安裝
2.1 VirtualBox下載安裝
2.2 設定Virtual Box儲存資料夾
2.3 在VirtualBox建立虛擬機器
2.4 結論

Chapter03 Ubuntu Linux作業系統安裝
3.1 Ubuntu Linux的作業系統安裝
3.2 在Virtual Box設定Ubuntu虛擬光碟檔案
3.3 開始安裝Ubuntu
3.4 啟動Ubuntu
3.5 安裝Guest Additions
3.6 設定預設輸入法
3.7 設定終端機程式
3.8 設定終端機白底黑字
3.9 設定共用剪貼簿
3.10 設定最佳下載伺服器
3.11 結論

Chapter04 Hadoop Single Node Cluster安裝
4.1 安裝JDK
4.2 設定SSH無密碼登入
4.3 下載安裝Hadoop
4.4 設定Hadoop環境變數
4.5 修改Hadoop組態設定檔
4.6 建立與格式化HDFS目錄
4.7 啟動Hadoop
4.8 開啟Hadoop Resource Manager Web介面
4.9 NameNode HDFS Web介面
4.10 結論

Chapter05 Hadoop Multi Node Cluster安裝
5.1 複製Single Node Cluster到data1
5.2 VirtualBox介面卡設定
5.3 設定data1伺服器
5.4 複製data1伺服器至data2、data3、master
5.5 設定data2伺服器
5.6 設定data3伺服器
5.7 設定master伺服器
5.8 master連線至data1、data2、data3建立HDFS目錄
5.9 建立與格式化NameNode HDFS目錄
5.10 啟動Hadoop Multi Node Cluster
5.11 開啟Hadoop ResourceManager Web介面
5.12 開啟NameNode Web介面
5.13 停止Hadoop Multi Node Cluster
5.14 結論

Chapter06 Hadoop HDFS命令介紹
6.1 啟動Hadoop Multi-Node Cluster
6.2 建立與查看HDFS目錄
6.3 從本機複製檔案到HDFS
6.4 將HDFS 上的檔案複製到本機
6.5 複製與刪除HDFS檔案
6.6 Hadoop HDFS Web UI介面瀏覽HDFS
6.7 結論

Chapter07 Hadoop MapReduce介紹
7.1 wordCount.java介紹
7.2 編輯wordCount.java
7.3 編譯wordCount.java
7.4 建立測試文字檔
7.5 執行wordCount.java
7.6 查看執行結果
7.7 結論

Chapter08 Python Spark介紹與安裝
8.1 Scala介紹與安裝
8.2 安裝SPARK 2.0
8.3 啟動pyspark互動介面
8.4 設定pyspark顯示訊息
8.5 建立測試文字檔
8.6 本機執行pyspark程式
8.7 在Hadoop YARN執行pyspark
8.8 建置Spark standalone cluster執行環境
8.9 在Spark standalone執行pyspark
8.10 Spark Web UI介面
8.11 結論

Chapter09 在IPython Notebook 執行Python Spark程式
9.1 安裝Anaconda
9.2 在IPython Notebook使用Spark
9.3 開啟IPython Notebook筆記本
9.4 插入程式儲存格
9.5 加入註解與設定程式碼說明標題
9.6 關閉IPython Notebook
9.7 使用IPython Notebook在hadoop yarn-client模式執行
9.8 使用IPython Notebook在Spark Stand Alone模式執行
9.9 在不同的模式執行IPython Notebook指令整理
9.10 結論

Chapter10 Python Spark RDD介紹
10.1 RDD的特性
10.2 開啟IPython Notebook
10.3 基本RDD「轉換」運算
10.4 多個RDD「轉換」運算
10.5 基本「動作」運算
10.6 RDD Key-Value基本「轉換」運算
10.7 多個RDD Key-Value「轉換」運算
10.8 Key-Value「動作」運算
10.9 Broadcast廣播變數
10.10 accumulator累加器
10.11 RDD Persistence持久化
10.12 使用Spark 建立WordCount
10.13 Spark WordCount詳細解說
10.14 結論

Chapter11 Python Spark整合開發環境介紹
11.1 下載與安裝eclipse Scala IDE
11.2 安裝pyDev
11.3 設定字串替代變數
11.4 PyDev 設定Python程式庫
11.5 PyDev 設定anaconda2程式庫路徑
11.6 PyDev 設定Spark Python程式庫
11.7 PyDev 設定環境變數
11.8 新增PyDev專案
11.9 加入WordCount.py程式
11.10 輸入WordCount.py程式
11.11 建立測試檔案並上傳測試檔至HDFS目錄
11.12 使用spark-submit來執行WordCount程式
11.13 在hadoop yarn-client執行WordCount程式
11.14 在Spark Standalone Cluster 執行WordCount程式
11.15 在eclipse外部工具執行Python Spark程式
11.16 在eclipse執行spark-submit yarn-client
11.17 在eclipse執行spark-submit Standalone
11.18 結論

Chapter12 Python Spark建立推薦引擎
12.1 推薦演算法介紹
12.2 「推薦引擎」大數據分析使用情境
12.3 ALS 推薦演算法介紹
12.4 如何蒐集資料?
12.5 啟動IPython Note Book
12.6 如何資料準備?
12.7 如何訓練模型?
12.8 如何使用模型進行推薦?
12.9 顯示推薦的電影的名稱
12.10 建立Recommend 推薦系統
12.11 執行RecommendTrain.py推薦程式碼
12.12 建立Recommend.py推薦程式碼
12.13 在eclipse執行Recommend.py
12.14 結論

Chapter13 Python Spark MLlib決策樹二元分類
13.1 決策樹介紹
13.2 「StumbleUpon Evergreen」大數據問題
13.3 決策樹二元分類機器學習
13.4 如何蒐集資料?
13.5 使用iPython Note Book 示範
13.6 如何資料準備?
13.7 如何訓練模型?
13.8 如何使用模型進行預測?
13.9 如何評估模型的準確率?
13.10 模型的訓練參數如何影響準確率?
13.11 如何找出準確率最高的參數組合?
13.12 如何確認是否Overfitting(過度訓練)?
13.13 建立RunDecisionTreeBinary.py程式
13.14 開始輸入RunDecisionTreeBinary.py程式
13.15 執行RunDecisionTreeBinary.py
13.16 查看DecisionTree的分類規則
13.17 結論

Chapter14 Python Spark MLlib邏輯迴歸二元分類
14.1 邏輯迴歸分類介紹
14.2 RunLogisticRegressionWithSGDBinary.py程式說明
14.3 執行RunLogisticRegressionWithSGDBinary.py進行參數評估
14.4 執行找出最佳參數組合
14.5 修改程式使用最佳參數進行預測
14.6 結論

Chapter15 Python Spark MLlib 支援向量機器SVM二元分類
15.1 支援向量機器SVM演算法基本概念
15.2 執行SVMWithSGD.py進行參數評估
15.3 執行SVMWithSGD.py訓練評估參數,找出最佳的參數組合
15.4 執行SVMWithSGD.py使用最佳參數進行預測
15.5 結論

Chapter16 Python Spark MLlib單純貝氏二元分類
16.1 單純貝氏分析原理介紹
16.2 RunNaiveBayesBinary.py程式說明
16.3 執行RunNaiveBayesBinary.py進行參數評估
16.4 執行訓練評估參數,找出最好的參數組合
16.5 修改RunNaiveBayesBinary.py直接使用最佳參數進行預測
16.6 結論

Chapter17 Python Spark MLlib決策樹多元分類
17.1 「森林覆蓋樹種」大數據問題分析情境
17.2 UCI Covertype資料集介紹
17.3 下載與查看資料
17.4 修改PrepareData()資料準備
17.5 修改trainModel 訓練模型程式
17.6 使用訓練完成的模型預測資料
17.7 執行RunDecisionTreeMulti.py進行參數評估
17.8 執行RunDecisionTreeMulti.py訓練評估參數,找出最好的參數組合
17.9 執行RunDecisionTreeMulti.py不進行訓練評估
17.10 結論

Chapter18 Python Spark MLlib決策樹迴歸分析
18.1 Bike Sharing大數據問題分析
18.2 Bike Sharing資料集
18.3 下載與查看資料
18.4 修改PrepareData()資料準備
18.5 修改以DecisionTree.trainRegressor訓練模型
18.6 以RMSE 評估模型準確率
18.7 訓練評估找出最好的參數組合
18.8 使用訓練完成的模型預測資料
18.9 執行RunDecisionTreeMulti.py進行參數評估
18.10 執行RunDecisionTreeMulti.py訓練評估參數,找出最好的參數組合
18.11 執行RunDecisionTreeMulti.py不進行訓練評估
18.12 結論

Chapter19 Python Spark SQL、DataFrame、RDD資料統計與視覺化
19.1 RDD、DataFrame、Spark SQL比較
19.2 建立RDD、DataFrame 與Spark SQL tempTable
19.3 SELECT顯示部分欄位
19.4 增加計算欄位
19.5 篩選資料
19.6 單一欄位排序資料
19.7 多欄位排序資料
19.8 顯示不重複資料
19.9 群組統計資料
19.10 Join關聯資料
19.11 以Pandas DataFrame繪圖
19.12 結論

Chapter20 Spark ML Pipeline機器學習流程二元分類
20.1 資料準備
20.2 介紹機器學習pipeline流程的元件
20.3 建立機器學習pipeline流程
20.4 使用pipeline進行資料處理與訓練
20.5 使用pipelineModel進行預測
20.6 評估模型的準確率
20.7 使用TrainValidation進行訓練驗證找出最佳模型
20.8 使用crossValidation交叉驗證找出最佳模型
20.9 使用隨機森林RandomForestClassifier分類器
20.10 結論

Chapter21 Spark ML Pipeline機器學習流程多元分類
21.1 資料準備
21.2 建立機器學習pipeline流程
21.3 使用dt_pipeline進行資料處理與訓練
21.4 使用pipelineModel進行預測
21.5 評估模型的準確率
21.6 使用TrainValidation進行訓練驗證找出最佳模型
21.7 結論

Chapter22 Spark ML Pipeline機器學習流程迴歸分析
22.1 資料準備
22.2 建立機器學習pipeline流程
22.3 使用dt_pipeline進行資料處理與訓練
22.4 使用pipelineModel進行預測
22.5 評估模型的準確率
22.6 使用TrainValidation進行訓練驗證找出最佳模型
22.7 使用crossValidation進行交叉驗證找出最佳模型
22.8 使用GBT Regression
22.9 結論

Appendix A 本書範例程式下載與安裝說明
A.1 下載範例程式
A.2 開啟本書iPython Note Book範例程式
A.3 開啟eclipse PythonProject範例程式

 

 

 


 

 


發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *