Python+Spark 2.0+Hadoop機器學習與大數據分析實戰 | 拾書所

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

$ 612 元 原價 680
內容簡介


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

◆本書淺顯易懂的原理說明
◆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、單純貝氏。進行資料處理、訓練、建立模型、訓練驗證找出最佳模型、預測結果。

作者簡介



林大貴
作者從事IT產業多年,涉獵系統設計、網站開發、數位行銷與商業智慧等多領域,具備豐富實務開發經驗。近年來,開始從事書籍創作與教學,著重在人工智慧、機器學習、大數據等領域,並著有暢銷書《Hadoop+Spark大數據巨量分析與機器學習整合開發實戰》一書。

內容目錄


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 開始輸入RunDecision

Brand Slider