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