org.apache.spark.SparkException:无法执行用户定义的函数($ anonfun $ 11:(vector)=> vector)

时间:2017-10-02 03:07:49

标签: pyspark

列车数据和测试数据都有52个特征,具有相同的维度。提取特征的方式是相同的。程序没有语法错误。当我添加负样本的随机抽样时,错误发生了。 拜托,给我一个帮助,谢谢

1 个答案:

答案 0 :(得分:0)

您可能在管道中使用向量索引器,但您不会提供maxcategories参数。所以,如果你在Pysaprk,它看起来像

featureIndexer =\
    VectorIndexer(inputCol="features", outputCol="indexedFeatures", maxCategories=2)

问题是您的某个列可能是一个连续变量,而索引器将其视为分类。或者数据是分类的,但索引器没有看到训练数据中的所有类别。

maxcategories的默认值为20。您可以在此处参考文档https://spark.apache.org/docs/2.1.0/api/python/pyspark.ml.html#pyspark.ml.feature.VectorIndexer