College Prediction System
The College Prediction System is a practical web application designed to help engineering aspirants explore suitable college options from their entrance-exam profile. Choosing colleges during counselling can be difficult because students need to consider scores, categories, preferred branches, previous admission patterns, and the competitiveness of different institutions. This project brings those inputs together in a simple Flask-based interface and presents a ranked set of recommendations.
The application is developed with Python, Flask, HTML, CSS, pandas, and scikit-learn. A machine learning pipeline processes the student’s exam, score, category, preferred branch, and gender, then predicts college classes from the project dataset. The result page shows the top match, model probability, historical cutoff information, and a short ranked list so students can review several possibilities rather than depending on a single result.
Complete Advance AI Topics: Click Here
Real Time Projects on YouTube:- DecodeIT
Project Overview
| Project Name | College Prediction System |
|---|---|
| Language/s Used | Python, HTML, CSS, JavaScript |
| Framework | Flask |
| Machine Learning | scikit-learn Random Forest |
| Data | CSV and JSON |
| History Database | SQLite |
About the Project
The project combines a student-friendly form with a trained classification model. Instead of displaying a static college list, the application uses the submitted profile to estimate which college class is most suitable according to the patterns available in its training data. The system supports JEE Main and JEE Advanced, along with common categories and engineering branches.
The included dataset is structured for academic demonstration. It contains college, city, institution type, score, exam, category, branch, gender, and cutoff-related fields. For real counselling use, the demonstration records should be replaced with verified and current admission data from appropriate official sources. The model should also be retrained whenever the underlying data changes significantly.
Key Features
- Student Prediction Form: Collects exam, score, category, branch, and gender information with basic validation.
- Machine Learning Prediction: Uses a saved scikit-learn pipeline to generate a predicted college.
- Ranked College List: Displays leading model classes with probabilities and college details.
- Professional Dashboard: Provides an education-focused interface with cards, navigation, workflow indicators, and responsive layouts.
- Prediction History: Stores recent prediction activity in a lightweight SQLite database.
- Supporting Pages: Includes About, FAQ, Contact, and History sections connected through the main navigation.
- CSV and JSON Data: Keeps college information separate from the application logic, making the project easier to update.
Project Modules
1. Student Prediction Module
This is the main entry point of the application. A student selects an entrance exam, enters a score, chooses a category and branch, and selects a gender option. The Flask route validates the submitted values before sending them to the machine learning pipeline.
2. Machine Learning Module
The training script loads the CSV dataset, separates input features from the target college name, encodes categorical values, and keeps the score as a numeric feature. A Random Forest classifier is then trained through a reusable scikit-learn pipeline. The completed pipeline is saved as a .pkl file so the web application can make predictions without retraining on every request.
3. Recommendation Module
After prediction, the system reads the model probabilities and sorts them from highest to lowest. The top results are matched with the college dataset so that the interface can display the city, institution type, and cutoff-related information alongside the model probability.
4. Prediction History Module
Each completed prediction is stored in SQLite with the student’s selected profile, predicted college, probability, and timestamp. The History page presents the latest records in a professional table, giving the project a connected workflow rather than isolated static pages.
Professional Dashboard UI
The interface uses a dedicated education-oriented visual identity rather than a generic CRUD layout. The top navigation provides quick access to prediction, history, project information, FAQs, and contact details. The home page uses a prominent prediction introduction, workflow panel, statistics cards, and a structured form. Result screens use confidence meters, summary cards, and a ranked table.
The layout is responsive so the form, cards, navigation, tables, and result panels can adapt to desktop, laptop, tablet, and mobile screens. The design also uses clear labels, spacing, status badges, focused form controls, and readable typography to make the project suitable for a college demonstration.
Download complete source code
Screenshot







How the System Works
- The student opens the College Prediction System.
- The student enters the required academic profile.
- Flask validates the form values.
- The saved machine learning pipeline processes the profile.
- The classifier returns a predicted college and class probabilities.
- The application matches the result with college information from the dataset.
- The system displays a top recommendation and a ranked shortlist.
- The prediction is recorded in SQLite for recent activity.
Installation and Setup
Install Python 3.7 or higher and open the project folder in VS Code. Create and activate a virtual environment, then install the packages listed in requirements.txt. Before starting Flask, run the model training script so the required PKL file is created.
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python scripts/train_model.py
python run.py
After the server starts, open http://127.0.0.1:5000/ in a browser. The project is organized so that templates, static files, data, the saved model, and training code remain in separate folders.
Frequently Asked Questions
What is the purpose of this project?
It demonstrates how machine learning can be connected to a Flask web application to create profile-based college recommendations.
Which entrance exams are supported?
The current interface provides JEE Main and JEE Advanced as the available exam choices.
Does the project use a traditional SQL database for college data?
No. College information is maintained in CSV and JSON files. SQLite is used for prediction history.
Can the dataset be updated?
Yes. A verified dataset can replace the demonstration records, after which the model should be retrained using the supplied training script.
Should the prediction be treated as an official admission result?
No. It is a college-level machine learning project and its output should be treated as an educational estimate. Students should verify current counselling rules and official cut-offs independently.
Future Scope
- Integrate larger and regularly updated verified admission datasets.
- Add more engineering colleges and state-level counselling categories.
- Support additional entrance examinations when suitable datasets are available.
- Add richer filters for college type, city, branch, and counselling preferences.
- Provide downloadable prediction reports for student counselling preparation.
- Improve model evaluation with larger historical datasets and additional validation techniques.
Data and Model Considerations
The quality of a prediction depends strongly on the quality of the training records. The project therefore keeps the data file separate from the application so it can be reviewed and updated without changing the Flask interface. During a college demonstration, students can explain how categorical fields are encoded, how the numeric score is passed to the model, and why retraining is necessary after meaningful dataset changes. The probability shown by the interface is a model output, not a guarantee of admission, and it should always be interpreted together with current official information.
Conclusion
The College Prediction System is a strong medium-level college project because it connects data preparation, machine learning, Flask routing, responsive web design, and database-backed activity into one practical workflow. It goes beyond a static recommendation page by accepting a structured student profile, producing ranked model results, displaying supporting college information, and maintaining recent prediction history. With verified current admission data and careful model evaluation, the project can be extended into a more useful academic counselling support tool while remaining understandable and manageable for college students.
Keywords
college prediction system using python, college predictor system, college prediction system, college predictor using machine learning, college prediction system using machine learning, college admission prediction using python, college admission predictor, college predictor project in python, college prediction project with source code, college prediction system using flask, college predictor using flask, machine learning college predictor, college admission prediction machine learning, JEE college predictor, JEE Main college predictor, JEE Advanced college predictor, IIT college predictor, NIT college predictor, engineering college predictor, college recommendation system using python, college prediction project, python machine learning project, Flask machine learning project, college predictor web application, college prediction system source code