Для калибровки уровня достоверности по вероятности в контролируемом обучении (скажем, для сопоставления достоверности из SVM или дерева решений с использованием данных с избыточной дискретизацией) одним из методов является использование масштабирования Платта (например, получение калиброванных вероятностей из повышения ).
В основном каждый использует логистическую регрессию для отображения до [ 0 ; 1 ] . Зависимая переменная является истинной меткой, а предиктор - достоверностью некалиброванной модели. Что я не понимаю, так это использование целевой переменной, отличной от 1 или 0. Метод требует создания новой «метки»:
Чтобы избежать наложения на набор сигмоидальных поездов, используется модель вне образца. Если в наборе поездов имеется положительных и N - отрицательных примеров, для каждого обучающего примера в калибровке Платта используются целевые значения y + и y - (вместо 1 и 0 соответственно), где y + = N + + 1
Что я не понимаю, так это то, как эта новая цель полезна. Не будет ли логистическая регрессия просто рассматривать зависимую переменную как двоичную метку (независимо от того, какая метка задана)?
ОБНОВИТЬ:
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))