如何计算单个分类变量的 AUROC

机器算法验证 物流 二进制数据 奥克 多类
2022-04-09 11:38:52

我正在为二进制分类器构建新功能。新功能分为两类:分类和有序。第一个特征的一个例子是颜色red, blue, green,第二个特征之一是整数计数1, 2, 3, ...

对于序数变量,通过计算 roc ( AUROC ) 曲线下的面积,我可以大致了解每个特征的好坏程度。如果 AUROC 接近 1,则意味着新特征有一个很好的阈值,可以很好地区分真假阳性。

我想对分类特征采取类似的措施。例如,我知道每个类别中 1 的比率是多少。但是,很难在许多类别级别上比较这个比率。很想听听你关于做什么的建议。

我的一个想法是用分类变量作为唯一的预测变量来拟合逻辑回归,然后计算该回归下预测概率的 AUROC。

1个回答

简而言之:是的,您也可以使用(简单)模型来计算分类特征的 AUC(AUROC)。

当您计算序数特征的 AUC 时,您可以像使用分类模型输出一样使用特征本身并将阈值应用到它(其中一类位于下方,另一类位于上方)。请注意,复杂性由 - 在这种情况下不存在 - 模型决定:对序数特征使用阈值归结为使用将特征分为两部分的线性分离。如果您改用更复杂的模型(例如树),您也可以轻松获得多个部分。对于分类特征,这样做可能有意义。这本质上只是在回答“1如果我的功能是blue?”,您可以为(小树等)使用许多模型类型。请注意,您当然也可以过拟合,因此使用复杂度较低的模型可能是合理的(例如序数特征的线性分离)。

PS:对于某些模型(不能使类别本身有意义),您可能需要对类别变量进行一次性编码,例如,如果您想在逻辑回归中使用它。这使问题维,是变量的类别数量(尽管大多数实现都会自动完成)。NN