Вы можете использовать getattr
для загрузки требуемой функции.Пожалуйста, используйте измененную функцию ниже:
import sklearn.metrics
def regression_score(y_true, y_pred, metric):
function = getattr(sklearn.metrics, metric)
return function(y_true, y_pred)
ВЫБОР ОБРАЗЦА
import numpy as np
y_true = np.array([2,3,4,1])
y_pred = np.array([1,3,1,2])
regression_score(y_true,y_pred,"mean_absolute_error")
1.25
regression_score(y_true,y_pred,"mean_squared_error")
2.75
Таким образом, в основном у вас есть только одна функция без условий if
, которая выполнит вашуработа.
Надеюсь, это поможет!