PySpark 计算关联

新手上路,请多包涵

我想使用 pyspark.mllib.stat.Statistics.corr 函数来计算 pyspark.sql.dataframe.DataFrame 对象的两列之间的相关性。 corr 函数期望采用 rddVectors 对象。如何将 df['some_name'] 的列翻译成 rdd 对象的 Vectors.dense 对象?

原文由 VJune 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 408
2 个回答

应该没有那个必要。对于数值,您可以直接使用 DataFrameStatFunctions.corr 计算相关性:

 df1 = sc.parallelize([(0.0, 1.0), (1.0, 0.0)]).toDF(["x", "y"])
df1.stat.corr("x", "y")
# -1.0

否则你可以使用 VectorAssembler

 from pyspark.ml.feature import VectorAssembler

assembler = VectorAssembler(inputCols=df.columns, outputCol="features")
assembler.transform(df).select("features").flatMap(lambda x: x)

原文由 zero323 发布,翻译遵循 CC BY-SA 3.0 许可协议

df.stat.corr("column1","column2")

原文由 MUK 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题