Skip to content
Kadri-cloudPublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

9 Commits

Folders and files

Repository files navigation

Student Exam Performance Prediction: A Machine Learning Web Application

This project delivers a web application that predicts a student's potential math score based on various input factors. It leverages machine learning techniques to analyze historical student data and extract meaningful patterns. The application can provide valuable insights to students, educators, and administrators in understanding factors that influence academic performance.

Key Features:

  • Production-ready Machine Learning Model: The project implements a robust model training and evaluation process. It utilizes data cleaning, pre-processing, feature engineering, model selection, and hyperparameter tuning to ensure the model's generalizability and accuracy.
  • User-Friendly Web Interface: The web application offers a simple interface for users to enter their data and receive predicted math scores. HTML forms are used for data collection, and Flask facilitates efficient data handling and responses.

Technical Highlights:

  • Machine Learning Pipeline (src/pipeline):
    • Data Pre-processing (src/pipeline/data_transformation.py):
      • Handles missing values using techniques like SimpleImputer.
      • Scales numerical data using StandardScaler and encodes categorical features using OneHotEncoder.
      • Employs a DataTransformation class to encapsulate data pre-processing logic.
    • Model Training (src/pipeline/model_trainer.py):
      • Implements various regression algorithms like Random Forest, Gradient Boosting, XGBoost, CatBoost, and others to find the best performing model.
      • Utilizes GridSearchCV with customized parameter grids for each model.
      • Employs a ModelTrainer class to manage the model training workflow.
    • Model Evaluation:
      • Employs R-squared score as a primary evaluation metric.
      • Considers incorporating additional metrics like Mean Squared Error (MSE) or Mean Absolute Error (MAE) for a more comprehensive evaluation.
  • API Design (app.py):
    • Flask app is responsible for routing and handling user interactions.
    • Custom CustomData class (src/pipeline) facilitates data extraction from user input.
  • Error Handling and Logging (src/pipeline):
    • Custom CustomException class is implemented to handle exceptions gracefully.
    • Utilizes logging to track application execution and potential issues.

Code Structure:

The project follows a well-organized structure, separating concerns into different directories:

  • data: Stores datasets used for training and testing (potentially with subdirectories for raw and processed data).
  • pipeline: Contains code for building and managing the machine learning pipeline (data pre-processing, model training, evaluation).
  • app.py: The main script for the web application, handling routing and user interactions.
  • requirements.txt: Lists the Python dependencies required to run the project.

Target Audience:

This project primarily targets:

  • Students: Can gain insights into potential exam scores and identify areas for improvement.
  • Educators: Can leverage the predictions to tailor teaching strategies and assess students' progress.
  • Administrators: Can use the model's findings to identify factors affecting school-wide performance and allocate resources efficiently.

Future Enhancements:

  • Model Explainability: Integrate techniques like LIME or SHAP to explain predictions, fostering trust and understanding.
  • Feature Engineering: Explore creating new features from existing data to potentially improve model performance.
  • User Authentication and Data Management: Allow users to track their past predictions and analyze trends.
  • Advanced Visualization Tools: Integrate visualization libraries to visually represent the model's findings.

Conclusion:

This project showcases the power of machine learning for predicting student exam performance. It demonstrates the ability to build a production-grade model, develop a user-friendly interface, and handle potential challenges. The project provides a solid foundation for future enhancements towards a more comprehensive and informative prediction system.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages