spark ML算法之线性回归使用

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:https://www.captainai.net/dongkelun

前言

本文是讲如何使用spark ml进行线性回归,不涉及线性回归的原理。

1、数据格式

1.1 普通标签格式

1.1.1 格式为:
标签,特征值1 特征值2 特征值3...
1,1.9
2,3.1
3,4
3.5,4.45
4,5.02
9,9.97
-2,-0.98
1.1.2 spark 读取

1、Rdd
旧版(mllib)的线性回归要求传入的参数类型为RDD[LabeledPoint]

import org.apach
在Apache SparkMLlib库中,我们可以使用线性回归算法(Linear Regression)来进行房价预测。以下是使用Scala编写的一个简单示例: 首先,你需要确保已经安装了Spark并设置了环境变量。然后,导入所需的库: ```scala import org.apache.spark.ml.regression.LinearRegression import org.apache.spark.sql.SparkSession ``` 假设你已经有了一个包含房价数据的DataFrame,其中有一列是特征(例如房屋面积、卧室数等),一列是标签(房价): ```scala val spark = SparkSession.builder.appName("HousingPrediction").getOrCreate() val data = spark.read.format("csv") // 或者其他格式 .option("header", "true") .load("path_to_your_data.csv") ``` 然后,你可以分割数据集为特征和标签: ```scala val Array(featuresCol, labelCol) = Array("features_column_name", "price_column_name") val Array(trainingData, testData) = data.randomSplit(Array(0.7, 0.3), seed = 1234L) ``` 接着,建立并训练线性回归模型: ```scala val lr = new LinearRegression().setLabelCol(labelCol).setFeaturesCol(featuresCol) val lrModel = lr.fit(trainingData) ``` 预测测试集: ```scala val predictions = lrModel.transform(testData) ``` 最后,评估模型性能,可能包括计算均方根误差(RMSE)和决定系数(R²): ```scala import org.apache.spark.ml.evaluation.RegressionEvaluator val evaluator = new RegressionEvaluator().setLabelCol(labelCol).setPredictionCol("prediction").setMetricName("rmse") val rmse = evaluator.evaluate(predictions.select("prediction", "label")) println(s"Root Mean Squared Error (RMSE) on test data = $rmse") ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董可伦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值