Spark線性回歸實現優化

2022-05-06 13:15:12 字數 2113 閱讀 8892

1

import

org.apache.log4j.

2import

org.apache.spark.ml.feature.vectorassembler

3import

org.apache.spark.ml.regression.linearregression

4import

org.apache.spark.sql.sparksession56

/**7

* 線性回歸

8* created by zhen on 2018/11/12.9*/

10object linearregression

24 val df =spark.sqlcontext.createdataframe(train_map_data)

25 val colarray = array("population","income","illiteracy","lifeexp","hsgrad","frost","area")

26 val train_df = df.todf(colarray(0),colarray(1),colarray(2),colarray(3),"murder",colarray(4),colarray(5),colarray(6))

27 val assembler = new

vectorassembler()

28.setinputcols(colarray)

29 .setoutputcol("features")

30 val vectdf =assembler.transform(train_df)

31 val weights = array(0.8,0.2) //

設定訓練集和測試集的比例

32 val split_data = vectdf.randomsplit(weights) //

拆分訓練集和測試集

33//

建立模型物件

34 val linearregression = new

linearregression()

35 .setfeaturescol("features")

36 .setlabelcol("murder")

37 .setfitintercept(true

)38 .setmaxiter(10)

39 .setregparam(0.3)//

正則化40 .setelasticnetparam(0.8)

41//

訓練模型

42 val lrmodel = linearregression.fit(split_data(0))

43//

檢視模型引數

44//

lrmodel.extractparammap()

45 println(s"cofficients:$ intercept:$")

46//

模型評估

47 val trainingsummary =lrmodel.summary

48 println(s"objectivehistorylist:$")

49 println(s"r2:$")

50//

**51 val predictions = lrmodel.transform(split_data(1))

52 val predict_result = predictions.selectexpr("features","murder","round(prediction,1) as prediction") //

儲存一位小數

53 println("訓練集資料------------------------------真實值--**值")

54predict_result.foreach(println(_))55}

56 }

結果:

spark 簡單實戰 Spark線性回歸簡單例子

這個課程以乙個專案來講解spark中怎麼使用線性回歸 邏輯回歸以及svm等演算法模型。專案主要是 航班的延遲時間,專案是按照如下的流程來講解 在模型訓練地方,詳細講解了交叉驗證的功能 老湯人工智慧 機器學習課程體系分為三部分 機器學習一之數學基礎 從微積分和線性代數兩個方面講解機器學習需要的數學知識...

spark之MLlib機器學習 線性回歸

2 編寫scala原始碼 為了進一步熟悉scala程式語言,建議自己把 敲一次。import org.apache log4j import org.apache spark.import org.apache spark mllib regression linearregressionwiths...

python實現線性回歸

定義 線性回歸在假設特徵滿足線性關係,根據給定的訓練資料訓練乙個模型,並用此模型進行 文中只介紹了簡單的概念,不涉及公式的證明等。從最簡單的一元線性關係介紹,假設有一組資料型態為 y theta x,其中 x y 我們根據 x,y 模擬出近似的 theta 引數值,進而得到 y theta x 模型...