Learn R Programming

klaR (version 1.7-3)

nm: Nearest Mean Classification

Description

Function for nearest mean classification.

Usage

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)

Value

A list containing the function call and the class means (learn)).

Arguments

x

matrix or data frame containing the explanatory variables (required, if formula is not given)

grouping

factor specifying the class for each observation (required, if formula is not given)

formula

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

Data frame from which variables specified in formula are preferentially to be taken

gamma

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.

subset

An index vector specifying the cases to be used in the training sample. (Note: If given, this argument must be named!)

na.action

specify the action to be taken if NAs 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

Author

Karsten Luebke, karsten.luebke@fom.de

Details

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.

See Also

sknn, rda, knn

Examples

Run this code
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