Python 如何使用PCA对pyspark进行降维 如果名称=“\uuuuu main\uuuuuuuu”: sc=SparkContext(appName=“分类”) images=sc.binaryFiles(“/home/kdh/lessImage/*.jpg”) imagerdd=images.map(lambda(x,y):(x,(np.asarray(Image.open(stio.StringIO(y)))) imagerdd1=imagerdd.map(lambda(x,y):(x,get_new_desc(y))) imageRddVal=imagerdd1.values() imageVal=imageRddVal.take(1) 打印图像值 打印np.asarray(imageVal).shape rdd_val=imagerdd1.values() 模型=PCAmllib(1000).fit(rdd_val) 转换=模型转换(rdd_val) pcaValue=transformed.value() pcaOneVal=pcaValue.take(1) 打印pcaOneVal

Python 如何使用PCA对pyspark进行降维 如果名称=“\uuuuu main\uuuuuuuu”: sc=SparkContext(appName=“分类”) images=sc.binaryFiles(“/home/kdh/lessImage/*.jpg”) imagerdd=images.map(lambda(x,y):(x,(np.asarray(Image.open(stio.StringIO(y)))) imagerdd1=imagerdd.map(lambda(x,y):(x,get_new_desc(y))) imageRddVal=imagerdd1.values() imageVal=imageRddVal.take(1) 打印图像值 打印np.asarray(imageVal).shape rdd_val=imagerdd1.values() 模型=PCAmllib(1000).fit(rdd_val) 转换=模型转换(rdd_val) pcaValue=transformed.value() pcaOneVal=pcaValue.take(1) 打印pcaOneVal,python,apache-spark,pca,Python,Apache Spark,Pca,我的项目是基于图像特征的分类 所以,我不得不使用PCA来降维 imagerdd1 = imagerdd.map(lambda (x,y) : (x, get_new_desc(y))) x : path y : feature (the number of 3888) 但是错误弹出 错误位置为PCAmllib(1000).fit(rdd_val) 错误 16/08/25 01:47:13错误执行者:任务0.0在阶段1.0(TID 1)中出现异常 net.razorvine.pickl

我的项目是基于图像特征的分类 所以,我不得不使用PCA来降维

 imagerdd1 = imagerdd.map(lambda (x,y) : (x, get_new_desc(y)))

 x : path 
 y : feature (the number of 3888)
但是错误弹出

错误位置为PCAmllib(1000).fit(rdd_val) 错误

16/08/25 01:47:13错误执行者:任务0.0在阶段1.0(TID 1)中出现异常 net.razorvine.pickle.PickleException:构造ClassDict(对于numpy.dtype)应为零参数 位于net.razorvine.pickle.objects.ClassDictConstructor.construct(ClassDictConstructor.java:23) net.razorvine.pickle.Unpickler.load\u reduce(Unpickler.java:707) 位于net.razorvine.pickle.Unpickler.dispatch(Unpickler.java:175) 位于net.razorvine.pickle.Unpickler.load(Unpickler.java:99) 加载net.razorvine.pickle.Unpickler.load(Unpickler.java:112) 位于org.apache.spark.mllib.api.python.SerDe$$anonfun$pythonToJava$1$$anonfun$apply$2.apply(PythonMLLibAPI.scala:1507) 位于org.apache.spark.mllib.api.python.SerDe$$anonfun$pythonToJava$1$$anonfun$apply$2.apply(PythonMLLibAPI.scala:1506) 位于scala.collection.Iterator$$anon$13.hasNext(Iterator.scala:371) 位于scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:308) 位于scala.collection.Iterator$class.foreach(Iterator.scala:727) 位于scala.collection.AbstractIterator.foreach(迭代器.scala:1157) 在scala.collection.generic.growtable$class.$plus$plus$eq(growtable.scala:48) 在scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:103) 在scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:47) 在scala.collection.TraversableOnce$class.to处(TraversableOnce.scala:273) 在scala.collection.AbstractIterator.to(Iterator.scala:1157) 在scala.collection.TraversableOnce$class.toBuffer处(TraversableOnce.scala:265) 位于scala.collection.AbstractIterator.toBuffer(Iterator.scala:1157) 位于scala.collection.TraversableOnce$class.toArray(TraversableOnce.scala:252) 位于scala.collection.AbstractIterator.toArray(Iterator.scala:1157) 在org.apache.spark.rdd.rdd$$anonfun$take$1$$anonfun$28.apply上(rdd.scala:1328) 在org.apache.spark.rdd.rdd$$anonfun$take$1$$anonfun$28.apply上(rdd.scala:1328) 位于org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1858) 位于org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1858) 位于org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66) 位于org.apache.spark.scheduler.Task.run(Task.scala:89) 位于org.apache.spark.executor.executor$TaskRunner.run(executor.scala:214) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 运行(Thread.java:745) 16/08/25 01:47:14警告TaskSetManager:在阶段1.0(TID 1,localhost)中丢失了任务0.0:net.razorvine.pickle.pickle异常:构造ClassDict(对于numpy.dtype)需要零参数 位于net.razorvine.pickle.objects.ClassDictConstructor.construct(ClassDictConstructor.java:23) net.razorvine.pickle.Unpickler.load\u reduce(Unpickler.java:707) 位于net.razorvine.pickle.Unpickler.dispatch(Unpickler.java:175) 位于net.razorvine.pickle.Unpickler.load(Unpickler.java:99) 加载net.razorvine.pickle.Unpickler.load(Unpickler.java:112) 位于org.apache.spark.mllib.api.python.SerDe$$anonfun$pythonToJava$1$$anonfun$apply$2.apply(PythonMLLibAPI.scala:1507) 位于org.apache.spark.mllib.api.python.SerDe$$anonfun$pythonToJava$1$$anonfun$apply$2.apply(PythonMLLibAPI.scala:1506) 位于scala.collection.Iterator$$anon$13.hasNext(Iterator.scala:371) 位于scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:308) 位于scala.collection.Iterator$class.foreach(Iterator.scala:727) 位于scala.collection.AbstractIterator.foreach(迭代器.scala:1157) 在scala.collection.generic.growtable$class.$plus$plus$eq(growtable.scala:48) 在scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:103) 在scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:47) 在scala.collection.TraversableOnce$class.to处(TraversableOnce.scala:273) 在scala.collection.AbstractIterator.to(Iterator.scala:1157) 在scala.collection.TraversableOnce$class.toBuffer处(TraversableOnce.scala:265) 位于scala.collection.AbstractIterator.toBuffer(Iterator.scala:1157) 位于scala.collection.TraversableOnce$class.toArray(TraversableOnce.scala:252) 位于scala.collection.AbstractIterator.toArray(Iterator.scala:1157) 在org.apache.spark.rdd.rdd$$anonfun$take$1$$anonfun$28.apply上(rdd.scala:1328) 在org.apache.spark.rdd.rdd$$anonfun$take$1$$anonfun$28.apply上(rdd.scala:1328) 位于org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1858) 位于org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1858) 位于org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66) 位于org.apache.spark.scheduler.Task.run(Task.scala:89) 位于org.apache.spark.executor.executor$TaskRunner.run(executor.scala:214) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在ja