Predictions from an Inclass Object
predict.inclass.RdPredicts the class membership of new observations through indirect classification.
Usage
# S3 method for class 'inclass'
predict(object, newdata, ...)Details
Predictions of class memberships are calculated. i.e. values of the
intermediate variables are predicted and classified following cFUN,
see inclass.
References
David J. Hand, Hua Gui Li, Niall M. Adams (2001), Supervised classification with structured class definitions. Computational Statistics & Data Analysis 36, 209–225.
Andrea Peters, Berthold Lausen, Georg Michelson and Olaf Gefeller (2003), Diagnosis of glaucoma by indirect classifiers. Methods of Information in Medicine 1, 99-103.
Examples
if (FALSE) { # \dontrun{
# Simulation model, classification rule following Hand et al. (2001)
theta90 <- varset(N = 1000, sigma = 0.1, theta = 90, threshold = 0)
dataset <- as.data.frame(cbind(theta90$explanatory, theta90$intermediate))
names(dataset) <- c(colnames(theta90$explanatory),
colnames(theta90$intermediate))
classify <- function(Y, threshold = 0) {
Y <- Y[,c("y1", "y2")]
z <- (Y > threshold)
resp <- as.factor(ifelse((z[,1] + z[,2]) > 1, 1, 0))
return(resp)
}
formula <- response~y1+y2~x1+x2
fit <- inclass(formula, data = dataset, pFUN = list(list(model = lm)),
cFUN = classify)
predict(object = fit, newdata = dataset)
data("Smoking", package = "ipred")
# explanatory variables are: TarY, NicY, COY, Sex, Age
# intermediate variables are: TVPS, BPNL, COHB
# reponse is defined by:
classify <- function(data){
data <- data[,c("TVPS", "BPNL", "COHB")]
res <- t(t(data) > c(4438, 232.5, 58))
res <- as.factor(ifelse(apply(res, 1, sum) > 2, 1, 0))
res
}
response <- classify(Smoking[ ,c("TVPS", "BPNL", "COHB")])
smoking <- cbind(Smoking, response)
formula <- response~TVPS+BPNL+COHB~TarY+NicY+COY+Sex+Age
fit <- inclass(formula, data = smoking,
pFUN = list(list(model = lm)), cFUN = classify)
predict(object = fit, newdata = smoking)
} # }
data("GlaucomaMVF", package = "ipred")
library("rpart")
glaucoma <- GlaucomaMVF[,(names(GlaucomaMVF) != "tension")]
# explanatory variables are derived by laser scanning image and intra occular pressure
# intermediate variables are: clv, cs, lora
# response is defined by
classify <- function (data) {
attach(data)
res <- ifelse((!is.na(clv) & !is.na(lora) & clv >= 5.1 & lora >=
49.23372) | (!is.na(clv) & !is.na(lora) & !is.na(cs) &
clv < 5.1 & lora >= 58.55409 & cs < 1.405) | (is.na(clv) &
!is.na(lora) & !is.na(cs) & lora >= 58.55409 & cs < 1.405) |
(!is.na(clv) & is.na(lora) & cs < 1.405), 0, 1)
detach(data)
factor (res, labels = c("glaucoma", "normal"))
}
fit <- inclass(Class~clv+lora+cs~., data = glaucoma,
pFUN = list(list(model = rpart)), cFUN = classify)
data("GlaucomaM", package = "TH.data")
predict(object = fit, newdata = GlaucomaM)
#> [1] normal normal normal normal glaucoma glaucoma normal normal
#> [9] normal normal normal normal glaucoma normal normal normal
#> [17] normal normal normal glaucoma normal normal glaucoma normal
#> [25] normal normal glaucoma normal glaucoma normal normal normal
#> [33] normal normal normal normal glaucoma normal normal normal
#> [41] normal normal glaucoma normal normal glaucoma normal normal
#> [49] normal normal normal glaucoma glaucoma glaucoma glaucoma normal
#> [57] glaucoma glaucoma normal normal glaucoma normal glaucoma normal
#> [65] glaucoma normal normal normal normal normal glaucoma glaucoma
#> [73] glaucoma normal normal normal glaucoma normal normal normal
#> [81] glaucoma normal normal normal normal glaucoma glaucoma glaucoma
#> [89] glaucoma normal normal normal glaucoma normal normal normal
#> [97] normal normal glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma
#> [105] normal glaucoma normal glaucoma glaucoma glaucoma glaucoma glaucoma
#> [113] glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma
#> [121] glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma
#> [129] glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma
#> [137] glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma
#> [145] glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma
#> [153] glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma
#> [161] glaucoma glaucoma glaucoma normal glaucoma glaucoma glaucoma glaucoma
#> [169] glaucoma glaucoma glaucoma glaucoma normal glaucoma glaucoma glaucoma
#> [177] glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma glaucoma
#> [185] glaucoma glaucoma normal glaucoma glaucoma glaucoma glaucoma glaucoma
#> [193] glaucoma glaucoma glaucoma glaucoma
#> Levels: glaucoma normal