pyspark编写线性回归样例
时间: 2023-06-28 20:07:39 浏览: 34
下面是一个使用 PySpark 进行线性回归的样例代码:
```python
from pyspark.ml.regression import LinearRegression
from pyspark.ml.feature import VectorAssembler
from pyspark.sql import SparkSession
# 创建 SparkSession 对象
spark = SparkSession.builder.appName("LinearRegressionExample").getOrCreate()
# 读取数据
data = spark.read.format("csv").option("header", "true").load("path/to/data.csv")
# 将特征向量化
assembler = VectorAssembler(inputCols=["feature1", "feature2", "feature3"], outputCol="features")
data = assembler.transform(data)
# 划分数据集为训练集和测试集
trainData, testData = data.randomSplit([0.7, 0.3], seed=12345)
# 创建线性回归模型
lr = LinearRegression(featuresCol="features", labelCol="label")
# 训练模型
model = lr.fit(trainData)
# 测试模型
result = model.transform(testData)
# 打印结果
result.select("features", "label", "prediction").show()
# 评估模型
from pyspark.ml.evaluation import RegressionEvaluator
evaluator = RegressionEvaluator(labelCol="label", predictionCol="prediction", metricName="rmse")
rmse = evaluator.evaluate(result)
print("Root Mean Squared Error (RMSE) on test data = %g" % rmse)
# 关闭 SparkSession 对象
spark.stop()
```
其中,`data.csv` 包含了特征列 `feature1`、`feature2`、`feature3` 和标签列 `label`。在代码中,首先读取数据,然后将特征向量化,接着将数据集划分为训练集和测试集,创建线性回归模型并训练模型,最后对测试集进行预测,并评估模型的性能。