【发布时间】:2017-10-20 17:46:35
【问题描述】:
我在 spark 中计算了一个相关矩阵,我想结合它们的列名提取单个相关性。
相关矩阵
correlMatrix: org.apache.spark.mllib.linalg.Matrix =
1.0 -0.33333333333333254 -0.8164965809277261 -0.7777777777777787
-0.33333333333333254 1.0 0.8164965809277356 -0.33333333333333254
-0.8164965809277261 0.8164965809277356 1.0 0.27216552697591645
-0.7777777777777787 -0.33333333333333254 0.27216552697591645 1.0
数据农场名称
colNames: Array[String] = Array(item_1, item_2, item_3, item_4)
现在我想将每个组合提取到具有以下结构的数据框中:
item_from | item_to | Correlation
item_1 | item_2 | -0.0096912
item_1 | item_3 | -0.7313071
item_2 | item_3 | 0.68910356
或者至少是带有列名的整个相关矩阵:
item_1 item_2 item_3 item_4
item_1 1.0 -0.33333333333333254 -0.8164965809277261 -0.7777777777777787
item_2 -0.33333333333333254 1.0 0.8164965809277356 -0.33333333333333254
item_3 -0.8164965809277261 0.8164965809277356 1.0 0.27216552697591645
item_4 -0.7777777777777787 -0.33333333333333254 0.27216552697591645 1.0
我尝试编写一个地图函数,但它没有按我的预期工作。
你有什么解决办法吗?
【问题讨论】:
标签: apache-spark apache-spark-sql spark-dataframe apache-spark-mllib