您好,登錄后才能下訂單哦!
本篇內容主要講解“spark MLlib數據類型有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“spark MLlib數據類型有哪些”吧!
MLlib是spark的機器學習庫,其目的是使得機器學習算法更容易使用和擴展。MLlib包含分類、回歸、聚類、協同濾波、降維,以及更低層級的優化原語和更高層級的管道API。MLlib分成兩個包:spark.mllib包含建立在RDD之上的原始API,spark.ml提供了建立在DataFrames之上的更高層級的機器學習管道API。推薦使用spark.ml,因為DataFrames使得API更加通用和靈活。
MLlib支持保存在本地的,或者由RDD所表示的分布式向量和矩陣。代數運算由Breeze和jblas庫支持。在監督式學習中,一個訓練樣本稱為:a labeled point
本地向量:元素為double類型,向量下標索引從0開始的int整數;支持dense和sparse兩種類型。dense 向量由一個double數組保存向量中所有的值;sparse向量由兩個并行的數組支持,分別保存索引和值。類繼承關系:Vector -> (DenseVector, SparseVector)
LabeledPoint:包括一個本地向量(可以是dense vector或者sparse vector),和給該向量打上的標簽。標簽采用double類型保存,所以LabeledPoint可用于分類和回歸問題中。對于二值分類問題,標簽要么為0,要么為1;對于多類問題,標簽為從0開始的整數:0,1,2,...。實際問題中經常遇到訓練數據稀疏的情況,MLlib支持從LIBSVM文件加載數據,構造LabeledPoint
本地矩陣:元素值為double類型,行列索引為int類型;支持dense和sparse矩陣。dense矩陣采用一個double數組,按照列主序保存數組;sparse矩陣采用CSC(Compressed sparse column)格式,以列主序保存矩陣中非零元素。Matrix -> (DenseMatrix, SparseMatrix)
分布式矩陣:采用long類型保存行列索引,元素值依然是double類型,分布式保存在一個或者多個RDD之中。選擇正確的保存格式對分布式矩陣非常重要,因為轉換分布式矩陣的格式很可能會牽涉到大量的shuffle IO操作,目前支持3種類型的分布式矩陣:RowMatrix, IndexedRowMatrix, CoordinateMatrix。最基本的類型RowMatrix,是一個以行為主的矩陣,每一行可以看成是一個特征向量,以向量的形式存儲在本地。IndexedRowMatrix是特殊的RowMatrix,其還保存了每一行的索引,用于定位特定的行和執行join操作。CoordinateMatrix以坐標序列的形式保存數組中的元素。BlockMatrix是為分塊矩陣設計的數據結構,矩陣被分割成一個個矩陣塊,保存到本地。
在RDD[Vector]上,Statistics類提供了基于列的統計函數colStats,colStats返回每一列的最大值,最小值,均值,方差,非零元素個數,以及所有元素數量
計算兩個序列的相關性是一項很常用的操作,使用corr函數可以很容易的計算兩個或者多個向量的相關系數,corr函數支持Pearson和Spearman相關系數。
在RDD[(K,V)],采用分層抽樣函數sampleByKey,需指定每一個key抽樣的比例
假設檢驗,支持皮爾遜卡方檢驗
隨機數生成,支持均勻分布、標準正態分布、泊松分布
kernel density estimation:允許在不知道被觀察樣本概率分布的情況下,對其經驗概率分布進行可視化。通過評估給定的樣本,估計隨機變量的分布。在評估隨機變量的分布時,假設隨機變量的經驗概率分布函數,可以表示為以所有采樣點為中心的正態分布的均值。
到此,相信大家對“spark MLlib數據類型有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。