如何合并DataFrame中的多个特征向量?
How to merge multiple feature vectors in DataFrame?
使用 Spark ML 转换器,我得到了 DataFrame
,其中每一行如下所示:
Row(object_id, text_features_vector, color_features, type_features)
其中 text_features
是项权重的稀疏向量,color_features
是一个小的 20 元素(one-hot-encoder)密集颜色向量,type_features
也是类型的单热编码器密集向量。
什么是(使用 Spark 的工具)将这些特征合并到一个单一的大数组中的好方法,这样我就可以测量任意两个对象之间的 余弦距离 ?
您可以使用 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)
有关 PySpark 示例,请参阅:
使用 Spark ML 转换器,我得到了 DataFrame
,其中每一行如下所示:
Row(object_id, text_features_vector, color_features, type_features)
其中 text_features
是项权重的稀疏向量,color_features
是一个小的 20 元素(one-hot-encoder)密集颜色向量,type_features
也是类型的单热编码器密集向量。
什么是(使用 Spark 的工具)将这些特征合并到一个单一的大数组中的好方法,这样我就可以测量任意两个对象之间的 余弦距离 ?
您可以使用 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)
有关 PySpark 示例,请参阅: