apache-spark machine-learning apache-spark-sql apache-spark-ml

apache spark - ¿Cómo fusionar múltiples vectores de características en DataFrame?



apache-spark machine-learning (1)

Usando transformadores Spark ML, llegué a un DataFrame donde cada fila se ve así:

Row(object_id, text_features_vector, color_features, type_features)

donde text_features es un vector disperso de pesos de término, color_features es un vector denso de colores de 20 elementos (codificador de un solo calor), y type_features también es un vector denso de tipos de codificador de un solo calor.

¿Cuál sería un buen enfoque (utilizando las instalaciones de Spark) para combinar estas características en una sola matriz grande, de modo que mido cosas como la distancia del coseno entre dos objetos?


Puedes usar VectorAssembler :

import org.apache.spark.ml.feature.VectorAssembler import org.apache.spark.sql.DataFrame val df: DataFrame = ??? val assembler = new VectorAssembler() .setInputCols(Array("text_features", "color_features", "type_features")) .setOutputCol("features") val transformed = assembler.transform(df)

Para ver el ejemplo de PySpark, codificar y ensamblar múltiples funciones en PySpark