我已经使用spark ml管道构建了逻辑回归模型并保存了它。我试图将管道应用于新的记录集并收到错误。我的管道中包含矢量汇编程序,标准缩放器和逻辑回归模型。
我尝试了pipe.transform并收到以下错误
AttributeError:“管道”对象没有属性“变换”
下面是代码
from pyspark.ml import Pipeline
pipelineModel = Pipeline.load("/user/userid/lr_pipe")
scored_temp = pipelineModel.transform(combined_data_imputed_final)
这是我保存管道的方式
from pyspark.ml.classification import LogisticRegression
vector = VectorAssembler(inputCols=final_features, outputCol="final_features")
scaler = StandardScaler(inputCol="final_features", outputCol="final_scaled_features")
lr = LogisticRegression(labelCol="label", featuresCol="final_scaled_features", maxIter=30)
stages = [vector,scaler,lr]
pipe = Pipeline(stages=stages)
lrModel = pipe.fit(train_transformed_data_1).transform(train_transformed_data_1)
pipe.save("lr_pipe")
我希望它完成所有管道步骤并为记录打分。有人可以帮忙吗?
答案 0 :(得分:0)
我遇到了同样的问题,在查看了源代码之后,我发现有一个PipelineModel模块应该加载到其中。一旦我更改了它,它就会起作用:D
from pyspark.ml import Pipeline, PipelineModel
pipelineModel = PipelineModel.load("/user/userid/lr_pipe")
scored_temp = pipelineModel.transform(combined_data_imputed_final)