在Spark中使用scala查看相关矩阵的所有列。

问题描述 投票:0回答:1

我正在尝试训练一个k-means模型,目前正处于检查特征向量的相关性阶段。

当我针对我的特征向量运行pearson相关性时,我无法看到所有特征的结果。

我正在运行的代码是。

val cor = Correlation.corr(scoringDf, "features")
cor.show(false)

相关性运行得很好 但是当我试图用show方法查看结果时 (因为Correlation. corr返回一个Datafame对象) 结果显示为:

|1.0                  0.18047211468479446  0.08002566273874058   ... (5 total)
0.18047211468479446  1.0                  0.02926796076983553   ...
0.08002566273874058  0.02926796076983553  1.0                   ...
0.30256416877032244  0.15974389490583188  0.054692657400425136  ...
0.3408783412055776   0.13008391583866225  0.04241296238931376   ...|

有什么办法可以看到隐藏的列?

我也试过下面的代码,但结果都一样。

val Row(coeff1: Matrix) = Correlation.corr(scoringDf, "features").head
println(s"Pearson correlation matrix:\n $coeff1")

编辑。

这里是cor数据框架的模式

root
 |-- pearson(features): matrix (nullable = false)
scala apache-spark apache-spark-sql pearson-correlation
1个回答
0
投票

方法show()有几个选项,例如你可以尝试。

def show(numRows: Int, truncate: Int, vertical: Boolean): Unit

numRowsNumber of rows to show()方法有几个选项,例如你可以尝试:

truncate如果设置为大于0,则将字符串截断为截断字符,所有单元格将右对齐。

vertical如果设置为true,垂直打印输出行(每列值一行)。

你可以查看文档。

http:/spark.apache.orgdocs2.3.0apiscalaindex.html#org.apache.spark.sql.Dataset。

希望,能对你有所帮助。

祝贺。


0
投票

最后,我终于能够得到我想要的输出方式.改变了我的代码,看起来像这样的

val Row(coeff1: Matrix) = Correlation.corr(scoringDf, "features").head
println(s"Pearson correlation matrix:\n " + coeff1.toString(10, 100000))

输出显示如下图所示。

Pearson correlation matrix:
 1.0                  0.1804721146847944   0.08002566273874055   0.3025641687703226   0.34087834120557725   
0.1804721146847944   1.0                  0.02926796076983553   0.15974389490583193  0.13008391583866233   
0.08002566273874055  0.02926796076983553  1.0                   0.05469265740042514  0.042412962389313726  
0.3025641687703226   0.15974389490583193  0.05469265740042514   1.0                  0.241118490251708     
0.34087834120557725  0.13008391583866233  0.042412962389313726  0.241118490251708    1.0 
© www.soinside.com 2019 - 2024. All rights reserved.