This mini-project focuses on analyzing and predicting student success at the Institut Supérieur d’Informatique (ISI). Students are enrolled in various programs (Licence, Engineering Cycle, and Master's) with diverse study modes (on-site, hybrid, online). The goal of this project is to:
- Analyze student profiles, performance, and behaviors
- Predict the risk of failure or success
- Provide personalized recommendations and guidance
The project is implemented in Python and uses Streamlit for the interactive dashboard.
MP_PYTHON/
│
├─ dataset/ # Contains the generated student data
│ |─ dataset_reussite_etudiants_ISI.csv # Dataset final généré pour l'analyse et la modélisation
│ └─ generate_dataset.py # Python script that generates the simulated dataset
│
├─ modeles_sauvegardes/ # Folder to store trained ML models
│ └─ xgboost_model.pkl # Trained XGBoost model saved after training
│
├─ modelisation/ # Notebook for predictive modeling
│ └─ etape_3_modelisation.ipynb # Step 3: Preprocessing, training, and model evaluation
│
├─ analyse/ # Notebook for exploratory data analysis
│ └─ etape_2_analyse.ipynb # Step 2: Descriptive analysis, visualizations, and correlations
│
├─ interfaces/ # Contains everything related to the interface and backend
│ |─ database/ # Local storage for user data
│ |─ etudiants.csv # CSV file of students added via the application
│ └─ etudiants.db # SQLite database for data persistence
│ |─ api_server.py # Flask API for managing students and storing results
│ └─ api_streamlit.py # Streamlit app for the interactive dashboard and prediction
│
│
└─ README.md # Full project documentation: instructions, objectives, structure, etc.
-
Generate Dataset
Rungenerate_dataset.pyto create a simulated student dataset. -
Data Analysis
Useetape_2_analyse.ipynbto explore, visualize, and analyze the dataset. -
Predictive Modeling
Useetape_3_modelisation.ipynbto train and evaluate machine learning models (XGBoost is used here). -
Dashboard & API
api_streamlit.pyprovides a web interface to input student data and predict success.api_server.pystores student data in a CSV or SQLite database.
- Dataset simulation with personal, academic, and behavioral data
- Data visualization and correlation analysis
- Predictive model for student success
- Real-time prediction dashboard with recommendations
pip install pandas numpy scikit-learn seaborn matplotlib joblib streamlit xgboost flask⚖️ Licence
This project is distributed under the MIT License — you are free to use it for educational or personal purposes, as long as the original author is credited.
⭐ Student Success Prediction: An intelligent and interactive tool to analyze and predict student outcomes.