Main Page | Modules | Data Structures | File List | Globals | Related Pages

vfdt-engine.h

Go to the documentation of this file.
00001 #ifndef VFDTH
00002 #define VFDTH
00003 
00032 #include "vfml.h"
00033 
00034 typedef struct _VFDTGROWINGDATA_ {
00035    ExampleGroupStatsPtr egs;
00036    long seenExamplesCount;
00037   //   long startedOnExampleNum;
00038    int seenSinceLastProcess;
00039    VoidListPtr exampleCache;
00040 
00041    float parentErrorRate;
00042    int parentClass;
00043 
00044    long seenSinceDeactivated;
00045    long errorsSinceDeactivated;
00046 
00047    int treeLevel;
00048    float splitConfidence;
00049 
00050    int prePruned;
00051 } VFDTGrowingData, *VFDTGrowingDataPtr;
00052 
00053 
00055 typedef struct _VFDT_ {
00056    ExampleSpecPtr spec;
00057    DecisionTreePtr dtree;
00058 
00059    float splitConfidence;
00060    float tieConfidence;
00061    int messageLevel;
00062    int useGini;
00063    int processChunkSize;
00064    long maxAllocationBytes;
00065 
00066    unsigned long examplesSeen;
00067    unsigned long numGrowing;
00068 
00069    unsigned long numBoundsUsed;
00070 
00071    int cacheExamples;
00072    int recoverMinimum;
00073 
00074    int reactivateLeaves;
00075    float highestDeactivatedIndex;
00076    unsigned long reactivateScanPeriod;
00077 
00078    int batchMode;
00079    float prePruneTau;
00080    int laplace;
00081    int doBonferonni;
00082 } VFDT, *VFDTPtr;
00083 
00094 VFDTPtr VFDTNew(ExampleSpecPtr spec, float splitConfidence,
00095            float tieConfidence);
00096 
00098 void VFDTFree(VFDTPtr vfdt);
00099 
00104 void VFDTSetMessageLevel(VFDTPtr vfdt, int value);
00105 
00119 void VFDTSetMaxAllocationMegs(VFDTPtr vfdt, int value);
00120 
00126 void VFDTSetProcessChunkSize(VFDTPtr vfdt, int value);
00127 
00129 void VFDTSetUseGini(VFDTPtr vfdt, int value);
00130 
00138 void VFDTSetRestartLeaves(VFDTPtr vfdt, int value);
00139 
00148 void VFDTSetCacheTrainingExamples(VFDTPtr vfdt, int value);
00149 
00156 void VFDTSetPrePruneTau(VFDTPtr vfdt, float value);
00157 
00159 void VFDTSetLaplace(VFDTPtr vfdt, int value);
00160 
00161 void VFDTSetDoBonferonni(VFDTPtr vfdt, int value);
00162 
00163 //void VFDTBootstrapC45(VFDTPtr vfdt, char *fileStem, int overprune, int runC45);
00164 
00171 void VFDTProcessExamples(VFDTPtr vfdt, FILE *input);
00172 
00178 void VFDTProcessExamplesBatch(VFDTPtr vfdt, FILE *input);
00179 
00185 void VFDTProcessExampleBatch(VFDTPtr vfdt, ExamplePtr e);
00186 
00188 void VFDTBatchExamplesDone(VFDTPtr vfdt);
00189 
00194 void VFDTProcessExample(VFDTPtr vfdt, ExamplePtr e);
00195 
00200 int VFDTIsDoneLearning(VFDTPtr vfdt);
00201 
00203 long VFDTGetNumGrowing(VFDTPtr vfdt);
00204 
00206 long VFDTGetNumBoundsUsed(VFDTPtr vfdt);
00207 
00209 void VFDTPrintStats(VFDTPtr vfdt, FILE *out);
00210 
00211 
00212 
00221 DecisionTreePtr VFDTGetLearnedTree(VFDTPtr vfdt);
00222 
00223 
00224 void VFDTREPrune(DecisionTreePtr dt, VoidAListPtr examples);
00225 
00226 #endif /* VFDTH */
00227 

Generated for VFML by doxygen hosted by SourceForge.net Logo