我用tpot训练了我的数据,然后编写了一个函数,用不同的度量来评估最佳管道。我想把整个过程自动化。Tpot将返回最佳管道,然后计算不同的指标。问题是,有时最优模型没有“预测概率”方法,如ElasticNetCV或Adaboostregrestor,然后在我的评估函数中,我必须划分两种不同的预测方法。比如:
if trained_model does have predict_proba:
do sth
else trained_model does not have predict_proba
do sth else
想象一下这样的代码: 经过培训的_模型是tpot的最佳管道
prob_test = trained_model.predict_proba(xtest)
如果训练的_模型为“AdaBoostRegressor”,则返回错误:
'AdaBoostRegressor' object has no attribute 'predict_proba'
这是真的。我尝试了while和if,但都不起作用。我可能忘了什么
您需要使用
hasattr
检查函数是否存在:相关问题 更多 >
编程相关推荐