kku*_*mar 0 pipeline apache-spark pyspark apache-spark-ml
我已经使用 spark ml 管道构建了一个逻辑回归模型并保存了它。我正在尝试将管道应用于新记录集并收到错误。我的管道中有向量汇编器、标准缩放器和逻辑回归模型。
我尝试pipeline.transform
并收到以下错误
AttributeError: 'Pipeline' 对象没有属性 'transform'
下面是代码
from pyspark.ml import Pipeline
pipelineModel = Pipeline.load("/user/userid/lr_pipe")
scored_temp = pipelineModel.transform(combined_data_imputed_final)
Run Code Online (Sandbox Code Playgroud)
这是我保存管道的方法
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")
Run Code Online (Sandbox Code Playgroud)
我期待它完成所有管道步骤并为记录评分。
小智 6
我遇到了同样的问题,在查看源代码后,我发现我们应该加载一个 PipelineModel 模块。一旦我改变了它,它就起作用了:D
from pyspark.ml import Pipeline, PipelineModel
pipelineModel = PipelineModel.load("/user/userid/lr_pipe")
scored_temp = pipelineModel.transform(combined_data_imputed_final)
Run Code Online (Sandbox Code Playgroud)