Valutazione del modello su un insieme di dati personalizzato
In questo esercizio userai un evaluator dal pacchetto evaluate di Hugging Face per valutare le prestazioni di un modello preaddestrato su un insieme di dati personalizzato. Nota che, per la classificazione multiclasse con squilibri nel dataset, l’accuracy non è un indicatore affidabile delle prestazioni. Per questo sfrutterai la capacità dell’evaluator di fornire più misure insieme: precision e recall.
Un insieme di dati (dataset) e una pipeline (pipe) sono già stati definiti. La libreria evaluate e la classe evaluator sono già state importate.
Questo esercizio fa parte del corso
Modelli multi-modali con Hugging Face
Istruzioni dell'esercizio
- Istanzia un
evaluatorper il tuo task di"image-classification". - Estrai dalla pipeline la mappatura tra etichette intero→stringa.
- Valuta l’insieme di dati (
dataset) e la pipeline (pipe) usando le metriche memorizzate inmetrics_dictelabel_map.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Instantiate the task evaluator
task_evaluator = ____("____")
task_evaluator.METRIC_KWARGS = {"average": "weighted"}
# Get label map from pipeline
label_map = pipe.model.config.____
# Compute the metrics
eval_results = task_evaluator.____(model_or_pipeline=pipe, data=dataset,
metric=evaluate.____(metrics_dict), label_mapping=____)
print(f"Precision: {eval_results['precision']:.2f}, Recall: {eval_results['recall']:.2f}")