我有一个包含 0 类和 1 类的二元分类任务,并且这些类是不平衡的(1 类:~8%)。数据在 ~10k 样本的范围内,#features 可能会有所不同,但在 50-100 左右。
我只对输入属于第 1 类的概率感兴趣,稍后我将在另一个上下文中使用预测概率作为实际概率(见下文)。
我想知道如何最好地模拟这个问题。我目前的方法是在 scikit-learn 中使用随机森林和 predict_proba,并使用 ROC-AUC 作为评分函数。准确度为 0.92,因为它不能预测概率 > 0.5 的任何 1 类。
在阅读该主题后,我遇到了许多建议和术语,并尝试在所有这些中加入一些结构。具体来说:
我看到了其他一些建议的评分器,即 Cohens kapa、Matthews 相关系数、PC-AUC 等等。我应该看看所有这些还是我的问题有一个最喜欢的?
我刚刚遇到了 scikit 中的概率校准主题。由于我对真实概率感兴趣,我认为它非常相关。我是否正确假设我的模型中应该包含一个额外的 CalibratedClassifierCV,因为它基于决策树?(这是在 R 中自动完成的吗?)
在查看了一些 kaggle 比赛后,xgboost 似乎很有希望。那也很适合我的问题,还是您对算法有其他建议(坚持RF)?