from pyspark.ml.regression import RandomForestRegressionModel
rf = RandomForestRegressor(labelCol="label",featuresCol="features", numTrees=5, maxDepth=10, seed=42)
rf_model = rf.fit(train_df)
rf_model_path = "./hdfsData/" + "rfr_model"
rf_model.save(rf_model_path)
我第一次尝试保存模型时,这些代码是有效的。但当我想再次将模型保存到路径中时,它会出现以下错误:
Py4JJavaError: 调用 o1695.save 时发生错误。: java.io.IOException: 路径 ./hdfsData/rfr_model 已经存在。请使用 write.overwrite().save(path) 来覆盖它。
然后我尝试了:
rf_model.write.overwrite().save(rf_model_path)
结果为:
属性错误:'function'对象没有属性'overwrite'
似乎 pyspark.mllib
模块提供了 overwrite 函数,但是pyspark.ml
模块没有。如果我想用新模型覆盖旧模型,有人知道如何解决吗?谢谢。