Projet de
Prévisions des catastrophes
en Python avec Scikit-learn
Lien GitHub
Le projet Plotambora vise à prédire le nombre de décès lors de catastrophes naturelles futures en utilisant Python et divers modèles de scikit-learn. Nous avons optimisé les paramètres des modèles et recherché les combinaisons de colonnes du dataset offrant les meilleures prévisions.
Dans ce projet, nous avons importé et nettoyé les données des catastrophes passées. Ensuite, nous avons étudié les données pour comprendre les tendances et décider des paramètres importants. Nous avons ensuite entraîné différents modèles de prédiction et évalué leurs résultats pour choisir le meilleur.
Pour les prévisions, nous avons utilisé deux approches complémentaires : une classification pour déterminer si des morts ont été enregistrés et une régression pour estimer le nombre de morts enregistrés.
Pour ce faire, nous avons sélectionné les colonnes pertinentes du dataset en utilisant des histogrammes et des graphiques. Les colonnes de localisation, de date, d'identification des catastrophes et de bilans humains ont été retenues. Nous avons géré la colonne 'Total Deaths' en remplissant les valeurs manquantes, en excluant les valeurs extrêmes et en la préparant pour l'entraînement du modèle.
La colonne 'Duration' a été créée à partir des dates de début et de fin des catastrophes, avec des valeurs manquantes remplies par des valeurs par défaut. Une colonne 'Lethality' a été ajoutée pour la classification, déterminée à partir de 'Total Deaths'. Les colonnes en chaînes de caractères ont été mappées en valeurs entières et les valeurs inutiles ont été rejetées du dataset.
Pour déterminer la présence de victimes, nous avons utilisé deux modèles : SVC (Support Vector Classification) et régression logistique. Le modèle SVC a été choisi pour sa précision légèrement supérieure.
Pour estimer le nombre de morts, nous avons utilisé trois modèles : régression linéaire, Lasso et ElasticNet. La régression linéaire a été choisie pour sa précision supérieure, bien que la précision globale soit encore faible.
Malgré de nombreuses actions pour améliorer la précision des modèles, celle-ci reste basse en raison de la nature aléatoire des données. Des améliorations futures pourraient inclure l'optimisation des paramètres avec GridSearchCV et l'utilisation de modèles plus efficaces comme les arbres de décision ou les forêts aléatoires.