天天看點

Spark-MLlib 學習入門到掌握-ElementwiseProduct元素智能乘積[28]

ElementwiseProduct對每一個輸入向量乘以一個給定的“權重”向量。換句話說,就是通過一個乘子對資料集的每一列進行縮放。

import org.apache.spark.ml.feature.ElementwiseProduct
import org.apache.spark.ml.linalg.Vectors

// Create some vector data; also works for sparse vectors
val dataFrame = spark.createDataFrame(Seq(
  ("a", Vectors.dense(1.0, 2.0, 3.0)),
  ("b", Vectors.dense(4.0, 5.0, 6.0)))).toDF("id", "vector")

val transformingVector = Vectors.dense(0.0, 1.0, 2.0)
val transformer = new ElementwiseProduct()
  .setScalingVec(transformingVector)
  .setInputCol("vector")
  .setOutputCol("transformedVector")

// Batch transform the vectors to create new column:
transformer.transform(dataFrame).show()
           
Spark-MLlib 學習入門到掌握-ElementwiseProduct元素智能乘積[28]