Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graduate Admission Prediction System

Predicts your chances of getting into grad school using machine learning. Also analyzes your Statement of Purpose and tells you what to improve.

What it does

  • Predicts admission probability based on GRE, TOEFL, CGPA, etc.
  • Shows which factors help or hurt your chances (SHAP analysis)
  • Evaluates your SOP using AI and gives scores on 7 criteria
  • Suggests improvements for weak areas
  • Auto-fills university ratings from world rankings

Tech used

  • Frontend: Streamlit
  • Backend: FastAPI
  • ML Model: Trained on admission dataset
  • Explainability: SHAP
  • SOP Analysis: Groq API (LLaMA models)

Setup

Prerequisites

Installation

  1. Clone the repo
git clone https://github.com/saishagoel27/Graduate-Admission-Prediction-System
cd Graduate-Admission-Prediction-System
  1. Create virtual environment
python -m venv venv

# On Windows
venv\Scripts\activate

# On Mac/Linux  
source venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. Add your Groq API key

Create .streamlit/secrets.toml:

GROQ_API_KEY = "your-api-key-here"

Running the app

Option 1: Using the script (Git Bash/Linux/Mac)

chmod +x run_all.sh
./run_all.sh

Option 2: Manual (Windows/any OS)

Terminal 1 - Backend:

uvicorn backend.main:app --reload

Terminal 2 - Frontend:

streamlit run frontend/app.py

Open http://localhost:8501 in your browser.

How to use

  1. Fill in your academic details (GRE, TOEFL, CGPA)
  2. Enter university name (optional - auto-fills rating)
  3. Paste your Statement of Purpose
  4. Click "Predict My Admission Chances"
  5. Check the sidebar for detailed analysis:
    • SHAP Analysis: see what's helping/hurting
    • SOP Analysis: get scores on clarity, grammar, etc.
    • Recommendations: actionable tips to improve

Project structure

.
├── backend/
│   ├── main.py              # FastAPI routes
│   ├── utils.py             # SOP scoring logic
│   └── models/              # Trained ML models
├── frontend/
│   └── app.py               # Streamlit UI
├── data/
│   ├── admission_data.csv   # Training data
│   └── UpdatedWorldUniRank23.xlsx
├── notebooks/
│   └── admission.ipynb      # Model training notebook
├── .streamlit/
│   └── secrets.toml         # API keys (don't commit!)
├── requirements.txt
└── run_all.sh

Demo

Project.Walkthrough.mp4

Notes

  • The SOP analysis uses Groq's LLaMA models (free tier available)
  • Predictions are based on historical data - actual results may vary
  • University ratings are from 2023 world rankings

Troubleshooting

Backend won't start:

  • Make sure port 8000 isn't in use
  • Check if all dependencies installed correctly

SOP analysis fails:

  • Verify your Groq API key is correct
  • Check your internet connection
  • Free tier has rate limits - wait a bit and retry

Frontend can't connect to backend:

  • Ensure backend is running on port 8000
  • Check firewall settings

License

MIT License - do whatever you want with it

Authors

Built by Anishaa and Saisha for NTCC In-House Practical

About

A system that uses machine learning to estimate the probability of a student being admitted to a graduate program based on their academic profile and application materials.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages