我收到了一个预先训练好的Pypark模型(gbtregressor),我无法在数据集上使用它来获得预测。我看过一些关于使用pipeline vs pipelinemodel的文章,但在本例中,它只是regressor对象,我不能用pipelinemodel加载它。
我能够成功地加载模型:
model = GTBRegressor.load(model_path)
type(model)
'pyspark.ml.regression.GBTRegressor'
但当我打电话的时候 model.transform(test_df)
我明白了
AttributeError: 'GBTRegressor' object has no attribute 'transform'
我尝试过将模型对象放入管道和管道模型中,但没有任何效果。我在源代码中也看到了这个类:
class GBTRegressionModel(TreeEnsembleModels):
"""
Model fitted by GBTRegressor.
.. versionadded:: 1.4.0
"""
但是我不能用 GBTRegressionModel.load(model_path)
如果有人能抽出时间帮我找出我做错了什么,我将不胜感激!跑了整整一周,我不想再跑了。如果需要我提供更多信息来诊断问题,请告诉我。
1条答案
按热度按时间fnx2tebb1#
我发现答案是,由于代码中的一个bug,未经训练的gbtregressor对象被保存,而不是经过训练的对象,因此它没有transform属性。