【发布时间】:2021-01-16 21:04:25
【问题描述】:
我想生成一个网格搜索,我需要 scoring 参数来进行搜索。我定义了以下函数来为我提供Root Mean Squared Logarithmic Error。但我觉得得分手正在考虑更大的值是一个更好的分数,而它应该认为较低的值是更好的分数。如果我定义了正确的记分员,请告诉我。
RMSLE 函数
def score_func(y_true, y_pred, **kwargs):
y_true = np.abs(y_true)
y_pred = np.abs(y_pred)
return np.sqrt(mean_squared_log_error(y_true, y_pred))
scorer = make_scorer(score_func)
我必须在上面的代码中使用np.abs,否则会报错,当Target为负值时RMSLE不能使用。
【问题讨论】:
标签: python numpy machine-learning scikit-learn