1 #ifndef _CROSSVALIDATION_ 2 #define _CROSSVALIDATION_ 41 #ifndef _FeatureVector_Defined_ 47 #if !defined (_MLCLASS_) 56 #ifndef _ConfussionMatrix2_ 63 #if !defined(_FactoryFVProducer_Defined_) 70 #ifndef _TrainingConfiguration2_Defined_ 86 FeatureVectorListPtr _examples,
87 MLClassListPtr _mlClasses,
89 bool _featuresAreAlreadyNormalized,
90 FileDescPtr _fileDesc,
100 bool* classedCorrectly,
148 void AllocateMemory ();
150 void CrossValidate (FeatureVectorListPtr testImages,
151 FeatureVectorListPtr trainingExamples,
153 bool* classedCorrectly,
157 void DeleteAllocatedMemory ();
163 TrainingConfiguration2Ptr config;
164 kkint32 duplicateTrainDataCount;
165 FactoryFVProducerPtr fvProducerFactory;
166 bool featuresAreAlreadyNormalized;
167 FileDescPtr fileDesc;
170 ConfusionMatrix2Ptr confusionMatrix;
171 ConfusionMatrix2Ptr* cmByNumOfConflicts;
172 FeatureVectorListPtr examples;
173 MLClassListPtr mlClasses;
187 kkint32* numOfWinnersOneOfTheWinners;
193 float accuracyStdDev;
196 double totalPredProb;
198 float supportPointsMean;
199 float supportPointsStdDev;
203 double testTimeStdDev;
206 double trainTimeMean;
207 double trainTimeStdDev;
210 bool weOwnConfusionMatrix;
ConfusionMatrix2Ptr GiveMeOwnershipOfConfusionMatrix()
Provides a detailed description of the attributes of a dataset.
double AvgPredProb() const
double SupportPointsStdDev() const
double TrainTimeStdDev() const
kkint32 SupportPointsTotal() const
const VectorDouble & TrainTimes() const
const VectorFloat & SupportPoints() const
double TrainTimeMean() const
const ConfusionMatrix2Ptr ConfussionMatrix() const
std::vector< int > VectorInt
Represents a "Class" in the Machine Learning Sense.
float AccuracyStdDev() const
A class that is meant to manage a n-Fold Cross Validation.
void RunCrossValidation(RunLog &log)
kkint32 TotalNumSVs() const
float AccuracyMean() const
const VectorDouble & TestTimes() const
double TestTimeStdDev() const
kkint32 DuplicateTrainDataCount() const
Container class for FeatureVector derived objects.
const VectorFloat & FoldAccuracies() const
double SupportPointsMean() const
double TrainTimeTotal() const
KKStr FoldAccuracysToStr() const
std::vector< float > VectorFloat
static KKStr Concat(const std::vector< std::string > &values)
Concatenates the list of 'std::string' strings.
void NumOfFolds(kkint32 _numOfFolds)
const VectorFloat & Accuracies() const
double TestTimeMean() const
CrossValidation * CrossValidationPtr
double TestTimeTotal() const
float FoldAccuracy(kkint32 foldNum) const
Used for logging messages.
void EncodeProblem(const struct svm_paramater ¶m, struct svm_problem &prob_in, struct svm_problem &prob_out)
Responsible for creating a FeatureFectorProducer instance.
Maintains a list of MLClass instances.
CrossValidation(TrainingConfiguration2Ptr _config, FeatureVectorListPtr _examples, MLClassListPtr _mlClasses, kkint32 _numOfFolds, bool _featuresAreAlreadyNormalized, FileDescPtr _fileDesc, RunLog &_log, bool &_cancelFlag)
kkint32 NumOfSupportVectors() const
A confusion matrix object that is used to record the results from a CrossValidation. <see also cref="CrossValidation"
void RunValidationOnly(FeatureVectorListPtr validationData, bool *classedCorrectly, RunLog &log)
std::vector< double > VectorDouble
Vector of doubles.