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


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


本文简要介绍 pyspark.ml.stat.Correlation.corr 的用法。

用法:

static corr(dataset, column, method='pearson')

使用数据集以指定的方法计算相关矩阵。

2.2.0 版中的新函数。

参数

datasetDataFrame

一个 DataFrame 。

columnstr

需要计算相关系数的向量列的名称。这必须是数据集的一列,并且必须包含 Vector 对象。

methodstr,可选

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

返回

DataFrame 包含向量列的相关矩阵。这
DataFrame 包含名称为 METHODNAME(COLUMN) 的单行和单列。

例子

>>> from pyspark.ml.linalg import DenseMatrix, Vectors
>>> from pyspark.ml.stat import Correlation
>>> dataset = [[Vectors.dense([1, 0, 0, -2])],
...            [Vectors.dense([4, 5, 0, 3])],
...            [Vectors.dense([6, 7, 0, 8])],
...            [Vectors.dense([9, 0, 0, 1])]]
>>> dataset = spark.createDataFrame(dataset, ['features'])
>>> pearsonCorr = Correlation.corr(dataset, 'features', 'pearson').collect()[0][0]
>>> print(str(pearsonCorr).replace('nan', 'NaN'))
DenseMatrix([[ 1.        ,  0.0556...,         NaN,  0.4004...],
             [ 0.0556...,  1.        ,         NaN,  0.9135...],
             [        NaN,         NaN,  1.        ,         NaN],
             [ 0.4004...,  0.9135...,         NaN,  1.        ]])
>>> spearmanCorr = Correlation.corr(dataset, 'features', method='spearman').collect()[0][0]
>>> print(str(spearmanCorr).replace('nan', 'NaN'))
DenseMatrix([[ 1.        ,  0.1054...,         NaN,  0.4       ],
             [ 0.1054...,  1.        ,         NaN,  0.9486... ],
             [        NaN,         NaN,  1.        ,         NaN],
             [ 0.4       ,  0.9486... ,         NaN,  1.        ]])

相关用法


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