xgboost.XGBClassifier中可用的目标函数有哪些不同的选项?

时间:2017-08-22 10:54:30

标签: python scikit-learn xgboost

除了binary:logistic(这是默认的目标函数)之外,还有其他内置的目标函数可以在Xbgoost分类器xgb.XGBClassifier()中轻松使用吗?

2 个答案:

答案 0 :(得分:10)

确实二进制:逻辑是XGBClassifier的默认目标,但我没有看到任何原因导致您无法使用XGBoost包提供的其他目标(http://xgboost-clone.readthedocs.io/en/latest/parameter.html#learning-task-parameters) 。 例如,您可以在 sklearn.py 源代码中看到 multi:softprob 在多类情况下显式使用。

此外,如果确实有必要,您可以提供自定义目标函数(详情请见http://xgboost.readthedocs.io/en/latest/python/python_api.html#module-xgboost.sklearn)。

答案 1 :(得分:1)

XGBClassifier 的默认目标是 ['reg:linear] 但是还有其他参数.. binary:logistic-它返回预测类的预测概率 multi:softmax - 返回多类分类的硬类 multi:softprob - 它返回多类分类的概率

注意:当使用 multi:softmax 作为目标时,您还需要传递 num_class 因为 num_class 是定义类数的参数数 比如labelliing (0,1,2),这里我们有3个类,所以num_class = 3