Function for nearest mean classification.
nm(x, ...)# S3 method for default
nm(x, grouping, gamma = 0, ...)
# S3 method for data.frame
nm(x, ...)
# S3 method for matrix
nm(x, grouping, ..., subset, na.action = na.fail)
# S3 method for formula
nm(formula, data = NULL, ..., subset, na.action = na.fail)
A list containing the function call and the class means (learn
)).
matrix or data frame containing the explanatory variables
(required, if formula
is not given)
factor specifying the class for each observation
(required, if formula
is not given)
formula of the form groups ~ x1 + x2 + ...
.
That is, the response is the grouping factor and the right hand side specifies the (non-factor) discriminators
Data frame from which variables specified in formula
are preferentially to be taken
gamma parameter for rbf weight of the distance to mean. If gamma=0
the posterior is 1 for the
nearest class (mean) and 0 else.
An index vector specifying the cases to be used in the training sample. (Note: If given, this argument must be named!)
specify the action to be taken if NA
s are
found. The default action is for the procedure to fail. An
alternative is na.omit
, which leads to rejection of cases with
missing values on any required variable. (Note: If given, this
argument must be named.)
further arguments passed to the underlying sknn
function
Karsten Luebke, karsten.luebke@fom.de
nm
is calling sknn
with the class means as observations.
If gamma>0
a gaussian like density is used to weight the distance to the class means
weight=exp(-gamma*distance)
. This is similar to an rbf kernel.
If the distances are large it may be useful to scale
the data first.
sknn
, rda
, knn
data(B3)
x <- nm(PHASEN ~ ., data = B3)
x$learn
x <- nm(PHASEN ~ ., data = B3, gamma = 0.1)
predict(x)$post
Run the code above in your browser using DataLab