spark sql 类型转换array_将特征的Spark向量转换为数组

  • Post author:
  • Post category:其他


我有一个使用Spark的VectorAssembler打包成矢量向量的特征列,如下所示。 data是输入数据帧(类型spark.sql.DataFrame)。将特征的Spark向量转换为数组

val featureCols = Array(“feature_1″,”feature_2″,”feature_3”)

val featureAssembler = new VectorAssembler().setInputCols(featureCols).setOutputCol(“features”)

val dataWithFeatures = featureAssembler.transform(data)

我开发使用Classifier和ClassificationModel开发API的自定义分类。 ClassificationModel需要开发一个predictRaw()函数,该函数从模型输出预测标签的向量。

def predictRaw(features: FeaturesType) : Vector

这个功能是通过该API集和需要一个参数,的FeaturesType特征,并输出向量(这在我的情况下,我要带去是火花DenseVector作为DenseVector延伸Vector性状)。

由于VectorAssembler的包装,features列的类型为Vector,每个元素本身就是一个向量,它是每个训练样本的原始特征的向量。例如:

设有柱 – 型的矢量

[1.0,2.0,3.0] – 元素1,本身的矢量

[3.5,4.5,5.5] – element2的,本身的载体

我需要将这些功能提取到Array[



版权声明:本文为weixin_29133981原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。