首页 > 解决方案 > 我通过使用它的 pyspark.ml.regression.LinearRegression 在 spark 中创建一个模型

问题描述

我正在构建模型但出现错误

from pyspark.ml.regression import LinearRegression
lr=LinearRegression(featuresCol = 'features', labelCol='label',maxIter=10)
lrModel=lr.fit(trainingdata)

IllegalArgumentException:要求失败:列特征必须是 struct,values:array> 类型,但实际上是 struct,values:array>。

标签: pyspark

解决方案


这将是这样的。假设您有一个名为 df 的数据框,其中的列是“X1”、“X2”、“Y”。

首先,您必须将自变量——“X1”、“X2”分组到一个名为“特征”的列中。下面是执行此操作的代码。

new_df = VectorAssembler(inputCols=["X1", "X2"], outputCol="features")

现在,您的 new_df 将包含列 - “X1”、“X2”、“功能”、“Y”。

现在,是时候运行线性回归了

model = LinearRegression(labelCol="Y").fit(training_data)

推荐阅读