R: Simple k nearest Neighbours

sknn {klaR} | R Documentation

## Simple k nearest Neighbours

### Description

Function for simple knn classification.

### Usage

    sknn(x, ...)

    ## Default S3 method:
    sknn(x, grouping, kn = 3, gamma=0, ...)
    ## S3 method for class 'data.frame'
    sknn(x, ...)
    ## S3 method for class 'matrix'
    sknn(x, grouping, ..., subset, na.action = na.fail)
    ## S3 method for class 'formula'
    sknn(formula, data = NULL, ..., subset, na.action = na.fail)

### 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.
`kn` | Number of nearest neighbours to use.
`gamma` | gamma parameter for rbf in knn. If `gamma=0` ordinary knn classification is used.
`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 `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.)
`...` | currently unused

### Details

If `gamma>0` an gaussian like density is used to weight the classes of the `kn` nearest neighbors. `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.

### Value

A list containing the function call.

### Author(s)

Karsten Luebke, karsten.luebke@fom.de

### See Also

`predict.sknn`, `knn`

### Examples

    data(iris)
    x <- sknn(Species ~ ., data = iris)
    x <- sknn(Species ~ ., gamma = 4, data = iris)

[Package klaR version 0.6-12 Index]