0

我用的是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() 方法调用它,然后从该方法返回管道,另一个进行转储。我不能通过设计约束来改变这个结构。

4

0 回答 0