博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scala语言 + Spark MLLib进行机器学习---线性回归
阅读量:122 次
发布时间:2019-02-27

本文共 918 字,大约阅读时间需要 3 分钟。

下面的例子展示了如何加载数据,解析为RDD(译者注:RDD为Spark的弹性数据集);然后利用线性回归+随机梯度下降算法构建一个线性模型,并进行预测,最后计算均方误差(Mean Squared Errors)来对模型进行评估。

 

 

 
  1. import org.apache.spark.mllib.regression.LinearRegressionWithSGD

  2. import org.apache.spark.mllib.regression.LabeledPoint

  3.  
  4. // Load and parse the data

  5. val data = sc.textFile("mllib/data/ridge-data/lpsa.data")

  6. val parsedData = data.map { line =>

  7. val parts = line.split(',')

  8. LabeledPoint(parts(0).toDouble, parts(1).split(' ').map(x => x.toDouble).toArray)

  9. }

  10.  
  11. // Building the model

  12. val numIterations = 20

  13. val model = LinearRegressionWithSGD.train(parsedData, numIterations)

  14.  
  15. // Evaluate model on training examples and compute training error

  16. val valuesAndPreds = parsedData.map { point =>

  17. val prediction = model.predict(point.features)

  18. (point.label, prediction)

  19. }

  20. val MSE = valuesAndPreds.map{ case(v, p) => math.pow((v - p), 2)}.reduce(_ + _)/valuesAndPreds.count

  21. println("training Mean Squared Error = " + MSE)

转载地址:http://rhmb.baihongyu.com/

你可能感兴趣的文章