Spark ML VectorAssembler devuelve resultados extraños

Estoy experimentando un comportamiento muy extraño deVectorAssembler y me preguntaba si alguien más ha visto esto.

Mi escenario es bastante sencillo. Analizo datos de unCSV archivo donde tengo algún estándarInt yDouble campos y también calculo algunas columnas adicionales. Mi función de análisis devuelve esto:

val joined = countPerChannel ++ countPerSource //two arrays of Doubles joined
(label, orderNo, pageNo, Vectors.dense(joinedCounts))

Mi función principal utiliza la función de análisis de esta manera:

val parsedData = rawData.filter(row => row != header).map(parseLine)
val data = sqlContext.createDataFrame(parsedData).toDF("label", "orderNo", "pageNo","joinedCounts")

Entonces uso unVectorAssembler Me gusta esto:

val assembler = new VectorAssembler()
                           .setInputCols(Array("orderNo", "pageNo", "joinedCounts"))
                           .setOutputCol("features")

val assemblerData = assembler.transform(data)

Entonces, cuando imprimo una fila de mis datos antes de que vaya alVectorAssembler se parece a esto:

[3.2,17.0,15.0,[0.0,0.0,0.0,0.0,3.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,4.0,0.0,0.0,2.0]]

Después de la función de transformación de VectorAssembler, imprimo la misma fila de datos y obtengo esto:

[3.2,(18,[0,1,6,9,14,17],[17.0,15.0,3.0,1.0,4.0,2.0])]

¿Qué diablos está pasando? ¿Qué tiene elVectorAssembler ¿hecho? Revisé todos los cálculos e incluso seguí los ejemplos simples de Spark y no puedo ver qué está mal con mi código. ¿Puedes?

Respuestas a la pregunta(1)

Su respuesta a la pregunta