当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark Statistics.corr用法及代码示例


本文简要介绍 pyspark.mllib.stat.Statistics.corr 的用法。

用法:

static corr(x, y=None, method=None)

使用指定的方法计算输入 RDD(s) 的相关性(矩阵)。当前支持的方法:pearson (default), spearman

如果传入单个向量 RDD,则返回一个比较输入 RDD 中的列的相关矩阵。使用method 指定用于单个 RDD 输入的方法。如果传入两个 RDD 的浮点数,则返回一个浮点数。

参数

xpyspark.RDD

要计算相关矩阵的向量的 RDD,或者在指定 y 时与 y 具有相同基数的 float 的 RDD。

y pyspark.RDD ,可选

与 x 具有相同基数的浮点 RDD。

methodstr,可选

指定用于计算相关性的方法的字符串。支持:pearson(默认)、spearman

返回

pyspark.mllib.linalg.Matrix

比较 x 中的列的相关矩阵。

例子

>>> x = sc.parallelize([1.0, 0.0, -2.0], 2)
>>> y = sc.parallelize([4.0, 5.0, 3.0], 2)
>>> zeros = sc.parallelize([0.0, 0.0, 0.0], 2)
>>> abs(Statistics.corr(x, y) - 0.6546537) < 1e-7
True
>>> Statistics.corr(x, y) == Statistics.corr(x, y, "pearson")
True
>>> Statistics.corr(x, y, "spearman")
0.5
>>> from math import isnan
>>> isnan(Statistics.corr(x, zeros))
True
>>> from pyspark.mllib.linalg import Vectors
>>> rdd = sc.parallelize([Vectors.dense([1, 0, 0, -2]), Vectors.dense([4, 5, 0, 3]),
...                       Vectors.dense([6, 7, 0,  8]), Vectors.dense([9, 0, 0, 1])])
>>> pearsonCorr = Statistics.corr(rdd)
>>> print(str(pearsonCorr).replace('nan', 'NaN'))
[[ 1.          0.05564149         NaN  0.40047142]
 [ 0.05564149  1.                 NaN  0.91359586]
 [        NaN         NaN  1.                 NaN]
 [ 0.40047142  0.91359586         NaN  1.        ]]
>>> spearmanCorr = Statistics.corr(rdd, method="spearman")
>>> print(str(spearmanCorr).replace('nan', 'NaN'))
[[ 1.          0.10540926         NaN  0.4       ]
 [ 0.10540926  1.                 NaN  0.9486833 ]
 [        NaN         NaN  1.                 NaN]
 [ 0.4         0.9486833          NaN  1.        ]]
>>> try:
...     Statistics.corr(rdd, "spearman")
...     print("Method name as second argument without 'method=' shouldn't be allowed.")
... except TypeError:
...     pass

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.mllib.stat.Statistics.corr。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。