如何计算MSE-通过元组迭代

时间:2019-06-01 12:35:37

标签: scala apache-spark mean-square-error

该代码与线性回归有关,是从MLlib库编写的。 机器学习对我来说很完美,但是MSE存在问题。

我有元组,val为“ predictionAndLabel”,因此x:预测值                                              y:计算值 我需要计算它们的毫秒数

这是我到目前为止所做的:

for (prediction<- predictionAndLabel)
  val sum = prediction.flatMap( (x: Double, y: Double) => (x - y)**2)
  println(sum)

1 个答案:

答案 0 :(得分:0)

例如,假设predictionAndLabel是一个元组列表,

val predictionAndLabel: List[(Double, Double)] = List((1.0, 2.0), (2.0, 3.0), (4.0, 5.0))

然后我们可以如下计算均方误差

predictionAndLabel
  .map { case (predicted, actual) => Math.pow(predicted - actual, 2) }
  .sum / predictionAndLabel.size

,在这种情况下,MSE为1.0