GradPredict AI

GradPredict AI

Machine Learning-based Graduate Admission Prediction System

Demo Link:
Github Repo Url: Link

The Challenge

Prospective graduate students often struggle to assess their chances of admission to universities. Manual evaluation of applications is time-consuming and subjective.

The Solution

Developed a scalable prediction system using PySpark that accurately predicts admission chances based on academic credentials. The model helps students evaluate their prospects and universities streamline their admission process.

Tech Mastery Showcase

PySparkPySpark

Used for distributed computing and building scalable machine learning pipelines.

PythonPython

Primary programming language for data processing and model development.

Jupyter NotebookJupyter Notebook

Used for interactive development and documentation of the analysis process.

scikit-learnscikit-learn

Utilized for model evaluation and performance metrics calculation.

PandasPandas

Employed for data manipulation and preliminary analysis.

MatplotlibMatplotlib

Integrated for data visualization and result interpretation.

Innovative Logic & Implementation

Data Preprocessing and Feature Selection

Processed admission dataset and selected key features including GRE scores, TOEFL scores, and CGPA for prediction.

1from pyspark.sql import SparkSession
2from pyspark.ml.feature import VectorAssembler
3
4# Create Spark session
5spark = SparkSession.builder.appName("GradPredict").getOrCreate()
6
7# Load and process data
8df = spark.read.csv("admission_dataset.csv", header=True, inferSchema=True)
9
10# Feature selection
11assembler = VectorAssembler(
12    inputCols=['GRE Score', 'TOEFL Score', 'CGPA'],
13    outputCol='features'
14)

Model Training and Evaluation

Implemented Linear Regression model using PySpark ML and evaluated performance metrics.

1from pyspark.ml.regression import LinearRegression
2
3# Split dataset
4train, test = final_data.randomSplit([0.7, 0.3])
5
6# Train model
7lr = LinearRegression(
8    featuresCol='features',
9    labelCol='Chance of Admit'
10)
11model = lr.fit(train)
12
13# Evaluate model
14predictions = model.transform(test)
15evaluator = RegressionEvaluator(
16    predictionCol='prediction',
17    labelCol='Chance of Admit',
18    metricName='r2'
19)

Overcoming Challenges

Scalable Data Processing

Handling large volumes of student data efficiently while maintaining processing speed.

Solution:

Implemented distributed computing using PySpark to process data in parallel.

Feature Selection Optimization

Identifying the most relevant features for accurate admission prediction.

Solution:

Conducted correlation analysis to select key academic indicators that strongly influence admission chances.

Model Performance Tuning

Achieving high prediction accuracy while avoiding overfitting.

Solution:

Implemented cross-validation and regularization techniques to optimize model performance.

Key Learnings & Growth

  • 🚀

    Mastered distributed computing techniques using PySpark for large-scale data processing.

  • 🚀

    Developed expertise in feature selection and correlation analysis for predictive modeling.

  • 🚀

    Enhanced skills in machine learning model development and evaluation.

  • 🚀

    Gained experience in building scalable ML pipelines for real-world applications.