为什么 adaboost 以如此小的标准差预测概率?

机器算法验证 机器学习 scikit-学习 等渗
2022-03-21 01:39:08

我正在使用几种算法来预测二进制目标。到目前为止,我尝试了来自 scikit learn 的 Gradient Boosting、Random Forest、Extra Random Trees 和 adaboost。所有这些算法似乎都以非常相似的标准偏差预测从接近零到接近 1 的概率。adaboost 是唯一一个其预测大部分被压缩在 0.4 到 0.6 范围内的预测,只有少数超出该范围。这不是我第一次从这个算法中注意到这种行为。为什么会这样?其次,如果我想混合这些模型(即平均概率),我将如何解释 adaboost 概率的标准偏差与任何其他算法如此不同的事实?我应该重新调整每个算法的所有预测值以具有相似的均值和变化吗?

1个回答

在使用 AdaBoost(和大多数其他机器学习算法,例如支持向量机)时,校准预测分数很重要。一种流行的方法是等渗回归,我推荐用于大多数机器学习任务。如果您将 AdaBoost 模型的预测分数通过等渗回归传递,您会发现它提供的校准概率范围从接近零到接近一。事实上,在将它们组合成一个集成模型之前,您应该对您提到的所有模型执行此操作。

Sci-kit learn 提供了一个 Isotonic Regression 函数,以及一个新的 CalibratedClassifierCV 函数,它允许你使用交叉验证来校准你的预测分数,而不是从你的训练样本中拿出一个单独的校准集。

要了解更多信息,请查看这些论文;

http://www.cs.cornell.edu/~caruana/niculescu.scldbst.crc.rev4.pdf

http://ijcai.org/papers13/Papers/IJCAI13-286.pdf