如何在pyspark中获得每个PCA分量的解释方差
据我所知,pyspark提供了PCA API,如:如何在pyspark中获得每个PCA分量的解释方差,pyspark,pca,apache-spark-ml,Pyspark,Pca,Apache Spark Ml,据我所知,pyspark提供了PCA API,如: 从pyspark.ml.feature导入PCA pca=pca(k=3,inputCol=“features”,outputCol=“pcaFeatures”) 模型=pca.fit(数据帧) 然而在现实中,我发现解释方差比的应用更广泛。例如,在sklearn中: 从sklearn.com导入PCA pca\u装配工=pca(n\u组件=0.85) 有人知道如何在pyspark中实现解释方差比吗?谢谢 从Spark 2.0开始,PCAMo
从pyspark.ml.feature导入PCA
pca=pca(k=3,inputCol=“features”,outputCol=“pcaFeatures”)
模型=pca.fit(数据帧)
然而在现实中,我发现解释方差比的应用更广泛。例如,在sklearn中:
从sklearn.com导入PCA
pca\u装配工=pca(n\u组件=0.85)
有人知道如何在pyspark中实现解释方差比吗?谢谢 从Spark 2.0开始,
PCAModel
包括一个解释方差
方法;从:
解释差异
返回由每个主成分解释的方差比例向量
版本2.0.0中的新功能
以下是一个具有k=2
主成分和玩具数据的示例,改编自:
spark.version
#u'2.2.0'
从pyspark.ml.linalg导入向量
从pyspark.ml.feature导入PCA
数据=[(Vectors.sparse(5,[(1,1.0),(3,7.0)],),
…(向量密集([2.0,0.0,3.0,4.0,5.0]),),
…(向量密集([4.0,0.0,0.0,6.0,7.0]),)
df=spark.createDataFrame(数据,[“功能”])
pca=pca(k=2,输入col=“特征”,输出col=“pca\U特征”)
模型=主成分分析拟合(df)
模型解释方差
#DenseVector([0.7944,0.2056])
i、 e.根据我们的k=2
主成分,第一个解释了79.44%的方差,而第二个解释了剩余的20.56%