我在 XGBoost 模型上运行 GridSearchCV 来调整一些参数。我的目标变量是二进制的。当我在交叉验证期间使用“召回率”或“精度”作为评分指标时,我得到一个值。我没有使用 make_scorer,我只是传递我想要计算的指标的字符串。我很困惑召回率和精度是针对“0”类还是“1”类。
那么,哪个精度和召回率适用于哪个类别?
正如您在下面的 sklearn 分类报告模块的示例图片(与我的模型无关)中看到的,可以计算目标变量中各个标签/类的精度和召回率。
默认情况下,它是针对第二类计算的 (
classes_[1]
)。 scikit-learn 中的许多实用程序和指标都接受 pos_label
,您可以使用它来控制哪个类被假定为正类。
例如,
precision_score
有一个pos_label
控制它:(文档)[https://scikit-learn.org/stable/modules/ generated/sklearn.metrics. precision_score.html)
另一个例子在
PrecisionRecallDisplay
,你可以在这里看到。