帮助训练 XGB

数据挖掘 张量流 xgboost 交叉验证
2022-02-28 08:53:31

我为一个受到高度监管的实体工作,所以我必须混淆我的工作;我将提供以下内容作为我正在做的事情的示例。

我正在为关于狗品种的 NLP 评论训练一个 XGB 模型(Tensorflow,sklearn)。我有一个关于我用来训练算法的狗的数据集,交叉验证测试很有希望。

但是,我的测试数据不仅仅是关于狗的,而是关于一般动物的。所以这些数据可以是关于狗、猫、大象等的。现在,XGB 模型正在给所有它不识别的动物一个默认值(一个类别)。我怎样才能让我的 XGB 只说“我不知道”呢?有没有办法为在任何类别中都没有意义的测试值分配默认值?

顺便说一句,我意识到另一种可能性是创建一个模型来对测试数据进行分类,但我想看看是否有办法在 XGB 模型中解决这个问题。

1个回答

例如,您可以将“multi:softprob”用作目标,而不是“multi:softmax”。该模型是相同的,但如果是最可能的标签,您会得到每个标签的概率。然后您可以指定一个阈值,例如 0.5,如果没有概率超过限制,则返回“未知”。