請問各位大神,spark的ML和MLLib兩個包區別和聯絡?!

時間 2021-05-31 05:09:21

1樓:張玉鷹

mlib主要是基於RDD的,抽象級別不夠高, ml主要是把資料處理的流水線抽象出來,演算法相當於流水線的乙個元件,可以被其他演算法隨意的替換,這樣就讓演算法和資料處理的其他流程分割開來,實現低耦合

2樓:

技術角度上,面向的資料集型別不一樣:ML的API是面向Dataset的(Dataframe是Dataset的子集,也就是Dataset[Row]), mllib是面對RDD的。Dataset和RDD有啥不一樣呢?

Dataset的底端是RDD。Dataset對RDD進行了更深一層的優化,比如說有sql語言類似的黑魔法,Dataset支援靜態型別分析所以在compile time就能報錯,各種combinators(map,foreach等)效能會更好,等等。

程式設計過程上,構建機器學習演算法的過程不一樣:ML提倡使用pipelines,把資料想成水,水從管道的一段流入,從另一端流出:

大體概念:DataFrame => Pipeline => A new DataFrame

Pipeline: 是由若干個Transformers和Estimators連起來的資料處理過程

Transformer:入:DataFrame => 出: Data Frame

Estimator:入:DataFrame => 出:Transformer

3樓:馬屁哥哥

請看官方文件MLlib - Spark 1.6.1 Documentation

上面寫的很清楚

It divides into two packages:spark.mllib contains the original API built on top of RDDs.

spark.ml provides higher-level API built on top of DataFrames for constructing ML pipelines.

Using spark.ml is recommended because with DataFrames the API is more versatile and flexible. But we will keep supportingspark.

mllib along with the development of spark.ml. Users should be comfortable using spark.

mllib features and expect more features coming. Developers should contribute new algorithms to spark.ml if they fit the ML pipeline concept well, e.

g., feature extractors and transformers.

4樓:

spark.mllib中的演算法介面是基於RDDs的;

spark.ml中的演算法介面是基於DataFrames的。

實際使用中推薦ml, pipeline;而且未來mllib也會被棄用。

5樓:Marvin

ml是對所有的演算法都做了更高一級的抽象,如果你看了原始碼就會發現mllib只是對ml的呼叫,所以無論你用哪乙個都是沒有區別的,不過mllib使用起來還是會方便一些,建議用mllib就好了。

6樓:qiqiqi

其實Spark官方文件已經寫的很明白了 Spark ML Programming Guide。 ML是1.4比Mllib更高抽象的庫,它解決如果簡潔的設計乙個機器學習工作流的問題,而不是具體的某種機器學習演算法。

未來這兩個庫會並行發展。

請問各位大神對於ib cas project 有什麼活動推薦嗎?

Projects Abroad 題主可以參與Projects Abroad的高中生國際志願者專案,獲取豐富的志願服務經歷,加強你的個人簡歷中課外活動經歷,提公升留學背景,幫助你申請心儀的大學。試想一下,有多少人能夠分享自己在斯里蘭卡 迦納 秘魯等等這些地方的生活和工作經歷?Projects Abro...

請問spark和hive是什麼關係?

spark是乙個分布式計算框架,hive是乙個分布式資料倉儲。spark可以從hive裡提取結構化資料然後進行分布式計算,也可以從HBase裡拿結構化的資料,也可以直接從HDFS拿檔案來計算,也可以從MySQL之類的傳統單機關係型資料庫裡拿資料來計算。pyspark都有相應的讀取資料的介面,很好用。...

請問各位大神,AJ1和Dunk SB的區別是啥?

跳躍吧皮卡丘 第乙個回答的有點問題。先有aj1後有dunk,dunk可以說是簡版aj1。但是sb是為滑板改造的。如果對比aj1和dunksb應該是對比高幫吧,首先最大的不同是sb鞋舌和後幫加厚了,很厚,也就是腳踝保護和包裹更好 其次sb採用的是圓柱厚鞋帶,aj1鞋帶和af1一樣的寬鞋帶,aj1的科技...