Machine Learning web application that predicts a student's expected JEE Rank using historical exam-related data such as marks, percentile, year, and total number of candidates.
The project demonstrates a complete end-to-end Machine Learning workflow including data preprocessing, model training, evaluation, visualization, prediction export, and deployment using Streamlit.
Rank Predictor uses regression-based Machine Learning models to estimate a student's probable JEE rank based on exam statistics.
The project was built to:
- understand regression algorithms
- Data visualization
- practice preprocessing pipelines
- implement real-world ML workflows
- deploy an ML model using Streamlit
The application currently uses:
- Linear Regression
- Random Forest Regressor
where Random Forest provides significantly better accuracy and prediction performance.
β
JEE Rank Prediction
β
Machine Learning Regression Models
β
Data Preprocessing Pipeline
β
Feature Scaling & Missing Value Handling
β
Data Visualization using Matplotlib
β
CSV Export of Predictions
β
Streamlit Interactive UI
β
Real-time Rank Prediction
β
Model Evaluation Metrics
β
End-to-End ML Workflow
| Technology | Purpose |
|---|---|
| Python | Programming Language |
| Pandas | Data Handling |
| NumPy | Numerical Operations |
| Matplotlib | Data Visualization |
| Scikit-learn | Machine Learning |
| Streamlit | Web Application UI |
Rank-Predictor/
β
βββ app.py
βββ model.py
βββ Jee_data.xlsx
βββ linear_regression_predictions.csv
βββ random_forest_predictions.csv
βββ requirements.txt
βββ README.md
βββ images/Data Collection
β
Data Cleaning
β
Feature Engineering
β
Train-Test Split
β
Preprocessing Pipeline
β
Model Training
β
Model Evaluation
β
Prediction Export
β
Streamlit Deployment
The dataset includes:
| Feature | Description |
|---|---|
| Year | Examination Year |
| Marks | Student Marks |
| Percentile | JEE Percentile |
| Total_Candidates | Total Students Appeared |
| Rank | Target Variable |
The project includes multiple visualizations:
- Marks vs Percentile
- Marks vs Rank
- Percentile vs Rank
- Marks Distribution
These plots help understand:
- feature relationships
- rank trends
- score distribution
- dataset patterns
Linear Regression was used as a baseline regression model.
- Simple
- Fast
- Easy to understand
- Performs poorly on nonlinear relationships
- Can predict negative values
Random Forest Regressor is the primary model used in the project.
- Handles nonlinear relationships
- Better prediction accuracy
- Reduces overfitting
- More stable predictions
Random Forest significantly outperformed Linear Regression in:
- RMSE
- MAE
- RΒ² Score
The models are evaluated using:
| Metric | Description |
|---|---|
| RMSE | Root Mean Squared Error |
| MSE | Mean Squared Error |
| MAE | Mean Absolute Error |
| RΒ² Score | Model Accuracy Score |
A complete preprocessing pipeline was implemented using:
SimpleImputerStandardScalerColumnTransformerPipeline
This automates:
- missing value handling
- feature scaling
- preprocessing workflow
The project includes an interactive Streamlit web application where users can:
β
Select Exam Year
β
Enter Marks
β
Enter Percentile
β
Enter Total Candidates
β
Predict Expected JEE Rank
π― JEE Rank Predictor
Select Year: 2025
Enter Marks: 250
Enter Percentile: 99
Enter Total Candidates: 1400000
π― Predicted JEE Rank: 10366
git clone https://github.com/your-username/Rank-Predictor.gitcd Rank-Predictorpip install -r requirements.txtstreamlit run app.pypip freeze > requirements.txtThe project exports prediction results into CSV files:
linear_regression_predictions.csvrandom_forest_predictions.csv
The exported files include:
- actual rank
- predicted rank
- prediction error
| Year | Marks | Percentile | Total Candidates | Predicted Rank |
|---|---|---|---|---|
| 2025 | 250 | 99 | 1400000 | ~10366 |
- Hyperparameter Tuning using GridSearchCV
- XGBoost Integration
- CatBoost Regressor
- Deep Learning Models
- Cloud Deployment
- Live Rank Analysis
- User Authentication
- Advanced Analytics Dashboard
- Model Persistence using Joblib
- Docker Deployment
This project helped in learning:
β
Regression Models
β
Machine Learning Pipelines
β
Data Visualization
β
Feature Engineering
β
Model Evaluation
β
Streamlit Deployment
β
End-to-End ML Workflow
β
Real-world ML Project Structure
- Supervised Learning
- Regression
- Ensemble Learning
- Feature Scaling
- Data Preprocessing
- Model Evaluation
- Machine Learning Deployment
This project is open-source and available under the MIT License.
Arpit Shirbhate
- Data Science Enthusiast
- Machine Learning Learner
- Open Source Contributor
If you found this project useful:
β Star the repository
π΄ Fork the project
π οΈ Contribute improvements
π Share with others