knncTrain
Training of KNNC (K-nearest neighbor classifier)
Contents
Syntax
- knncPrm=knncTrain(DS)
- knncPrm=knncTrain(DS, knncTrainPrm)
Description
knncPrm = knncTrain(DS, knncTrainPrm, plotOpt) returns the parameters of KNNC after training, where
- DS: the training set
- knncTrainPrm: parameters for training, including
- knncTrainPrm.method: 'none', 'kMeans', or 'kMeans&lvq'
- knncTrainPrm.centerNum4eachClass: no. of prototypes for each class
- knncPrm: parameters for KNNC, including the following necessary fields:
- knncPrm.method: method for training
- 'none': none
- 'kMeans': k-means clustering for training
- knncPrm.k: the value of k in KNNR
- knncPrm.class: class parameters
- knncPrm.class(i).data: prototypes (centers) for class i
- knncPrm.method: method for training
Example
knncTrainOpt=knncTrain('defaultOpt'); knncTrainOpt.method='kMeans'; knncTrainOpt.centerNum4eachClass=4; [trainSet, testSet]=prData('3classes'); [knncPrm, logLike, recogRate]=knncTrain(trainSet, knncTrainOpt, 1); fprintf('Inside recog. rate=%.2f%%\n', recogRate*100); cClass=knncEval(testSet, knncPrm); hitIndex=find(cClass==testSet.output); recogRate=length(hitIndex)/length(cClass); fprintf('Outside recog. rate=%.2f%%\n', recogRate*100); testSet.hitIndex=hitIndex; figure; knncPlot(testSet, knncPrm, 'decBoundary');
Inside recog. rate=96.00% Outside recog. rate=92.00%
![](knncTrain_help_01.png)
![](knncTrain_help_02.png)