【发布时间】:2020-02-24 08:08:45
【问题描述】:
我偶然发现如果我将XGBClassifier 的参数目标设置为多类并增加类的数量,我会更适合我的二进制数据集。然而,与此同时,拟合需要更长的时间并消耗两倍的内存。
不幸的是,我无法为这种行为创建一个玩具示例。但在下面的示例中,对于不同的 num_class 参数值,我仍然看到不同的日志损失:
X = DataFrame([[0.5, 0.2, 0.1], [0.3, 0.4, 0.1], [0.4, 0.1, 0.5], [0.8, 0.4, 0.4]])
y = Series([0, 0, 1, 1])
regressor = xgb.XGBClassifier(subsample=1, n_estimators=2, max_depth=4, objective="multi:softprob", num_class=4)
regressor.fit(X, y)
num_class=2 导致对数损失为 0.644,对于 num_class=3,我得到 0.741,对于 num_class=10,我得到 1.126。
我想这与一些提前停止标准或一些学习率适应有关?有什么想法吗?
【问题讨论】:
标签: python xgboost xgbclassifier