新書推薦:
《
古典人體動態解剖學:描繪人體動態的藝用指南
》
售價:HK$
193.0
《
發現東亞:現代東亞如何成形.全球視野下的關鍵大歷史
》
售價:HK$
115.8
《
零錯誤:全球頂尖企業都採用的科技策略
》
售價:HK$
118.8
《
數學圖形素描教室:用旋轉曲面、多面體、拓樸形狀來創作!結合數學與美學的全新領域
》
售價:HK$
112.8
《
國畫大師齊白石的一生
》
售價:HK$
118.8
《
先做好準備,再等待機會全集:只要有準備,就不怕沒有機會
》
售價:HK$
88.8
《
法醫偵查筆記:傾聽死者的無聲遺言,全面解開案發現場秘辛
》
售價:HK$
73.9
《
里山的一年繪本3:農地的一年
》
售價:HK$
112.8
|
內容簡介: |
◆本書淺顯易懂的原理說明
◆StepbyStep實機操作
◆範例程式詳細解說
◆大幅降低機器學習與大數據技術的學習門檻
機器學習正熱門
機器學習是近20多年興起的多領域學科,機器學習演算法可從大量數據中建立模型,並利用模型對未知數據進行預測。近年來各大公司google、facebook、microsoft、IBM…等,全力投入機器學習研究與應用,以Google為例,Google早已將機器學習,運用在垃圾郵件判斷、自動回覆、照片分類與搜尋、翻譯、語音辨識等功能。在你在不知不覺中,機器學習已經讓日常生活更便利。
「大數據」與「機器學習」相輔相成
大數據的特性:大量資料、多樣化、速度快。因此如何從大量資料中擷取出有用的資訊,是大數據的主要課題。機器學習需要大量資料進行訓練,並且訓練過程需大量運算。正好大數據的興起帶來大量資料,以及可儲存大量數據的分散式儲存技術,例如:HadoopHDFS、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開發者帶來很大的方便,例如:你可以使用SparkMLPipeline機器學習、訓練、預測。並且可以將SparkDataFrames轉換為PandasDataFrame。轉換後你就可以運用Python豐富的資料視覺化套件,例如matplotlib、Bokeh…等,進行資料視覺化。
本書特色:
實機操作建置Spark+Hadoop機器學習與大數據平台
一般人學習大數據的困難是,沒有多台機器建立分散式系統,但是透過本書介紹使用VirtualBox虛擬機器的方法,就能在自家電腦演練建立Hadoop叢集,並且建立PythonSpark機器學習開發環境。
以實務範例程式學會Python+Spark機器學習與大數據
以大數據實務案例MovieLens電影喜好推薦引擎、StumbleUpon網頁二元分類、Covtype(森林覆蓋多元分類),BikeSharing類Ubike租借數量迴歸分析,介紹如何使用PythonSpark運用機器學習演算法:決策樹、邏輯迴歸、支持向量機器SVM、單純貝氏。進行資料處理、訓練、建立模型、訓練驗證找出最佳模型、預測結果。
|
關於作者: |
作者簡介
林大貴
作者從事IT產業多年,涉獵系統設計、網站開發、數位行銷與商業智慧等多領域,具備豐富實務開發經驗。近年來,開始從事書籍創作與教學,著重在人工智慧、機器學習、大數據等領域,並著有暢銷書《Hadoop+Spark大數據巨量分析與機器學習整合開發實戰》一書。
|
目錄:
|
Chapter01PythonSpark機器學習與Hadoop大數據
1.1機器學習介紹
1.2Spark介紹
1.3Spark資料處理RDD、DataFrame、SparkSQL
1.4使用Python開發Spark機器學習與大數據應用
1.5PythonSpark器學習
1.6SparkMLPipeline機器學習流程介紹
1.7Spark2.0介紹
1.8大數據定義
1.9Hadoop簡介
1.10HadoopHDFS分散式檔案系統
1.11HadoopMapReduce介紹
1.12結論
Chapter02VirtualBox虛擬機器軟體安裝
2.1VirtualBox下載安裝
2.2設定VirtualBox儲存資料夾
2.3在VirtualBox建立虛擬機器
2.4結論
Chapter03UbuntuLinux作業系統安裝
3.1UbuntuLinux的作業系統安裝
3.2在VirtualBox設定Ubuntu虛擬光碟檔案
3.3開始安裝Ubuntu
3.4啟動Ubuntu
3.5安裝GuestAdditions
3.6設定預設輸入法
3.7設定終端機程式
3.8設定終端機白底黑字
3.9設定共用剪貼簿
3.10設定最佳下載伺服器
3.11結論
Chapter04HadoopSingleNodeCluster安裝
4.1安裝JDK
4.2設定SSH無密碼登入
4.3下載安裝Hadoop
4.4設定Hadoop環境變數
4.5修改Hadoop組態設定檔
4.6建立與格式化HDFS目錄
4.7啟動Hadoop
4.8開啟HadoopResourceManagerWeb介面
4.9NameNodeHDFSWeb介面
4.10結論
Chapter05HadoopMultiNodeCluster安裝
5.1複製SingleNodeCluster到data1
5.2VirtualBox介面卡設定
5.3設定data1伺服器
5.4複製data1伺服器至data2、data3、master
5.5設定data2伺服器
5.6設定data3伺服器
5.7設定master伺服器
5.8master連線至data1、data2、data3建立HDFS目錄
5.9建立與格式化NameNodeHDFS目錄
5.10啟動HadoopMultiNodeCluster
5.11開啟HadoopResourceManagerWeb介面
5.12開啟NameNodeWeb介面
5.13停止HadoopMultiNodeCluster
5.14結論
Chapter06HadoopHDFS命令介紹
6.1啟動HadoopMulti-NodeCluster
6.2建立與查看HDFS目錄
6.3從本機複製檔案到HDFS
6.4將HDFS上的檔案複製到本機
6.5複製與刪除HDFS檔案
6.6HadoopHDFSWebUI介面瀏覽HDFS
6.7結論
Chapter07HadoopMapReduce介紹
7.1wordCount.java介紹
7.2編輯wordCount.java
7.3編譯wordCount.java
7.4建立測試文字檔
7.5執行wordCount.java
7.6查看執行結果
7.7結論
Chapter08PythonSpark介紹與安裝
8.1Scala介紹與安裝
8.2安裝SPARK2.0
8.3啟動pyspark互動介面
8.4設定pyspark顯示訊息
8.5建立測試文字檔
8.6本機執行pyspark程式
8.7在HadoopYARN執行pyspark
8.8建置Sparkstandalonecluster執行環境
8.9在Sparkstandalone執行pyspark
8.10SparkWebUI介面
8.11結論
Chapter09在IPythonNotebook執行PythonSpark程式
9.1安裝Anaconda
9.2在IPythonNotebook使用Spark
9.3開啟IPythonNotebook筆記本
9.4插入程式儲存格
9.5加入註解與設定程式碼說明標題
9.6關閉IPythonNotebook
9.7使用IPythonNotebook在hadoopyarn-client模式執行
9.8使用IPythonNotebook在SparkStandAlone模式執行
9.9在不同的模式執行IPythonNotebook指令整理
9.10結論
Chapter10PythonSparkRDD介紹
10.1RDD的特性
10.2開啟IPythonNotebook
10.3基本RDD「轉換」運算
10.4多個RDD「轉換」運算
10.5基本「動作」運算
10.6RDDKey-Value基本「轉換」運算
10.7多個RDDKey-Value「轉換」運算
10.8Key-Value「動作」運算
10.9Broadcast廣播變數
10.10accumulator累加器
10.11RDDPersistence持久化
10.12使用Spark建立WordCount
10.13SparkWordCount詳細解說
10.14結論
Chapter11PythonSpark整合開發環境介紹
11.1下載與安裝eclipseScalaIDE
11.2安裝pyDev
11.3設定字串替代變數
11.4PyDev設定Python程式庫
11.5PyDev設定anaconda2程式庫路徑
11.6PyDev設定SparkPython程式庫
11.7PyDev設定環境變數
11.8新增PyDev專案
11.9加入WordCount.py程式
11.10輸入WordCount.py程式
11.11建立測試檔案並上傳測試檔至HDFS目錄
11.12使用spark-submit來執行WordCount程式
11.13在hadoopyarn-client執行WordCount程式
11.14在SparkStandaloneCluster執行WordCount程式
11.15在eclipse外部工具執行PythonSpark程式
11.16在eclipse執行spark-submityarn-client
11.17在eclipse執行spark-submitStandalone
11.18結論
Chapter12PythonSpark建立推薦引擎
12.1推薦演算法介紹
12.2「推薦引擎」大數據分析使用情境
12.3ALS推薦演算法介紹
12.4如何蒐集資料?
12.5啟動IPythonNoteBook
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結論
Chapter13PythonSparkMLlib決策樹二元分類
13.1決策樹介紹
13.2「StumbleUponEvergreen」大數據問題
13.3決策樹二元分類機器學習
13.4如何蒐集資料?
13.5使用iPythonNoteBook示範
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結論
Chapter14PythonSparkMLlib邏輯迴歸二元分類
14.1邏輯迴歸分類介紹
14.2RunLogisticRegressionWithSGDBinary.py程式說明
14.3執行RunLogisticRegressionWithSGDBinary.py進行參數評估
14.4執行找出最佳參數組合
14.5修改程式使用最佳參數進行預測
14.6結論
Chapter15PythonSparkMLlib支援向量機器SVM二元分類
15.1支援向量機器SVM演算法基本概念
15.2執行SVMWithSGD.py進行參數評估
15.3執行SVMWithSGD.py訓練評估參數,找出最佳的參數組合
15.4執行SVMWithSGD.py使用最佳參數進行預測
15.5結論
Chapter16PythonSparkMLlib單純貝氏二元分類
16.1單純貝氏分析原理介紹
16.2RunNaiveBayesBinary.py程式說明
16.3執行RunNaiveBayesBinary.py進行參數評估
16.4執行訓練評估參數,找出最好的參數組合
16.5修改RunNaiveBayesBinary.py直接使用最佳參數進行預測
16.6結論
Chapter17PythonSparkMLlib決策樹多元分類
17.1「森林覆蓋樹種」大數據問題分析情境
17.2UCICovertype資料集介紹
17.3下載與查看資料
17.4修改PrepareData資料準備
17.5修改trainModel訓練模型程式
17.6使用訓練完成的模型預測資料
17.7執行RunDecisionTreeMulti.py進行參數評估
17.8執行RunDecisionTreeMulti.py訓練評估參數,找出最好的參數組合
17.9執行RunDecisionTreeMulti.py不進行訓練評估
17.10結論
Chapter18PythonSparkMLlib決策樹迴歸分析
18.1BikeSharing大數據問題分析
18.2BikeSharing資料集
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結論
Chapter19PythonSparkSQL、DataFrame、RDD資料統計與視覺化
19.1RDD、DataFrame、SparkSQL比較
19.2建立RDD、DataFrame與SparkSQLtempTable
19.3SELECT顯示部分欄位
19.4增加計算欄位
19.5篩選資料
19.6單一欄位排序資料
19.7多欄位排序資料
19.8顯示不重複資料
19.9群組統計資料
19.10Join關聯資料
19.11以PandasDataFrame繪圖
19.12結論
Chapter20SparkMLPipeline機器學習流程二元分類
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結論
Chapter21SparkMLPipeline機器學習流程多元分類
21.1資料準備
21.2建立機器學習pipeline流程
21.3使用dt_pipeline進行資料處理與訓練
21.4使用pipelineModel進行預測
21.5評估模型的準確率
21.6使用TrainValidation進行訓練驗證找出最佳模型
21.7結論
Chapter22SparkMLPipeline機器學習流程迴歸分析
22.1資料準備
22.2建立機器學習pipeline流程
22.3使用dt_pipeline進行資料處理與訓練
22.4使用pipelineModel進行預測
22.5評估模型的準確率
22.6使用TrainValidation進行訓練驗證找出最佳模型
22.7使用crossValidation進行交叉驗證找出最佳模型
22.8使用GBTRegression
22.9結論
AppendixA本書範例程式下載與安裝說明
A.1下載範例程式
A.2開啟本書iPythonNoteBook範例程式
A.3開啟eclipsePythonProject範例程式
|
|