00001 #ifndef __ASeparateFeatureClassifier__
00002 #define __ASeparateFeatureClassifier__
00003
00023 #include <stdio.h>
00024
00025 #include "RealVector.hpp"
00026
00027 class ASeparateFeatureClassifier
00028 {
00029 protected:
00030
00031 int nFeatures;
00032 double PI;
00033
00034 public:
00035
00036
00037 ASeparateFeatureClassifier(int n);
00038 virtual ~ASeparateFeatureClassifier(){}
00039
00040 virtual int numberOfFeatures(){ return nFeatures; }
00041 virtual int numberOfCounts()=0;
00042
00043
00044 virtual void start()=0;
00045 virtual void learn(double newValue){ }
00046 virtual void unlearn(double newValue){ }
00047
00048 virtual void learn(RealVector& newValue){}
00049 virtual void unlearn(RealVector& newValue){}
00050 virtual void end()=0;
00051
00052 virtual double distance2(RealVector& featureVector);
00053 virtual double distance2(double feature);
00054
00055
00056 virtual double P(RealVector& featureVector);
00057 virtual double P(double feature);
00058
00059
00060
00061 virtual double L(double featureVector);
00062 virtual double L(RealVector& featureVector);
00063
00064 virtual void output(FILE* file);
00065 virtual void output();
00066 };
00067
00068 #endif