pknnCMA {CMA} | R Documentation |
Nearest neighbour variant that replaces the simple voting scheme by a weighted one (based on euclidean distances). This is also used to compute class probabilities.
For S4
class information, see pknnCMA-methods.
pknnCMA(X, y, f, learnind, beta = 1, k = 1, models=FALSE, ...)
X |
Gene expression data. Can be one of the following:
|
y |
Class labels. Can be one of the following:
WARNING: The class labels will be re-coded to
range from |
f |
A two-sided formula, if |
learnind |
An index vector specifying the observations that belong to the learning set. Must not be missing for this method. |
beta |
Slope parameter for the logistic function which is used for the computation of class probabilities. The default value (1) need not produce reasonable results and can produce warnings. |
k |
Number of nearest neighbours to use. |
models |
a logical value indicating whether the model object shall be returned |
... |
Currently unused argument. |
The algorithm is as follows:
Determine the k
nearest neighbours
For each class represented among these, compute the average euclidean distance.
The negative distances are plugged into the logistic function
with parameter beta
.
Classify into the class with highest probability.
An object of class cloutput
.
Martin Slawski ms@cs.uni-sb.de
Anne-Laure Boulesteix boulesteix@ibe.med.uni-muenchen.de
compBoostCMA
, dldaCMA
, ElasticNetCMA
,
fdaCMA
, flexdaCMA
, gbmCMA
,
knnCMA
, ldaCMA
, LassoCMA
,
nnetCMA
, plrCMA
,
pls_ldaCMA
, pls_lrCMA
, pls_rfCMA
,
pnnCMA
, qdaCMA
, rfCMA
,
scdaCMA
, shrinkldaCMA
, svmCMA
### load Golub AML/ALL data data(golub) ### extract class labels golubY <- golub[,1] ### extract gene expression from first 10 genes golubX <- as.matrix(golub[,-1]) ### select learningset ratio <- 2/3 set.seed(111) learnind <- sample(length(golubY), size=floor(ratio*length(golubY))) ### run probabilistic k-nearest neighbours result <- pknnCMA(X=golubX, y=golubY, learnind=learnind, k = 3) ### show results show(result) ftable(result) plot(result)