spark-ml-source-analysis
spark-ml-source-analysis copied to clipboard
spark ml 算法原理剖析以及具体的源码实现分析
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