Spark機器學習過程梳理

2021-07-25 07:09:38 字數 1237 閱讀 9696

最近半個月開始研究spark的機器學習演算法,由於工作原因,其實現在還沒有真正開始機器學習演算法的研究,只是做了前期大量的準備,現在把早年學習的,正在學習的和將要學習的一起做個梳理,整理乙個spark機器學習完整流程。本文推薦的書籍注重通俗和實戰。

linux的學習推薦《鳥哥的linux私房菜》基礎篇,這本書是成千上萬linux學習者的入門書籍,詼諧,幽默,深刻,注實戰。我早年看的時候是第三版,今年6月份鳥哥已經更新到了第四版。

繁體**:

簡體**:

在集群運維時,尤其是生產環境下,各個節點之間的網路問題,至關重要,推薦《鳥哥的linux私房菜》伺服器篇和《wireshark網路分析就這麼簡單》,後者的作者是emc網路儲存部門的主任工程師,主要以自己工作中遇到的各種難題,通過調侃的方式,介紹了網路的基礎知識(很遺憾,我還沒有讀完)。

hadoop的學習我早年看的書是《hadoop權威指南》,這本書不推薦,因為確實不好啃,翻譯的水平有限,對於初學者來說,容易放棄,我開始學習hadoop時,應該是1.0時代,這時的三架馬車是hdfs和mapreduce,hbase,這幾年隨著hadoop的在業界的迅速發展,應該進入了2.0時代,整合進了雅虎的yarn資源管理器。當然不管如何發展,hdfs和mapreduce還是hadoop的核心,最好動手去搭建hadoop集群(前面linux的學習在這裡就能發揮作用了)。

spark的學習推薦《spark快速大資料分析》和官網指南,這本書是saprk開源社群的幾位核心貢獻者寫的,讀起來很流程,其中rdd章節是核心,相對於mapreduce每次中間過程都將資料寫入hdfs,rdd是放在了記憶體中,速度不言而語。當然最好也去動手搭建集群,這裡可以參考我之前寫的部落格

集群搭建:

開發例項:

在機器學習領域的語言,一定是一門函式式程式語言,其次有強大的第三方科學計算庫。

在科學計算領域,python無疑是第一語言,spark也是支援python的,python的第三方庫有numpy(數值處理庫)、scipy(數學符號計算庫)、matplotlib等。

如果不熟悉線性代數的概念,要去學習自然科學,現在看來就和文盲差不多 ————瑞典數學家lars garding

下面才是真正的機器學習開始。這裡推薦《spark高階資料分析》和《spark機器學習》

前者的作者是cloudera公司的資料科學家,主要以目前業界的案例分析。在理解的基礎上最好去動手實踐,我個人在集群上執行了第八章的案例,可以參考我之前寫的部落格:。後者還沒讀。

機器學習才剛開始,後續會更新。

Spark機器學習

spark機器學習 注 spark簡介 spark是乙個分布式計算框架,旨在簡化執行於計算集群上的並行程式的編寫。該框架對資源排程,任務的提交 執行和跟蹤,節點間的通訊以及資料並行處理的內在底層操作都進行了抽象。它提供了乙個更高階別的api用於處理分布式資料。spark支援的四種執行模式 本地單機模...

spark梳理筆記

梳理一下spark中關於併發度涉及的幾個概念file,block,split,task,partition,rdd以及節點數 executor數 core數目的關係。輸入可能以多個檔案的形式儲存在hdfs上,每個file都包含了很多塊,稱為block。當spark讀取這些檔案作為輸入時,會根據具體資...

機器學習損失函式梳理

沒有乙個適合所有機器學習演算法的損失函式。針對特定問題選擇損失函式涉及到許多因素,比如所選機器學習演算法的型別 是否易於計算導數以及資料集中異常值所佔比例。下文中總結了機器學習中比較重要的損失函式。均方誤差 mse 度量的是 值和實際觀測值間差的平方的均值。它只考慮誤差的平均大小,不考慮其方向。但由...