我在一个不平衡的数据集(约 100 万个正值和约 1200 万个负值)上用 Python 构建了一个 XGBoost 分类模型,其中的特征是用户与网页元素的二元交互(例如,用户是否滚动到评论)和目标是二元零售行动。我的最终目标与其说是实现具有最佳决策规则性能的模型,不如说是了解哪些用户行为/特征对于确定积极的零售行为很重要。
现在,我在论坛和文献中阅读了很多关于评估/优化 XGBoost 模型和后续决策规则的内容,我认为这是在实现我的最终目标之前所必需的。似乎有很多不同的方法来评估决策规则部分(例如精确召回曲线下的区域、AUROC 等)和模型(例如对数损失)。我相信 AUC 和 log-loss 评估方法都对类平衡不敏感,所以我不认为这是一个问题。但是,我不太确定哪种评估方法最适合实现我的最终目标,我希望在这些问题上有更多经验的人提供一些指导。
编辑:我也确实按照答案中的建议在我的 XGBoost 模型上尝试了排列重要性。我看到了与 XGBoost 的原生特性重要性非常相似的结果。我现在应该相信排列重要性,还是应该尝试通过一些评估标准来优化模型,然后使用 XGBoost 的原生特征重要性或排列重要性?换句话说,在信任特征重要性或排列重要性之前,我是否需要通过一些评估标准有一个合理的模型?