簡體   English   中英

從Spark中的系數數組創建線性回歸模型

[英]Create Linear Regression Model from an array of coefficients in Spark

我有一個已經計算出的系數數組,我想在Spark 2.0.1中用它創建一個線性回歸模型,以便可以將其用於預測。

用系數數組創建LinearRegressionModel類的最簡單方法是什么?

您的線性模型只是一個線性方程,例如,如果您的系數為

val coefficients=Array[Double](c0,c1,c2,...,cn)

其中第一個值是截距系數(假設您有截距),那么您的線性方程為

y = c0 + c1*x1 + c2*x2 + ... + c_n*xn

所以你可以定義

class LinearModel(coefficients:Array[Double]){
  def predict(newObservation:Array[Double]):Double={
  val intercept=coefficients(0)
  val weights=coefficients.drop(1)
  val multiplication=newObservation.zip(weights).map{case (x,y)=>x*y}.sum
  val prediction=intercept+multiplication
  prediction
  }
}

例如,如果您的系數是

val coefficients=Array(2.0,2.1,2.2)

然后定義一個新的線性模型

val model = new LinearModel(coefficients)

因此,如果您有新發現

newObservation=Array(1.0,1.0)

預測是

model.predict(newObservation)

輸出是

scala> model.predict(newObservation)
res16: Double = 6.300000000000001

如果您想預測一堆觀察結果而不是一個,就可以改編前面的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM