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