機器學習前奏--向量的創建

機器學習前奏–向量的創建

代碼

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


  }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章