日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spark向量

發布時間:2024/1/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spark向量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、本地向量
MLlib的本地向量主要分為兩種,DenseVector和SparseVector,顧名思義,前者是用來保存稠密向量,后者是用來保存稀疏向量,其創建方式主要有一下三種(三種方式均創建了向量(1.0, 0.0, 2.0):

1 import org.apache.spark.mllib.linalg.{Vector, Vectors} 2 3 //創建一個稠密向量 4 val dv : Vector = Vector.dense(1.0,0.0,3.0); 5 //創建一個稀疏向量(第一種方式) 6 val sv1: Vector = Vector.sparse(3, Array(0,2), Array(1.0,3.0)); 7 //創建一個稀疏向量(第二種方式) 8 val sv2 : Vector = Vector.sparse(3, Seq((0,1.0),(2,3.0)))

對于稠密向量:很直觀,你要創建什么,就加入什么,其函數聲明為Vector.dense(values : Array[Double])
對于稀疏向量,當采用第一種方式時,3表示此向量的長度,第一個Array(0,2)表示的索引,第二個Array(1.0, 3.0)與前面的Array(0,2)是相互對應的,表示第0個位置的值為1.0,第2個位置的值為3
對于稀疏向量,當采用第二種方式時,3表示此向量的長度,后面的比較直觀,Seq里面每一對都是(索引,值)的形式。

tips:由于scala中會默認包含scal.collection.immutalbe.Vector,所以當使用MLlib中的Vector時,需要顯式的指明import路徑

2、向量標簽
向量標簽和向量是一起的,簡單來說,可以理解為一個向量對應的一個特殊值,這個值的具體內容可以由用戶指定,比如你開發了一個算法A,這個算法對每個向量處理之后會得出一個特殊的標記值p,你就可以把p作為向量標簽。同樣的,更為直觀的話,你可以把向量標簽作為行索引,從而用多個本地向量構成一個矩陣(當然,MLlib中已經實現了多種矩陣)
其使用代碼為:

1 import org.apache.spark.mllib.linag.Vectors 2 import org.apache.spark.mllib.regression.LabeledPoint 3 4 val pos = LabeledPoint(1.0, Vectors.dense(1.0, 0.0, 3.0))

對于pos變量,第一個參數1.0的具體含義只有你自己知道咯,可以使行索引,可以使特殊值神馬的
從文件中直接讀入一個LabeledPoint
MLlib提供了一種快捷的方法,可以讓用戶直接從文件中讀取LabeledPoint格式的數據。規定其輸入文件的格式為:

label index1:value1 index2:value2.....

然后通過一下方式直接讀入即可

val test : RDD[LabeledPoint] = MLUtils.loadLibSVMFile(sc, "path")

?

3、本地矩陣
既然是算數運算包,肯定少不了矩陣包,先上代碼:

1 import org.apache.spark.mllib.linalg.{Matrix, Matrices} 3 val dm : Matrix = Matrices.dense(3,2, Array(1.0,3.0,5.0,2.0,4.0,6.0))

?

上面的代碼段創建了一個稠密矩陣:

1.02.0
3.04.0
5.06.0

很明顯,創建的時候是將原來的矩陣按照列變成一個一維矩陣之后再初始化的。?tips:注意,我們創建的是稠密矩陣,不幸的事,MLlib中并沒有提供稀疏矩陣的實現,官方說在后續版本中會提供

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的spark向量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。