Skip to content

Ayush-ak87/Student-Performance-Prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

End-to-End ML Project: Student Performance Prediction

GitHub Repo

Overview

This project focuses on predicting student performance using machine learning techniques. By constructing an end-to-end ML pipeline, the project automates the entire workflow from data ingestion, transformation, and model training to real-time predictions using a Flask-based API. The model is deployed on various cloud platforms for scalability and accessibility.

Key Features

  • End-to-End ML Pipeline: Covers the complete machine learning workflow, including data ingestion, preprocessing, model training, evaluation, and prediction.
  • Exploratory Data Analysis (EDA): Insightful visualizations and statistical analysis to explore and understand data patterns.
  • Feature Engineering: Creation of new features and optimization to improve model accuracy.
  • Hyperparameter Tuning: Systematic approach to find the best hyperparameters for optimal model performance.
  • Flask-Based API: Developed a real-time prediction pipeline using Flask for easy deployment and integration.
  • Cloud Deployment: Model deployed on cloud platforms for real-world accessibility and scalability.

Project Workflow

  1. Data Ingestion: Loading and cleaning the dataset.
  2. EDA and Visualization: Conducting in-depth analysis of the dataset to gain insights into student performance.
  3. Feature Engineering: Creating meaningful features from raw data to improve model performance.
  4. Model Training and Evaluation:
    • Implementing various machine learning algorithms (e.g., Random Forest, XGBoost).
    • Evaluating models using metrics like accuracy, precision, recall, and F1-score.
  5. Hyperparameter Tuning: Fine-tuning the models to enhance performance using grid search or random search.
  6. Model Deployment:
    • Created a REST API using Flask for real-time predictions.
    • Deployed the trained model on cloud platforms like AWS, Azure etc.

Technologies Used

  • Programming Languages: Python
  • Libraries & Tools:
    • Pandas, NumPy: Data manipulation and analysis
    • Matplotlib, Seaborn: Data visualization
    • Scikit-learn, XGBoost: Machine learning algorithms and evaluation
    • Flask: API development for predictions
    • Cloud Platforms: AWS, Heroku (or other cloud services)

Installation & Setup

  1. Clone the repository:
    git clone https://github.com/Ayush-ak87/ML-Project.git
  2. Navigate to the project directory:
    cd ML-Project
  3. Install the required dependencies:
    pip install -r requirements.txt
  4. Run the Flask API:
    python app.py

Usage

Once the Flask API is up and running, you can make a POST request to the endpoint to predict student performance based on the input features.

Example request:

curl -X POST http://localhost:5000/predict -H "Content-Type: application/json" -d '{
    "feature1": value,
    "feature2": value,
    ...
}'

The API will return a prediction based on the trained model.

Model Evaluation

  • Performance of the model is evaluated using accuracy, F1-score, and other classification metrics.
  • Hyperparameter tuning is used to ensure optimal performance of the selected model.

Future Enhancements

  • Add more sophisticated models such as neural networks.
  • Integrate additional cloud platforms for wider accessibility.
  • Enhance API functionality with authentication and logging.

Contributing

Contributions are welcome! Please feel free to submit a pull request or raise an issue.

License

This project is licensed under the MIT License.


Feel free to modify this as per your specific requirements!

About

End To End ML Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages