Skip to content

This project is a NEET Rank Predictor API built with FastAPI and machine learning models. It predicts a student's NEET rank based on various features like accuracy, time efficiency, difficulty average, and improvement rate. It also suggests eligible colleges based on predicted ranks .

Notifications You must be signed in to change notification settings

Saipradyumnagoud/neet_rank_predictor

Repository files navigation

Here's the README.md for your NEET Rank Predictor project:


NEET Rank Predictor

This project is a NEET Rank Predictor API built with FastAPI and machine learning models. It predicts a student's NEET rank based on various features like accuracy, time efficiency, difficulty average, and improvement rate. It also suggests eligible colleges based on predicted ranks using historical data and college cutoff ranks.

📦 Technologies Used

  • FastAPI - For building the API.
  • Scikit-learn - For training the machine learning model (Random Forest).
  • Pandas & Numpy - For data manipulation and processing.
  • Joblib - For saving and loading the trained model.

🛠 Setup & Installation

Follow these steps to get the project up and running locally.

1️⃣ Create Project Folder

Open your terminal/command prompt and run:

mkdir neet_rank_predictor
cd neet_rank_predictor

2️⃣ Set Up Virtual Environment (Optional but Recommended)

Create a virtual environment:

python -m venv venv

Activate it:

  • Windows:
    venv\Scripts\activate
  • Mac/Linux:
    source venv/bin/activate

3️⃣ Install Dependencies

Install the required dependencies using:

pip install -r requirements.txt

4️⃣ Create Files

Create the following files and add the corresponding code/data:

  • main.py - The FastAPI backend file.
  • neet_historical_results.csv - Dataset with historical NEET data for training the model.
  • neet_college_cutoffs.csv - College cutoff ranks for various colleges.
  • requirements.txt - List of all dependencies.

5️⃣ Run the API Server

Start the server with the following command:

uvicorn main:app --host 0.0.0.0 --port 8000 --reload

Once the server is running, you should see output like:

INFO:     Uvicorn running on http://127.0.0.1:8000

📡 API Endpoints

🔹 Predict Rank (POST Request)

To predict a NEET rank based on input features:

curl -X 'POST' 'http://127.0.0.1:8000/predict-rank' \
-H 'Content-Type: application/json' \
-d '{"accuracy": 85.5, "time_efficiency": 78.2, "difficulty_avg": 3.5, "improvement_rate": 4.2}'

Response Example:

{
  "predicted_rank": 12000
}

🔹 Get College Predictions (GET Request)

To get a list of colleges based on the predicted rank:

curl -X 'GET' 'http://127.0.0.1:8000/predict-college/12000'

Response Example:

{
  "eligible_colleges": ["AIIMS Delhi", "JIPMER Puducherry", "KMC Manipal"]
}

🔹 View API Documentation

Go to http://127.0.0.1:8000/docs to interact with the API using Swagger UI.

📁 Folder Structure

Your project folder should look like this:

neet_rank_predictor/
│── venv/                     # Virtual environment (optional)
│── main.py                    # FastAPI backend
│── neet_historical_results.csv # Training dataset
│── neet_college_cutoffs.csv    # College cutoff ranks
│── neet_rank_model.pkl         # Saved ML model
│── requirements.txt            # Dependencies

📈 Training the Model

The model is trained using the historical NEET data (neet_historical_results.csv). The main.py file loads this data, selects the relevant features, and trains a Random Forest model to predict the NEET rank.

📦 Deployment

To deploy your API, you can use one of the following platforms:

  • Railway.app / Render.com (for free hosting)
  • Docker (for containerization)
  • AWS / Google Cloud (for advanced hosting)

🎯 Final Notes

  • FastAPI backend with a machine learning model for NEET rank prediction.
  • API to predict rank and suggest eligible colleges based on NEET rank.
  • Swagger UI documentation for easy interaction with the API.

Happy coding! 🎉

Let me know if you need any additional features or clarifications! 😊

About

This project is a NEET Rank Predictor API built with FastAPI and machine learning models. It predicts a student's NEET rank based on various features like accuracy, time efficiency, difficulty average, and improvement rate. It also suggests eligible colleges based on predicted ranks .

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages