मैं स्पार्क के मल्टीलायरपेरसेप्टोन क्लासिफायर का उपयोग कर रहा हूं। यह 'पूर्वानुमान' में एक कॉलम 'अनुमानित' उत्पन्न करता है। जब मैं इसे दिखाने की कोशिश करता हूं तो मुझे त्रुटि मिलती है:मैं स्पार्क मल्टीलायरपेरसेप्टोन क्लासिफायर के भविष्यवाणी कॉलम को क्यों प्रदर्शित नहीं कर सकता?
SparkException: Failed to execute user defined function($anonfun$1: (vector) => double) ...
Caused by: java.lang.IllegalArgumentException: requirement failed: A & B Dimension mismatch!
अन्य कॉलम, उदाहरण के लिए, वेक्टर डिस्प्ले ठीक है। भविष्यवाणियों स्कीमा की भाग:
|-- vector: vector (nullable = true)
|-- prediction: double (nullable = true)
मेरे कोड है:
//racist is boolean, needs to be string:
val train2 = train.withColumn("racist", 'racist.cast("String"))
val test2 = test.withColumn("racist", 'racist.cast("String"))
val indexer = new StringIndexer().setInputCol("racist").setOutputCol("indexracist")
val word2Vec = new Word2Vec().setInputCol("lemma").setOutputCol("vector") //.setVectorSize(3).setMinCount(0)
val layers = Array[Int](4,5, 2)
val mpc = new MultilayerPerceptronClassifier().setLayers(layers).setBlockSize(128).setSeed(1234L).setMaxIter(100).setFeaturesCol("vector").setLabelCol("indexracist")
val pipeline = new Pipeline().setStages(Array(indexer, word2Vec, mpc))
val model = pipeline.fit(train2)
val predictions = model.transform(test2)
predictions.select("prediction").show()
संपादित प्रस्तावित समान प्रश्न की समस्या
val layers = Array[Int](0, 0, 0, 0)
था जो मामले यहाँ नहीं है, न ही यह एक ही है त्रुटि।
फिर से संपादित करें: ट्रेन और परीक्षण का भाग 0 PARQUET प्रारूप here में सहेजा गया है।
नहीं यह ऐसा कुछ नहीं। – schoon
उस प्रश्न में समस्या वैल परतें = ऐरे [Int] (0, 0, 0, 0) थी जो यहां मामला नहीं है, न ही यह वही त्रुटि थी। – schoon
क्या आप प्रशिक्षण डेटा फ्रेम का नमूना प्रदान कर सकते हैं? –