PySpark PCA:从模型对象中获取组件数

时间:2018-05-22 17:12:35

标签: python apache-spark pyspark apache-spark-ml

我在PySpark中有一个PCA模型,我需要从模型对象中获取组件的数量。

from pyspark.ml.feature import PCA
pca = PCA(k=5, inputCol='features', outputCol='components')
pca_model = pca.fit(data)

我尝试使用pca_model.kpca_model.getParam('k'),但它们都没有给我组件数量。

>>> pca_model.k
Param(parent='PCA_4e66a98132a4fe4ad86c', name='k', doc='the number of principal components (> 0)')
>>> pca_model.getParam('k')
Param(parent='PCA_4e66a98132a4fe4ad86c', name='k', doc='the number of principal components (> 0)')

如何从PySpark的PCAModel对象中获取组件数?

1 个答案:

答案 0 :(得分:2)

您可以使用其Java模型:

pca_model._java_obj.getK()

getOrDefault方法:

pca_model.getOrDefault("k")