Ce projet utilise des techniques de Machine Learning pour prédire la vitesse d'adoption des animaux à partir d'un jeu de données recueilli sur une plateforme de bien-être animal en Malaisie. Ce jeu de données comprend des informations détaillées sur plus de 150 000 animaux et vise à améliorer le taux d'adoption en identifiant les facteurs qui accélèrent ou ralentissent leur adoption.
Le projet est structuré comme suit:
data/: Contient les fichiers de données brutes et les scripts pour la préparation des données.src/models/: Contient les scripts pour entraîner et prédire les modèles.src/: Contient les scripts source pour le traitement des données, la construction des caractéristiques, etc.tests/: Contient les tests pour les modules du projet.
adoption_animal.csv: Données principales incluant la vitesse d'adoption et autres caractéristiques des animaux.categorie_race.csv: Informations sur les races des animaux.categorie_couleur.csv: Informations sur les couleurs des animaux.categorie_region.csv: Informations sur les régions géographiques des données.
Ce projet utilise Python avec plusieurs bibliothèques spécialisées en sciences des données. Les dépendances exactes sont listées dans le fichier requirements.txt.
Pour installer les dépendances nécessaires, exécutez:
pip install -r requirements.txtPour exécuter les pipelines de formation et de prédiction, les scripts principaux sont:
- main_train_model.py: Pour entraîner le modèle.
- main_predict.py: Pour exécuter des prédictions à partir du modèle entraîné.
ZenML est utilisé dans ce projet pour orchestrer les pipelines de Machine Learning, gérer les expériences, et suivre les performances des modèles. Voici les commandes principales de ZenML utilisées et leurs explications :
zenml init Cette commande initialise un répertoire de projet ZenML, créant une configuration de base pour gérer les pipelines et les artefacts de manière organisée.
zenml integration install mlflow -yInstalle l'intégration MLflow automatiquement. MLflow est utilisé pour le suivi des expériences, la gestion des modèles, et la visualisation des métriques.
zenml experiment-tracker register mlflow_experiment_tracker --flavor=mlflowEnregistre un tracker d'expériences utilisant MLflow. Ce suiveur permet de documenter, comparer et visualiser les performances de diverses expériences et configurations de modèle.
zenml stack register mlflow_stack -e mlflow_experiment_tracker -a default -o default --setCrée et configure une stack ZenML nommée mlflow_stack avec MLflow comme tracker d'expériences, utilisant les paramètres par défaut pour l'orchestrateur et le dépôt d'artefacts. Cette stack est ensuite définie comme la configuration active pour le projet.
zenml model-deployer register mlflow_deployer --flavor=mlflowPermet de définir mlflow comme deployer pour effectuer des predictions via l'api en local
mlflow ui --backend-store-uri <TRACKING_URL>Permet de lancer le serveur Mlflow en local. Il faut aller récupérer l'url dans les métadonnés d'une des steps qui utilise mlflow
```bash
zenml up --blocking
Permet de lancer zenml sur window
- Charles Logeais
- Julian Alizay
- Duncan Lopes