这篇文章主要介绍spark mllib 预测之LinearRegression的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
商品需求(y, 吨),价格(x1, 元),消费者收入(x2, 元)
y | x1 | x2 |
5 | 1 | 1 |
8 | 1 | 2 |
7 | 2 | 1 |
13 | 2 | 3 |
18 | 3 | 4 |
建立需求函数: y = ax1+bx2
package spark.regressionAnalysis
/**
* 线性回归, 建立商品价格与消费者输入之间的关系,
* 预测价格
*/
import org.apache.log4j.{Level, Logger}
import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.regression.{LabeledPoint, LinearRegressionWithSGD}
import org.apache.spark.{SparkConf, SparkContext}
object LinearRegression {
val conf = new SparkConf() //创建环境变量
.setMaster("local") //设置本地化处理
.setAppName("LinearRegression")//设定名称
val sc = new SparkContext(conf) //创建环境变量实例
def main(args: Array[String]) {
val data = sc.textFile("./src/main/spark/regressionAnalysis/lr.txt")//获取数据集路径
val parsedData = data.map { line => //开始对数据集处理
val parts = line.split('|') //根据逗号进行分区
LabeledPoint(parts(0).toDouble, Vectors.dense(parts(1).split(',').map(_.toDouble)))
}.cache() //转化数据格式
//LabeledPoint, numIterations, stepSize
val model = LinearRegressionWithSGD.train(parsedData, 2, 0.1) //建立模型
val result = model.predict(Vectors.dense(1, 3))//通过模型预测模型
println(model.weights)
println(model.weights.size)
println(result) //打印预测结果
}
}
lr.txt
5|1,1 8|1,2 7|2,1 13|2,3 18|3,4
以上是“spark mllib 预测之LinearRegression的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/sunmin/blog/719693