Scorer
Le module scorer est responsable de la comparaison entre une prédiction et une vérité terrain.
Rôle
La classe Scorer prend en entrée deux chaînes d’horaires au format OSM (une prédite par le pipeline, une autre issue de la vérité terrain), les compare en utilisant le ComparateurHoraires du module Core, et retourne un objet ScoreResult structuré.
Fonctionnalités
Utilise les composants Core du projet (
OsmToJsonConverter,HorairesComparator) pour assurer une comparaison cohérente avec le pipeline principal.Gère la conversion des chaînes OSM en JSON.
Analyse la chaîne de différences textuelle pour produire un décompte d’erreurs atomiques, permettant une analyse fine.
Retourne un objet
ScoreResultcontenant le statut (Identique, Différent, Erreur), le décompte des différences, et le détail textuel.
Module
- class src.smart_watch.evaluate.scorer.ComparisonStatus(*values)[source]
Bases :
EnumDéfinit le statut d’une comparaison.
- IDENTICAL = 'Identique'
- DIFFERENT = 'Différent'
- ERROR = 'Erreur de comparaison'
- class src.smart_watch.evaluate.scorer.ScoreResult(status: ComparisonStatus, predicted_osm: str, ground_truth_osm: str, url: str = '', diff_count: int = 0, differences: str | None = None)[source]
Bases :
objectStructure pour stocker les résultats du scoring pour un item.
- status: ComparisonStatus
- class src.smart_watch.evaluate.scorer.Scorer[source]
Bases :
objectCompare une chaîne d’horaires prédite avec une vérité terrain en utilisant le ComparateurHoraires du projet.
- __init__() None[source]
Initialise le Scorer avec les outils de conversion et de comparaison.
Cette méthode configure les instances nécessaires pour effectuer les comparaisons d’horaires : un convertisseur OSM vers JSON et un comparateur d’horaires.
- converter
instance pour convertir les chaînes OSM en JSON.
- Type:
- comparator
instance pour comparer les horaires.
- Type:
- _count_atomic_differences(differences_str: str | None) int[source]
Analyse une chaîne de différences pour compter les erreurs atomiques.