y.s*_*hyk 8 python correlation apache-spark apache-spark-sql pyspark
Spark 2.2.0添加了对数据帧的关联支持。有关这方面的更多信息可以在拉取请求中找到。
MLlib 基于 DataFrame 的 API 中的新算法:
SPARK-19636:基于 DataFrame 的 API 中的关联 (Scala/Java/Python)
然而,完全不清楚如何使用此更改或与以前的版本相比发生了什么变化。
我期待这样的事情:
df_num = spark.read.parquet('/dataframe')
df_cat.printSchema()
df_cat.show()
df_num.corr(col1='features', col2='fail_mode_meas')
Run Code Online (Sandbox Code Playgroud)
df_num = spark.read.parquet('/dataframe')
df_cat.printSchema()
df_cat.show()
df_num.corr(col1='features', col2='fail_mode_meas')
Run Code Online (Sandbox Code Playgroud)
有人可以解释如何利用 Spark 2.2.0 的新功能来实现数据帧中的关联吗?
没有任何方法可以直接使用来达到你想要的效果。SPARK-19636 中实现的方法的 Python 包装器位于pyspark.ml.stat
:
from pyspark.ml.stat import Correlation
Correlation.corr(df_cat, "features")
Run Code Online (Sandbox Code Playgroud)
但此方法用于计算单列的相关Vector
矩阵。
你可以:
features
并fail_mode_meas
使用VectorAssembler
并应用pyspark.ml.stat.Correlation
,但它会计算出许多过时的值。pyspark.sql.functions.corr
,但对于大量列来说会很昂贵,并且在与 Python 一起使用时会增加大量开销udf
。 归档时间: |
|
查看次数: |
21992 次 |
最近记录: |