我在 Python 中创建了一个 xgboost 分类器:
train 是一个 pandas 数据框,有 100k 行和 50 个特征作为列。目标是熊猫系列
xgb_classifier = xgb.XGBClassifier(nthread=-1, max_depth=3, silent=0,
objective='reg:linear', n_estimators=100)
xgb_classifier = xgb_classifier.fit(train, target)
predictions = xgb_classifier.predict(test)
然而,在训练之后,当我使用这个分类器来预测值时,整个结果数组是相同的数字。知道为什么会发生这种情况吗?
数据说明:约 50 个具有数值目标的数值特征
我也尝试过RandomForestRegressor
使用相同数据的 sklearn,它确实给出了现实的预测。也许是 xgboost 实现中的一个合法错误?