XGboost目标函数:有没有一种方法可以进行多标签(不是多类)分类?

3
相对简单的问题。在查看 xgboost 的官方文档时,我看到了 "multi:softmax" 和 "multi:softprob",但它们都是多类别分类器,只会输出一个类别。是否有办法使用 xgboost 预测多个标签,或者我最好为每个单独的标签训练多个模型。例如,在 sklearn 中,RandomForestClassifier 支持多标签分类,当拟合时,目标数组的输入可以是 n 个样本 x n 个标签的形状。
澄清一下:多类别分类是指想要预测学生是否获得 A、B 或 C 等级,而多标签分类则是指预测学生是否正确回答了测试中的问题 1、2、3 或 4(他们只能获得一个成绩,但可以正确回答这些问题的任意组合)。
1个回答

0

我没有找到任何由xgboost本身支持的解决方案。唯一的解决方法是将它包装在sklearn.multioutput.MultiOutputClassifier中,这可以达到同样的效果。但是这种方法的缺点是您不能利用xgboost本身的load_modelsave_model,必须使用类似于joblib的工具来转储和加载模型(这在xgboost版本上不兼容)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接