使用scala查看Spark中相关矩阵的所有列
Seeing all columns of a correlation matrix in Spark using scala
我正在尝试训练 k-means 模型,目前正在检查我的特征向量内的相关性。
当我 运行 对我的特征向量进行皮尔逊相关时,我无法看到所有特征的结果。
我运行ning的密码是:
val cor = Correlation.corr(scoringDf, "features")
cor.show(false)
相关性 运行 很好,但是当我尝试使用 show 方法(作为 Correlation.corr returns 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)
方法 show() 有几个选项,例如你可以尝试:
def show(numRows: Int, truncate: Int, vertical: Boolean): Unit
行数
要显示的行数
截断
如果设置为大于 0,则截断字符串以截断字符并且所有单元格将右对齐。
垂直
如果设置为 true,则垂直打印输出行(每列值一行)。
可以看文档。
http://spark.apache.org/docs/2.3.0/api/scala/index.html#org.apache.spark.sql.Dataset
希望对您有所帮助。
此致。
我终于能够按照我想要的方式获得输出。
将我的代码更改为如下所示
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
我正在尝试训练 k-means 模型,目前正在检查我的特征向量内的相关性。
当我 运行 对我的特征向量进行皮尔逊相关时,我无法看到所有特征的结果。
我运行ning的密码是:
val cor = Correlation.corr(scoringDf, "features")
cor.show(false)
相关性 运行 很好,但是当我尝试使用 show 方法(作为 Correlation.corr returns 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)
方法 show() 有几个选项,例如你可以尝试:
def show(numRows: Int, truncate: Int, vertical: Boolean): Unit
行数 要显示的行数
截断 如果设置为大于 0,则截断字符串以截断字符并且所有单元格将右对齐。
垂直 如果设置为 true,则垂直打印输出行(每列值一行)。
可以看文档。
http://spark.apache.org/docs/2.3.0/api/scala/index.html#org.apache.spark.sql.Dataset
希望对您有所帮助。
此致。
我终于能够按照我想要的方式获得输出。 将我的代码更改为如下所示
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