GEP::ClassificationMOIndividual Class Reference

#include <MOIndividual.h>

Inheritance diagram for GEP::ClassificationMOIndividual:
Inheritance graph
[legend]
Collaboration diagram for GEP::ClassificationMOIndividual:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ClassificationMOIndividual ()
 ClassificationMOIndividual (const ClassificationMOIndividual &)
 ClassificationMOIndividual (const ClassificationMOIndividual &, bool tf)
virtual ~ClassificationMOIndividual ()
bool classify ()
void evaluate (const u_short &user_param=eval_type(0), const size_t pop_age=0)
std::vector< double > calculateFitness (const size_t pop_age=0)
void reset ()
std::string toString () const

Static Public Member Functions

static u_short solutionSize ()

Public Attributes

u_int TP
u_int FN
u_int FP
u_int TN
bool zero_output

Static Public Attributes

static double roundingThreshold = 0.5

Constructor & Destructor Documentation

GEP::ClassificationMOIndividual::ClassificationMOIndividual (  ) 

Default constructor

GEP::ClassificationMOIndividual::ClassificationMOIndividual ( const ClassificationMOIndividual copy  ) 

Copy constructor

GEP::ClassificationMOIndividual::ClassificationMOIndividual ( const ClassificationMOIndividual ,
bool  tf 
)

Half-copy constructor

virtual GEP::ClassificationMOIndividual::~ClassificationMOIndividual (  )  [inline, virtual]

Default destructor


Member Function Documentation

std::vector< double > GEP::ClassificationMOIndividual::calculateFitness ( const size_t  pop_age = 0  )  [virtual]

Uses specificity and sensitivity measure:

 mo_fitness.first = ((TP/(TP+FN)), mo_fitness.second = (TN/(TN+FP))). 

Maximum fitness = 1 and 1.

Reimplemented from GEP::Individual< std::vector< double >, double, u_short >.

bool GEP::ClassificationMOIndividual::classify (  ) 

Classification uses rounding threshold to obtain predicted result (0 or 1) (see evaluate()).

void GEP::ClassificationMOIndividual::evaluate ( const u_short &  user_param = eval_type(0),
const size_t  pop_age = 0 
) [virtual]

Evaluation uses classify() output which is then compared with actual output passed in user_param (actual).

   if (_chromosome.getValue() < roundingThreshold) predicted = 0; else predicted 1;
   if(actual == 0) { //Positive
   if(predicted == 1) FP++;
   else TP++;
   }
   else { //Negative
   if(predicted == 1) TN++;
   else FN++;
   }

Reimplemented from GEP::Individual< std::vector< double >, double, u_short >.

void GEP::ClassificationMOIndividual::reset (  )  [virtual]

Resets values used for fitness calculation.

Reimplemented from GEP::Individual< std::vector< double >, double, u_short >.

static u_short GEP::ClassificationMOIndividual::solutionSize (  )  [inline, static]
std::string GEP::ClassificationMOIndividual::toString (  )  const [inline, virtual]

Member Data Documentation

Number of False Negatives

Number of False Positives

Used for real - valued binary classification

Number of True Negatives

Number of True Positives

Adjustment to find classifiers making zero of all given data samples... in case of logicals may be troublesome


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

Generated on Fri Dec 11 22:28:17 2009 for LibGEP by  doxygen 1.6.1