\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 5.0 - Classification
CGAL::Classification::Evaluation Class Reference

#include <CGAL/Classification/Evaluation.h>

Definition

Class to compute several measurements to evaluate the quality of a classification output.

Constructor

template<typename GroundTruthIndexRange , typename ResultIndexRange >
 Evaluation (const Label_set &labels, const GroundTruthIndexRange &ground_truth, const ResultIndexRange &result)
 Instantiates an evaluation object and computes all measurements. More...
 

Label Evaluation

float precision (Label_handle label) const
 Returns the precision of the training for the given label. More...
 
float recall (Label_handle label) const
 Returns the recall of the training for the given label. More...
 
float f1_score (Label_handle label) const
 Returns the \(F_1\) score of the training for the given label. More...
 
float intersection_over_union (Label_handle label) const
 Returns the intersection over union of the training for the given label. More...
 

Global Evaluation

float accuracy () const
 Returns the accuracy of the training. More...
 
float mean_f1_score () const
 Returns the mean \(F_1\) score of the training over all labels (see f1_score()).
 
float mean_intersection_over_union () const
 Returns the mean intersection over union of the training over all labels (see intersection_over_union()).
 

Constructor & Destructor Documentation

◆ Evaluation()

template<typename GroundTruthIndexRange , typename ResultIndexRange >
CGAL::Classification::Evaluation::Evaluation ( const Label_set labels,
const GroundTruthIndexRange &  ground_truth,
const ResultIndexRange &  result 
)

Instantiates an evaluation object and computes all measurements.

Parameters
labelslabels used.
ground_truthvector of label indices: it should contain the index of the corresponding label in the Label_set provided in the constructor. Input items that do not have a ground truth information should be given the value -1.
resultsimilar to ground_truth but contained the result of a classification.

Member Function Documentation

◆ accuracy()

float CGAL::Classification::Evaluation::accuracy ( ) const

Returns the accuracy of the training.

Accuracy is the total number of true positives divided by the total number of provided inliers.

◆ f1_score()

float CGAL::Classification::Evaluation::f1_score ( Label_handle  label) const

Returns the \(F_1\) score of the training for the given label.

\(F_1\) score is the harmonic mean of precision() and recall():

\[ F_1 = 2 \times \frac{precision \times recall}{precision + recall} \]

◆ intersection_over_union()

float CGAL::Classification::Evaluation::intersection_over_union ( Label_handle  label) const

Returns the intersection over union of the training for the given label.

Intersection over union is the number of true positives divided by the sum of the true positives, of the false positives and of the false negatives.

◆ precision()

float CGAL::Classification::Evaluation::precision ( Label_handle  label) const

Returns the precision of the training for the given label.

Precision is the number of true positives divided by the sum of the true positives and the false positives.

◆ recall()

float CGAL::Classification::Evaluation::recall ( Label_handle  label) const

Returns the recall of the training for the given label.

Recall is the number of true positives divided by the sum of the true positives and the false negatives.