Machine Learning prelude - Create vector

Machine Learning prelude - Create vector

Code

package MLlibDemo.vectorDemo

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


/*向量的使用*/
object VectorDemo2 {
  def main(args: Array[String]): Unit = {

    //需求:字符串表达的特征向量“30,172,58,200” 需要封装成Vector

    val p1 = "30,172,58,200"

    val featureArray = p1.split(",")

    val features: Array[Double] = featureArray.map(_.toDouble)

    //创建一个密集向量
    val denseVector = Vectors.dense(features)

    //向量长度 特征个数
    val size = denseVector.size

    //向量中封装的特征值数组
    val array = denseVector.toArray

    //取向量中指定位置的特征值
    val fature2 = denseVector(2)

    //密集转稀疏向量  该向量 本身就是密集型的 转为稀疏型 毫无意义
    val sparse = denseVector.toSparse

    //找到向量中最大特征值所在的脚本
    val argmax = denseVector.argmax

    //2. 创建稀疏向量  脚本为0 和 2 的位置有值 值是(30,58)
    val vector = Vectors.sparse(6, Array(0, 2), Array(30, 58))

    //找到向量中最大特征值所在的脚本
    val argmax1 = vector.argmax

    //的到向量的特征值数组
    val array1 = vector.toArray

    //稀疏转密集
    val dense = vector.toDense


  }
}


Published 33 original articles · won praise 12 · views 3334

Guess you like

Origin blog.csdn.net/IT_BULL/article/details/104371774