我正在使用TPOT分类器,在对模型进行训练之后,我想保存最好的管道;我可以使用它。
model.fitted_pipeline_这是其中一个产出的例子:
Pipeline(steps=[('extratreesclassifier',
ExtraTreesClassifier(criterion='entropy', max_features=0.1,
min_samples_split=8))])但是,当我试图使用joblib.dump对这个对象进行分类时,我会得到以下错误:
pickle.PicklingError: Can't pickle <class 'tpot.operator_utils.ExtraTreesClassifier__bootstrap'>: it's not found as tpot.operator_utils.ExtraTreesClassifier__bootstrap因此,问题是:我如何才能腌制经过训练的管道?提前感谢!
如果这可能会影响:培训在类中,并使用train()方法调用,则从该方法返回管道,另一个则进行转储。我不能通过设计约束来改变这个结构。
发布于 2022-05-26 05:30:25
尝试在已安装的管道中使用steps属性。
以下是代码:
model = model.fitted_pipeline.steps[-1][1]
joblib.dump(model, "/path/to/pickle")https://stackoverflow.com/questions/70351437
复制相似问题