Prediction with K-Nearest Neighbors classifier
knn.predict.Rd
Predict from a K-Nearest Neighbors classifier fit.
Arguments
- knn.intcv.model
a K-Nearest Neighbors classifier built with
knn.intcv
.- pred.obj
dataset to have its sample group predicted. The dataset must have rows as probes and columns as samples. It must have an equal number of probes as the dataset being trained.
- pred.obj.group.id
a vector of sample-group labels for each sample of the dataset to be predicted. It must have an equal length to the number of samples as
pred.obj
.
Value
a list of 3 elements:
- pred
predicted sample group for each sample
- mc
a predicted misclassification error rate (external validation)
- prob
predicted probability for each sample
Examples
set.seed(101)
biological.effect <- estimate.biological.effect(uhdata = uhdata.pl)
ctrl.genes <- unique(rownames(uhdata.pl))[grep("NC", unique(rownames(uhdata.pl)))]
biological.effect.nc <- biological.effect[!rownames(biological.effect) %in% ctrl.genes, ]
group.id <- substr(colnames(biological.effect.nc), 7, 7)
biological.effect.train.ind <- colnames(biological.effect.nc)[c(sample(which(group.id == "E"), size = 64),
sample(which(group.id == "V"), size = 64))]
biological.effect.test.ind <- colnames(biological.effect.nc)[!colnames(biological.effect.nc) %in% biological.effect.train.ind]
biological.effect.nc.tr <- biological.effect.nc[, biological.effect.train.ind]
biological.effect.nc.te <- biological.effect.nc[, biological.effect.test.ind]
knn.int <- knn.intcv(X = biological.effect.nc.tr,
y = substr(colnames(biological.effect.nc.tr), 7, 7),
kfold = 5, seed = 1)
knn.pred <- knn.predict(knn.intcv.model = knn.int,
pred.obj = biological.effect.nc.te,
pred.obj.group.id = substr(colnames(biological.effect.nc.te), 7, 7))
knn.int$mc
#> [1] 0.1798974
knn.pred$mc
#> [1] 0.15625