MustaphaL commited on
Commit
275ccde
·
verified ·
1 Parent(s): 1e250f0

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +73 -0
README.md ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ tags:
4
+ - pipeline-integrity
5
+ - corrosion-prediction
6
+ - thickness-prediction
7
+ - predictive-maintenance
8
+ - xgboost
9
+ - tabular
10
+ - oil-gas
11
+ - industrial
12
+ pipeline_tag: tabular-regression
13
+ library_name: xgboost
14
+ datasets:
15
+ - MustaphaL/pipeline-thickness-dataset
16
+ language:
17
+ - en
18
+ - fr
19
+ ---
20
+
21
+ # 🔧 Pipeline Thickness Predictor
22
+
23
+ Modèles de prédiction d'épaisseur de tuyauterie basés sur l'historique des mesures, pour le suivi d'intégrité et la prédiction de corrosion.
24
+
25
+ ## 🎯 4 Tâches de Prédiction
26
+
27
+ | Tâche | Modèle | Métrique | Performance |
28
+ |-------|--------|----------|-------------|
29
+ | **Épaisseur** (mm) | XGBoost | RMSE | 0.0585 mm |
30
+ | **Taux de corrosion** (mm/an) | XGBoost | R² | 0.9987 |
31
+ | **Durée de vie restante** (années) | XGBoost | R² | 0.9883 |
32
+ | **Niveau d'alerte** | XGBoost | Accuracy | 98.56% |
33
+
34
+ ## 📊 Comparaison des Modèles (Prédiction Épaisseur)
35
+
36
+ | Modèle | RMSE (mm) | MAE (mm) | R² | MAPE (%) |
37
+ |--------|-----------|----------|-----|----------|
38
+ | XGBoost | 0.0585 | 0.0312 | 0.9999 | 1.24% |
39
+ | Random Forest | 0.0719 | 0.0314 | 0.9998 | 1.05% |
40
+ | Gradient Boosting | 0.0395 | 0.0243 | 0.9999 | 0.91% |
41
+ | Ridge (baseline) | 0.0212 | 0.0108 | 1.0000 | 0.86% |
42
+
43
+ ## 🔑 Top Features (SHAP Analysis)
44
+
45
+ 1. `thickness_lag_1` - Dernière mesure d'épaisseur (4.13)
46
+ 2. `thickness_lag_2` - Avant-dernière mesure (0.74)
47
+ 3. `thickness_change` - Variation récente (0.10)
48
+ 4. `thickness_lag_3` - Mesure n-3 (0.05)
49
+ 5. `corr_rate_rolling_3` - Moyenne mobile corrosion (0.03)
50
+
51
+ ## 💻 Utilisation
52
+
53
+ ```python
54
+ import joblib
55
+ from huggingface_hub import hf_hub_download
56
+
57
+ # Télécharger le modèle
58
+ model_path = hf_hub_download("MustaphaL/pipeline-thickness-predictor", "models/model_thickness_xgb.joblib")
59
+ model = joblib.load(model_path)
60
+
61
+ # Prédire
62
+ prediction = model.predict(features)
63
+ ```
64
+
65
+ ## 📐 Méthodologie
66
+
67
+ - **Dataset** : 8 440 mesures synthétiques basées sur les modèles de Waard-Milliams, API 570, NACE SP0775
68
+ - **Split** : Par segment (80/20) pour éviter le data leakage temporel
69
+ - **Feature engineering** : Lag features, moyennes mobiles, interactions physiques, features SHAP
70
+ - **Référence** : Grinsztajn et al. "Why do tree-based models still outperform deep learning on tabular data?" (NeurIPS 2022)
71
+
72
+ ## 📄 Licence
73
+ MIT