predict.inclass.RdPredicts the class membership of new observations through indirect classification.
# S3 method for class 'inclass'
predict(object, newdata, ...)Predictions of class memberships are calculated. i.e. values of the
intermediate variables are predicted and classified following cFUN,
see inclass.
The vector of predicted classes is returned.
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.
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