XGBRegressor score方法返回奇怪值

2024-09-27 04:21:26 发布

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

我尝试从pythonapi中使用XGBRegressor的score方法,它返回的结果是0.917。我希望这是回归的r2值。在

但是,在同一个包上尝试sklearn的r2_score,则返回不同的值(0.903)

xgbr.score(x_test, y_test) # Returns 0.917
y_pred = xgbr.predict(x_test)
r2_score(y_pred, y_test) # Returns 0.903

怎么回事?我找不到任何关于XGBoost评分方法的文档。我用的是v0.7


Tags: 方法文档testpythonapisklearn评分predictreturns
1条回答
网友
1楼 · 发布于 2024-09-27 04:21:26

当您调用xgbr.score()时,此代码实际上被调用:

    ...
    return r2_score(y, self.predict(X), sample_weight=None,
                    multioutput='variance_weighted')

但是当您显式地调用r2\u score时,multiouputparam的默认值是“uniform_average”。在

请尝试以下代码:

^{pr2}$

你会得到相同的结果。在

相关问题 更多 >

    热门问题