学习 Spark MLlib(三):统计

相关性 Correlation

相关性,用于描述随机变量之间线性关系的强度和方向。org.apache.spark.ml.stat.Correlation 用于计算向量的相关性矩阵,支持皮尔森(pearson,默认)和斯皮尔曼(spearman)。相关系数的取值范围是 [-1, 1],取值 (0, 1] 代表正相关,取值 [-1, 0) 代表负相关,取值 0 代表不相关。

相关性 Correlation

皮尔森相关系数

皮尔森相关系数(Pearson correlation coefficient,PCC)

斯皮尔曼等级相关系数

斯皮尔曼等级相关系数(Spearman's rank correlation coefficient)

相关性矩阵的第 i 行第 j 列代表了输入向量的第 i 列和第 j 列的相关系数。

假设检验 Hypothesis testing

卡方检验

卡方检验(Chi-squared test)

org.apache.spark.ml.stat.ChiSquareTest

TODO

柯尔莫哥洛夫 - 斯米尔诺夫检验

柯尔莫哥洛夫 - 斯米尔诺夫检验(Kolmogorov–Smirnov test,KS Test)

org.apache.spark.ml.stat.KolmogorovSmirnovTest

TODO

Summarizer

org.apache.spark.ml.stat.Summarizer 针对特征(向量)提供了如下汇总统计方法:

  • mean 系数平均数;
  • variance 系数方差;
  • count 所有特征的数量;
  • numNonZeros 系数非零数量;
  • max 系数最大值;
  • min 系数最小值;
  • normL1 系数 L1 范数;
  • normL2 系数 L2 范数。

范数

在线性代数中,范数 是在向量空间所有向量的长度。

L1 范数,又被称为曼哈顿距离。对于系数 x,其 L1 范数:

$${\left\| x \right\|}_{1}=\sum _{i=1}^{n}{\left| {x}_{i} \right|}$$

L2 范数,又被称为欧式距离。对于系数 x,其 L2 范数:

$${\left\| x \right\|}_{2}=\sqrt {\sum _{i=1}^{n}{{{x}_{i}}^{2}}}$$