You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Modèle de prédiction de la délinquance en France (taux pour 100 000 habitants) intégré dans l’écosystème Oasis Security.
5
-
L’objectif est de fournir un pipeline complet et industrialisable : de l’exploration à la mise en production (modèle sérialisé, API, CI/CD, MLflow).
6
-
1. Objectifs du projet
7
-
8
-
Construire un modèle de prévision des taux de délinquance (par indicateur) à partir des données publiques de la police et de la gendarmerie (data.gouv.fr).
9
-
10
-
Fournir une implémentation production-ready :
11
-
12
-
Structure de projet claire (src/, models/, mlruns/, tests/).
13
-
14
-
Modèle sérialisé (crime_predictor.pkl) et facilement re-chargeable.
15
-
16
-
Scripts d’entraînement, d’inférence et de génération de rapports.
17
-
18
-
S’intégrer proprement dans un dépôt Oasis Security (vision sécurité & monitoring), avec une base solide pour un déploiement via Docker / GitHub Actions / MLflow.
19
-
20
-
2. Structure du dépôt
21
-
22
-
Structure simplifiée pour la partie modèle :
23
-
24
-
bash
25
-
oasis-security-complete/
26
-
├── models/
27
-
│ └── crime_predictor/
28
-
│ ├── src/
29
-
│ │ ├── model.py # Classe CrimeRatePredictor (LinearRegression picklable)
30
-
│ │ ├── generate_model.py # Script de génération du premier modèle .pkl
│ └── requirements.txt # Dépendances Python pour ce module
39
-
├── docs/
40
-
│ └── crime_predictor/ # (prévu) dashboard / documentation front
41
-
└── .github/
42
-
└── workflows/ # (prévu) CI/CD pour tests + build modèle/API
43
-
44
-
3. Données & Modélisation
45
-
3.1 Source de données
46
-
47
-
Données issues de data.gouv.fr : base statistique de la délinquance enregistrée par la police et la gendarmerie (niveau régional / communal, par indicateur, par année).
Calcul du taux pour 100 000 habitants = nombre/insee_pop∗100000nombre/insee_pop∗100000.
54
-
55
-
Remarque : pour la première version de crime_predictor.pkl, un jeu de données simulé est utilisé pour garantir un modèle picklable et stable (LinearRegression), en attendant le branchement final sur la vraie source data.gouv.
56
-
57
-
3.2 Modèle actuel
58
-
59
-
Dans models/crime_predictor/src/model.py :
60
-
61
-
Classe centrale : CrimeRatePredictor
62
-
63
-
Modèle : LinearRegression (scikit-learn) pour garantir :
64
-
65
-
sérialisation simple via joblib,
66
-
67
-
robustesse sur différentes versions de Python,
68
-
69
-
compatibilité avec une future montée en complexité (XGBoost/LightGBM, Prophet, etc.).
70
-
71
-
Fonctionnalités clés :
72
-
73
-
train(data_url: str) -> dict
74
-
Entraîne le modèle sur des features simulées (actuellement) et renvoie des métriques (R²).
75
-
76
-
save(path: str)
77
-
Sérialise le modèle + méta-données (noms de variables, flag is_trained) dans un .pkl.
78
-
79
-
Ce design te permet ensuite de remplacer très facilement le bloc de génération de données par un vrai pipeline EDA + feature engineering basé sur ton notebook d’analyses.
80
-
4. Installation & utilisation
81
-
4.1 Prérequis
82
-
83
-
Python 3.13 (ou 3.11+) dans un environnement virtuel (.venv).
84
-
85
-
pip à jour.
86
-
87
-
4.2 Installation des dépendances
88
-
89
-
Depuis la racine du projet oasis-security-complete :
90
-
91
-
bash
92
-
cd models/crime_predictor
93
-
pip install -r requirements.txt
94
-
95
-
Le fichier requirements.txt contient notamment :
96
-
97
-
pandas
98
-
99
-
numpy
100
-
101
-
scikit-learn
102
-
103
-
joblib
104
-
105
-
(et, pour les futures étapes) fastapi, uvicorn, mlflow, pyyaml, etc.
106
-
107
-
4.3 Générer (ou régénérer) le modèle
108
-
109
-
Depuis models/crime_predictor/src :
110
-
111
-
bash
112
-
cd models/crime_predictor/src
113
-
python generate_model.py
114
-
115
-
Ce script :
116
-
117
-
instancie CrimeRatePredictor,
118
-
119
-
entraîne un modèle LinearRegression sur des données simulées,
0 commit comments