SuccessSage : indicateur et prédicteur de performance aux examens des étudiants
SuccessSage est un projet complet d'apprentissage automatique de bout en bout visant à prédire les performances des étudiants aux examens. Il exploite une variété de données éducatives et démographiques pour fournir des informations et des prévisions, permettant aux acteurs de l'éducation de mieux comprendre et d'améliorer les résultats des élèves.
Caractéristiques
- Prédiction des performances : utilise une variété de modèles d'apprentissage automatique pour prédire les performances des étudiants aux examens en fonction de leurs données démographiques et académiques.
- Optimisation du modèle : utilise une recherche de grille pour trouver les meilleurs hyperparamètres pour chaque modèle, garantissant ainsi des performances optimales.
- Pipeline de données : comprend des pipelines complets d'ingestion, de transformation et de formation de modèles de données, qui automatisent le processus depuis les données brutes jusqu'aux prédictions.
- Interface Web : une interface Web interactive basée sur Flask pour faciliter la saisie des données et la visualisation des résultats.
- Journalisation et gestion des erreurs : journalisation complète et gestion des exceptions personnalisées pour garantir la traçabilité et la facilité de débogage.
Aperçu des données
Le projet utilise un ensemble de données contenant plusieurs caractéristiques qui indiquent les performances académiques des étudiants :
- Informations démographiques : comprend le sexe, la race/l'origine ethnique et si l'étudiant reçoit un déjeuner gratuit/à prix réduit.
- Formation académique : couvre le niveau d'éducation des parents et si l'étudiant a suivi un cours de préparation aux tests.
- Scores : les scores de lecture et d'écriture sont utilisés comme fonctionnalités d'entrée.
Informatique
- Ingestion de données : ingère automatiquement les données d'un fichier CSV, les divise en ensembles de données de formation et de test.
- Transformation des données : transforme les données catégorielles à l'aide d'un encodage à chaud et met à l'échelle les caractéristiques numériques pour les préparer à la formation du modèle.
- Ensembles de données de formation et de test : les données préparées sont divisées en ensembles de formation et de test pour évaluer les performances du modèle.
Installation
Cloner le référentiel
git clone https://github.com/Shubham235Chandra/SuccessSage.git
cd SuccessSage
Configurer un environnement virtuel (facultatif mais recommandé)
python -m venv venv
source venv/bin/activate # On Windows use `venvScriptsactivate`
Exigences d'installation
pip install -r requirements.txt
Exécution de l'application
Démarrez l'application Flask
Cela exécutera l'application Web sur localhost
sur le port 5000
.
Accéder à l'interface Web
- Ouvrez un navigateur et accédez à
http://localhost:5000/
. - Utilisez le formulaire Web pour saisir les données des étudiants et recevoir des prédictions.
Structure du projet
-
app.py
: point d'entrée de l'application Flask. -
application.py
: Gère les itinéraires et la gestion des formulaires Web. -
predict_pipeline.py
: gère le pipeline de prédiction, y compris le prétraitement et les prédictions du modèle. -
data_ingestion.py
: Gère l'ingestion et le traitement initial des données. -
data_transformation.py
: Implémente le pipeline de prétraitement. -
model_trainer.py
: Gère la formation de modèles d'apprentissage automatique à l'aide de divers algorithmes tels que RandomForest, DecisionTree, GradientBoosting, etc. -
utils.py
: Fonctions utilitaires pour la sérialisation et d'autres tâches. -
logger.py
: configure la journalisation pour la surveillance. -
exception.py
: gestion des exceptions personnalisée pour une gestion robuste des erreurs.
Contribuer
Les contributions sont les bienvenues ! Veuillez créer le référentiel et soumettre des demandes d'extraction avec les modifications proposées.
Licence
Distribué sous licence MIT. Voir le fichier LICENSE
pour plus d'informations.