Site icon DataFlair

ML Project – Admission Chance Predictor using Logistic Regression

Machine Learning courses with 110+ Real-time projects Start Now!!

Program 1

Admission Dataset

# Admission Chance Predictor Based on Test Scores and Profile
# This project uses a Logistic Regression model to predict
# whether a student will be admitted (1) or not admitted (0) based on:
# GRE score , TOEFL score ,SOP (Statement of Purpose) score, CGPA, Research experience

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, classification_report
import seaborn as sns
import matplotlib.pyplot as plt
import os
# Load dataset
df = pd.read_csv("admission_data.csv")
#print(df.isnull().sum())

# Features and target
X = df[['GRE', 'TOEFL', 'SOP', 'CGPA', 'Research']]  # Independed variable
y = df['Admitted'] # Depended

# x_train---> Training data set for Independed variable
# x_test---> Testing data set for Independed variable
# y_train---> Training data set for depended variable
# y_test---> Testing data set for depended variable

# Train-test split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
#print(X_test)


#Train model
model = LogisticRegression()
model.fit(X_train, y_train)
print(model)

# Predict
y_pred = model.predict(X_test)

# # Accuracy
print("Accuracy:", accuracy_score(y_test, y_pred))
#print("\nClassification Report:\n", classification_report(y_test, y_pred))

# # Predict new student
print("\n--- Predict Admission ---")
gre = float(input("Enter GRE Score: "))
toefl = float(input("Enter TOEFL Score: "))
sop = float(input("Enter SOP Score (1-5): "))
cgpa = float(input("Enter CGPA (out of 10): "))
research = int(input("Research Experience (1 = Yes, 0 = No): "))

admit_prob = model.predict_proba([[gre, toefl, sop, cgpa, research]])[0][1]
print(admit_prob*100)
admit_class = model.predict([[gre, toefl, sop, cgpa, research]])[0]
print(admit_class)

print(f"\nPredicted Chance of Admission: {admit_prob*100:.2f}%")
print("Prediction:", "Admitted" if admit_class == 1 else "Not Admitted")
# os.system('cls')
# # Plot correlation heatmap
# # sns.heatmap(df.corr(), annot=True, cmap="coolwarm")
# # plt.title("Feature Correlation Matrix")
# # plt.show()

 

Exit mobile version