如何从Spark-MLlib线性回归模型(Scala)获得系数值?

时间:2017-01-25 07:13:02

标签: scala apache-spark linear-regression apache-spark-mllib

我想在Spark-MLlib中获得线性回归(LR)模型的系数值。在这里,我使用' LinearRegressionWithSGD'要构建模型,您可以从以下链接中找到示例:

https://spark.apache.org/docs/2.1.0/mllib-linear-methods.html#regression

我可以从Spark-ML线性回归中获得系数值。请从下面找到参考链接。

https://spark.apache.org/docs/2.1.0/ml-classification-regression.html#linear-regression

请帮我解决这个问题。在此先感谢!!

1 个答案:

答案 0 :(得分:1)

从您发送的第一个链接中获取第一行模型创建:

val model: LinearRegressionModel = LinearRegressionWithSGD.train(parsedData, numIterations, stepSize)
.run(training)
// Here are the coefficient and intercept
val weights: org.apache.spark.mllib.linalg.Vector = model.weights
val intercept = model.intercept
val weightsData: Array[Double] = weights.asInstanceOf[DenseVector].values

最后3行是系数和截距

weights的类型是 : org.apache.spark.mllib.linalg.Vector

这是Breeze DenseVector

的包装器