我通过使用它的 pyspark.ml.regression.LinearRegression 在 spark 中创建一个模型

Posted

技术标签:

【中文标题】我通过使用它的 pyspark.ml.regression.LinearRegression 在 spark 中创建一个模型【英文标题】:I am create a model in spark by using its pyspark.ml.regression.LinearRegression 【发布时间】:2020-04-24 07:11:14 【问题描述】:

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

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>。

【问题讨论】:

【参考方案1】:

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

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

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

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

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

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

【讨论】:

我使用 Vector.dense 创建了一个包含两列的数据框。 def transformToLabelPoint(instr): lp=(float(instr[0]),Vectors.dense([instr[1],instr[2],instr[4]])) return lp autoLp=autoVectors.map(transformToLabelPoint) autoDF =sqlContext.createDataFrame(autoLp,["label","features"]) (trainingdata,testdata)=autoDF.randomSplit([0.9,0.1]) lr=LinearRegression(featuresCol = 'features', labelCol='label',maxIter =10)

以上是关于我通过使用它的 pyspark.ml.regression.LinearRegression 在 spark 中创建一个模型的主要内容,如果未能解决你的问题,请参考以下文章

如何通过在 android webview 中使用 js 通过它的 id 获取特定 <div> 的数据?

stackView 中的 StackView 不能通过 swift 使用它的间距

iOS:`UICollectionview`,如何通过它的`indexPath`获取单元格的`contentoffset`

通过一个案例分析为什么使用ThreadLocal,使用它的好处是什么

iOS:`UICollectionview`,如何通过它的`indexPath`得到一个单元格的`contentoffset`

将视图添加到视图控制器并使用自动布局通过旋转完全覆盖它的正确方法是啥?