Skip to content

hendhamdi/Student_Success_Analysis_and_Prediction_Dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 Student Success Analysis and Prediction Dashboard

📖 Overview

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.


📁 Project Structure


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.


🛠 Steps

  1. Generate Dataset
    Run generate_dataset.py to create a simulated student dataset.

  2. Data Analysis
    Use etape_2_analyse.ipynb to explore, visualize, and analyze the dataset.

  3. Predictive Modeling
    Use etape_3_modelisation.ipynb to train and evaluate machine learning models (XGBoost is used here).

  4. Dashboard & API

    • api_streamlit.py provides a web interface to input student data and predict success.
    • api_server.py stores student data in a CSV or SQLite database.

📊 Features

  • Dataset simulation with personal, academic, and behavioral data
  • Data visualization and correlation analysis
  • Predictive model for student success
  • Real-time prediction dashboard with recommendations

⚡ Requirements

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.

About

This mini-project focuses on analyzing and predicting student success.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors