實戰機器學習|使用 Spark
內容描述
學習熱門的機器學習演算法
本書介紹熱門的機器學習演算法及其實作方式。你將會了解如何在Spark ML這套開發框架之內,實作各種機器學習概念。首先,我們會帶你在單一節點與多重節點的運算叢集上,完成Spark的安裝工作;接著,說明如何執行以Scala和Python語言撰寫的Spark ML程式;然後以幾套資料集為範例,深入探索分群、分類與迴歸;最後,利用Spark ML來處理文字資料。
打造可以應用於工作中的機器學習程式
弄懂概念之後,便可運用來實作演算法,可能是從頭開始,或是將既有的系統轉移到這個新平台,像是從Mahout或Scikit轉移到Spark ML。當你讀完本書之時,應該能夠善加運用Spark,打造可以應用於工作中的機器學習程式。
本書將帶您:
.實際動手嘗試最新版的Spark ML
.以Scala與Python語言撰寫Spark程式
.在本機以及Amazon ECS雲端平台上,安裝並設置Spark開發環境
.取用公開的機器學習資料集,使用Spark進行資料的載入、處理、清理與轉換等動作
.處理巨量的文字資料,包括特徵萃取,並使用文字資料作為輸入餵給機器學習模型
.撰寫Spark函式,評估機器學習模型的表現能力
目錄大綱
第1章|與Spark一起奔跑
介紹如何為Spark框架設置本地端的開發環境,以及如何使用Amazon EC2在雲端上建立Spark叢集。將以一支簡單的Spark應用程式作為範例,使用Scala、Java與Python語言實作,介紹Spark的程式設計模型與API。
第2章|機器學習需要的數學知識
本章提供機器學習領域所需要的數學基礎,了解數學與各項技術,非常重要,方能深入搞懂演算法的裡裡外外,得到最佳結果。
第3章|設計機器學習系統
以真實世界的使用案例作為範本,介紹機器學習系統的設計過程,將會以這個頗富教學意味的例子,採用Spark來設計智慧型系統的高階架構。
第4章|Spark取得資料並進行處理準備
詳細介紹如何取得用於機器學習系統的資料,特別是各種免費的公開資源,將會學習如何對原始資料進行處理並清理,轉換成或可用於機器學習模型的特徵,運用各種工具、程式庫、以及Spark的功能。
第5章|使用Spark建構推薦引擎
以協同過濾方式來建立一套推薦模型,可用於推薦項目給某客戶,根據給定項目產生出相似物品的清單;衡量推薦模型表現能力的標準指標和評估法,也會在此章介紹。
第6章|使用Spark建構分類模型
詳細介紹如何建立二元分類模型,以及如何利用標準的表現能力評估指標、用來評估分類任務。
第7章|使用Spark建構迴歸模型
示範如何建立迴歸模型,延續自第6章所建立的分類模型。迴歸模型表現能力的評估指標,也會詳細說明。
第8章|使用Spark建構分群模型
探索如何建立分群模型、以及使用相關的評估方法,你將學會如何分析產生出來的群,並且加以視覺化。
第9章|Spark與維度縮減
說明如何從資料抽取出底層結構,並且降低維度。本章將介紹一些常見的維度縮減技術,說明如何運用並分析,內容將介紹如何使用處理後得到的資料表現形式,作為輸入餵給別的機器學習模型。
第10章|Spark與進階文字處理
介紹處理大規模文字資料的作法,包括從文字資料萃取出特徵,以及處理非常大維度的文字特徵。
第11章|Spark串流程式庫與即時機器學習
介紹Spark串流程式庫如何用於線上與漸進式學習方法。
第12章|Spark ML的工作流程API
以DataFrames為基礎,在其上提供一致性的API,幫助我們建立與調校機器學習工作流程。