Feature Selection ToolboxFST3 Library / Documentation

FST::Classifier_kNN< RETURNTYPE, DATATYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR, DISTANCE > Class Template Reference

Implements k-Nearest Neighbor classifier. More...

#include <classifier_knn.hpp>

Inheritance diagram for FST::Classifier_kNN< RETURNTYPE, DATATYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR, DISTANCE >:
Collaboration diagram for FST::Classifier_kNN< RETURNTYPE, DATATYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR, DISTANCE >:

List of all members.

Classes

class  Neighbour
 Holds information on distance and data-class membership of neighbors processed in Classifier_kNN. More...

Public Types

typedef Classifier< RETURNTYPE,
DIMTYPE, SUBSET, DATAACCESSOR > 
parent
typedef boost::shared_ptr
< DATAACCESSOR > 
PDataAccessor
typedef boost::shared_ptr< SUBSET > PSubset
typedef DATAACCESSOR::PPattern PPattern

Public Member Functions

void set_k (const DIMTYPE k)
DIMTYPE get_k () const
virtual bool classify (DIMTYPE &cls, const PPattern &pattern)
 classifies pattern, returns the respective class index
virtual bool train (const PDataAccessor da, const PSubset sub)
 learns from designated training part of data
virtual bool test (RETURNTYPE &result, const PDataAccessor da)
 estimates accuracy using designated test data
Classifier_kNNclone () const
Classifier_kNNsharing_clone () const
Classifier_kNNstateless_clone () const
virtual std::ostream & print (std::ostream &os) const

Protected Member Functions

void sort_in (const RETURNTYPE value, const DIMTYPE cls)
DIMTYPE get_most_freq_cls ()

Protected Attributes

DIMTYPE _k
DIMTYPE _k_enough
DIMTYPE _nns_max_size
std::list< Neighbour >::iterator iter
std::list< Neighbour_nns
std::vector< DIMTYPE > cls_freqs
boost::scoped_ptr< DISTANCE > _distance
PDataAccessor _da_train

Private Member Functions

 Classifier_kNN (const Classifier_kNN &cknn)

Detailed Description

template<class RETURNTYPE, typename DATATYPE, typename IDXTYPE, typename DIMTYPE, class SUBSET, class DATAACCESSOR, class DISTANCE>
class FST::Classifier_kNN< RETURNTYPE, DATATYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR, DISTANCE >

Implements k-Nearest Neighbor classifier.

Examples:

demo10.cpp, demo11.cpp, demo11t.cpp, demo20.cpp, demo21.cpp, demo22.cpp, demo24.cpp, demo24t.cpp, demo26.cpp, demo34.cpp, demo40.cpp, demo40t.cpp, demo41.cpp, demo42.cpp, demo43.cpp, demo50.cpp, demo51.cpp, demo52t.cpp, demo54.cpp, demo55.cpp, demo56.cpp, demo60.cpp, demo61.cpp, and demo63.cpp.


Member Function Documentation

template<class RETURNTYPE , typename DATATYPE , typename IDXTYPE , typename DIMTYPE , class SUBSET , class DATAACCESSOR , class DISTANCE >
Classifier_kNN< RETURNTYPE, DATATYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR, DISTANCE > * FST::Classifier_kNN< RETURNTYPE, DATATYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR, DISTANCE >::clone (  )  const [inline, virtual]

create 1:1 independent clone of the current object

Implements FST::Clonable.

template<class RETURNTYPE, typename DATATYPE, typename IDXTYPE, typename DIMTYPE, class SUBSET, class DATAACCESSOR, class DISTANCE>
Classifier_kNN* FST::Classifier_kNN< RETURNTYPE, DATATYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR, DISTANCE >::sharing_clone (  )  const [inline, virtual]

create equivalent clone of the current object, parmitting read-only access to structures in the source object (allows referencing instead of copying of large memory structures). may be faster and save space but requires more caution with respect to concurrency Use example: Data_Accessor memory data representation cloning

Implements FST::Clonable.

template<class RETURNTYPE, typename DATATYPE, typename IDXTYPE, typename DIMTYPE, class SUBSET, class DATAACCESSOR, class DISTANCE>
Classifier_kNN* FST::Classifier_kNN< RETURNTYPE, DATATYPE, IDXTYPE, DIMTYPE, SUBSET, DATAACCESSOR, DISTANCE >::stateless_clone (  )  const [inline, virtual]

create clone of the current object, ignoring internal temporary structures to save speed. Does not replicate exact object state. The clone must be used carefully in a way that ensures internal structure re-initialization Use example: Data_Splitter cloning or Classifier_SVM cloning due to inability to clone external structures defined in LibSVM

Implements FST::Clonable.


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

Generated on Thu Mar 31 11:38:16 2011 for FST3Library by  doxygen 1.6.1