gorkaartola's picture
Update README.md
1480616
|
raw
history blame
4.14 kB
metadata
title: metric_for_TP_FP_samples
datasets:
  - null
tags:
  - evaluate
  - metric
description: >-
  This metric is specially designed to measure the performance of sentence
  classification models over multiclass test datasets containing both True
  Positive samples, meaning that the label associated to the sentence in the
  sample is correctly assigned, and False Positive samples, meaning that the
  label associated to the sentence in the sample is incorrectly assigned.
sdk: gradio
sdk_version: 3.0.2
app_file: app.py
pinned: false

Metric Card for metric_for_TP_FP_samples

Metric Description

This metric is specially designed to measure the performance of sentence classification models over multiclass test datasets containing both True Positive samples, meaning that the label associated to the sentence in the sample is correctly assigned, and False Positive samples, meaning that the label associated to the sentence in the sample is incorrectly assigned.

How to Use

In addition to the classical predictions and references inputs, this metric includes a kwarg named prediction_strategies (list(str)), that refer to a family of prediction strategies that the metric can handle.

Add predictions, references and prediction_strategies as follows:

metric = evaluate.load(metric_selector)
metric.add_batch(predictions = predictions, references = references)
results = metric.compute(prediction_strategies = prediction_strategies)

The prediction_strategies implemented in this metric are: - argmax, which takes the highest value of the softmax inference logits to select the prediction. - threshold, which takes all softmax inference logits above a certain value to select the predictions. - topk, which takes the highest k softmax inference logits to select the predictions.

    The minimum fields required by this metric for the test datasets are the following (not necessarily with these names):
    - *title* containing the first sentence to be compared with different queries representing each class. 
    - *label_ids* containing the *id* of the class the sample refers to. Including samples of all the classes is advised.
    - *nli_label* which is '0' if the sample represents a True Positive or '2' if the sample represents a False Positive, meaning that the *label_ids* is incorrectly assigned to the *title*. Including both True Positive and False Positive samples for all classes is advised.
    
    Example:

    |title                                                                              |label_ids  |nli_label   |
    |-----------------------------------------------------------------------------------|:---------:|:----------:|
    |'Together we can save the arctic': celebrity advocacy and the Rio Earth Summit 2012|     8     |     0      |
    |Tuple-based semantic and structural mapping for a sustainable interoperability     |     16    |     2      |

Inputs

- *predictions*, *(numpy.array(float32)[sentences to classify,number of classes])*: numpy array with the softmax logits values of the entailment dimension of the NLI inference on the sentences to be classified for each class.
- *references* , *(numpy.array(int32)[sentences to classify,2]: numpy array with the reference *label_ids* and *nli_label* of the sentences to be classified, given in the *test_dataset*.
- *kwarg* named *prediction_strategies = list(list(str, int(optional)))*, each *list(list(str, int(optional)))* describing a desired prediction strategy as follows:
    + *argmax*: *["argmax"]*.
    + *threshold*: *["threshold", desired value]*.
    + *topk*: ["topk", desired value]*. 

Output Values

  • dict, with the names of the used prediction_strategies as keys and a pandas.DataFrame with a detailed table of metrics including, recall, precision, f1-score and accuracy of the predictions for each class, and both overall micro and macro averages.

Citation

BibLaTeX

@online{TP_FP_metric,
  author = {Gorka Artola},
  title = {Testing Zero Shot Classification by SDGs},
  year = 2022,
  url = {https://huggingface.co/spaces/gorkaartola/metric_for_tp_fp_samples},
  urldate = {2022-08-11}
}