pyspark mllib使用linearregression写线性回归代码
时间: 2023-09-20 17:11:49 浏览: 157
下面是使用 PySpark MLlib 中的 LinearRegression 模型进行线性回归的示例代码:
```python
# 导入必要的库
from pyspark.ml.regression import LinearRegression
from pyspark.ml.evaluation import RegressionEvaluator
# 加载数据集
data = spark.read.format("libsvm").load("path/to/data")
# 划分训练集和测试集
(trainingData, testData) = data.randomSplit([0.7, 0.3])
# 定义线性回归模型
lr = LinearRegression(maxIter=10, regParam=0.3, elasticNetParam=0.8)
# 训练模型
model = lr.fit(trainingData)
# 在测试集上进行预测
predictions = model.transform(testData)
# 评估模型性能
evaluator = RegressionEvaluator(metricName="rmse")
rmse = evaluator.evaluate(predictions)
print("Root Mean Squared Error (RMSE) on test data = %g" % rmse)
# 打印模型系数和截距
print("Coefficients: " + str(model.coefficients))
print("Intercept: " + str(model.intercept))
```
在这个示例中,我们首先使用 `spark.read.format("libsvm").load("path/to/data")` 加载一个 LIBSVM 格式的数据集。然后我们使用 `randomSplit` 方法将数据集划分成训练集和测试集。接下来,我们定义了一个 `LinearRegression` 模型,并通过 `fit` 方法对训练集进行拟合。最后,我们在测试集上进行预测,并使用 `RegressionEvaluator` 评估模型的性能。最后,我们打印出模型的系数和截距。
阅读全文