XGBoost 目标已更改

数据挖掘 Python 逻辑回归 xgboost
2022-02-17 06:05:19

我正在尝试在 python 中使用 XGBoost 进行逻辑回归。我这样称呼它

import numpy as np
from xgboost import XGBClassifier

x_train = np.array([[1], [2], [3], [4]])
y_train = np.array([0, .25, .75, 1])

params = {
    "objective": "reg:logistic"
}

model = XGBClassifier(**params)
model.fit(x_train, y_train)
print(model.objective)

这将输出“multi:softprob”而不是“reg:logistic”的目标。因此,它没有进行逻辑回归。如何确保 XGBoost 不会切换目标?

2个回答
import numpy as np
from xgboost import XGBRegressor

x_train = np.array([[1], [2], [3], [4]])
y_train = np.array([[0], [0.25], [0.75], [1]])


model = XGBRegressor()
model.fit(x_train, y_train)
print(model.objective)


上述问题的解决方案是使用 XGBRegressor 代替 XGBClassifier。只是换了它似乎已经奏效了。