您如何通过分析表明您没有使用太多功能?

数据挖掘 机器学习 特征选择 模型选择
2022-01-30 18:39:28

我公司的一位经理询问是否有一个我可以包含一个指标来证明我的模型没有使用太多的特征/变量。是否有这样做的指标或最佳实践?您是否有一种与企业沟通的好方法?

具体来说,她问我是否可以在我的模型中加入 AIC。不过,在我问了一些问题之后,这并不是管理层所要寻找的,因为除非我弄错了,否则 AIC 仅用于比较具有相同功能的模型。

在任何情况下,我都能够对我展示的模型使用训练测试验证,所以 AIC 会有点矫枉过正。为了在实践中处理这个问题,我创建了一个使用所有变量的基线模型,然后在不牺牲太多性能的情况下尽可能多地配对变量(在训练集和测试集上)。

2个回答

我的方法将与您的基线非常相似,也许只是更通用一点:

假设它是实用的(即训练过程不太昂贵),您可以训练/测试具有不同数量特征的多个模型,例如 10%、20%...、100% 的特征。对于每个子集,您使用适当的特征选择方法,最好是遗传算法之类的方法,但它可能成本太高。如果不可能采用简单的个体特征选择方法,例如使用信息增益,但它可能不是最优的。一旦所有模型都经过训练、测试和评估,作为特征数量函数的性能图应该(希望)显示一条曲线,该曲线增加的幅度越来越小,但永远不会达到平稳期。如果它确实在您选择的特征数量之前达到高原,这意味着您实际上可以减少特征数量。

AIC 在这里是一个非常合适的指标。它不适用于具有相同功能的模型(因为这些模型之间有什么区别?)。它用于比较使用不同特征的模型,并惩罚那些使用更多特征的模型。