KNN with CV Evaluation

knnEval {chemometrics} R Documentation

kNN evaluation by CV

Description

Evaluation for k-Nearest-Neighbors (kNN) classification by cross-validation

Usage

knnEval(X, grp, train, kfold = 10, knnvec = seq(2, 20, by = 2), plotit = TRUE, 
    legend = TRUE, legpos = "bottomright", ...)

Arguments

X standardized complete X data matrix (training and test data)
grp factor with groups for complete data (training and test data)
train row indices of X indicating training data objects
kfold number of folds for cross-validation
knnvec range for k for the evaluation of kNN
plotit if TRUE a plot will be generated
legend if TRUE a legend will be added to the plot
legpos positioning of the legend in the plot
... additional plot arguments

Details

The data are split into a calibration and a test data set (provided by “train”). Within the calibration set “kfold”-fold CV is performed by applying the classification method to “kfold”-1 parts and evaluation for the last part. The misclassification error is then computed for the training data, for the CV test data (CV error) and for the test data.

Value

trainerr training error rate
testerr test error rate
cvMean mean of CV errors
cvSe standard error of CV errors
cverr all errors from CV
knnvec range for k for the evaluation of kNN, taken from input

Author(s)

Peter Filzmoser <P.Filzmoser@tuwien.ac.at>

References

K. Varmuza and P. Filzmoser: Introduction to Multivariate Statistical Analysis in Chemometrics. CRC Press, Boca Raton, FL, 2009.

See Also

knn

Examples

data(fgl,package="MASS")
grp=fgl$type
X=scale(fgl[,1:9])
k=length(unique(grp))
dat=data.frame(grp,X)
n=nrow(X)
ntrain=round(n*2/3)
require(class)
set.seed(123)
train=sample(1:n,ntrain)
resknn=knnEval(X,grp,train,knnvec=seq(1,30,by=1),legpos="bottomright")
title("kNN classification")

[Package chemometrics version 1.3.8 Index]
Advertisements

1 thought on “KNN with CV Evaluation”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s