我如何知道 XGBoost 的正 class 值和负 class 值是哪个?

How can I know which is the positive class value and negative class value for XGBoost?

我正在处理一个不平衡的数据集,其中我有一个 class 具有 2 个不同值的变量:0 和 1。

“0”值的个数是 1000 个,“1”值的个数是 3000 个。

对于 XGBClassifier、LGBMClassifier 和 CatBoostClassifier,我发现有一个名为“scale_pos_weight”的参数可以修改 class 值的权重:

scale_pos_weight = number_of_negative_values / number_of_positive_values

我的问题是:我们怎么知道 class 变量的哪个值是正值,哪个值是负值?

jartymcfly。通常,正数 = 1,负数 = 0。

scale_pos_weight = len(y[y == 0]) / len(y[y == 1])

对于二进制 classification 不平衡数据集,始终考虑对少数 class (class 1) 的正值和对大多数 class (class0).

但您假设 class 0 为少数 class & class 1 为多数 class.

默认值为 scale_pos_weight=1 或 > 1