我有一个数据集,其中包含输入和输出标签。对于大多数数据,输出标签是确定的。例如,有些数据属于A类型,有些数据属于B类型,有些数据属于C类型,有些数据属于d类型。但是有一些特殊数据,它们只包含模糊信息:我们只知道这些特殊数据不属于A类型或B类型,换句话说,它要么属于C类型,要么属于d类型。
那么对于这种类型的数据集,我们如何使用机器学习方法,比如XGBoost等来训练分类模型呢?有什么成熟的方法来处理吗?
最简单的方法就是把所有这些"特殊数据";归入一个新的类别,名为"E"(理想的新分类应该是-1)。然后,ML模型学习那些不能根据训练数据分类到已知类别的记录。
一个复杂的方法是有4个单独的目标值。
- A的概率:P(A)
- B: P(B)概率
- C: P(C)概率
- D: P(D)概率
对于"特殊数据"当你知道它不是A或B时,这些字段的值将是:P(a):0, P(b):0, P(c):0.5, P(d):0.5如果你的训练数据中有某种概率函数,请使用它们来代替等概率。
然后使用回归预测所有4的概率,您将获得更细粒度的输出。具有高度偏倚概率的输出可以被归为确定的类,而具有更均匀分布的输出可以表明该输出也是"特殊数据"的一种情况。