Trains the K Nearest Neighbors Classifier from the training dataset and computes the required parameters to be used by knnClassifierPredict method for making predictions.
Syntax
parameters = knnclassifierfit(X,y)
parameters = knnclassifierfit(X,y,options)
Inputs
 X
 Training data.
 Type: double
 Dimension: vector  matrix
 y
 Target values.
 Type: double
 Dimension: vector  matrix
 options
 Type: struct

 n_neighbors
 Number of neighbors to use while making prediction (default: 5).
 Type: integer
 Dimension: scalar
 weights
 Weight function used in prediction. 'uniform': all neighbors are weighted equally (default); 'distance': all neighbors are weighted by the inverse of their distance between query point and them. Greater the distance, lesser the weight for the neighbour.
 Type: char
 Dimension: string
 algorithm
 Algorithm to compute the nearest neighbors. 'auto': decides the most appropriate algorithm based on the input (default), 'ball_tree': uses Ball Tree to search for neighbors; 'kd_tree': uses KD Tree to search for neighbors; 'brute': uses Brute Force search.
 Type: char
 Dimension: string
 leaf_size
 Leaf sized passed to Ball Tree or KD Tree if they’re chosen as the algorithm (default: 30).
 Type: integer
 Dimension: scalar
 p
 p represents Lp norm in minkowski distance. Default: 2 (represents L2 norm which is Euclidean distance)
 Type: integer
 Dimension: scalar
 metric
 Distance metric to compute distance between data points. 'chebyshev', 'cityblock', 'euclidean', 'infinity', 'l1', 'l2', 'manhattan', 'minkowski' (default with p = 2)
 Type: char
 Dimension: string
Outputs
 parameters
 Contains all the values passed to knnclassifierfit method as options. Additionally it has below keyvalue pairs.
 Type: struct

 scorer
 Function handle pointing to 'accuracy' function.
 Type: function handle
 n_samples
 Number of rows in the training data.
 Type: integer
 Dimension: scalar
 n_features
 Number of columns in the training data.
 Type: integer
 Dimension: scalar
Example
Usage of knnclassifierfit
data = dlmread('digits.csv', ',');
X = data(:, 1:end1);
y = data(:, end);
parameters = knnclassifierfit(X, y);
> parameters
parameters = struct [
algorithm: auto
leaf_size: 30
metric: minkowski
n_features: 64
n_neighbors: 5
n_samples: 1797
p: 2
weights: uniform
]
Comments
Output 'parameters' should be passed as input to knnclassifierpredict function.