更改python中的预测方法

2024-06-11 10:19:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我用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'

这是真的。我尝试了whileif,但都不起作用。我可能忘了什么


Tags: 方法函数模型modelif管道havedo
1条回答
网友
1楼 · 发布于 2024-06-11 10:19:38

您需要使用hasattr检查函数是否存在:

if hasattr(trained_model, 'predict_proba'):
    return trained_model.predict_proba(...)
# otherwise do something else...

相关问题 更多 >