Precision
Fraction of positive predictions that are actually correct.
Precision (also called positive predictive value) measures the ability of the classifier to avoid labelling negative samples as positive. It is the metric of choice when the cost of false positives is high — e.g. in spam detection, flagging a legitimate email is more costly than missing a spam.
For binary tasks the standard binary precision is used. For multiclass tasks, macro averaging (unweighted mean over all classes) is applied.
::
Precision = TP / (TP + FP)
Range: [0, 1], higher is better (MAXIMIZE = True).
References
Methods
score(true_labels: 'DashAIDataset', probs_pred_labels: 'np.ndarray', multiclass: Optional[bool] = None) -> float
PrecisionCalculate precision between true labels and predicted labels.
Parameters
- true_labels : DashAIDataset
- A DashAI dataset with labels.
- probs_pred_labels : np.ndarray
- A two-dimensional matrix in which each column represents a class and the row values represent the probability that an example belongs to the class associated with the column.
- multiclass : bool, optional
- Whether the task is a multiclass classification. If None, it will be determined automatically from the number of unique labels.
Returns
- float
- Precision score between true labels and predicted labels
get_metadata(cls: 'BaseMetric') -> Dict[str, Any]
BaseMetricGet metadata values for the current metric.
Returns
- Dict[str, Any]
- Dictionary with the metadata
is_multiclass(true_labels: 'np.ndarray') -> bool
ClassificationMetricDetermine if the classification problem is multiclass (more than 2 classes).
Parameters
- true_labels : np.ndarray
- Array of true labels.
Returns
- bool
- True if the problem has more than 2 unique classes, False otherwise.
Compatible with
TabularClassificationTaskImageClassificationTaskTextClassificationTask