文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州
▲ 本章节目的
⚪ 掌握Spark的案例——预测商品需求量;
⚪ 掌握Spark的案例——预测谋杀率;
一、案例1——预测商品需求量
1. 说明
某种商品的需求量(y,吨)、价格(x1,元/千克)和消费者收入(x2,元)观测值如下表所示。
y=β1X1+β2X2+β0
y |
x1 |
x2 |
100 |
5 |
1000 |
75 |
7 |
600 |
80 |
6 |
1200 |
70 |
6 |
500 |
50 |
8 |
30 |
65 |
7 |
400 |
90 |
5 |
1300 |
100 |
4 |
1100 |
110 |
3 |
1300 |
60 |
9 |
300 |
为了能够通过Mllib建模,我们首先需要对数据格式进行一定的处理,比如如下所示:
100|5 1000
75|7 600
80|6 1200
70|6 500
50|8 30
65|7 400
90|5 1300
100|4 1100
110|3 1300
60|9 300
X1=10 X2=400 Y=?
2. 代码示例:
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.ml.regression.LinearRegressionModel.LinearRegressionModelReader
import org.apache.spark.ml.regression.LinearRegressionSummary
import org.apache.spark.ml.regression.LinearRegressionTrainingSummary
import org.apache.spark.mllib.regression.LinearRegressionWithSGD
import org.apache.spark.mllib.regression.LinearRegressionModel
import org.apache.spark.ml.regression.LinearRegressionModel
import org.apache.spark.sql.SQLContext
import org.apache.spark.ml.feature.VectorAssembler
import org.apache.spark.ml.regression.LinearRegression
object Driver {
def main(args: Array[String]): Unit = {
val conf=new SparkConf().setMaster("local").setAppName("lr")
val sc=new SparkContext(conf)
val sqc=new SQLContext(sc)
val data=sc.textFile("d://ml/lritem.txt")
//--将数据转成 tuple格式,是为了后期转成SparkSql的DataFrame
val parseData=data.map { x =>
val parts=x.split("\\|")
val features=parts(1).split(" ")
(parts(0).toDouble,features(0).toDouble,features(1).toDouble)
}
//--转成DF
val df=sqc.createDataFrame(parseData)
//--定义各列字段名字
val dfData=df.toDF("Y","X1","X2")文章来源:https://www.toymoban.com/news/detail-679005.html
//--定义featur文章来源地址https://www.toymoban.com/news/detail-679005.html
到了这里,关于大数据课程K14——Spark的数据挖掘案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!