當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。