Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在pyspark中获得每个PCA分量的解释方差_Pyspark_Pca_Apache Spark Ml - Fatal编程技术网

如何在pyspark中获得每个PCA分量的解释方差

如何在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提供了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开始,
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%