1 #ifndef _CONFUSIONMATRIX2_ 2 #define _CONFUSIONMATRIX2_ 94 double& truePositives,
95 double& trueNegatives,
96 double& falsePositives,
97 double& falseNegatives
176 void InitializeMemory ();
178 void InitializeVector (vector<
double>& v,
182 void InitializeVectorDoublePtr (vector<
double*>& v,
187 void CopyVector (
const vector<
double>& src,
191 void CopyVectorDoublePtr (
const vector<
double*>& src,
192 vector<
double*>& dest,
196 void DeleteVectorDoublePtr (vector<
double*>& v);
198 void IncreaseVectorDoublePtr (vector<
double*>& v,
203 void MakeSureWeHaveTheseClasses (
const MLClassList& classList,
208 void PrintLatexTableColumnHeaders (ostream& outFile);
210 void PrintSingleLine (ostream& _outFile,
216 void PrintSingleLineTabDelimited (ostream& _outFile,
222 void PrintSingleLineHTML (ostream& _outFile,
229 void PrintSingleLineLatexTable (ostream& _outFile,
237 void PrintSingleLineShort (ostream& _outFile,
244 void PrintPercentLine (ostream& _outFile,
251 void PrintPercentLineLatexTable (ostream& _outFile,
259 void PrintPercentLineTabDelimited (ostream& _outFile,
266 void PrintAvgPredProbLineHTML (ostream& o,
268 double _totalAvgPredProbThisLine,
269 double _totalCountThisLine,
271 double _avgPredProbs[],
272 double _numPredByClass[]
276 void PrintPercentLineHTML (ostream& _outFile,
284 void PrintPercentLineShort (ostream& _outFile,
291 void PrintErrorBySizeRowReduced (ostream& outFile,
295 void Read (istream& f,
301 vector<
double*> correctByKnownClassByProb;
302 vector<
double*> correctByKnownClassBySize;
304 vector<
double*> countByKnownClassByProb;
305 vector<
double*> countByKnownClassBySize;
306 vector<
double> countsByKnownClass;
315 vector<
double*> predictedCountsCM;
316 vector<
double*> totPredProbCM;
319 double totalPredProb;
320 vector<
double> totalPredProbsByKnownClass;
321 vector<
double> totalSizesByKnownClass;
323 double numInvalidClassesPredicted;
328 #define _ConfussionMatrix2_Defined_ 345 #define _ConfussionMatrix2List_Defined_ ConfusionMatrix2(const ConfusionMatrix2 &cm)
void PrintConfusionMatrixHTML(const char *title, ostream &file)
void PrintAccuracyByProbByClassHTML(ostream &o)
void PrintErrorByProb(ostream &outFile)
float FMeasure(MLClassPtr positiveClass, RunLog &log) const
VectorFloat AccuracyByClass() const
void PrintConfusionMatrixLatexTable(ostream &outFile)
void PrintConfusionMatrixNarrow(ostream &outFile)
ConfusionMatrix2(const MLClassList &_classes, istream &f, kkint32 _bucketSize, kkint32 _numOfBuckets, kkint32 _numOfProbBuckets, kkint32 _probBucketSize, RunLog &_log)
void PrintConfusionMatrixAvgPredProbHTML(ostream &o)
float AccuracyClassWeightedEqually()
kkint32 ClassCount() const
ConfusionMatrix2 * ConfusionMatrix2Ptr
void PrintTrueFalsePositivesTabDelimited(ostream &outFile)
double Count(MLClassPtr mlClass)
void PrintErrorBySize(ostream &outFile)
void PrintConfusionMatrixTabDelimited(ostream &outFile)
void PrintConfusionMatrix(ostream &_outFile)
double CountsByKnownClass(kkint32 knownClassIdx) const
void WriteSimpleConfusionMatrix(ostream &f) const
void FactorCounts(double factor)
static ConfusionMatrix2Ptr BuildFromIstreamXML(istream &f, RunLog &log)
void AddIn(const ConfusionMatrix2 &cm, RunLog &log)
ConfusionMatrix2Ptr DeriveAverageConfusionMatrix(RunLog &log) const
std::vector< float > VectorFloat
const VectorDouble & CountsByKnownClass() const
ConfusionMatrix2(const MLClassList &_classes)
double AvgPredProb() const
void PrintErrorByProbByRows(ostream &outFile)
static KKStr Concat(const std::vector< std::string > &values)
Concatenates the list of 'std::string' strings.
void PrintProbDistributionTotalCount(ostream &outFile)
VectorDouble PredictedCounts() const
void PrintProbDistributionTotalError(ostream &outFile)
void PrintErrorBySizeReduced(ostream &outFile)
ConfussionMatrix2List(bool _owner=true)
void ComputeFundamentalStats(MLClassPtr ic, double &truePositives, double &trueNegatives, double &falsePositives, double &falseNegatives) const
void Increment(MLClassPtr _knownClass, MLClassPtr _predClass, kkint32 _size, double _probability, RunLog &_log)
double Accuracy(MLClassPtr mlClass)
void PrintConfusionMatrixHTML(ostream &outFile)
void PrintProbDistributionTitle(ostream &outFile)
const MLClassList & MLClasses() const
Used for logging messages.
void EncodeProblem(const struct svm_paramater ¶m, struct svm_problem &prob_in, struct svm_problem &prob_out)
void WriteXML(ostream &f) const
Maintains a list of MLClass instances.
void PrintErrorBySizeByRows(ostream &outFile)
double PredictedCountsCM(kkint32 knownClassIdx, kkint32 predClassIdx) const
virtual ~ConfusionMatrix2()
ConfussionMatrix2List * ConfussionMatrix2ListPtr
A confusion matrix object that is used to record the results from a CrossValidation. <see also cref="CrossValidation"
std::vector< double > VectorDouble
Vector of doubles.