如何在DataFrame中合并多个特征向量



使用Spark ML变压器,我到达了DataFrame,其中每一行看起来像这样:

Row(object_id, text_features_vector, color_features, type_features)

其中text_features是项权的稀疏向量,color_features是一个小的20元(单热编码器)颜色密集向量,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示例参见:在PySpark

中编码和组装多个功能

相关内容

  • 没有找到相关文章