Я обучил свои данные в tpot, а затем написал функцию для оценки лучшего конвейера с разными показателями. Я хочу автоматизировать всю процедуру. Tpot вернет лучший конвейер, а затем будут рассчитаны разные метрики. Проблема в том, что иногда оптимальная модель не имеет метода «pred_proba», такого как ElasticNetCV или AdaBoostRegressor, тогда в моей функции оценки я должен разделить два разных метода прогнозирования. Что-то вроде:
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'
Это правда. Я пробовал использовать , а и , если , но ни один из них не работает. Я могу что-то здесь забыть.