为了将置信度水平校准为监督学习中的概率(例如使用过采样的数据从SVM或决策树映射置信度),一种方法是使用Platt的定标(例如,从Boosting获取校准的概率)。
基本上,人们使用逻辑回归将映射到。因变量是真实标签,预测变量是未校准模型的置信度。我不理解的是使用目标变量而不是1或0。该方法需要创建一个新的“标签”:
为了避免过度拟合S型火车,使用了样本外模型。如果训练集中有正例和负例,则对于每个训练例,普拉特校准将使用目标值和y _-(分别为1和0),其中 y _ + = \ frac {N_ + +1} {N _ ++ 2}; \ quad \ quad y _- = \ frac {1} {N _- + 2}
我不明白的是这个新目标是如何有用的。逻辑回归不只是将因变量视为二进制标签(与给出的标签无关)吗?
更新:
我发现,在SAS中,将依赖项从更改为其他值会还原为同一模型(使用)。也许是我的错误,或者是SAS缺乏通用性。我能够在R中更改模型。例如:PROC GENMOD
data(ToothGrowth)
attach(ToothGrowth)
# 1/0 coding
dep <- ifelse(supp == "VC", 1, 0)
OneZeroModel <- glm(dep~len, family=binomial)
OneZeroModel
predict(OneZeroModel)
# Platt coding
dep2 <- ifelse(supp == "VC", 31/32, 1/32)
plattCodeModel <- glm(dep2~len, family=binomial)
plattCodeModel
predict(plattCodeModel)
compare <- cbind(predict(OneZeroModel), predict(plattCodeModel))
plot(predict(OneZeroModel), predict(plattCodeModel))