Spaces:
Sleeping
Sleeping
| -- DERNIÈRES PRÉDICTIONS EFFECTUÉES | |
| SELECT | |
| p.id AS prediction_id, | |
| p.created_at AS prediction_date, | |
| p.model_version, | |
| p.predicted_class, | |
| p.predicted_proba, | |
| p.threshold_used, | |
| p.latency_ms, | |
| r.employee_id | |
| FROM app.predictions p | |
| JOIN app.prediction_requests r | |
| ON p.request_id = r.id | |
| ORDER BY p.created_at DESC | |
| LIMIT 20; | |
| -- DERNIÈRES PRÉDICTIONS AVEC INFORMATIONS EMPLOYÉ | |
| SELECT | |
| e.employee_external_id, | |
| e.departement, | |
| e.poste, | |
| p.predicted_class, | |
| p.predicted_proba, | |
| p.created_at | |
| FROM app.predictions p | |
| JOIN app.prediction_requests r | |
| ON p.request_id = r.id | |
| JOIN raw.employees e | |
| ON r.employee_id = e.id | |
| ORDER BY p.created_at DESC | |
| LIMIT 20; | |
| -- NOMBRE DE PRÉDICTIONS PAR CLASSE | |
| SELECT | |
| predicted_class, | |
| COUNT(*) AS nb_predictions | |
| FROM app.predictions | |
| GROUP BY predicted_class | |
| ORDER BY predicted_class; | |
| -- TAUX DE RISQUE MOYEN PAR DÉPARTEMENT | |
| SELECT | |
| e.departement, | |
| ROUND(AVG(p.predicted_proba)::numeric, 3) AS risque_moyen, | |
| COUNT(*) AS nb_predictions | |
| FROM app.predictions p | |
| JOIN app.prediction_requests r | |
| ON p.request_id = r.id | |
| JOIN raw.employees e | |
| ON r.employee_id = e.id | |
| GROUP BY e.departement | |
| ORDER BY risque_moyen DESC; | |
| -- EMPLOYÉS AVEC RISQUE ÉLEVÉ (> 0.8) | |
| SELECT | |
| e.employee_external_id, | |
| e.departement, | |
| e.poste, | |
| p.predicted_proba, | |
| p.created_at | |
| FROM app.predictions p | |
| JOIN app.prediction_requests r | |
| ON p.request_id = r.id | |
| JOIN raw.employees e | |
| ON r.employee_id = e.id | |
| WHERE p.predicted_proba >= 0.8 | |
| ORDER BY p.predicted_proba DESC; | |
| -- COMPARAISON PRÉDICTION vs RÉALITÉ (DERNIER GROUND TRUTH PAR EMPLOYÉ) | |
| WITH last_truth AS ( | |
| SELECT DISTINCT ON (employee_id) | |
| employee_id, | |
| a_quitte_l_entreprise, | |
| date_event | |
| FROM raw.ground_truth | |
| ORDER BY employee_id, date_event DESC | |
| ) | |
| SELECT | |
| e.employee_external_id, | |
| p.predicted_class, | |
| gt.a_quitte_l_entreprise, | |
| p.predicted_proba, | |
| p.created_at AS prediction_date, | |
| gt.date_event AS real_event_date | |
| FROM app.predictions p | |
| JOIN app.prediction_requests r | |
| ON p.request_id = r.id | |
| JOIN raw.employees e | |
| ON r.employee_id = e.id | |
| JOIN last_truth gt | |
| ON gt.employee_id = e.id | |
| ORDER BY p.created_at DESC | |
| LIMIT 50; | |
| -- MATRICE DE CONFUSION (SIMPLIFIÉE) - DERNIER GROUND TRUTH PAR EMPLOYÉ | |
| WITH last_truth AS ( | |
| SELECT DISTINCT ON (employee_id) | |
| employee_id, | |
| a_quitte_l_entreprise | |
| FROM raw.ground_truth | |
| ORDER BY employee_id, date_event DESC | |
| ) | |
| SELECT | |
| p.predicted_class AS prediction, | |
| gt.a_quitte_l_entreprise AS real_value, | |
| COUNT(*) AS count | |
| FROM app.predictions p | |
| JOIN app.prediction_requests r | |
| ON p.request_id = r.id | |
| JOIN last_truth gt | |
| ON gt.employee_id = r.employee_id | |
| GROUP BY p.predicted_class, gt.a_quitte_l_entreprise | |
| ORDER BY p.predicted_class, gt.a_quitte_l_entreprise; | |
| -- LATENCE MOYENNE DES PRÉDICTIONS | |
| SELECT | |
| ROUND(AVG(latency_ms)::numeric, 2) AS avg_latency_ms, | |
| MAX(latency_ms) AS max_latency_ms, | |
| MIN(latency_ms) AS min_latency_ms | |
| FROM app.predictions; | |
| -- HISTORIQUE DES PRÉDICTIONS POUR UN EMPLOYÉ DONNÉ | |
| SELECT | |
| p.created_at, | |
| p.predicted_class, | |
| p.predicted_proba, | |
| p.model_version | |
| FROM app.predictions p | |
| JOIN app.prediction_requests r | |
| ON p.request_id = r.id | |
| JOIN raw.employees e | |
| ON r.employee_id = e.id | |
| WHERE e.employee_external_id = 123 | |
| ORDER BY p.created_at DESC; | |
| -- EMPLOYÉS À RISQUE MAIS TOUJOURS PRÉSENTS (DERNIER GROUND TRUTH) | |
| WITH last_truth AS ( | |
| SELECT DISTINCT ON (employee_id) | |
| employee_id, | |
| a_quitte_l_entreprise | |
| FROM raw.ground_truth | |
| ORDER BY employee_id, date_event DESC | |
| ) | |
| SELECT | |
| e.employee_external_id, | |
| e.departement, | |
| e.poste, | |
| p.predicted_proba | |
| FROM app.predictions p | |
| JOIN app.prediction_requests r | |
| ON p.request_id = r.id | |
| JOIN raw.employees e | |
| ON r.employee_id = e.id | |
| JOIN last_truth gt | |
| ON gt.employee_id = e.id | |
| WHERE p.predicted_class = 1 | |
| AND gt.a_quitte_l_entreprise = 0 | |
| ORDER BY p.predicted_proba DESC; | |