實戰機器學習: 使用Spark | 誠品線上

Machine Learning with Spark

作者 Rajdeep Dua/ Manpreet Singh Ghotra/Nick
出版社 聯合發行股份有限公司
商品描述 實戰機器學習: 使用Spark:學習熱門的機器學習演算法本書介紹熱門的機器學習演算法及其實作方式。你將會了解如何在SparkML這套開發框架之內,實作各種機器學習概念。首先,

內容簡介

內容簡介 學習熱門的機器學習演算法本書介紹熱門的機器學習演算法及其實作方式。你將會了解如何在Spark ML這套開發框架之內,實作各種機器學習概念。首先,我們會帶你在單一節點與多重節點的運算叢集上,完成Spark的安裝工作;接著,說明如何執行以Scala和Python語言撰寫的Spark ML程式;然後以幾套資料集為範例,深入探索分群、分類與迴歸;最後,利用Spark ML來處理文字資料。打造可以應用於工作中的機器學習程式弄懂概念之後,便可運用來實作演算法,可能是從頭開始,或是將既有的系統轉移到這個新平台,像是從Mahout或Scikit轉移到Spark ML。當你讀完本書之時,應該能夠善加運用Spark,打造可以應用於工作中的機器學習程式。本書將帶您:●實際動手嘗試最新版的Spark ML●以Scala與Python語言撰寫Spark程式●在本機以及Amazon ECS雲端平台上,安裝並設置Spark開發環境●取用公開的機器學習資料集,使用Spark進行資料的載入、處理、清理與轉換等動作●處理巨量的文字資料,包括特徵萃取,並使用文字資料作為輸入餵給機器學習模型●撰寫Spark函式,評估機器學習模型的表現能力

作者介紹

作者介紹 ■作者簡介Rajdeep Dua曾服務於Google的大數據工具推廣團隊,如BigQuery;曾在VMware公司的開發人員技術傳播小組工作,致力於大數據平台Greenplum,也與Spark移植團隊緊密合作,加入功能集合,把Spark移植到VMware的公開雲和私有雲平台。Manpreet Singh Ghotra目前任職Salesforce,致力於以Apache Spark來開發一套機器學習平台;使用Apache Spark與機器學習技術,打造情緒分析器。曾任職於世界最大線上零售商之一的機器學習部門,使用Apache Mahout研究運送時間的計算,以及R推薦系統。Nick Pentreath擁有財務金融、機器學習、軟體開發的背景,曾任職於Goldman Sachs企業,線上廣告刊登目標新創公司的研究科學家、倫敦Cognitive Match有限公司、並且在非洲最大的社群網路Mxit,領導資料科學與分析團隊。■譯者簡介江良志

產品目錄

產品目錄 第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,幫助我們建立與調校機器學習工作流程。

商品規格

書名 / 實戰機器學習: 使用Spark
作者 / Rajdeep Dua Manpreet Singh Ghotra Nick
簡介 / 實戰機器學習: 使用Spark:學習熱門的機器學習演算法本書介紹熱門的機器學習演算法及其實作方式。你將會了解如何在SparkML這套開發框架之內,實作各種機器學習概念。首先,
出版社 / 聯合發行股份有限公司
ISBN13 / 9789864767731
ISBN10 / 9864767739
EAN / 9789864767731
誠品26碼 / 2681588154002
頁數 / 584
注音版 /
裝訂 / P:平裝
語言 / 1:中文 繁體
尺寸 / 23X17CM
級別 / N:無

試閱文字

自序 : 近年來,被收集、儲存、分析的資料數量,呈現爆炸性成長,特別是與網站和行動裝置相關的活動,以及經由感測器網路取得、來自真實世界的資料;大規模的資料儲存、處理、分析與模型建立,在過去只有Google、Yahoo!、Facebook、Twitter與Salesforce這類大型機構使用,然而隨著時間演進,許多組織也開始要面對大數據,面對如何處理巨量資料的挑戰。

資料越來越多,成長速度越來越快,關於如何處理大數據的艱困挑戰,Google、Yahoo!、Faceboo之類的企業組織,都提出相對應的開源技術,藉由把資料儲存與運算的功能,分散到電腦叢集之中,降低處理海量資料的難度。

其中最被廣為採用的技術是Apache Hadoop,能夠輕易且廉價地儲存大規模資料(經由Hadoop分散式檔案系統,也就是HDFS),並且在這些資料上進行運算(經由Hadoop MapReduce這套框架,在電腦叢集中的諸多節點上,以平行方式進行運算任務)。

然而,MapReduce有幾項致命的缺點,包括啟動任務的花費太高、必須把中間資料與運算結果儲存到磁碟,這兩點導致Hadoop不適合用於迭代形式或低延遲的使用案例。Apache Spark是套分散式運算的框架,特別針對低延遲任務而全新設計,會把中間資料與結果儲存在記憶體裡,因此可避開Hadoop的許多重大缺點。Spark提供了乾淨且易於了解的函數式API,供開發人員撰寫應用程式,而且與Hadoop生態系統完全相容。

不僅如此,Spark還為Scala、Java、Python與R語言提供了原生API。Scala與Python的API,分別允許我們充分利用Scala與Python的長處與優勢,直接用於Spark應用程式之內,包括即時互動探索形式的直譯器。Spark本身現在開始提供分散式機器學習和資料探勘的工具箱(Spark 1.6版的MLlib、2.0版的ML),並且投入大量人力資源進行開發,對於許多常見的機器學習任務來說,已經擁有高品質、可規模擴展、效率高的演算法,本書將會深入介紹。

把機器學習技術、套用到巨量資料身上,難度相當高,主因是大部分知名的機器學習演算法,都沒有考量平行架構。就許多情況而言,設計平行演算法絕非簡單的事情,一般來說,機器學習模型在本質上屬於迭代處理形式,因此使得吾人樂於採用Spark。在平行運算領域,雖然存在著眾多競爭的開發框架,在這當中,Spark是少數幾個之一能夠結合速度、規模擴展性、在記憶體中進行處理、容錯能力、以及程式設計的容易性,並且提供有彈性、表達能力強的優質API設計。

本書將會聚焦在機器學習技術的真實運用案例,雖然可能會在某些篇幅,短暫深入介紹機器學習演算法的理論面向,以及所需要的數學知識,但本書主要還是採用實務可行的教學法,把重心放在範例與實際的程式碼,闡釋如何充分運用Spark與MLlib的功能特色,以及其他知名免費的機器學習與資料分析套件,建構出有用的機器學習系統。