## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

# Machine Learning Algorithms for Classification

Much like regression, there are problems where linear methods don’t work well for classification. This section describes some machine learning algorithms for classification problems.

## k Nearest Neighbors

One of the simplest techniques for classification problems is k nearest neighbors. Here’s how the algorithm works:

1. The analyst specifies a “training” data set.

2. To predict the class of a new value, the algorithm looks for the k observations in the training set that are closest to the new value.

3. The prediction for the new value is the class of the “majority” of the k nearest neighbors.

To use k nearest neighbors in R, use the function `knn` in the `class` package:

```libary(class)
knn(train, test, cl, k = 1, l = 0, prob = FALSE, use.all = TRUE)```

Here is the description of the arguments to the `knn` function.

ArgumentDescriptionDefault
trainA matrix or data frame containing the training data.
testA matrix or data frame containing the test data.
clA factor specifying the classification of observations in the training set.
kA numeric value specifying the number of neighbors to consider.`1`
lWhen k > 0, specifies the minimum vote for a decision. (If there aren’t enough votes, the value `doubt` is returned.)`0`
probIf `prob=TRUE`, then the proportion of votes for the winning class is returned as attribute `prob`.`FALSE`
use.allControls the handling of ties when selecting nearest neighbors. If `use.all=TRUE`, then all distances equal to the kth largest are included. If `use.all=FALSE ...`

## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

No credit card required