#python #pyspark #apache-spark-mllib
Вопрос:
Я не могу выбрать фрейм данных, преобразованный в модели классификатора onevsrest.
Описание ошибки: net.razorvine.pickle.Исключение PickleException: ожидаемые нулевые аргументы для построения ClassDict (для pyspark.ml.linalg.ДенсеВектор)
df = spark.sql("select distinct * from MasterData table")
df.select("*").show(5)
df = df.withColumn("featureval", array(df["featureval"]))
countVectors = CountVectorizer(inputCol="featureval", outputCol="features1", vocabSize=10000, minDF=5)
label_stringIdx = StringIndexer(inputCol = "Type", outputCol = "label")
pipeline = Pipeline(stages=[countVectors, label_stringIdx])
pipelineFit = pipeline.fit(df)
dataset = pipelineFit.transform(df)
dataset.select("*").show(5)
(train, test) = dataset.randomSplit([0.8, 0.2])
lr = LogisticRegression(maxIter=10, tol=1E-6, fitIntercept=True)
ovr = OneVsRest(classifier=lr)
ovrModel = ovr.fit(dataset)
predictions = ovrModel.transform(test)
Теперь , когда я пытаюсь выбрать predictions.select("*").show(10)
фрейм данных, я получаю исключение pickle.
Любая помощь будет очень признательна!! Заранее спасибо