使用pyspark与线性回归对波士顿房价进行预测代码
时间: 2023-10-16 21:08:38 浏览: 98
以下是使用 PySpark 和线性回归对波士顿房价进行预测的示例代码:
```python
# 导入必要的包
from pyspark.ml.regression import LinearRegression
from pyspark.ml.feature import VectorAssembler
from pyspark.sql.functions import col
# 读取数据
data = spark.read.format("csv").option("header", "true").load("boston_housing.csv")
# 将数据转换为正确的数据类型
data = data.select(*(col(c).cast("float").alias(c) for c in data.columns))
# 创建特征向量
assembler = VectorAssembler(inputCols=data.columns[:-1], outputCol="features")
data = assembler.transform(data)
# 划分数据集
train_data, test_data = data.randomSplit([0.7, 0.3], seed=1234)
# 创建线性回归模型
lr = LinearRegression(featuresCol="features", labelCol="medv")
# 训练模型
model = lr.fit(train_data)
# 预测测试集
predictions = model.transform(test_data)
# 输出预测结果
predictions.select("medv", "prediction").show()
# 输出模型评估指标
from pyspark.ml.evaluation import RegressionEvaluator
evaluator = RegressionEvaluator(predictionCol="prediction", labelCol="medv", metricName="rmse")
rmse = evaluator.evaluate(predictions)
print("Root Mean Squared Error (RMSE) on test data = %g" % rmse)
```
在这个示例中,我们首先读取了波士顿房价数据集,将数据转换为正确的数据类型,然后创建特征向量并划分数据集。接下来,我们创建了一个线性回归模型,并使用训练数据拟合了模型。最后,我们对测试数据进行了预测,并输出了预测结果和模型评估指标(均方根误差)。
阅读全文