??????????博主:發(fā)量不足
????本期更新內(nèi)容:Spark機器學習庫MLlib的概述與數(shù)據(jù)類型
????下篇文章預告:Spark MLlib基本統(tǒng)計
????簡介:分享的是一個當代疫情在校封校的大學生學習筆記
目錄
Spark機器學習庫MLlib的概述
一.MLib的簡介
二.Spark機器學習工作流程
數(shù)據(jù)類型
一.本地向量
二.標注點
三.本地矩陣
?文章來源地址http://www.zghlxwxcb.cn/news/detail-406818.html
MLlib是Spark提供的可擴展的機器學習庫,其特點是采用較為先進的迭代式、內(nèi)存存儲的分析計算,使得數(shù)據(jù)的計算處理速度大大高于普通的數(shù)據(jù)處理引擎。
Spark機器學習庫MLlib的概述
一.MLib的簡介
?文章來源:http://www.zghlxwxcb.cn/news/detail-406818.html
二.Spark機器學習工作流程
?
?
數(shù)據(jù)類型
MLlib的主要數(shù)據(jù)類型包括本地向量、標注點、本地矩陣。
本地向量和本地矩陣是提供公共接口的簡單數(shù)據(jù)模型,Breeze和Jblas提供了底層的線性代數(shù)運算。
在監(jiān)督學習中用標注點類型表示訓練樣本。
?
一.本地向量
本地向量分為密集向量(Dense)和稀疏向量(Sparse),密集向量是由Double類型的數(shù)組支持,而稀疏向量是由兩個并列的數(shù)組支持。
?
啟動Spark集群服務(hadoop用戶下spark路徑):sbin/start-all.sh
啟動Spark-Shell:bin/spark-shell --master local[2]
?
導包
import org.apache.spark.mllib.linalg.{Vector,Vectors}
?
創(chuàng)建一個密集本地向量
val dv:Vector=Vectors.dense(1.0,0.0,3.0)
?
創(chuàng)建一個稀疏本地向量
val sv1:Vector=Vectors.sparse(3,Array(0,2),Array(1.0,3.0))
?
通過指定非零項目,創(chuàng)建稀疏本地向量
val sv22:Vector = Vectors.sparse(3,Seq((0,1.0),(2,3.0)))
?
?
二.標注點
標簽點(Labeled Point)是一個本地向量,也分稀疏或者稠密,并且是一個帶有標簽的本地向量。
在 MLlib 中,標簽點常用于監(jiān)督學習類算法。標簽(Label)是用 Double 類型存放的,因此標簽點可以用于回歸或者分類算法中。如果是二維分類,標簽則必須是 0 或 1 之間的一種。而如果是多個維度的分類,標簽應當是從 0 開始的數(shù)字,代表各個分類的索引。
?
導包
import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.regression.LabeledPoint
創(chuàng)建帶有正標簽和密集向量的標注點pos和帶有負標簽和稀疏向量的標注點neg
val pos = LabeledPoint(1.0,Vectors.dense(1.0,0.0,3.0))
val neg = LabeledPoint(0.0,Vectors.sparse(3,Array(0,2),Array(1.0,3.0)))
?
三.本地矩陣
導包
import org.apache.spark.mllib.linalg.{Matrix,Matrices}
?
創(chuàng)建一個3行2列的密集矩陣
val dm:Matrix = Matrices.dense(3,2,Array(1.0,3.0,5.0,2.0,4.0,6.0))
?
創(chuàng)建一個3行2列的稀疏矩陣
val sm:Matrix = Matrices.sparse(3,2,Array(0,1,3),Array(0,2,1),Array(9,6,8))
?
?
到了這里,關于[機器學習、Spark]Spark機器學習庫MLlib的概述與數(shù)據(jù)類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!