Upload README.md
Browse files
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
|