spark之MLlib機器學習 線性回歸

2021-07-29 02:06:21 字數 1427 閱讀 5139

2、編寫scala原始碼

為了進一步熟悉scala程式語言,建議自己把**敲一次。

//import org.apache

.log4j

import org.apache

.spark.

import org.apache

.spark

.mllib

.regression

.linearregressionwithsgd

import org.apache

.spark

.mllib

.util

.mlutils

import org.apache

.spark

.mllib

.regression

.labeledpoint

import org.apache

.spark

.mllib

.linalg

.vectors

import org.apache

.spark

.mllib

.regression

.linearregressionmodel

object linearregression.cache()

val numexamples=examples.count()

val numiterations=100

val stepsize=1

val minibatchfraction=1.0

val model=linearregressionwithsgd.train(examples,numiterations,stepsize,minibatchfraction)

val prediction=model.predict(examples.map(_.features))

val predictionandlabel=prediction.zip(examples.map(_.label))

val print_predict=predictionandlabel.take(50)

println("prediction"+"\t"+"label")

for (i

val loss =predictionandlabel.map.reduce(_+_)

val rmse=math.sqrt(loss/numexamples)

println(s"test rmse = $rmse.")

}

3、使用sbt工具編譯和打包

4、結果輸出:

可以看出,線性擬合的結果並不理想,說明模型選擇的不合理。本示例僅僅為了說明線性回歸api的用法。

spark機器學習實現之fpgrowth

很久之前就像寫一些關於資料探勘演算法的東西,因為懶現在才開始動手,因為fpgrowth演算法在mlib中的實現 相對比較簡單,所以打算先拿它下手。關於fpgrowth的原理本人說的也不專業,推薦 這裡主要寫一下在mlib當中,實現的乙個過程 先上 logger.getlogger org setle...

Spark機器學習

spark機器學習 注 spark簡介 spark是乙個分布式計算框架,旨在簡化執行於計算集群上的並行程式的編寫。該框架對資源排程,任務的提交 執行和跟蹤,節點間的通訊以及資料並行處理的內在底層操作都進行了抽象。它提供了乙個更高階別的api用於處理分布式資料。spark支援的四種執行模式 本地單機模...

利用spark的mllib構建GBDT模型

gbdt模型的介紹,我主要是參考部落格 在這裡,我主要歸納以下幾點要素 1.gbdt中的樹都是回歸樹 2.回歸樹節點分割點衡量最好的標準是葉子個數的上限 3.gbdt的核心在於,每個棵樹學的是之前所有樹結論和的殘差,這個殘差就是乙個加 值後能得到真實值的累加量 4.gb為gradient boost...