天天看點

spark機器學習算法研究和源碼分析 spark機器學習算法研究和源碼分析

spark機器學習算法研究和源碼分析

  本項目對

spark ml

包中各種算法的原理加以介紹并且對算法的代碼實作進行詳細分析,旨在加深自己對機器學習算法的了解,熟悉這些算法的分布式實作方式。

本系列文章支援的spark版本

  本系列文章大部分的算法基于spark 1.6.1,少部分基于spark 2.x。

本系列的目錄結構

  本系列目錄如下:

  • 資料類型
  • 基本統計
    • summary statistics(概括統計)
    • correlations(相關性系數)
    • tratified sampling(分層取樣)
    • hypothesis testing(假設檢驗)
    • random data generation(随機數生成)
    • Kernel density estimation(核密度估計)
  • 協同過濾
    • 交換最小二乘
  • 分類和回歸
    • 線性模型
      • SVMs(支援向量機)
      • 邏輯回歸
      • 線性回歸
      • 廣義線性回歸
    • 樸素貝葉斯
    • 決策樹
    • 組合樹
      • 随機森林
      • 梯度提升樹
    • 生存回歸
    • 保序回歸
  • 聚類
    • k-means||算法
    • GMM(高斯混合模型)
    • PIC(快速疊代聚類)
    • LDA(隐式狄利克雷分布)
    • 二分k-means算法
    • 流式k-means算法
  • 最優化算法
    • 梯度下降算法
    • 拟牛頓法
    • NNLS(非負最小二乘)
    • 帶權最小二乘
    • 疊代再權重最小二乘
  • 降維
    • EVD(特征值分解)
    • SVD(奇異值分解)
    • PCA(主成分分析)
  • 特征抽取和轉換
    • 特征抽取
      • TF-IDF
      • Word2Vec
      • CountVectorizer
    • 特征轉換
      • Tokenizer
      • StopWordsRemover
      • n-gram
      • Binarizer
      • PolynomialExpansion
      • Discrete Cosine Transform (DCT)
      • StringIndexer
      • IndexToString
      • OneHotEncoder
      • VectorIndexer
      • Normalizer(規則化)
      • StandardScaler(特征縮放)
      • MinMaxScaler
      • MaxAbsScaler
      • Bucketizer
      • ElementwiseProduct(元素智能乘積)
      • SQLTransformer
      • VectorAssembler
      • QuantileDiscretizer
    • 特征選擇
      • VectorSlicer
      • RFormula
      • ChiSqSelector(卡方選擇器)

說明

  本專題的大部分内容來自spark源碼、spark官方文檔,并不用于商業用途。轉載請注明本專題位址。 本專題引用他人的内容均列出了參考文獻,如有侵權,請務必郵件通知作者。郵箱位址:

[email protected]

  本專題的部分文章中用到了latex來寫數學公式,可以在浏覽器中安裝

MathJax

插件用來展示這些公式。

  本人水準有限,分析中難免有錯誤和誤解的地方,請大家不吝指教,萬分感激。

License

  本文使用的許可見 LICENSE

轉自: https://github.com/endymecy/spark-ml-source-analysis