使用GridSearchCV进行GBRT超参数调整

时间:2015-01-03 10:17:06

标签: scikit-learn

我正在运行GridSearchCV以找到GradientBoostingRegressor的最佳参数。

给出的教程是使用MSE进行评分。

gs_cv = GridSearchCV(est, param_grid, scoring='mean_squared_error', n_jobs=4).fit(X_train, y_train)

是否可以使用其他自己定义的评分,例如Root Mean Squared Logarithmic Error(RMSLE)来获得最佳超参数?

def rmsle(predicted, actual, size):
    return np.sqrt(np.nansum(np.square(np.log(predicted + 1) - np.log(actual + 1)))/float(size))

1 个答案:

答案 0 :(得分:1)

您需要制作custom scorer。在你的情况下,它看起来像这样:

from sklearn.metrics import make_scorer

scorer = make_scorer(rmsle, greater_is_better=False, size=10)
grid = GridSearchCV(est, param_grid, scoring=scorer)