日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spark机器学习库(MLlib)指南

發布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark机器学习库(MLlib)指南 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
spark-1.6.1

機器學習庫(MLlib)指南

MLlib是Spark的機器學習(ML)庫。旨在簡化機器學習的工程實踐工作,并方便擴展到更大規模。MLlib由一些通用的學習算法和工具組成,包括分類、回歸、聚類、協同過濾、降維等,同時還包括底層的優化原語和高層的管道API。

MLllib目前分為兩個代碼包:

  • spark.mllib?包含基于RDD的原始算法API。
  • spark.ml?則提供了基于DataFrames?高層次的API,可以用來構建機器學習管道。

我們推薦您使用spark.ml,因為基于DataFrames的API更加的通用而且靈活。不過我們也會繼續支持spark.mllib包。用戶可以放心使用,spark.mllib還會持續地增加新的功能。不過開發者需要注意,如果新的算法能夠適用于機器學習管道的概念,就應該將其放到spark.ml包中,如:特征提取器和轉換器。

下面的列表列出了兩個包的主要功能。

spark.mllib: 數據類型,算法以及工具

  • Data types(數據類型)
  • Basic statistics(基礎統計)
    • summary statistics(摘要統計)
    • correlations(相關性)
    • stratified sampling(分層抽樣)
    • hypothesis testing(假設檢驗)
    • streaming significance testing
    • random data generation(隨機數據生成)
  • Classification and regression(分類和回歸)
    • linear models (SVMs, logistic regression, linear regression)(線性模型(SVM,邏輯回歸,線性回歸))
    • naive Bayes(樸素貝葉斯)
    • decision trees(決策樹)
    • ensembles of trees (Random Forests and Gradient-Boosted Trees)(樹套裝(隨機森林和梯度提升決策樹))
    • isotonic regression(保序回歸)
  • Collaborative filtering(協同過濾)
    • alternating least squares (ALS)(交替最小二乘(ALS))
  • Clustering(聚類)
    • k-means(K-均值)
    • Gaussian mixture(高斯混合)
    • power iteration clustering (PIC)(冪迭代聚類(PIC))
    • latent Dirichlet allocation (LDA)(隱含狄利克雷分配)
    • bisecting k-means(平分K-均值)
    • streaming k-means(流式K-均值)
  • Dimensionality reduction(降維)
    • singular value decomposition (SVD)(奇異值分解(SVD))
    • principal component analysis (PCA)(主成分分析(PCA))
  • Feature extraction and transformation(特征抽取和轉換)
  • Frequent pattern mining(頻繁模式挖掘)
    • FP-growth(FP-增長)
    • association rules(關聯規則)
    • PrefixSpan(PrefixSpan)
  • Evaluation metrics(評價指標)
  • PMML model export(PMML模型導出)
  • Optimization (developer)(優化(開發者))
    • stochastic gradient descent(隨機梯度下降)
    • limited-memory BFGS (L-BFGS)(有限的記憶BFGS(L-BFGS))

spark.ml: 機器學習管道高級API

  • Overview: estimators, transformers and pipelines(概覽:評估器,轉換器和管道)
  • Extracting, transforming and selecting features(抽取,轉換和選取特征)
  • Classification and regression(分類和回歸)
  • Clustering(聚類)
  • Advanced topics(高級主題)

雖然還有些降維技術在spark.ml中尚不可用,不過用戶可以將spark.mllib中的的相關實現和spark.ml中的算法無縫地結合起來。

依賴項

MLlib使用的線性代數代碼包是Breeze,而Breeze又依賴于?netlib-java?優化的數值處理。如果在運行時環境中這些原生庫不可用,你將會收到一條警告,而后spark會使用純JVM實現來替代之。

由于許可限制的原因,spark在默認情況下不會包含netlib-java的原生代理庫。如果需要配置netlib-java/Breeze使用其系統優化庫,你需要添加依賴項:com.github.fommil.netlib:all:1.1.2(或者在編譯時加上參數:-Pnetlib-lgpl),然后再看一看?netlib-java?相應的安裝文檔。

要使用MLlib的Python接口,你需要安裝NumPy?1.4以上的版本。

遷移指南

MLlib目前還在積極的開發當中。所以標記為 Experimental / DeveloperApi 的接口可能在未來發生變化,下面的遷移指南說明了版本升級后的變化。

從1.5升級到1.6

從1.5到1.6,spark.mllib 和 spark.ml 包中并沒有重大的API變化,不過有一些行為不再支持或者發生變化。

已經廢棄:

  • SPARK-11358: spark.mllib.clustering.KMeans 的runs參數已經廢棄
  • SPARK-10592: spark.ml.classification.LogisticRegressionModel和spark.ml.regresion.LinearRegressionModel 中,weights字段改名為coefficients。這一變動有助于消除歧義,可以和輸入給算法的實例(行)權重(weights)區分開來。

行為有變:

  • SPARK-7770:?spark.mllib.tree.GradientBoostedTrees:?validationTol?的語義在1.6中有變。原先其代表誤差變化絕對值的一個閾值,而現在它類似于GradientDescent中的convergenceTol:對于較大的誤差,使用相對誤差(相對于上一次);而對于較小的誤差(<0.01),使用絕對誤差。
  • SPARK-11069:?spark.ml.feature.RegexTokenizer:以前,在分詞之前不會講字符串轉小寫。現在的實現是,默認會將字符串轉小寫,不過有選項可以設為不轉。這中實現和Tokenizertransformer的行為相匹配。

Spark老版本

以前版本的遷移指南歸檔在這里:on this page


  • 要了解更多有關系統優化的好處和背景資料,可以看看Sam Halliday關于ScalaX的演講:High Performance Linear Algebra in Scala
  • 轉載自并發編程網 – ifeve.com本文鏈接地址:?Spark機器學習庫(MLlib)指南

    總結

    以上是生活随笔為你收集整理的Spark机器学习库(MLlib)指南的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。