CLinearClassifier Class Reference


Detailed Description

Class LinearClassifier is a generic interface for all kinds of linear classifiers.

A linear classifier computes

\[ f({\bf x})= {\bf w} \cdot {\bf x} + b \]

where ${\bf w}$ are the weights assigned to each feature in training and $b$ the bias.

To implement a linear classifier all that is required is to define the train() function that delivers ${\bf w}$ above.

Note that this framework works with linear classifiers of arbitraty feature type, e.g. dense and sparse and even string based features. This is implemented by using CDotFeatures that may provide a mapping function $\Phi({\bf x})\mapsto {\cal R^D}$ encapsulating all the required operations (like the dot product). The decision function is thus

\[ f({\bf x})= {\bf w} \cdot \Phi({\bf x}) + b. \]

The following linear classifiers are implemented

See also:
CDotFeatures

Definition at line 55 of file LinearClassifier.h.

Inheritance diagram for CLinearClassifier:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CLinearClassifier ()
virtual ~CLinearClassifier ()
virtual float64_t classify_example (int32_t vec_idx)
 get output for example "vec_idx"
void get_w (float64_t *&dst_w, int32_t &dst_dims)
void get_w (float64_t **dst_w, int32_t *dst_dims)
void set_w (float64_t *src_w, int32_t src_w_dim)
void set_bias (float64_t b)
float64_t get_bias ()
virtual bool load (FILE *srcfile)
virtual bool save (FILE *dstfile)
virtual CLabelsclassify (CLabels *output=NULL)
virtual void set_features (CDotFeatures *feat)
virtual CDotFeaturesget_features ()

Protected Attributes

int32_t w_dim
float64_tw
float64_t bias
CDotFeaturesfeatures

Constructor & Destructor Documentation

CLinearClassifier::CLinearClassifier (  ) 

default constructor

Definition at line 13 of file LinearClassifier.cpp.

CLinearClassifier::~CLinearClassifier (  )  [virtual]

Definition at line 18 of file LinearClassifier.cpp.


Member Function Documentation

CLabels * CLinearClassifier::classify ( CLabels output = NULL  )  [virtual]

classify all examples

Parameters:
output resulting labels
Returns:
resulting labels

Reimplemented from CClassifier.

Definition at line 34 of file LinearClassifier.cpp.

virtual float64_t CLinearClassifier::classify_example ( int32_t  vec_idx  )  [virtual]

get output for example "vec_idx"

Reimplemented from CClassifier.

Definition at line 63 of file LinearClassifier.h.

float64_t CLinearClassifier::get_bias (  ) 

get bias

Returns:
bias

Definition at line 119 of file LinearClassifier.h.

virtual CDotFeatures* CLinearClassifier::get_features (  )  [virtual]

get features

Returns:
features

Definition at line 160 of file LinearClassifier.h.

void CLinearClassifier::get_w ( float64_t **  dst_w,
int32_t *  dst_dims 
)

get w (swig compatible)

Parameters:
dst_w store w in this argument
dst_dims dimension of w

Definition at line 85 of file LinearClassifier.h.

void CLinearClassifier::get_w ( float64_t *&  dst_w,
int32_t &  dst_dims 
)

get w

Parameters:
dst_w store w in this argument
dst_dims dimension of w

Definition at line 73 of file LinearClassifier.h.

bool CLinearClassifier::load ( FILE *  srcfile  )  [virtual]

load from file

Parameters:
srcfile file to load from
Returns:
if loading was successful

Reimplemented from CClassifier.

Definition at line 24 of file LinearClassifier.cpp.

bool CLinearClassifier::save ( FILE *  dstfile  )  [virtual]

save to file

Parameters:
dstfile file to save to
Returns:
if saving was successful

Reimplemented from CClassifier.

Definition at line 29 of file LinearClassifier.cpp.

void CLinearClassifier::set_bias ( float64_t  b  ) 

set bias

Parameters:
b new bias

Definition at line 110 of file LinearClassifier.h.

virtual void CLinearClassifier::set_features ( CDotFeatures feat  )  [virtual]

set features

Parameters:
feat features to set

Reimplemented in CLDA, CLPBoost, and CLPM.

Definition at line 149 of file LinearClassifier.h.

void CLinearClassifier::set_w ( float64_t src_w,
int32_t  src_w_dim 
)

set w

Parameters:
src_w new w
src_w_dim dimension of new w

Definition at line 100 of file LinearClassifier.h.


Member Data Documentation

bias

Definition at line 168 of file LinearClassifier.h.

features

Definition at line 170 of file LinearClassifier.h.

w

Definition at line 166 of file LinearClassifier.h.

int32_t CLinearClassifier::w_dim [protected]

dimension of w

Definition at line 164 of file LinearClassifier.h.


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

SHOGUN Machine Learning Toolbox - Documentation