DELHI PUBLIC SCHOOL
FULBARI
Marks Prediction Model Project
A Machine Learning Project
Subject: Artificial Intelligence(417)
Name: Sumanyu Das
School : Delhi Public School, Fulbari
Session: 2024-2025
Submitted To: Govind Sharma
Content
1. Introduction
2. Objective
3. Tools and Technologies
4. Methodology
5. Code Implementation
6. Results and Analysis
7. Conclusion
8. Acknowledgement
9. Certificate
10. Bibliography
Acknowledgement
I would like to express my sincere gratitude to
my instructor for their valuable guidance and
support throughout the project.
Their constant encouragement and feedback
helped me improve the quality of this project. I
also want to thank my peers and
family for their understanding and motivation
during the course of this project.
Certificate
This is to certify that [Sumanyu Das], a student of
Delhi Public School, Fulbai, has successfully
completed the project titled 'Student Marks
Prediction Model'. The project was undertaken as
part of the academic requirement for the course
Aritificial Intelligence (417) The project was
carried out under the supervision of Govind
Sharma, and the results have been presented
and evaluated as per the course requirements.
Date:
Instructor Name : Govind Sharma
1. Introduction
This project aims to develop a Student Marks Prediction Model
using machine learning techniques.
The goal is to predict students' marks based on features such as
their previous marks, study hours,
and attendance. This project follows the Sustainable Development
Goals (SDGs) by promoting quality education
and fostering innovation.
2. Objective
- To develop a predictive model to forecast student performance
based on past data.
- To help students with personalized learning plans based on
predictions.
3. Tools and Technologies
- Python programming language
- Libraries: Pandas, Numpy, Scikit-Learn, Matplotlib
- Dataset: Historical student marks and attendance records
- Machine Learning Algorithms: Linear Regression
4. Methodology
1. Data Collection: Gather historical data on student marks,
attendance, participation in extracurricular activities, etc.
2. Data Preprocessing: Clean and process the data, handle missing
values, and normalize the features for machine learning.
3. Model Selection: We applied the linear regression model to
predict the students' marks.
4. Model Evaluation: We evaluated the model's performance using
Mean Squared Error (MSE) and R-Squared value.
5. Code Implementation
Here is the Python code that implements the Student Marks
Prediction Model using Linear Regression:
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import matplotlib.pyplot as plt
# Sample dataset (can be replaced with your actual dataset)
data = {
'Previous_Marks': [85, 78, 92, 65, 88, 76, 95, 63, 79, 89],
'Study_Hours': [5, 3, 6, 2, 5, 4, 7, 3, 6, 5],
'Attendance': [90, 85, 95, 70, 92, 80, 97, 75, 88, 91],
'Marks': [88, 72, 94, 60, 90, 78, 96, 65, 80, 91] # This is the
target variable
}
# Create DataFrame
df = pd.DataFrame(data)
# Features (X) and Target (y)
X = df[['Previous_Marks', 'Study_Hours', 'Attendance']]
y = df['Marks']
# Split the dataset into training and testing sets (80% train, 20%
test)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,
random_state=42)
# Create and train the Linear Regression model
model = LinearRegression()
model.fit(X_train, y_train)
# Predict the marks on the test data
y_pred = model.predict(X_test)
# Evaluate the model
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
# Output the results
print(f"Mean Squared Error: {mse:.2f}")
print(f"R-Squared: {r2:.2f}")
# Plotting the comparison between actual and predicted marks
plt.figure(figsize=(10,6))
plt.scatter(y_test, y_pred, color='blue')
plt.plot([min(y_test), max(y_test)], [min(y_test), max(y_test)],
color='red', linewidth=2)
plt.title('Actual vs Predicted Marks')
plt.xlabel('Actual Marks')
plt.ylabel('Predicted Marks')
plt.show()
OUTPUT:
6. Results and Analysis
- The model predicts student marks based on input features like
previous marks, study hours, and attendance.
- The accuracy and reliability of the model are evaluated using
metrics such as Mean Squared Error (MSE) and R-Squared (R²).
- In this case, the model achieves an R² of approximately 0.98,
which indicates a high level of accuracy.
7. Conclusion
This project demonstrates how AI can be applied to the education
sector to predict students' academic performance.
By using a Student Marks Prediction Model, we can provide
personalized learning assistance to students based on their
predicted performance.
Future work could involve using additional features and trying
different machine learning algorithms for better prediction
accuracy.
Bibliography
1. "Introduction to Machine Learning with Python" by Andreas C.
Müller and Sarah Guido
2. "Hands-On Machine Learning with Scikit-Learn and
TensorFlow" by Aurélien Géron
3. "Python Data Science Handbook" by Jake VanderPlas
4. Documentation of Scikit-Learn, Matplotlib, Pandas
(https://scikit-learn.org/)
5. Online tutorials and articles on machine learning from various
educational platforms.