Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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
Python PySpark中的PCA分析_Python_Apache Spark_Apache Spark Mllib_Pca_Apache Spark Ml - Fatal编程技术网

Python PySpark中的PCA分析

Python PySpark中的PCA分析,python,apache-spark,apache-spark-mllib,pca,apache-spark-ml,Python,Apache Spark,Apache Spark Mllib,Pca,Apache Spark Ml,看着。这些示例似乎只包含Java和Scala Spark MLlib是否支持Python的PCA分析?如果是,请给我举个例子。如果没有,如何将Spark与scikit学习相结合?Spark>=1.5.0 尽管PySpark 1.5引入了分布式数据结构(PySpark.mllib.linalg.distributed),但它看起来API相当有限,并且没有实现computePrincipalComponents方法 可以使用pyspark.ml.feature.PCA中的或pyspark.mllib

看着。这些示例似乎只包含Java和Scala

Spark MLlib是否支持Python的PCA分析?如果是,请给我举个例子。如果没有,如何将Spark与scikit学习相结合?

Spark>=1.5.0 尽管PySpark 1.5引入了分布式数据结构(
PySpark.mllib.linalg.distributed
),但它看起来API相当有限,并且没有实现
computePrincipalComponents
方法

可以使用pyspark.ml.feature.PCA中的
pyspark.mllib.feature.PCA
。在第一种情况下,预期输入是具有向量列的数据帧:

from pyspark.ml.feature import PCA as PCAml
from pyspark.ml.linalg import Vectors  # Pre 2.0 pyspark.mllib.linalg

df = sqlContext.createDataFrame([
   (Vectors.dense([1, 2, 0]),),
   (Vectors.dense([2, 0, 1]),),
   (Vectors.dense([0, 1, 0]),)], ("features", ))

pca = PCAml(k=2, inputCol="features", outputCol="pca")
model = pca.fit(df)
transformed = model.transform(df)
在Spark 2.0或更高版本中,您应该使用
pyspark.ml.linalg.Vector
代替
pyspark.mllib.linalg.Vector

对于
mllib
版本,您需要
RDD
Vector

from pyspark.mllib.feature import PCA as PCAmllib

rdd = sc.parallelize([
    Vectors.dense([1, 2, 0]),
    Vectors.dense([2, 0, 1]),
    Vectors.dense([0, 1, 0])])

model = PCAmllib(2).fit(rdd)
transformed = model.transform(rdd)
火花<1.5.0
PySpark只是想补充一点,这个问题的解决方案正在进行中。检查和处的进度。Spark>2如何?语法似乎有changed@MehdiLAMRANI这对我有用。我正在使用Databrick问@zero323一个问题,我如何应用于实际的数据帧?任何帮助都将不胜感激。