這篇文章給大家介紹Spark中MLlib和ML庫(kù)的區(qū)別是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的江陽(yáng)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
MLlib是Spark的機(jī)器學(xué)習(xí)(ML)庫(kù)。其目標(biāo)是使實(shí)際的機(jī)器學(xué)習(xí)可擴(kuò)展和容易。在高層次上,它提供了如下工具:
ML算法:通用學(xué)習(xí)算法,如分類,回歸,聚類和協(xié)同過(guò)濾
特征提取,特征提取,轉(zhuǎn)換,降維和選擇
管道:用于構(gòu)建,評(píng)估和調(diào)整ML管道的工具
持久性:保存和加載算法,模型和管道
實(shí)用程序:線性代數(shù),統(tǒng)計(jì),數(shù)據(jù)處理等
MLlib基于RDD的API現(xiàn)在處于維護(hù)模式。
從Spark 2.0開(kāi)始,包中的基于RDD的API spark.mllib
已進(jìn)入維護(hù)模式。Spark的主要機(jī)器學(xué)習(xí)API現(xiàn)在是包中的基于DataFrame的API spark.ml
。
有什么影響?
MLlib將仍然支持基于RDD的API spark.mllib
并修復(fù)錯(cuò)誤。
MLlib不會(huì)將新功能添加到基于RDD的API。
在Spark 2.x版本中,MLlib將向基于DataFrame的API添加功能,以便與基于RDD的API達(dá)成功能對(duì)等。
達(dá)到功能對(duì)等(大致估計(jì)為Spark 2.2)后,基于RDD的API將被棄用。
基于RDD的API預(yù)計(jì)將在Spark 3.0中被刪除。
為什么MLlib切換到基于DataFrame的API?
DataFrames提供比RDD更友好的API。DataFrame的許多優(yōu)點(diǎn)包括Spark數(shù)據(jù)源,SQL / DataFrame查詢,Tungsten和Catalyst優(yōu)化以及跨語(yǔ)言的統(tǒng)一API。
MLlib的基于DataFrame的API提供跨ML算法和跨多種語(yǔ)言的統(tǒng)一API。
數(shù)據(jù)框便于實(shí)際的ML管線,特別是功能轉(zhuǎn)換。
什么是“Spark ML”?
“Spark ML”不是一個(gè)正式的名字,偶爾用于指代基于MLlib DataFrame的API。這主要是由于org.apache.spark.ml
基于DataFrame的API所使用的Scala包名以及我們最初用來(lái)強(qiáng)調(diào)管道概念的“Spark ML Pipelines”術(shù)語(yǔ)。
MLlib是否被棄用?
編號(hào)MLlib包括基于RDD的API和基于DataFrame的API?;赗DD的API現(xiàn)在處于維護(hù)模式。
MLlib使用線性代數(shù)包Breeze,它依賴于 netlib-java進(jìn)行優(yōu)化的數(shù)值處理。如果本機(jī)庫(kù)在運(yùn)行時(shí)不可用,您將看到一條警告消息,而將使用純JVM實(shí)現(xiàn)。
由于運(yùn)行時(shí)專有二進(jìn)制文件的授權(quán)問(wèn)題,netlib-java
默認(rèn)情況下,我們不包含本地代理。要配置netlib-java
/ Breeze以使用系統(tǒng)優(yōu)化的二進(jìn)制文件,請(qǐng)包括 com.github.fommil.netlib:all:1.1.2
(或者構(gòu)建Spark -Pnetlib-lgpl
)作為項(xiàng)目的依賴項(xiàng),并閱讀netlib-java文檔以獲取平臺(tái)的其他安裝說(shuō)明。
要在Python中使用MLlib,您將需要NumPy 1.4或更高版本。
關(guān)于Spark中MLlib和ML庫(kù)的區(qū)別是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。