Python+Spark 2.0+Hadoop機器學習與大數據分析實戰 | 誠品線上

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

作者 林大貴
出版社 聯合發行股份有限公司
商品描述 Python+Spark 2.0+Hadoop機器學習與大數據分析實戰:◆本書淺顯易懂的原理說明◆StepbyStep實機操作◆範例程式詳細解說◆大幅降低機器學習與大數據技術的學習門檻機器學習

內容簡介

內容簡介 ◎實機操作建置Spark+Hadoop機器學習與大數據平台一般人學習大數據的困難是,沒有多台機器建立分散式系統,但是透過本書介紹使用Virtual Box虛擬機器的方法,就能在自家電腦演練建立Hadoop叢集,並且建立Python Spark機器學習開發環境。◎以實務範例程式學會Python+Spark機器學習與大數據以 大數據實務案例MovieLens(電影喜好推薦引擎)、StumbleUpon (網頁二元分類)、Covtype(森林覆蓋多元分類),BikeSharing(類Ubike租借數量迴歸分析),介紹如何使用Python Spark運用機器學習演算法:決策樹、邏輯迴歸、支持向量機器SVM、單純貝氏。進行資料處理、訓練、建立模型、訓練驗證找出最佳模型、預測結果。‧本書淺顯易懂的原理說明‧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…等,進行資料視覺化。

作者介紹

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

產品目錄

產品目錄 Chapter01 Python Spark機器學習與Hadoop大數據 1.1 機器學習介紹1.2 Spark介紹1.3 Spark資料處理RDD、DataFrame、Spark SQL1.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 開始安裝Ubuntu3.4 啟動Ubuntu3.5 安裝Guest Additions3.6 設定預設輸入法3.7 設定終端機程式3.8 設定終端機白底黑字3.9 設定共用剪貼簿3.10 設定最佳下載伺服器3.11 結論Chapter04 Hadoop Single Node Cluster安裝 4.1 安裝JDK4.2 設定SSH無密碼登入4.3 下載安裝Hadoop4.4 設定Hadoop環境變數4.5 修改Hadoop組態設定檔4.6 建立與格式化HDFS目錄4.7 啟動Hadoop4.8 開啟Hadoop Resource Manager Web介面4.9 NameNode HDFS Web介面4.10 結論Chapter05 Hadoop Multi Node Cluster安裝 5.1 複製Single Node Cluster到data15.2 VirtualBox介面卡設定5.3 設定data1伺服器5.4 複製data1伺服器至data2、data3、master5.5 設定data2伺服器5.6 設定data3伺服器5.7 設定master伺服器5.8 master連線至data1、data2、data3建立HDFS目錄5.9 建立與格式化NameNode HDFS目錄5.10 啟動Hadoop Multi Node Cluster5.11 開啟Hadoop ResourceManager Web介面5.12 開啟NameNode Web介面5.13 停止Hadoop Multi Node Cluster5.14 結論Chapter06 Hadoop HDFS命令介紹 6.1 啟動Hadoop Multi-Node Cluster6.2 建立與查看HDFS目錄6.3 從本機複製檔案到HDFS6.4 將HDFS 上的檔案複製到本機6.5 複製與刪除HDFS檔案6.6 Hadoop HDFS Web UI介面瀏覽HDFS6.7 結論Chapter07 Hadoop MapReduce介紹 7.1 wordCount.java介紹7.2 編輯wordCount.java7.3 編譯wordCount.java7.4 建立測試文字檔7.5 執行wordCount.java7.6 查看執行結果7.7 結論Chapter08 Python Spark介紹與安裝 8.1 Scala介紹與安裝8.2 安裝SPARK 2.08.3 啟動pyspark互動介面8.4 設定pyspark顯示訊息8.5 建立測試文字檔8.6 本機執行pyspark程式8.7 在Hadoop YARN執行pyspark8.8 建置Spark standalone cluster執行環境8.9 在Spark standalone執行pyspark8.10 Spark Web UI介面8.11 結論Chapter09 在IPython Notebook 執行Python Spark程式 9.1 安裝Anaconda9.2 在IPython Notebook使用Spark9.3 開啟IPython Notebook筆記本9.4 插入程式儲存格9.5 加入註解與設定程式碼說明標題9.6 關閉IPython Notebook9.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 Notebook10.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 建立WordCount10.13 Spark WordCount詳細解說10.14 結論Chapter11 Python Spark整合開發環境介紹 11.1 下載與安裝eclipse Scala IDE11.2 安裝pyDev11.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-client11.17 在eclipse執行spark-submit Standalone11.18 結論Chapter12 Python Spark建立推薦引擎 12.1 推薦演算法介紹12.2 「推薦引擎」大數據分析使用情境12.3 ALS 推薦演算法介紹12.4 如何蒐集資料?12.5 啟動IPython Note Book12.6 如何資料準備?12.7 如何訓練模型?12.8 如何使用模型進行推薦?12.9 顯示推薦的電影的名稱12.10 建立Recommend 推薦系統12.11 執行RecommendTrain.py推薦程式碼12.12 建立Recommend.py推薦程式碼12.13 在eclipse執行Recommend.py12.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.py13.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 tempTable19.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 Regression22.9 結論Appendix A 本書範例程式下載與安裝說明 A.1 下載範例程式A.2 開啟本書iPython Note Book範例程式A.3 開啟eclipse PythonProject範例程式

商品規格

書名 / Python+Spark 2.0+Hadoop機器學習與大數據分析實戰
作者 / 林大貴
簡介 / Python+Spark 2.0+Hadoop機器學習與大數據分析實戰:◆本書淺顯易懂的原理說明◆StepbyStep實機操作◆範例程式詳細解說◆大幅降低機器學習與大數據技術的學習門檻機器學習
出版社 / 聯合發行股份有限公司
ISBN13 / 9789864341535
ISBN10 / 9864341537
EAN / 9789864341535
誠品26碼 / 2681379288008
頁數 / 576
注音版 /
裝訂 / P:平裝
語言 / 1:中文 繁體
尺寸 / 23X17CM
級別 / N:無

活動