Aby skalibrować poziom ufności do prawdopodobieństwa w nadzorowanym uczeniu się (powiedzmy, aby odwzorować pewność z SVM lub drzewa decyzyjnego przy użyciu danych z nadpróbkowanych danych) jedną z metod jest zastosowanie skalowania Platta (np. Uzyskiwanie skalibrowanych prawdopodobieństw z wzmocnienia ).
Zasadniczo używa się regresji logistycznej do mapowania na . Zmienna zależna jest prawdziwą etykietą, a predyktorem jest pewność z nieskalibrowanego modelu. Nie rozumiem zastosowania zmiennej docelowej innej niż 1 lub 0. Metoda wymaga utworzenia nowej „etykiety”:
Aby uniknąć nadmiernego dopasowania do zestawu pociągów sigmoidalnych, stosuje się model poza próbą. Jeśli w zestawie pociągów znajdują się przykłady dodatnie i przykłady ujemne , dla każdego przykładu treningowego Kalibracja Platt wykorzystuje wartości docelowe i (odpowiednio odpowiednio 1 i 0), gdzie
Co ja nie rozumiem, jak ten nowy cel jest przydatna. Regresja logistyczna jest po prostu nie zamierza traktować jako zmienną zależną binarnej etykiety (niezależnie od tego, co podano etykiety)?
AKTUALIZACJA:
Przekonałem się, że w SAS zmiana zależności z na coś innego wróciła do tego samego modelu (za pomocą ). Być może mój błąd lub może brak wszechstronności SAS. Byłem w stanie zmienić model w R. Jako przykład: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))