KernelNearestNeighbor Class Reference

The kernel nearest neighbor classifier is parameter free, that is, it does not require training. More...

#include <KernelNearestNeighbor.h>

Inheritance diagram for KernelNearestNeighbor:
Model

List of all members.

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
KernelFunctionkernel
bool bMustRecalc
int numberOfNeighbors
Array< double > diag

Detailed Description

The kernel nearest neighbor classifier is parameter free, that is, it does not require training.

Definition at line 54 of file KernelNearestNeighbor.h.


Constructor & Destructor Documentation

KernelNearestNeighbor::KernelNearestNeighbor ( KernelFunction kernelfunction,
int  k 
)

Constructor.

Parameters:
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.

Parameters:
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.


Member Function Documentation

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().


Member Data Documentation

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().

Definition at line 93 of file KernelNearestNeighbor.h.

Referenced by classify(), 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().


The documentation for this class was generated from the following files: