The kernel nearest neighbor classifier is parameter free, that is, it does not require training. More...
#include <KernelNearestNeighbor.h>
Public Member Functions | |
| KernelNearestNeighbor (KernelFunction *kernelfunction, int k) | |
| Constructor. | |
| KernelNearestNeighbor (const Array< double > &input, const Array< double > &target, KernelFunction *kernelfunction, int k) | |
| Constructor. | |
| ~KernelNearestNeighbor () | |
| Destructor. | |
| void | SetPoints (const Array< double > &input, const Array< double > &target) |
| Define a set of labeled points as a base for classification. | |
| void | setParameter (unsigned int index, double value) |
| Change the number of neighbors or a kernel parameter and recalc the coefficients. | |
| void | model (const Array< double > &input, Array< double > &output) |
| The model method does the classification. | |
Protected Member Functions | |
| void | Recalc () |
| double | classify (Array< double > pattern) |
| Do the classification, return a label (-1 or +1). | |
Protected Attributes | |
| Array< double > | training_input |
| Array< double > | training_target |
| KernelFunction * | kernel |
| bool | bMustRecalc |
| int | numberOfNeighbors |
| Array< double > | diag |
The kernel nearest neighbor classifier is parameter free, that is, it does not require training.
Definition at line 54 of file KernelNearestNeighbor.h.
| KernelNearestNeighbor::KernelNearestNeighbor | ( | KernelFunction * | kernelfunction, | |
| int | k | |||
| ) |
Constructor.
| kernelfunction | kernel function | |
| k | number of neighbors to consider |
Definition at line 47 of file KernelNearestNeighbor.cpp.
References Model::getParameter(), Model::getParameterDimension(), numberOfNeighbors, and Model::parameter.
| KernelNearestNeighbor::KernelNearestNeighbor | ( | const Array< double > & | input, | |
| const Array< double > & | target, | |||
| KernelFunction * | kernelfunction, | |||
| int | k | |||
| ) |
Constructor.
| input | input patterns | |
| target | input labels | |
| kernelfunction | kernel function | |
| k | number of neighbors to consider |
Definition at line 58 of file KernelNearestNeighbor.cpp.
References numberOfNeighbors, and SetPoints().
| KernelNearestNeighbor::~KernelNearestNeighbor | ( | ) |
Destructor.
Definition at line 66 of file KernelNearestNeighbor.cpp.
| double KernelNearestNeighbor::classify | ( | Array< double > | pattern | ) | [protected] |
Do the classification, return a label (-1 or +1).
Definition at line 128 of file KernelNearestNeighbor.cpp.
References diag, KernelFunction::eval(), i, kernel, numberOfNeighbors, training_input, and training_target.
Referenced by model().
| void KernelNearestNeighbor::model | ( | const Array< double > & | input, | |
| Array< double > & | output | |||
| ) | [virtual] |
The model method does the classification.
Implements Model.
Definition at line 97 of file KernelNearestNeighbor.cpp.
References bMustRecalc, classify(), and Recalc().
| void KernelNearestNeighbor::Recalc | ( | ) | [protected] |
Definition at line 115 of file KernelNearestNeighbor.cpp.
References bMustRecalc, diag, KernelFunction::eval(), i, kernel, numberOfNeighbors, and training_input.
Referenced by model().
| void KernelNearestNeighbor::setParameter | ( | unsigned int | index, | |
| double | value | |||
| ) | [virtual] |
Change the number of neighbors or a kernel parameter and recalc the coefficients.
Reimplemented from Model.
Definition at line 81 of file KernelNearestNeighbor.cpp.
References bMustRecalc, kernel, numberOfNeighbors, Model::parameter, and Model::setParameter().
| void KernelNearestNeighbor::SetPoints | ( | const Array< double > & | input, | |
| const Array< double > & | target | |||
| ) |
Define a set of labeled points as a base for classification.
Definition at line 72 of file KernelNearestNeighbor.cpp.
References bMustRecalc, Model::inputDimension, Model::outputDimension, training_input, and training_target.
Referenced by KernelNearestNeighbor().
bool KernelNearestNeighbor::bMustRecalc [protected] |
Definition at line 94 of file KernelNearestNeighbor.h.
Referenced by model(), Recalc(), setParameter(), and SetPoints().
Array<double> KernelNearestNeighbor::diag [protected] |
Definition at line 96 of file KernelNearestNeighbor.h.
Referenced by classify(), and Recalc().
KernelFunction* KernelNearestNeighbor::kernel [protected] |
Definition at line 93 of file KernelNearestNeighbor.h.
Referenced by classify(), Recalc(), and setParameter().
int KernelNearestNeighbor::numberOfNeighbors [protected] |
Definition at line 95 of file KernelNearestNeighbor.h.
Referenced by classify(), KernelNearestNeighbor(), Recalc(), and setParameter().
Array<double> KernelNearestNeighbor::training_input [protected] |
Definition at line 91 of file KernelNearestNeighbor.h.
Referenced by classify(), Recalc(), and SetPoints().
Array<double> KernelNearestNeighbor::training_target [protected] |
Definition at line 92 of file KernelNearestNeighbor.h.
Referenced by classify(), and SetPoints().