Может кто-нибудь помочь мне, я пытаюсь преобразовать значения столбцов вектора в Double и получаю следующую ошибку: org. apache .spark.ml.linalg.DenseVector не может быть преобразован в java .lang .Double
Я в основном нормализовал свои значения между диапазоном (0,1) и для этого диапазона мне пришлось преобразовать мои простые значения типа double в плотный вектор.
Ниже приводится код
val dataset =vectorUList.toDF("id")
val assembler = new VectorAssembler()
.setInputCols(Array("id"))
.setOutputCol("features")
val output = assembler.transform(dataset)
println("Assembled columns ")
output.select("id").show(false)
output.printSchema()
val scaler = new MinMaxScaler()
.setInputCol("features")
.setOutputCol("vScaled")
.setMax(1)
.setMin(0)
val ScalarModel =scaler.fit(output)
val scalarData =ScalarModel.transform(output)
scalarData.select("vScaled").show()
val ScaledCol: List[Row] = scalarData.select("vScaled").collect.toList
var listofScaledCol: List[Double] = ScaledCol.map(r => r.getDouble(0))
print(listofScaledCol)
Теперь при преобразовании значений обратно в Double я получаю эту ошибку преобразования типа.