Jeu combiné Fez + Mohamadia
Benchmark exploratoire. Les échelles brutes SePem et SEWERIN ne sont pas assimilées : le modèle utilise des tendances communes, écarts propres au capteur, percentiles de campagne et l'identité du système.
Données fusionnées
| Ville | Exemples exploitables | Fuites | Non-fuites | Prévalence |
|---|---|---|---|---|
| Fez | 5200 | 99 | 5101 | 1.904% |
| Mohamadia | 19904 | 83 | 19821 | 0.417% |
| Total | 25104 | 182 | 24922 | 0.725% |
Les 120 ordres de fuite du nouveau classeur se regroupent en 90 événements appareil-campagne ; 83 sont reliés à un appareil disposant d'au moins une mesure bruit/fréquence et sont donc exploitables. Selon la règle métier confirmée, les appareils sans ordre de fuite dans une campagne sont des non-fuites.
Validation réelle

| Validation | Modèle | PR-AUC | Précision@20 | Rappel@20 | Précision binaire | Rappel binaire | F1 |
|---|---|---|---|---|---|---|---|
| campaign | extra_trees | 0.130 | 0.104 | 0.571 | 0.149 | 0.423 | 0.220 |
| campaign | hist_gradient | 0.115 | 0.109 | 0.599 | 0.149 | 0.374 | 0.214 |
| campaign | balanced_rf | 0.122 | 0.106 | 0.582 | 0.182 | 0.236 | 0.206 |
| campaign | catboost | 0.143 | 0.093 | 0.511 | 0.245 | 0.247 | 0.246 |
| device | extra_trees | 0.133 | 0.092 | 0.505 | 0.131 | 0.412 | 0.199 |
| device | hist_gradient | 0.151 | 0.111 | 0.610 | 0.199 | 0.330 | 0.248 |
| device | balanced_rf | 0.141 | 0.099 | 0.544 | 0.213 | 0.264 | 0.236 |
| device | catboost | 0.173 | 0.100 | 0.549 | 0.191 | 0.368 | 0.252 |
| temporal | extra_trees | 0.109 | 0.087 | 0.259 | 0.149 | 0.556 | 0.235 |
| temporal | hist_gradient | 0.097 | 0.113 | 0.333 | 0.154 | 0.333 | 0.211 |
| temporal | balanced_rf | 0.098 | 0.100 | 0.296 | 0.103 | 0.444 | 0.167 |
| temporal | catboost | 0.078 | 0.096 | 0.284 | 0.111 | 0.444 | 0.178 |
| holdout_new_city | extra_trees | 0.040 | 0.057 | 0.096 | 0.060 | 0.217 | 0.094 |
| holdout_new_city | hist_gradient | 0.015 | 0.014 | 0.024 | 0.017 | 0.892 | 0.033 |
| holdout_new_city | balanced_rf | 0.056 | 0.064 | 0.108 | 0.100 | 0.096 | 0.098 |
| holdout_new_city | catboost | 0.008 | 0.007 | 0.012 | 0.017 | 0.048 | 0.025 |
| holdout_fez | extra_trees | 0.079 | 0.078 | 0.677 | 0.074 | 0.657 | 0.133 |
| holdout_fez | hist_gradient | 0.049 | 0.062 | 0.535 | 0.057 | 0.737 | 0.105 |
| holdout_fez | balanced_rf | 0.069 | 0.066 | 0.576 | 0.075 | 0.525 | 0.131 |
| holdout_fez | catboost | 0.019 | 0.021 | 0.182 | 0.022 | 0.586 | 0.042 |
campaign: campagne entière jamais vue.device: appareil entier jamais vu.temporal: dernier quart des dates jamais vu.holdout_*: entraînement dans une ville, test dans l'autre.
Meilleur modèle stable sur campagne/appareil/temps : extra_trees (plus faible PR-AUC : 0.109).
Modèle partagé contre experts par capteur
Le même Balanced Random Forest est testé de deux façons : shared apprend les deux villes avec les caractéristiques communes ; sensor_expert apprend seulement la ville et toutes les variables propres à son capteur.
| Ville | Validation | Stratégie | PR-AUC | Précision@20 | Rappel@20 | Précision binaire | Rappel binaire | F1 |
|---|---|---|---|---|---|---|---|---|
| Fez | campaign | shared | 0.097 | 0.076 | 0.657 | 0.142 | 0.313 | 0.195 |
| Fez | campaign | sensor_expert | 0.177 | 0.090 | 0.778 | 0.207 | 0.303 | 0.246 |
| Fez | device | shared | 0.097 | 0.074 | 0.646 | 0.129 | 0.333 | 0.186 |
| Fez | device | sensor_expert | 0.131 | 0.083 | 0.717 | 0.175 | 0.303 | 0.222 |
| Fez | temporal | shared | 0.127 | 0.096 | 0.714 | 0.172 | 0.429 | 0.246 |
| Fez | temporal | sensor_expert | 0.221 | 0.108 | 0.800 | 0.198 | 0.629 | 0.301 |
| Mohamadia | campaign | shared | 0.194 | 0.207 | 0.349 | 0.269 | 0.337 | 0.299 |
| Mohamadia | campaign | sensor_expert | 0.248 | 0.250 | 0.422 | 0.333 | 0.386 | 0.358 |
| Mohamadia | device | shared | 0.198 | 0.200 | 0.337 | 0.319 | 0.277 | 0.297 |
| Mohamadia | device | sensor_expert | 0.232 | 0.207 | 0.349 | 0.262 | 0.386 | 0.312 |
| Mohamadia | temporal | shared | 0.226 | 0.200 | 0.320 | 0.310 | 0.360 | 0.333 |
| Mohamadia | temporal | sensor_expert | 0.265 | 0.225 | 0.360 | 0.268 | 0.440 | 0.333 |
L'expert gagne en PR-AUC dans 6/6 tests. Sur le test temporel — le plus proche d'une utilisation future — Fez passe de 0.127 à 0.221, et Mohamadia de 0.226 à 0.265.
En termes simples, les deux systèmes n'écoutent pas et ne résument pas le bruit de la même manière. Leur imposer un seul vocabulaire perd de l'information. La meilleure architecture actuelle est donc un expert SePem et un expert SEWERIN, évalués avec les mêmes règles, plutôt qu'un classifieur unique sur les valeurs brutes mélangées.
Comparaison des modèles experts
Chaque modèle voit exactement les mêmes plis et les mêmes variables propres à son capteur. La colonne « minimum » est son plus mauvais PR-AUC parmi campagne, appareil et temps : elle privilégie la stabilité plutôt qu'un succès isolé.
| Ville | Modèle | Campagne | Appareil | Temps | Minimum |
|---|---|---|---|---|---|
| Fez | balanced_rf | 0.171 | 0.140 | 0.208 | 0.140 |
| Fez | ensemble_boost | 0.157 | 0.139 | 0.282 | 0.139 |
| Fez | xgboost | 0.161 | 0.131 | 0.294 | 0.131 |
| Fez | ensemble_all | 0.170 | 0.122 | 0.284 | 0.122 |
| Fez | catboost | 0.154 | 0.120 | 0.249 | 0.120 |
| Fez | ensemble_et_brf | 0.161 | 0.112 | 0.207 | 0.112 |
| Fez | extra_trees | 0.151 | 0.101 | 0.194 | 0.101 |
| Mohamadia | balanced_rf | 0.251 | 0.241 | 0.257 | 0.241 |
| Mohamadia | ensemble_all | 0.226 | 0.239 | 0.313 | 0.226 |
| Mohamadia | ensemble_et_brf | 0.217 | 0.206 | 0.335 | 0.206 |
| Mohamadia | ensemble_boost | 0.200 | 0.218 | 0.211 | 0.200 |
| Mohamadia | catboost | 0.189 | 0.190 | 0.184 | 0.184 |
| Mohamadia | xgboost | 0.167 | 0.255 | 0.196 | 0.167 |
| Mohamadia | extra_trees | 0.188 | 0.153 | 0.283 | 0.153 |
Le modèle le plus stable est balanced_rf pour Fez et balanced_rf pour Mohamadia. Les moyennes d'ensembles ont parfois gagné un test isolé, mais aucune ne bat Balanced Random Forest sur la stabilité globale ; elles ne sont donc pas retenues.
Verdict
La fusion augmente les fuites exploitables de 99 à 182 et démontre que les variables propres aux capteurs apportent un signal réel. Cependant, les décisions binaires restent trop imprécises et les seuils sont choisis rétrospectivement. Une réponse systématique « non-fuite » donnerait 99.275% d'accuracy tout en ratant toutes les fuites : l'accuracy seule serait donc trompeuse.
Décision actuelle : conserver les deux experts comme prototypes de priorisation et préparer une validation prospective. Ils ne remplacent pas encore le technicien. Le prochain jalon crédible est de figer les modèles et seuils, puis de mesurer sur de nouvelles campagnes jamais utilisées combien de fuites sont trouvées parmi les 20 premières inspections et combien sont ratées.