0% found this document useful (0 votes)
245 views106 pages

Multiclass Prediction Model For Student Grade Prediction Using Machine Learning

This document presents a project report on developing a multiclass prediction model to predict student grades using machine learning techniques. It aims to address challenges in handling imbalanced datasets and improving prediction performance. The proposed model uses oversampling with SMOTE and feature selection to reduce overfitting and misclassification for imbalanced multi-classification grade prediction. The model is developed using a real dataset of 1282 students and evaluated against various machine learning algorithms like decision tree, SVM, naive bayes, KNN, logistic regression and random forest. The results show the proposed model integrated with random forest achieves the highest F-measure of 99.5%, indicating it can enhance prediction performance for imbalanced multi-classification grade prediction problems.

Uploaded by

ramesh reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
245 views106 pages

Multiclass Prediction Model For Student Grade Prediction Using Machine Learning

This document presents a project report on developing a multiclass prediction model to predict student grades using machine learning techniques. It aims to address challenges in handling imbalanced datasets and improving prediction performance. The proposed model uses oversampling with SMOTE and feature selection to reduce overfitting and misclassification for imbalanced multi-classification grade prediction. The model is developed using a real dataset of 1282 students and evaluated against various machine learning algorithms like decision tree, SVM, naive bayes, KNN, logistic regression and random forest. The results show the proposed model integrated with random forest achieves the highest F-measure of 99.5%, indicating it can enhance prediction performance for imbalanced multi-classification grade prediction problems.

Uploaded by

ramesh reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 106

A

PROJECT REPORT ON
MULTICLASS PREDICTION MODEL FOR STUDENT GRADE
PREDICTION USING MACHINE LEARNING
Submitted in partial fulfilment of
the Requirements for the award of the degree of

MASTER OF COMPUTER APPLICATIONS

By

Ms. DUDIMANI REDDY SNEHA LATHA


Regd.No:21701F00B4

Under the Guidance of

Mr. M. HARI BABU


Assistant Professor
DEPARTMENT OF COMPUTER APPLICATIONS

ANNAMACHARYA INSTITUTE OF TECHNOLOGY AND SCIENCES


(AUTONOMOUS)
NEW BOYANAPALLI-516126, RAJAMPET (A.P).
(Accredited A-Grade by NAAC, Bangalore)
(Approved by A.I.C.T.E, New Delhi & Affiliated to J.N.T.U.A, Ananthapur)

2021-2023

*****
ANNAMACHARYA INSTITUTE OF TECHNOLOGY AND SCIENCES
(AUTONOMOUS)

NEW BOYANAPALLI, RAJAMPET-516126.

Affiliated to
JAWAHARLAL NEHURU TECHNOLOGICAL UNIVERSITY,
ANANTHAPUR
DEPARTMENT OF
MASTER OF COMPUTER APPLICATIONS

CERTIFICATE

This is to certify that the project work entitled “ MULTICLASS PREDICTION MODEL FOR
STUDENT GRADE PREDICTION USING MACHINE LEARNING” is the bonafide work
carried out by DUDIMANI REDDY SNEHA LATHA, Regd. No: 21701F00B4 is submitted in
the partial fulfillment of the requirements for the award of degree of Master of Computer
Applications during the year 2021-2023.

Project Guide Head of the department

Internal Examiner External Examiner


DECLARATION

I here by to declare that the project work entitled “Multiclass Prediction Model For
Student Grade Prediction Using Machine Learning” submitted to the Annamacharya
Institute of Technology and Sciences (Autonomous) , Rajampet , is a record of an original
work done by me under guidance of Mr. M. Hari Babu, Assistant Professor of
Annamacharya Institute of Technology and Sciences (Autonomous) and this project work has
not performed the basic for the award of any degree or diploma/Associateship/fellowship and
simple project, if any.

Place: Rajampet DUDIMANI REDDY SNEHA LATHA


Date: Regd. No: 21701F00B4
ACKNOWLEDGMENT
An endeavor over a long period can be successful only with the advice of many
well-wishers. I take this opportunity to express my deep gratitude and appreciation of
all those who encouraged me to successfully complete the project.

My sincere thanks due towards to Dr. S.M.V. NARAYANA, principal,


Annamacharya Institute of Technology and sciences (Autonomous), New
Boyanapalli, Rajampet, who made me to become a complete student from this
college with his dynamic decisions.

With profound sense of gratitude and regards, I acknowledge with great pleasure the
guidance and support extended by Dr. N. Mallikharjuna Rao, Dean of Academics,
department of MCA, Annamacharya Institute of Technology and Sciences, New
Boyanapalli, Rajampet.

With profound sense of gratitude and regards, I acknowledge with great pleasure the
guidance and support extended by Dr. C. Madana Kumar Reddy, H.O.D of MCA
department, Annamacharya Institute of Technology and Sciences, New Boyanapalli,
Rajampet.

I express my sincere thanks to my guide Mr. M. HARI BABU, Assistant Professor


in MCA department for her valuable guidance and suggestions in analyzing and
testing throughout the period of my project work.

Last but not least, I would like to thank my friends, teaching and non-teaching, one
and all those who helped me to complete this project successfully.

DUDIMANI REDDY SNEHA LATHA

Regd. No: 21701F00B4


ABSTRACT
ABSTRACT

Today, predictive analytics applications became an urgent desire in higher


educational institutions. Predictive analytics used advanced analytics that
encompasses machine learning implementation to derive high-quality performance
and meaningful information for all education levels. Mostly know that student grade
is one of the key performance indicators that can help educators monitor their
academic performance. During the past decade, researchers have proposed many
variants of machine learning techniques in education domains. However, there are
severe challenges in handling imbalanced datasets for enhancing the performance of
predicting student grades. This is carried out in a two-step process. First, we compare
the accuracy performance of six well-known machine learning techniques namely
Decision Tree (J48), Support Vector Machine (SVM), Naïve Bayes (NB), K-Nearest
Neighbour (KNN), Logistic Regression (LR) and Random Forest (RF) using 1282
real student’s course grade dataset. Second, we proposed a multiclass prediction
model to reduce the overfitting and misclassification results caused by imbalanced
multi-classification based on oversampling Synthetic Minority Oversampling
Technique (SMOTE) with two features selection methods. The obtained results show
that the proposed model integrates with RF give significant improvement with the
highest f-measure of 99.5%. This proposed model indicates the comparable and
promising results that can enhance the prediction performance model for imbalanced
multi-classification for student grade prediction based on data given.
CONTENTS

Topics Page No.

1.Introduction 1

1.1. Purpose 1
1.2. Scope 1
1.3. Need of the System 2
1.3.1. Existing System 2
1.3.2. Proposed System 2
1.4. Architecture 3
1.5. Preliminary Investigation 8

2. Software Requirement Analysis and Specification 9

2.1. Product Perspective 9

2.2. Product Function 9

2.3. User characteristics 9

2.4. Modules 10

2.5. Functional and Non-Functional Requirements 11


2.5.1. Functional Requirements 11
2.5.2. Non-Functional Requirements 12
2.6. System Specifications 13
2.6.1. Software Requirements 13
2.6.2. Hardware Requirements 13
2.7. Software Development Life Cycle 13
2.7.1. Waterfall Model 15
2.8. System Study 16
2.9. Methodology and Algorithms 22
2.10. Technology used 43

3. System Design 44
3.1. E-R Diagram 48
3.2. Normalization 51
3.3. Data Flow Diagram 52
3.4. UML Diagrams 71
4.Testing 72

4.1. Introduction 72
4.2. Types of Testing 73
4.3. Testing Methodology 74
4.4. Test Cases 79

5. Implementation 80

5.1 sample Output 82

Conclusion

Bibliography

Appendix-A
➢ Reference

Appendix -B

➢ Glossary

Appendix-C
➢ List of Tables
➢ List of Figures
➢ List of Screens

Appendix-D
➢ Help document
➢ Base paper
INTRODUCTION
Introduction Multiclass prediction model for student grade
Prediction using machine learning

1.Introduction
One of the most challenging tasks in the education sector in India is to predict
student's academic performance due to a huge volume of student data. In the Indian
context, we don't have any existing system by which analysing and monitoring can be
done to check the progress and performance of the student mostly in Higher
education system. Every institution has their own criteria for analysing the
performance of the students. The reason for this happing is due to the lack of study on
existing prediction techniques and hence to find the best prediction methodology for
predicting the student academics progress and performance. Another important
reason is the lack in investigating the suitable factors which affect the academic
performance and achievement of the student in particular course. We proposed a
multiclass prediction model to reduce the overfitting and misclassification results
caused by imbalanced multi-classification based on oversampling Synthetic Minority
Oversampling Technique (SMOTE) with features selection methods. This proposed
model indicates the comparable and promising results that can enhance the prediction
performance model for imbalanced multi-classification for student grade prediction.

1.1. Purpose
The main purpose of this application is to propose a way to handle imbalanced
datasets for enhancing the performance of predicting student grades.

1.2. Scope
In order to generate high-quality performance and valuable data for all educational
levels, predictive analytics used sophisticated analytics that included the application
of machine learning. Most people are aware that a student's grade is one of the most
important performance indicators that can aid educators in keeping track of their
academic progress.

1
Introduction Multiclass prediction model for student grade
Prediction using machine learning

1.3. Need For the System


At today's higher education institutions, predictive analytics applications have
become a pressing need. In order to generate high-quality performance and valuable
data for all educational levels, predictive analytics used sophisticated analytics that
included the application of machine learning. Using the student course grade dataset,
we assess the accuracy performance of six well-known machine learning approaches,
including Decision Tree, Support Vector Machine, Naive Bayes, K-Nearest
Neighbours, Logistic Regression, and Random Forest. In order to decrease overfitting
and misclassification results brought on by imbalanced multi-classification based on
oversampling Synthetic Minority Oversampling Technique (SMOTE) with features
selection methods, we secondly proposed a multiclass prediction model. In order to
improve the prediction performance model for imbalanced multi-classification for
student grade prediction, the proposed model shows comparable and encouraging
results.

1.3.1. Existing System


The current method makes it very impossible to acquire precisely balanced and
closely related datasets. Extracting the right data is a difficult task even though there
are vast amounts of data available. We use machine learning packages from the
scikit-learn library to extract usable data in order to get around all of this.

Limitations

• High complexity.
• Time consuming.

1.3.2. Proposed System


We employ built-in packages from the machine learning library to get around the
problems that the current system has. We can simply perform for any type of dataset
by employing pre-processing techniques and feature selection approaches, which are
utilised to increase the model's accuracy. Because it is simple to identify the crucial
columns in a dataset with many columns, feature engineering is crucial to the
proposed system's ability to operate quickly and efficiently.

2
Introduction Multiclass prediction model for student grade
Prediction using machine learning

Advantages
• Improved accuracy.
• Reduction in time complexity.
• Richer feature information.

1.4. Architecture

Fig 1.4 Architecture

3
Introduction Multiclass prediction model for student grade
Prediction using machine learning

1.5. Preliminary Investigation


Higher education institutions place a high priority on student performance. This is
due to the fact that an excellent track record of academic accomplishments is one of
the requirements for a high-quality university. Based on earlier literature, there are
numerous definitions of what constitutes good student performance.

Predicting Student’s Performance using Data Mining Techniques By


msirah Mohamed Shahiria, Wahidah Husaina, Abdul Rashida.

The learning assessment and co-curriculum, according to Usamah can be used to


gauge student performance. The majority of studies did, however, mention that a
student's success is determined by their graduation rate. Generally speaking,
Malaysia's higher education institutions assessed students' performance using their
final grades. Final grades are based on extracurricular activities, course structure,
assessment marks, and final exam results. Maintaining student performance and the
efficacy of the educational process depends on evaluation. As a result, the use of data
mining techniques can be tailored to particular requirements with different entities.
Student’s performance is an essential part in higher learning institutions. This is
because one of the criteria for a high-quality university is based on its excellent
record of academic achievements. There are a lot of definitions on students’
performance based on the previous literature. Usamah stated that student’s
performance can be obtained by measuring the learning assessment and co-
curriculum. However, most of the studies mentioned about graduation being the
measure of student’s success. Generally, most of higher learning institutions in
Malaysia used the final grades to evaluate students’ performance. Final grades are
based on course structure, assessment mark, final exam score and also extracurricular
activities. The evaluation is important to maintain students’ performances and the
effectiveness of learning process. A methodical review is suggested to address the
issues. To support the goals of this study, which are:
1.To research and pinpoint the weaknesses in the current prediction techniques.
2. To research and hone in on the elements utilised to gauge student success.
3. To research the current approaches to performance prediction for pupils.

4
Introduction Multiclass prediction model for student grade
Prediction using machine learning

Predicting students’ performance is mostly useful to help the educators and learners
improving their learning and teaching process. This paper has reviewed previous
studies on predicting students’ performance with various analytical methods. Most of
the researchers have used cumulative grade point average (CGPA) and internal
assessment as data sets. While for prediction techniques, the classification method is
frequently used in educational data mining area. Under the classification techniques,
Neural Network and Decision Tree are the two methods highly used by the
researchers for predicting students’ performance. In conclusion, the meta-analysis on
predicting students’ performance has motivated us to carry out further research to be
applied in our environment. It will help the educational system to monitor the
students’ performance in a systematic way.

Predicting Academic Performance By Arto Hellas

Improved educational outcomes are possible thanks to the capacity to anticipate


student achievement in a course. Teachers can more precisely distribute resources and
teaching by using performance prediction techniques that work. The goal of this
research is to find features and methods that can be utilized to predict, improve, and
quantify many aspects of student performance. In addition, research into student
performance prediction aims to uncover the relationships among various qualities as
well as the fundamental causes of why some traits are more effective than others.
Abstract In terms of quality, scope, and quantity of the literature covered, we
observed a wide range of surveys. We see a chance to scan the literature over a wider
time span than the existing evaluations and to offer a higher-level picture of the
approaches being deployed. Additionally, we think there is a common requirement
for analysis that connects the techniques and features to the environment in which
they were used.

Overall, we saw a broad range of surveys in terms of quality, area and amount of the
literature covered, and focus. We see an opportunity to provide a higher-level view of
the methods being used and to survey the literature over a longer period of time than
the existing reviews.

5
Introduction Multiclass prediction model for student grade
Prediction using machine learning

Predicting Students’ Academic Performance at Secondary and


Intermediate Level Using Machine Learning by Shah Hussain &
Muhammad Qasim Khan

A significant area of research in educational data mining, which uses machine


learning (ML) techniques to examine data from educational setups, is the prediction
of student academic achievement. It can be difficult to quantify student academic
achievement because it depends on a number of different variables. A well-known
and useful use in the EDM is the predicting of students' grades and marks based on
their prior academic performance. As a result, it develops into a fantastic knowledge
source that can be applied in a variety of ways to raise the level of education across
the country. Many techniques for predicting academic performance are developed to
carry out improvements in the administration and instructional personnel of academic
organizations, according to pertinent research.
An approach is proposed in this article for observing and forecasting the student’s
marks and grades in an automated way. This research study aims to gain better
accuracy for the classification and low root means square error. This study also led us
to make groups of students who have same education historic record, for instance,
students have taken the same subjects in the same academic session. This job is not
simple and easy, fact that intermediate & secondary grade students do not have the
same conduct while studying in the same group. Thus, to attain reliable forecasting
outcomes it is essential to choose students of the same academic section and group.
The student marks and grade were analyzed in this study by knowledge areas. It can
be justified that a grade from one subject can be utilized to predict from the grade of a
student who took the exam in the previous academic session. Quantifying student
academic performance is challenging because academic performance of students
hinges on several factors. The in-hand research work focuses on students’ grade and
marks prediction utilizing supervised ML approach.

6
Introduction Multiclass prediction model for student grade
Prediction using machine learning

Predicting academic success in higher education By Eyman

Especially in the last three decades, computers have substantially increased in usage
and are now omnipresent. Large amounts of heterogeneous data have been gathered
as a result of this, and these data can be used to find hidden linkages and previously
unidentified patterns and trends utilizing data mining techniques and tools. The next
phase, analysis, finds the fascinating patterns already there, which can then be
exhibited for enhanced presentation. typical data mining procedure Data mining has
recently been used in a variety of industries, including business, healthcare, and
education. It remains challenging for educators to successfully apply these techniques
to their unique academic difficulties in spite of the numerous publications, including
case studies, on educational data mining.

Exploring educational data can certainly help in achieving the desired educational
goals. By applying EDM techniques, it is possible to develop prediction models to
improve student success. However, using data mining techniques can be daunting and
challenging for non-technical persons. It has been prepared for those people who are
novice in data mining, machine learning or artificial intelligence. A variety of factors
have been investigated in the literature related to its impact on predicting students
‘academic success which was measured as academic achievement, as our
investigation showed that prior-academic achievement, student demographics, e-
learning activity, psychological attributes, are the most common factors reported. In
terms of prediction techniques, many algorithms have been applied to predict student
success under the classification technique. Moreover, a six stages framework is
proposed, and each stage is presented in detail. While technical background is kept to
a minimum, as this not the scope of this study, all possible design and
implementation decisions are covered, along with best practices compiled from the
relevant literature While reported findings are based on the literature example,
potential definition of academic success, features to measure it, important factors, any
available additional data can easily be included in the analysis, including faculty data
competence, criteria of recruitment, academic qualifications may be to discover new
determinants.

7
Introduction Multiclass prediction model for student grade
Prediction using machine learning

Student Academic Performance Using Hybrid Deep Neural Network by


Bashir Khan Yousafzai, Taj Rahman

The United Nations has approved the Sustainable Development Goals, which place a
high priority on quality education. In order to effectively forecast performance from
past student data, it is crucial to research and implement cutting-edge deep learning
techniques in the field of Educational Data Mining (EDM). Using EDM approaches,
various academics have looked into the evaluation of student performance based on
historical data. Due to the complicated and noisy nature of datasets, only a small
portion of the student data obtained from the aforementioned sources is actually used
to answer a basic query. In order to identify relevant information, such as the
prediction of student performance, researchers in the field of Educational Data
Mining (EDP) have given student-related educational data a lot of attention The early
prediction of student performance in terms of marks, grades, and pass/fail is the main
focus of these publications.
Due to the complicated and noisy nature of datasets, only a small portion of the
student data obtained from the aforementioned sources is actually used to answer
basic query. Educational data generated through various platforms such as e-learning,
e-admission systems, and automated result management systems can be effectively
processed through educational data mining techniques in order to gather highly useful
insights into students’ performance. The prediction of student performance from
historical academic data is a highly desirable application of educational data mining.
In recent years, deep learning has enabled researchers to automatically extract high-
level features from raw data. Such advanced feature representation schemes enable
superior performance in challenging tasks.

8
SOFTWARE REQUIREMENT
ANALYSIS AND SPECIFICATION
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

2. SYSTEM REQUIREMENTS SPECIFICATION


Software system requirements specifications (SRS), also referred to as software
requirements specifications, are detailed descriptions of the tasks that a system must
carry out. This section's use examples go into detail regarding how users interact with
the software. Together with the usage scenario, the SRS also includes non-functional
needs. Non-functional specifications are requirements that place restrictions on
design or implementation (such as requirements for performance engineering, quality
standards or design constraints).

2.1. Product Perspective


A product perspective for multiclass grade prediction involves developing a system or
application that can predict the grades of students in multiple classes or subjects
based on various input features.

2.2. Product Function

The product function for a multiclass grade prediction system involves accurately
predicting the grades or performance levels of students across multiple classes or
subjects. This type of product can be applied in various educational contexts to
provide insights, inform decision-making, and support personalized learning
experiences. Multiclass grade prediction product should focus on accuracy,
interpretability, user experience, privacy, and ethical considerations. It should be
designed to assist educators, students, and educational administrators in making
informed decisions about learning and academic progress.

2.3. User Characteristics

The user characteristics for a multiclass grade prediction system is crucial for
designing a product that meets the needs and expectations of its intended users.
• Teachers and Educators
• Students
• Parents and Guardians

9
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

2.4. MODULES

1.User Modules

1.1 Data Gathering


To train the algorithms, it is necessary to collect data or information from publicly
available sources.
1.2 Pre-processing
Pre-processing of the data must take the algorithms into consideration. It improves
the model's precision and provides more accurate data information.
1.3 Feature Engineering
As a result, we can spend less time on many columns in this phase because features
are chosen based on the importance of the column data.
1.4 Model
Building a dataset model is a crucial stage in achieving the desired outcome. We
construct a classification and regression model based on the information.
1.5 View Results
Viewed by the user are the model's output findings.

2. System Modules

2.1 Model Checking


Model accuracy is checked by the system, which also performs the required steps for
model construction.
2.2 Generate Results
User input data are used as input by the system, which then generates output

10
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

2.5. Functional and Non-Functional Requirements


An essential step in determining whether a system or software endeavour will be
successful is requirement analysis. Functional and non-functional requirements are
the two categories into which requirements are typically divided.

2.5.1. Functional Requirements


Functional requirements are the features that the system must provide that are
explicitly requested by the end user. The contract must unavoidably stipulate that
each of these features be built into the system
requirements describe the interactions between the system and its users, as well as
any external systems it may need to interface with. Functional requirements answer
the question
An illustration of a functional criterion is:
1) User authentication each time they connect on to the system;
2) System shutdown in the event of a cyberattack.
3) When a user registers for the first time on a certain software system, an
authentication email is sent to the user.
2.5.2. Non-Functional Requirements
In essence, these are the requirements for excellence that the system must meet in
accordance with the project contract.. Additionally known as non-behavioral
criteria. Non-functional requirements, on the other hand, define the qualities and
constraints that a system must adhere to in terms of its performance, security,
usability, and other aspects. These requirements are not directly related to specific
functionalities, but they define how well the system performs its functions.

They primarily address concerns like:


• Portability
• Security
• Maintainability
• Reliability
• Scalability
• Performance
• Reuse

11
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

• Flexibility
Examples of non-functional requirements:
1) No more than 12 hours should pass after such an action before sending emails.
2) It should take no longer than 10 seconds to execute each request.
Performance
This includes requirements related to the speed, scalability, and responsiveness of
the system.
Security
This includes requirements related to the protection of the system and its data from
unauthorized access, as well as the ability to detect and recover from security
breaches.
Usability
This includes requirements related to the ease of use and understandability of the
system for the end-users.
Reliability
This includes requirements related to the system’s ability to function correctly and
consistently under normal and abnormal conditions.
Maintainability
This includes requirements related to the ease of maintaining the system, including
testing, debugging, and modifying the system.
Portability
This includes requirements related to the ability of the system to be easily
transferred to different hardware or software environments.
Compliance
This includes requirements related to adherence to laws, regulations, industry
standards, or company policies.

12
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

2.6. System Specifications


System specification for a multiclass grade prediction involves detailing the technical
requirements, functionalities, and components of the system. Generally, A system
specification is a detailed and comprehensive document that outlines the
requirements, functionalities, design, and technical aspects of a software system or
product. It serves as a blueprint that guides the development, implementation, and
testing phases of the project.

2.6.1. Software Requirements

Software’s : Python 3.6 or high version.


IDE : Visual studio, PyCharm.

2.6.2. Hardware Requirements

Operating System : Windows 7/8/10

RAM : 8 GB

Hard disc or SSD : More than 500 GB

Processor : Intel 3rd generation or high or 8 GB Ram

2.7. Software Development Life Cycle - SDLC


Programming Advancement Life Cycle (SDLC) is an interaction used by the software
industry to design, develop and test high quality software. The sdlc plans to create a
super programming that meets or surpasses consumer assumptions, interior activities
and fees comes to. SDLC is the abbreviation of programming advancement lifestyles
cycle. Its miles likewise known as programming development interaction. SDLC is a
machine characterizing undertakings achieved at every progression inside the product
development degree. The SDLC aims to produce a high-quality software that meets
or exceeds customer expectations, reaches completion within times and cost
estimates.

SDLC is the acronym of Software Development Life Cycle.


It is also called as Software Development Process.

13
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

SDLC is a framework defining tasks performed at each step in the software


development process.

2.7.1. Waterfall Model

The Waterfall Model is one of the earliest and most straightforward software
development life cycle (SDLC) models. It follows a sequential and linear approach to
software development, where each phase must be completed before moving on to the
next. The model is called "waterfall" because it represents a cascading flow of
activities, moving from one phase to another in a top-down manner. Each phase
produces a deliverable that serves as input for the subsequent phase. Well-defined and
structured approach, suitable for projects with clear stable requirements.

• Easy to manage and track progress due to its sequential nature.


• Suitable for small to medium-sized projects with limited complexity.

The waterfall model is the software development cycle we are using for this project.
Requirement Gathering and analysis − This stage involves gathering all
potential system needs and documenting them in a requirement specification
document.

• System Design − This phase studies the initial phase's required requirements
and prepares the system design. The system architecture as a whole is defined as a
result of this system design, which also aids in determining the hardware and
system requirements.

• Implementation −The system is initially built as discrete programmes known as


units, which are then combined in the following phase, using inputs from the
system design. Unit testing is the process of developing and evaluating each unit
for functionality.

• Integration and Testing − When each implementation phase unit has been
tested, the entire collection is combined into a single system. The entire system is
tested after integration to look for errors and malfunctions.

14
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

• Deployment of system − The product is deployed in the client environment or


made available for purchase when both functional and non-functional testing is
complete.

• Maintenance −In the client environment, a few problems might arise. Patches
are made available to address such concerns. Also, certain newer versions of the
product are issued to improve it. To provide these modifications to the consumer

Fig: 2.7.1 Waterfall model

15
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

2.8. System Study


System study, also known as system analysis, is the process of thoroughly examining
an existing system or a proposed system to understand its components, interactions,
processes, and functionalities. The goal of a system study is to gather information and
insights that will help in designing, improving, or developing a system that meets
specific requirements. This process is a critical initial step in the software
development life cycle as it lays the foundation for the subsequent phases.

Feasibility Study
In this stage, the project's viability is examined, and a business proposal is presented
along with a very generic project plan and some cost projections. A feasibility
asses2qasment of the suggested system must be conducted as part of the system
analysis. By doing this, it will be ensured that the firm won't be burdened by the
suggested system. The system's primary needs must be understood in order to
conduct a feasibility study.
Three key considerations involved in the feasibility analysis are
• Economical Feasibility
• Technical Feasibility
• Social Feasibility

Economical Feasibility

To determine the system's potential financial impact on the company, this research is
being conducted. The corporation has a restricted budget that it may use to invest in
the system's research and development. A justification for the costs is required. Since
most of the technologies were free to use, the developed system was also developed
within the budget. It was just necessary to acquire the personalised goods.

Technical Feasibility

In other words, the technical needs of the system are being examined as part of this
research to determine its technological viability. Every system that is created must not
put a heavy burden on the technological resources that are already accessible. As a
result, the technological resources will be put under a lot of stress. Because of this,
the client will face high expectations. As there are no or very few changes needed to
deploy the established system, it must have a low requirement.

16
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

Social Feasibility

Checking the user's level of system acceptability is one of the study's aspects. This
covers the procedure for instructing the user on how to operate the system effectively.
The user must accept the system as a requirement rather than perceive it as a danger.
The techniques used to inform and acquaint users with the system are the sole
determinants of how much acceptance it receives from them. As he is the system's
final user, his degree of confidence must be increased so that he can offer some
helpful feedback as well.

2.9. METHODOLOGY AND ALGORITHMS

Early grade prediction is one of the solutions that have a tendency to monitor
students’ progress in the degree courses at the University and will lead to improving
the students’ learning process based on predicted grades. The methodology used in
multiclass grade prediction involves selecting an appropriate approach to develop a
model that accurately predicts student grades across multiple classes or subjects.
Different machine learning techniques can be employed based on the nature of the
data and the complexity of the problem. Using machine learning with Educational
Data Mining can improve the learning process of students. Different models can be
developed to predict student’s grades in the enrolled courses, which provide valuable
information to facilitate student’s retention in those courses.

DECISION TREE CLASSIFIER

By continually dividing data based on a certain parameter, decision trees are a


Supervised Machine Learning way to solving classification and regression problems.
Data is divided in the nodes and decisions are made in the leaves The following are
some benefits of using a decision tree, it can be used for classification and regression
problems, is simple to interpret, manages categorical and numerical values easily, can
fill in missing values in attributes with the most likely value, and performs well due
to the effectiveness of the tree traversal algorithm.

As Random Forest is based on an ensemble modelling approach, it offers a solution to


the over-fitting issue that Decision Tree may have. A decision tree's drawbacks
include the possibility of instability, difficulty in controlling tree size, potential for

17
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

sampling error, and the fact that it provides a locally optimal solution rather than a
globally optimal one.

2.9.1 Decision Tree Classifier

RANDOM FOREST

Many decision trees are built during training to create random forests, also known as
random decision forests, which are an ensemble learning technique for classification,
regression, and other problems. The class that the majority of the trees choose as their
output in a classification exercise is known as the random forest. The mean or
average forecast of the several trees is provided for regression tasks. Because decision
trees frequently overfit their training set, random decision forests are used to address
this problem. Decision trees are typically outperformed by random forests, however
random forests are less accurate than gradient enhanced trees. On the other hand, the
performance of the data can be impacted. Because they produce accurate predictions
across a variety of inputs while requiring little setting, random forests are commonly
employed as "Blackbox" models in enterprises.

18
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

Fig 2.9.2 Classification of Random Forest

LOGISTIC REGRESSION

An issue with classification is solved using logistic regression. Depending on the


values of the input variables, it provides a binomial outcome, indicating the
likelihood that a 37 event will occur or not. Instances where Logistic Regression can
be used to predict a binary result include determining if a tumour is malignant or
benign and whether or not an email is categorised as spam. The results of logistic
regression can also be multinomial. For example, they can predict if Chinese, Italian,
Mexican, etc., cuisine is Problems with an industrial scope are typically solved using
this technique. It is necessary to specify customised performance criteria in order to
get a cut-off that can be utilised to execute the target classification because the output
of logistic regression preferred. Ordinal results are also possible, such as product
ratings ranging from 1is a probability score before it can be applied to addressing
business problems. Moreover, multicollinearity and minor data noise have no impact
on logistic regression.

19
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

Fig 2.9.3 Logistic Regression

NAIVE BAYES CLASSIFIER

NAVIE BAYES Based on conditional probability, this approach is straightforward.


In this method, the model is a probability table, which is updated using training data.
One needs to check up the class probabilities for forecasting a new observation in the
"probability table," which is based on its feature values. It is referred to as "naive"
because its fundamental premise is conditional independence. The idea that all input
features are unrelated to one another in a real-world setting can barely be supported.
Both continuous and discrete data are handled. It is not sensitive to superfluous
characteristics. There are some drawbacks of using Naive Bayes: Although NB
models are too simplistic, models that have been properly trained and optimised
frequently outperform them. Even though one can create "buckets" for "continuous
variables," they are not always accurate. If one of the features needs to be a
"continuous variable" (like time), it is difficult to use Naive Bayes directly. All data
must be saved in order to retrain the model because there is no real online Naive
Bayes variant.

20
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

Fig 2.9.4 Naive Bayes Classifier

K Nearest Neighbour

A classification algorithm is K Nearest Neighbour (KNN) Algorithm. The method


attempts to categorise the sample data point that is provided to it as a classification
issue using a database that contains data points divided into various classes. KNN is
referred to as non-parametric since it makes no assumptions about the distribution of
the underlying data. The following are KNN's benefits: That is an easy strategy to
use. The model's construction is inexpensive. It is a very adaptable classification
technique that works well for classes with several modes of communication. Records
have various class labels.
As the size of the training set increases, the method becomes more computationally
costly, and the accuracy will suffer as a result of noisy or irrelevant data. It calculates
distance between k of its neighbours because it is a sluggish learner. Because it works
with enormous data sets, the calculations are expensive. Accuracy of areas will
decrease with more dimensional data. KNN can be used in recommendation systems,
medical diagnosis of multiple diseases with similar symptoms, credit rating based on
feature similarity, handwriting detection, analysis performed by financial institutions
before sanctioning loans, video recognition, forecasting votes for various political
parties, and image recognition, among other applications.

21
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

Fig 2.9.5 K Nearest Neighbour

SYNTHETIC MINORITY OVERSAMPLING TECHNIQUE


To create prediction models for classification datasets with a serious class imbalance,
use imbalanced classification. Working with imbalanced datasets presents a number
of difficulties, including the fact that most machine learning algorithms will
underperform on the minority class despite the fact that this class performance is
often of utmost importance. The minority class can be oversampled as one method of
rectifying unbalanced datasets. Duplicating examples from the minority class is the
easiest method, but these examples don't give the model any new insights. As an
alternative, fresh instances could be created by synthesising the old ones. The
Synthetic Minority Oversampling Method, also known as SMOTE, is a method of
data augmentation for the minority class.

Fig 2.9.6 SMOTE

22
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

FEATURE SELECTION

The act of choosing a subset of pertinent features (variables, predictors) for use in

model creation is known as feature selection in machine learning and statistics. It is

also referred to as variable selection, attribute selection, or variable subset selection.

Many factors lead to the usage of feature selection techniques:

• model simplification to make it simpler for users and researchers to understand


• fewer training sessions
• to escape the dimensionality curse
• enhance data's suitability for a class using a learning model.
• preserve the input space's innate symmetries.

2.10. Technology Used


Introduction to Python

What Is a Script?
I have focused my attention so far on Python's ability to programme interactively.
This feature, which enables you to write in a programme and have it instantly
performed in interactive environment, is quite helpful.
Scripts are reusable
The statements that make up a Python programme are contained in a text file called a
script.

You will not need to input the script again after you have produced it; you may use it
repeatedly.
Scripts are editable
Maybe more crucially, utilising a text editor to change the lines from one file to
another allows you to create distinct variants of the script. After that is done, you may
run each version separately. The creation of several applications is made simple and
requires little typing in this method.
You will need a text editor
Python script files may be created with just about any text editor.

23
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

You can use Microsoft Notepad, Microsoft WordPad, Microsoft Word, or just about
any word processor if you want to.

Difference between a script and a program


Script
Scripts, which are frequently authored or at least updated by the end-user, are
separate from the application's core code, which is typically authored in a variety of
languages. The programmes that scripts manage are often built to native machine
code, whereas scripts are frequently translated from source code or bytes.
Program
There is an executable version of the software that the computer may use to carry out
the instructions immediately. The identical programme in the form of its source code,
which can be read by humans and is where executable programmes are produced
from (e.g., compiled).
What is Python?
Probability is that you are the one asking yourself this. If you are interested in
learning to programme but are unfamiliar with programming languages, you may
well have found this book. Instead, you could be curious about Python and how it
stacks up against other "big name" programming languages after hearing about ones
like C, C++, C#, or Java. I'll do my best to clarify things for you.
Python concepts
Feel free to go on to the next chapter even though you might not be interested in
learning the whys and how’s of Python. I will try to clarify for readers in this chapter
why I believe Python to be one of the greatest programming languages out there and
why it's such a wonderful place to start.

• The Open-source general-purpose language.


• Object Oriented, Procedural, Functional
• Easy to interface with C/Object/Java/Fortran
• Easy-is to interface with C++ (via SWIG)
• Great interactive environment.

Python is an advanced JavaScript framework that is interactive, interpreted, high


level, and object-oriented. Very understandable code is built into Python. The
24
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

language contains fewer syntactical structures than other languages and commonly
employs English terms in place of punctuation.

• Python is Interpreted − During execution, the interpreter processes Python. You


may run your application right away without compiling it beforehand. To PERL
and PHP, this is comparable.
• Python is Interactive − The Python interpreter may be used to write programmes
straight from a Python prompt.
• Python is Object-Oriented − Python allows for the use of object-oriented
programming, which wraps code inside of objects.
• Python is a Beginner's Language − The construction of a wide range of programmes, from
simple text processing to web browsers to games, is supported by the Python programming
language, which is excellent for beginning programmers.

History of Python

At the National Research Institute for Computer Science and Mathematics in the
Netherlands in the late 1980s and early 1990s, Guido van Possum created Python.
ABC, Modula-3, C, C++, Algol-68, Smalltalk, the UNIX shell, and other scripting
languages are just a few of the many languages that Python is derived from.

It's legal to use Python. The GNU General Public License (GPL) is now available for
Python, just like it is for Perl.

While Guido van Possum still plays a key role in guiding its development, Python is
currently maintained by a core group of developers within the institution.

Python Features

Python's features include −


• Easy-to-learn − Python features a concise syntax, a small number of keywords,
and a straightforward structure. As a result, the pupil may take up the language
easily.
• Easy-to-read − Python code is more clearly defined and visible to the eyes.
• Easy-to-maintain − Python's source code is fairly easy-to-maintained.
• A broad standard library − The majority of the Python library works well on
UNIX, Windows, and Macintosh and is cross-platform compatible.

25
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

• Interactive Mode − Python features an interactive mode that enables testing and
debugging of code fragments as they are being run.
• Portable − Python has the same user interface across all hardware platforms and
may be executed on a broad range of them.
• Extendable − The Python interpreter supports adding low-level modules.
Programmers can improve or adapt their tools with the help of these modules to
make them more useful.
• Databases − Python provides interfaces to all major commercial databases.
• GUI Programming − Python allows for the development of GUI programmes that
may be transferred to a variety of system calls, libraries, and Windows-based
operating systems, including Windows MFC, Macintosh, and the X Window
system of Unix.
• Scalable − Compared to shell programming, Python offers larger projects better
structure and support.
• Apart from the above-mentioned features, Python has a big list of good features,
few are listed below −
• It supports functional and structured programming methods as well as OOP.
• It can be used as a scripting language or can be compiled to byte-code for building
large applications.
• It provides very high-level dynamic data types and supports dynamic type
checking.
• IT supports automatic garbage collection.
• It can be easily integrated with C, C++, COM, ActiveX, CORBA, and Java.

Dynamic vs. Static


Types The language Python has dynamic typing. C/C++ and Java are only two
examples of other languages with static typing. An explicit description of the kind of
"thing" each data value is must be given to the computer in a static typed language.
As an illustration, in C, you would need to declare a variable as a "float" type if it was
intended to hold the price of anything.
This instructs the compiler that a floating-point number, or a number with a decimal
point, is the only type of data that may be used for that variable.

26
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

The compiler would provide an error message while attempting to compile the
programme if any other data value were set to that variable.
However, this is not necessary for Python. Simple name and value assignments are all
that is required for your variables. The sorts of objects your programme uses are
tracked by the interpreter. As you improve the software, you may also alter the size of
the values. Consider the case when your application requires the use of another
decimal number, sometimes known as a floating-point number.
When a variable is initially initialised in a static typed language, you must choose the
maximum amount of memory it may hold. A double is a kind of floating-point value
that can accommodate substantially greater numbers than a standard float (the actual
memory sizes depend on the operating environment).
Your programme will fail if you create a variable as a float but then assign it a value
that is too large; you will need to go back and convert that variable to a double.
That is irrelevant with Python. Python will handle any necessary manipulation by
simply accepting any desired number from the user. Even derived values are
compatible with it.
Consider splitting two integers as an illustration. Both an integer and a floating-point
number, one, exists. Python automatically calculates the outcome as a floating-point
number since it understands that it is more accurate to keep track of decimals.

Variables

The only thing that variables are designated memory spaces for storing values. In
other words, you reserve some memory space whenever you create a variable.

The interpreter chooses how much memory needs to be allocated and what may be
put in the allocated memory depending on the information type of a variable. As a
result, you may store characters, decimals, or integers in variables by giving them
alternative data types.

Standard Data Types


There are several sorts of data that may be kept in memory. People's addresses and
ages, for instance, are both kept as numbers and letters and a numeric number,
respectively. The actions that may be performed on them as well as the storage
technique for each are defined by the various classification data types that seem to be

27
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

available in Python. The purpose of Data Types is that "To allocate sufficient
Memory Space for Inputs / Data / Literals of the Program in the Main Memory of the
Computer".
Python has standard data types −
• Int
• Float
• String
• List
• Tuple
• Dictionary

Int
Numeric values are stored in number data types. Whenever you provide a value to a
number, an object is formed. 'int' is one of the pre-defined classes and treated as
Fundamental Data Type.
The purpose of "int" data type is that "To Store Integer OR Integral Value OR Whole
Numbers ".

Float
'Float' is one of the pre-defined classes and treated as Fundamental Data Type.
The purpose of Float data type is that "To store Real Constant Values OR floating-
point values”.
Examples: Percentage of marks, DA for employees...etc
This data type can also be used for storing Scientific Notation. It is one of the
notations for representing floating point data.
The Advantage of Using Scientific Notation is that "To Minimize the memory space
at time storing Normal Floating-Point Values".
This Data type does not support Binary, Octal and Hexadecimal data in the form of
floating-Point values.

Python Strings
Python defines a string as a continuous collection of characters that are enclosed in
quotation marks. Python accepts either double or single quotes in pairs. Using indices

28
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

beginning at 0 at the starting of the string and moving towards -1 at the conclusion,
subsets of strings may be obtained using slicing operator ([] and [:]).

Python Lists
The most flexible compound data type in Python is a list. Items in a list are denoted
by comma and enclosed in square brackets ([]). In certain ways, lists and C's arrays
are comparable. A list's ability to contain elements of various data types is one way it
differs from other collections.
With indices beginning at 0 at the list's beginning and moving all the way to -1 at the
list's end, the slicing operator ([] and [:]) may be used to retrieve the values kept in a
list. The repeating operator is represented by the asterisk (*), whereas the plus (+)
symbol represents the list concatenated operator.

Python Tuples
Like a list, a tuple is a sequence data type. Every value in a tuple is isolated by
commas. Tuples are encapsulated between parenthesis, unlike lists, though. Lists are
surrounded in brackets ([]), and their items and sizes can be modified, but tuples are
wrapped in parentheses (()) and are unable to be edited. These are some of the
fundamental distinctions among lists and tuples.
Read-only lists are what tuples.

Python Dictionary
Dictionary structures in Python are somewhat akin to hash tables. Key-value pairs
make them function similarly to dynamic arrays or hashes seen in Perl. A dictionary
key often consists of texts or integers; however, it may be nearly any Python type.
Values, however, can be any Python object at all. Curly braces () delimit dictionaries,
whereas square braces () allow for value assignment and access ([]).

Different modes in python


Normal and interactive are the two default modes for Python.
In the programmed and completed. Pie files, the Python interpreter is run in the
regular manner. A command-line shell that operates in interactive mode provides
real-time response for every request while performing previously supplied commands
in working memory. The feed programme is analysed partially and completely as
newer models are given into the interpreter.

29
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

20 Python libraries
1. Requests: Written by Kenneth Remits, the most well-known http library. For any
Python coder, it is a need.
2. Scrappy: This is a library you absolutely must have if you are interested in web
scraping. You will not use any others after utilising this library.
3. Python: Python's toolbox for men. The main use I've had for it is to replace
Tinder. It's something you'll adore.
4. Pillow: An accommodating PIL fork (Python Imaging Library). For everyone who
interacts with photos, it is indispensable and more user-friendly than PIL.
5. SQL Alchemy: An information library. It is adored and despised by many. You
have the option.
6. Beautiful Soup: I am aware that it is sluggish, but novices can benefit much from
this XML and HTML parsing library.
7. Twisted: A network application designer's most crucial tool. It is used by many
well-known Python programmers and has a highly attractive design.
8. Numbly: We cannot just walk out of this crucial library, how can we? It offers
Python some sophisticated math features.
9. Skippy: Spicy must be discussed while we discuss numbly. Several scientists have
switched from Ruby to Python as a result of this collection of algorithms and
mathematical techniques for Python.
10. Matplotlib: A database for charting numbers. Every data scientist or data analyst
will find it to be very helpful.
11. Pygmy: Who among developers does not enjoy making and playing games? Your
objective of creating 2D games will be helped by this library.
12. Piglet: A tool for making games and 3D animations. The renowned Python Ports
of Minecraft was created inside this engine.
13. Pit: A Python toolkit with a GUI. For creating GUIs for my Python scripts, it is
my second favourite after Python.
14. Pit: Another Python GUI module. The renowned Bit torrents client was
developed in this library.
15. Scaly: An in-house Python-made packet analyser and sniffer.

30
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

16. Pywin32: A library for working with windows in Python that offers several
helpful classes and functions.
17. Notch: Although I am aware that few people would use this, the Natural
Language Toolkit is sufficiently all-purpose. If you wish to work with strings, this
library is really helpful. However, it has a greater capacity. Please take a look.
18. Nose: Python testing tools and framework. Several Python programmers use it. If
you practise test-driven programming, you absolutely must have it.
19. Simply: Expansion, Evaluation, Complex numbers, Differentiation, etc. in
algebra are easily accomplished. It may be found inside a distribution made
entirely of Python.
20. I Python: How helpful this tool is simply cannot be emphasised enough. On
steroids, it acts as a Python prompt. It includes a lot of features, including
completion, history, shell capability, and more. Do not forget to glance at it.
NumPy
The homogenous multidimensional array is what Humpy is mostly interested in. It is
a table of items (often numbers) that is sorted by something like a tuple of positive
numbers and contains only entries of the same kind. Axes are the term for arbitrary
dimensions. Rank refers to the number of axes.

• Offers Matlab-ish capabilities within Python


• Fast array operations
• 2D arrays, multi-D arrays, linear algebra etc.

Matplotlib

• High quality plotting library.

Python class and objects


They make up OOP's foundation. A new object is made by a class. This item may
represent either a model of a real-world object like a chair or an abstract data idea.
Including variables and methods, every class contains distinctive qualities that are
specific towards that class.

31
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

Classes are now "the big thing" in most scripting languages and are incredibly
powerful. As a result, the book's later chapters have numerous chapters devoted to
OOP.

In object-oriented programming, the class is the fundamental building block. To make


your programme accomplish something, you already learnt how to utilise functions.

We're going to enter the intimidatingly large realm of object-oriented programming


right now (OOP). It takes me a while to understand what things were, to be honest.

Because functions basically made any sense for me when I initially learnt C and C++,
I performed quite well.

In the early 1990s, when I played about with BASIC, I discovered that functions were
essentially the same as subprograms, which meant there was not anything to be
learned.

Yet when the topics of objects, classes, and every one of the new OOP capabilities
started coming up in my C++ class, my scores probably plummeted.

OOP is a fairly potent tool, as you'll see if you understand how to use it. Furthermore,
various Python libraries and APIs make use of classes, so at the very least, you
should have been able to comprehend whatever the code is doing.

One thing to keep in mind with Python and OOP is that using objects in your code in
the most effective way is not required. For example, you may not need to have a full-
fledged class with setup code and functions if all you want to do is return a
computation. Any level of technicality is possible with Python.

Python can work with functions rather well, as you've probably already seen. You
may combine functions and classes as needed in the same application, unlike other
programming languages like Java, which force you to stick to one method of
accomplishing things.

32
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

Many variables and functionalities are incorporated into a single unit by use of
objects. Variables and functions in objects are derived from classes. The basic
building blocks of your objects is classes.

Here is a brief list of Python OOP ideas:

• An object of a class is created and given a name by the class declaration. New
namespace is produced in this way.
• Class characteristics are produced by assignments in the class. To obtain these
characteristics, use the dot syntax qualifier Class Name. Attribute after the name.
• State and related behaviour are exported via class attributes for objects. Each
instance of a class has access to these characteristics.
• A data object of a class is created when it is called, much like a function. The
component involving multiple copies is now relevant.
• The default class characteristics and the individual namespace are given to each
instance ("inheres"). Instance objects won't overlap in this way, which keeps the
programme from becoming confused.
• When a specific instance is identified, per-instance characteristics are possible
because of the use of the word self. This makes it possible to link objects, like
variables, to a specific instance.

Inheritance
First off, class provide you the option to alter a programme without really altering it.
To explain, subclassing a class allows you to modify the behaviour of the application
without having to rewrite any of the current components.
As we have seen, a class's characteristics are passed down to its instances.

Classes can, however, also take traits from other classes. As a result, a subclass
descended from a superclass, enabling you to create a superclass that is general yet
may be customised by subclasses.
You may alter the functionality of your classes without modifying the superclass at
all by using subclasses to override the logic of a superclass.

33
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

Operator Overloads

Operator overloading essentially implies that activities (operations) that have


previously been specified in Python, such addition, slicing, and printing, may be
applied to objects that you build from classes.
Although class methods may be used to accomplish these activities, overloading is
simpler to understand and use because it links behaviour more closely to Python's
object model and makes object interfaces more compatible with built-in objects.
Most Python's built-in operation methods may be replaced with custom classes.

Exceptions
Though I've previously discussed exceptions, I'll go into more detail today. In
essence, exceptions are instances where the flow of a programme is altered—either
consciously or as a result of mistakes.
These are unique occurrences that may take place as a result of a mistake, such as
attempting to access a file that doesn't exist, or whenever the programme achieves a
milestone, such the end of a loop.
Exceptions are really the "exception to the rules” since they are, by definition, rare
and have their own distinct class. In Python, exceptions occur often.
Almost each module in the Python standard library makes use of them, and Python on
its own will throw them in a variety of situations.
Here are just a few examples:
• A Key Error exception will be thrown if you attempt to access a non-existent
dictionary key
• A Value Error exception is thrown when searching for a value that isn't present in
a list.
• An Attribute Error exception will be thrown if you call a method that doesn't
exist.
• A Name Error exception will be thrown if a variable that is not present is
referenced.
• Type Error exceptions are thrown when unforced data types are combined.
We have encountered this earlier while discussing files. One application of exception
is to detect errors and let the programme to continue running.

34
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

The usage of exceptions is often done in this manner. You don't have to be concerned
about catching exceptions while using the Python command - line interface
interpreter to programme.
Usually, a single exception will not have a significant impact on your program's
length.
Also, knowing if your code logic is flawed quickly and simply depends on the
exception occurring at the command line.
The software will fail and cease operating if the identical problem occurred in your
actual programme. By raising an exception, a programmer can directly produce an
exception.
With the exception that the developer is deliberately doing it, it functions just like a
system caused error. Many factors may be at play here. Exceptions have the
advantage of not adding any processing complexity to the code because of their
inherent simplicity.
Exceptions are not handled until they happen since they're not expected to happen
frequently.
The if/elf statements could be considered to take a specific form in exceptions. In all
likelihood, if blocks and exceptions allow you to do the same task.
But, as was already explained, if blocks are handled continuously, whereas
exceptions are only handled when they arise.
Your software will run more smoothly if you utilise exceptions properly.
Using exceptions is preferable to using if blocks when errors are more likely to
happen seldom since Python must always check additional conditions before
continuing.
Also, exceptions simplify code administration since it may be challenging to
comprehend, alter, and debug a programme when its programming logic is
interspersed with error-handling if expressions.

User-Defined Exceptions
It is possible for a developer to generate custom exceptions in Python, but I won't
spend an excessive amount of time on that.
Although it's unlikely that you'll need to do this frequently, having the choice is
useful.

35
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

Check to see if there is not already an exception that would work for you prior to
creating your own.
Throughout the years, they have been "tried by fire," and in addition to working well
and being performance- and bug-free, they have also undergone optimisation.
Programming in an object-oriented manner, which is discussed in the following
chapter, is necessary to create your own exceptions.
In order to create a custom exception, a programmer must choose which base
exception to utilise as the class to inherit from, for example, creating an exception for
imaginary or negative integers would generally come under the Arithmetic Error
exception class.
Just inherit the base exception to the specify the action it will do to create a
customised exception.

Python modules

Our code can be kept in files thanks to Python (also called modules). When coding
more intricately, this is helpful because we don't want to start over again merely to fix
a single error in a lengthy function declaration. In essence, by doing this, we are
creating our own components, much like the ones found in the Python library.
Python offers a method for storing specifications in files that can then be used in
scripts or interactive interpreter instances to enable this. A module is a file of this
type, and definitions from one module can be loaded into another module or the main
module.

Testing code

Code is often written in a file using an editor, as mentioned above.


Try running the code after importing it into an existing Python session to test it.
You return towards the file, make the required corrections, and retest if there is
usually a mistake.
Until you are confident that the code is functional, repeat this step.
The development cycle describes his complete process.
You will come across two different sorts of mistakes. When a command's form is
incorrect, syntax errors happen.

36
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

This occurs for a variety of reasons, including typographical mistakes, misspellings,


using the incorrect name for an item, and more. When there is a syntactic mistake,
Python will always report it.

Functions in Python

Creating your own functions using Python is both possible and incredibly beneficial.
Typically, you should utilise the interpreter if you just need to do a computation once.
In contrast, write a function if you or others frequently need to conduct a certain sort
of computation.
Programmers use functions to group together a collection of instructions that they
want to utilise repeatedly or that are better off being identity in a sub-program &
called as needed due to their complexity. Thus, a function is a software program
created to do a certain purpose.
The function may require numerous inputs to do that specific task, but it's not
guaranteed.
The function might or might not return 1 or more values once the job has been
isolated.
In Python, there are three different kinds of functions: print (), help (), and min ().
The way namespaces are handled in Python is through dictionaries, thus there is a
mapping across names (keys) to objects (values). In using namespaces and writing
Python programmes, the user is not required to be aware of this.
Some namespaces in Python:
• Names used by a module globally
• Invoking a function or method using local names
• incorporated names Built-in exception names are present in this namespace, as
well as built-in functions (such as abs (), camp (), etc...)

Garbage Collection

The Python automated garbage collector, which serves as the language's dynamic
memory foundation, is exposed through garbage collector. The module has functions
to investigate objects accessible towards the system that are either awaiting collection

37
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

or that are trapped in referral cycles and are unable to be released. It also has
functions to manage how the collector acts.

Python XML Parser

Programmers can create apps that can be viewed by other programmes using XML, a
portable, open-source language, irrespective of the operating system or programming
language used.

XML: What is it? Extensible Markup Language (XML) Like HTML or SGML, XML
is a mark - up language.

The Consortium for the World Wide Web suggests using this, and it is an open
standard.

Without a backbone built on SQL, XML is incredibly helpful for managing small to
medium volumes of data.

APIs and Architectures for XML Parsers A basic but practical set of XML working
interfaces are provided by the Python standard library.

The SAX and DOM protocols for XML data are indeed the two most fundamental
and widely used APIs.

Basic XML SAX API: In this case, you enrol call-backs for events that are of interest
before allowing the parser to process the document.

It decodes the content as it scans it from disc and never stores the full file in memory,
which is handy if your documents are huge or if you have memory constraints.

The whole file is read out into memory and saved in a hierarchical tree-based
structure to represent all the characteristics of an XML document using the World
Wide Web Consortium's Document Object Model (DOM) API.

While working with huge files, SAX obviously never process information as quickly

DOM can on the other side, if you only utilise DOM, it might seriously deplete your
assets, particularly if you use it frequently.

38
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

DOM permits updates to the XML file whereas SAX is read-only. There's no
explanation why you shouldn't utilise both of these various APIs for big projects as
they really complement one another.

Python Web Frameworks

Creating dependable, scalable, and stable online applications is made simpler by the
use of web frameworks, which are code libraries.
Why do web frameworks serve a purpose?
The lessons learnt by programmers over the past 20 years while creating websites and
online based applications are encapsulated in web frameworks. It is simpler to recycle
code for standard HTTP operations when using frameworks, and projects may be
organised such that other programmers who are familiar with the framework may
develop and update the application more rapidly.
functionalities common to web frameworks

Frameworks offer capability to conduct common tasks necessary to operate web


applications either directly in their code either through extensions. Among these
typical operations are:

1. URL tagging
2. Tinplating for output formats such as HTML, XML, and JSON
3. Using databases improperly
4. Protection against threats such as Cross-site Request Forgery (CSRF)
5. Session retrieval and storage
All the features are not always coded into every web framework. Frameworks range
from carrying out a specific use case to giving every programmer access to every
feature of any web framework. Some frameworks use the "batteries-included"
strategy, which involves bundling everything that is reasonably possible with
framework; conversely, some frameworks have a basic core package that is open to
additions from other packages.

39
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

Comparing web frameworks


The same online application has been written using various Python web frameworks,
tinplating engines, and object libraries under a repository named compare-python-
web-frameworks.

Web framework resources


• It might be useful to understand what the underlying code is doing while you are
training how to utilise 1 or more web frameworks.
• This excellently produced short movie, titled Frameworks, demonstrates how to
pick a web framework. About what belongs in a framework, the author does have
some specific views.
• Although I've discovered that sessions and database ORMs may be a useful
component of a framework when done effectively, I still generally agree.
• The article Selecting a Python Web Framework compares the code of comparable
online applications created in the three major Python frameworks, Jingo, Flash,
and Pyramid. It also provides background information on each framework.
• By offering visuals based on the code bases of various Python web frameworks,
this intriguing blog article examines the complexity of the algorithm of such
frameworks.
• Python's benchmarking for web frameworks evaluates a framework's
responsiveness by encoding any object to JSON, presenting it as a response, and
obtaining data from a database and displaying it using an HTML template.
• What web frameworks did you employ and why do you think they're great? Is
there a Reedit conversation about web frameworks that is language-neutral? When
compared to the primary Python frameworks, it is fascinating to examine what
features other programming languages' web frameworks have that Python
programmers enjoy and detest.
• Which general-purpose Python website builders are the best for usage in
production, according to user votes on this question-and-answer website? The list
of the several frameworks that Python developers may choose from is more
significant than the votes.

40
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

Web frameworks learning checklist

1. Django or Flask is considered as good choices for a significant Python web


framework. It is preferable to master one framework initially when you are just
getting started rather than jumping about and attempting to comprehend every
framework.
2. Follow the thorough instructions in the tutorial that can be found in the resource
links mostly on framework's page.
3. For the purpose of reusing code from other projects in your application, look at
open-source examples created with the framework of your choice.

Software Installation for Machine Learning Projects

1 Installing Python

1.To download and install Python visit the official website of

Python https://www.p ython.org/downloads/ and choose your version.

2.
Launch the Python installation exe when the download has finished. Click Install
Now to continue.
3. You can see Python installing at this point.
4. When it finishes, you can see a screen that says the Setup was successful. Now
click on "Close".

41
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

Installing PyCharm

1. To download PyCharm visit the website


https://www.jetbrains.com/pycharm/download/ and click the "DOWNLOAD" link
under the Community Section.

Fig 2.10.1 Installing PyCharm

2. Launch the installer for PyCharm when the download is finished. That ought to
have launched the setup wizard. "Next" should be clicked.
3. If necessary, modify the installation path on the next screen. "Next" should be
clicked.
4. Click "Next" to get to the following screen, where you can if you'd like create a
desktop shortcut.
5. Choose a folder from the start menu. Click "Install" while keeping JetBrains
selected.
6. Hold off until the installation is complete.
7. A message screen indicating that PyCharm has been installed should appear after
installation is complete. The "Run PyCharm Community Edition" box must be
selected before you can click "Complete" if you decide to run it.
8. The End screen will show up when you click it.

Fig 2.10.2 Setup PyCharm

42
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning

9. For your project to be completed properly, you must install a few packages.
10. Launch the terminal as an administrator or at the command prompt, Anaconda, or
both.
11. When the window appears, enter the location you were given and the installation
command pip install package name (like NumPy, pandas, sea born, scikit-learn,
Matplotlib, Pyplot).

Ex: Pip install NumPy

Fig 2.10.3 Installing Packages

43
SYSTEM DESIGN
SYSTEM DESIGN Multiclass prediction model student grade
Prediction using machine learning
3. SYSTEM DESIGN

3.1. ER DIAGRAM
A diagram known as an Entity Relationship Diagram (ERD) is used in an Entity-
Relationship Model (ER model) to explain the structure of a database. (ER Diagram).
A database's design, or "ER model," is a plan that can be used to create a database in
the future. Relationship set and entity set make up the bulk of the E-R paradigm.
Relationships between entity groups are displayed in an ER diagram. A collection of
related entities that may have characteristics is referred to as an entity set. The ER
diagram displays the entire logical structure of a database because, in terms of
DBMS, an entity is a table or an attribute of a table in the database. This is because it
demonstrates the relationships between tables and the

Fig.3.1 ER Diagram

44
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

The link between entity sets is depicted using an ER diagram. An entity set is a
collection of related entities that may or may not contain characteristics.
An entity in a database management system is a table or an attribute of a table,
therefore an ER diagram depicts the whole logical structure of a database by
displaying relationships between tables and their characteristics. To further grasp this
notion, let's look at a simple ER diagram.

SHAPE DESCRIPTION
Rectangle shape represented
as entity

Eclipse shape represented as


attributes

Diamond shape represented


relationship between two
entities

Entity sets and attributes sets


connected through lines

Fig 3.2 Components Used In ER-Diagram

45
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

Entity

An entity can be a real-world object, either animate or inanimate, that can be easily
identifiable. For example, in a school database, students, teachers, classes, and
courses offered can be considered as entities. All these entities have some attributes
or properties that give them their identity.
An entity set is a collection of similar types of entities. An entity set may contain
entities with attribute sharing similar values. For example, Student set may contain
all
the students of a school; like-wise a teacher set may contain all the teachers of a
school from all faculties. Entity sets need not be disjoint.

Entity Diagram

Weak Entity

An Entity that depends on another entity called a weak entity. The weak entity
doesn’t contain any key attribute of its own. The weak entity represented by double
rectangle

Weak Entity

Entity Set
An entity set is a collection of related types of entities. An entity set may include
entities with attribute sharing similar values. For example, Student set may contain
all the students of a school. Likewise, a teacher set may include all the teachers of a
school from all faculties. Entity set need not be disjoint
Attributes

Entities are represented by means of their properties, called attributes. All attributes
have values. For example, a student entity may have name, class, and age as
attributes.

46
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

There exists a domain or range of values that can be assigned to attributes. For
example, a student's name cannot be a numeric value. It has to be alphabetic. A
student's age cannot be negative, etc.

Attribute

Key Attribute
The Key attribute is used to represent the main characteristic of an entity.it represents
a primary key. The key attribute is represented by an ellipse with text underlined

Key Attribute

Derived Attribute
A An attribute that can be derived from another attribute is known as a Derived
attribute it can be represented by a dashed ellipse

Derived Attribute
Relationship
Relationships define how entities are connected to each other. These are represented
as diamond shape connecting the relation entities. Relationships have cardinality.
which indicates how many instances of one entity are related to instance of another
entity

Relationship

One to One Relationship


When only one instance of an entity is associated with the relationship, then it is
known as one-to-one relationship

47
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

One to One Relationship

One to Many Relationship


When only one instance of the entity on the left, and more than one instance of an
entity on the right associates with the relationship then this is known as a one-to-
many relationship

One to Many Relationship

Many to One Relationship


When more than one instance of the entity on the left, and only one instance of an
entity on the right associates with the relationship then this is known as a many-to-
one relationship

Many to One Relationship

Many to Many Relationship

When more than one instance of the entity on the left, and more than one instance of
an entity on the right associates with the relationship then it is known as a many-to

Many to Many Relationship

48
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

3.2. Normalization
Normalization refers to the process of designing the structure of a database to reduce
data redundancy and improve data integrity. It involves organizing the data into
different tables and establishing relationships between them. The goal of
normalization in SQL is to minimize data duplication and ensure that the data is
stored efficiently while maintaining its accuracy and consistency. Normalization is
also relevant in the context of multiclass prediction, particularly when dealing with
features or input data for machine learning models. Normalizing the input data can
have a positive impact on the performance of multiclass classification models.

Effect on Gradient Descent Algorithms


Normalizing the input data can also speed up the convergence of gradient descent-
based optimization algorithms, which are commonly used for training neural
networks and other models. Normalization can help by preventing very large or very
small gradients that could lead to slow convergence.

Neural Network Training


In the context of neural networks, normalization techniques like batch normalization
are used to stabilize and accelerate training. Batch normalization normalizes the
outputs of each layer within a batch of training examples, which can lead to faster
convergence and more stable training.
Preventing Overfitting
Normalization can also have a regularizing effect on machine learning models. By
constraining the magnitude of features, normalization can help prevent overfitting,
where a model fits the training data too closely and performs poorly on unseen data.

There are several levels of database normalization, often referred to as Normal Forms
(NF), each with specific rules. Here's a brief overview of the first three normal forms,
which are the most commonly used.

First Normal Form (1NF)


➢ Eliminate duplicate columns from the same table.
➢ Create a separate table for each set of related data.
➢ Identify each row with a unique column (the primary key).

49
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

Second Normal Form (2NF)


➢ Meet the requirements of 1NF
➢ Remove partial dependencies (attributes depending on only part of the primary key) by
creating separate tables for related attributes.

Third Normal Form (3NF)


➢ Meet the requirements of 2NF.

➢ Remove transitive dependencies (attributes depending on non-key attributes) by creating


separate tables for those attributes.
Normalization beyond 3NF (e.g., BCNF, 4NF, 5NF) can be necessary for more
complex scenarios, but the appropriate level of normalization depends on the specific
requirements and structure of your data.
Remember, normalization aims to prevent data anomalies, improve data consistency,
and simplify data management. However, in certain cases, some controlled
redundancy might be acceptable for performance optimization or to meet specific
needs. It's essential to strike the right balance based on your project's goals and
constraints.
Eliminating these inconsistencies is the main argument for normalizing the relations.
As the data collection grows, the inability to ignore idiosyncrasies leads to overt
repetition of information, information uprightness, and other problems.
Standardization consists of a set of guidelines that help you create an effective
information base design.
Three categories of aberrant information change can be made:
➢ Insertion Anomaly
When a new tuple cannot be embedded into a relationship due to a lack of
information, this is referred to as an insertion anomaly.
➢ Deletion Anomaly
The term “erase abnormality “refers to a situation in which crucial information is un
intentionally lost when data is collected
➢ Update Anomaly
The update irregularity is the point at which a single information change necessitates
the updating of many information columns
➢ Advantages of Normalization

50
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

➢ Normalization helps to reduce overt repetition of information.


➢ Greater in association with broad information.
➢ Data set internal consistency.
➢ A much more flexible data set strategy. Promotes the idea of social propriety
Disadvantages of Normalization

➢ You need to know the client's requirements before you can start compiling the
information base.
➢ The execution corrupts while restoring relationships to higher ordinarily arranged
structures, such as 4NF and 5NF.
➢ Standardizing relationships on a more serious level is quite time-consuming and
difficult.
➢ A careless breakdown could result in a poor information base plan, which would
have serious consequences.

51
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

3.3. DFD DIAGRAM

A Data Flow Diagram (DFD) is a traditional way to visualize the information flows
within a system. A neat and clear DFD can depict a good amount of the system
requirements graphically. It can be manual, automated, or a combination of both. It
shows how information enters and leaves the system, what changes the information
and where information is stored. The purpose of a DFD is to show the scope and
boundaries of a system as a whole. It may be used as a communications tool between
a systems analyst and any person who plays a part in the system that acts as the
starting point for redesigning a system.

Fig.3.3 DFD Diagram

52
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

3.4. UML DIAGRAMS

Unified Modelling Language is known as UML. A general-purpose modelling


language with standards, UML is used in the area of object-oriented software
engineering. The Object Management Group oversees and developed the
standard.
The objective is for UML to establish itself as a standard language for modelling
object-oriented computer programmes. The Unified Modelling Language is a
standard language used for business modelling, non-software systems, and
defining, visualizing, building, and documenting the artefacts of software
systems. The UML is a crucial component of the software development process
and the creation of objects-oriented software. The UML primarily employs
pictorial notations to convey software project design

GOALS

The following are the UML's primary planning objectives:

1. Offer users an expressive, ready-to-use visual modelling language so they can


create and trade significant models.

2. Offer tools for specialisation and extendibility to expand the fundamental


ideas.

3. Not depend on a specific development method or programming language.

4. Offer a formal foundation on which to grasp the modelling language.

5. Promote the market expansion of OO tools.

6. Encourage the use of higher-level development ideas like components,


frameworks, patterns, and collaborations.

7. Include top techniques.

53
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

Building Blocks of the UML

The vocabulary of the UML encompasses three kinds of building blocks:


1. Things
2. Relationships
3. Diagrams
Things are the abstractions that are first-class citizens in a model; relationships
tie these things together; diagrams group interesting collections of things.

Things in the UML

There are four kinds of things in the UML:


1. Structural things
2. Behavioural things
3. Grouping things
4. Annotational things

These things are the basic object-oriented building blocks of the UML. You use
them to write well-formed models.

Structural Things
Structural things are the nouns of UML models. These are the mostly static parts
of a model, representing elements that are either conceptual or physical.
Collectively, the structural things are called Classifiers.

A class is a description of a set of objects that share the same attributes,


operations, relationships, and semantics. A class implements one or more
interfaces. Graphically, a class is rendered as a rectangle, usually including its
name, attributes, and operations.

54
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

Classes

An interface is a collection of operations that specify a service of a class or


component. An interface therefore describes the externally visible behavior of
that element.
«interface» above the name; attributes are not relevant, except sometimes to
show constants. An interface rarely stands alone, however. An interface
provided by a class to the outside world is shown as a small circle attached to
the class box by a line. An interface required by a class from some other class is
shown as a small semicircle attached to the class box by a line.

Interfaces

55
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

A collaboration defines an interaction and is a society of roles and other


elements that work together to provide some cooperative behavior that's bigger
than the sum of all the elements. Collaborations have structural, as well as
behavioral, dimensions. A given class or object might participate in several
collaborations. These collaborations therefore represent the implementation of
patterns that make up a system. Graphically, a collaboration is rendered as an
ellipse with dashed lines, sometimes including only its name.

Collaborations

A use case is a description of sequences of actions that a system performs that


yield observable results of value to a particular actor. A use case is used to
structure the behavioral things in a model. A use case is realized by a
collaboration. Graphically, a use case is rendered as an ellipse with solid lines,
usually including only its name.

Use Cases

56
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

However, these three are different enough and are necessary for modeling
certain aspects of an object-oriented system, so they warrant special treatment.

An Active class is a class whose objects own one or more processes or threads
and therefore can initiate control activity. An active class is just like a class
except that its objects represent elements whose behavior is concurrent with
other elements. Graphically, an active class is rendered as a class with double
lines on the left and right; it usually includes its name, attributes, and operations.

Active Classes

A component is a modular part of the system design that hides its


implementation behind a set of external interfaces. Within a system,
components sharing the same interfaces can be substituted while preserving the
same logical behavior. The implementation of a component can be expressed by
wiring together parts and connectors; the parts can include smaller components.
Graphically, a component is rendered like a class with a special icon in the upper
right corner.

Components

57
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

An artifact is a physical and replaceable part of a system that contains physical


information ("bits"). In a system, you'll encounter different kinds of deployment
artifacts, such as source code files, executables, and scripts. An artifact typically
represents the physical packaging of source or run-time information.
Graphically, an artifact is rendered as a rectangle with the keyword
«artifact» above the name.

Artifacts

A node is a physical element that exists at run time and represents a


computational resource, generally having at least some memory and, often,
processing capability. A set of components may reside on a node and may also
migrate from node to node. Graphically, a node is rendered as a cube, usually
including only its name.

Nodes

Behavioural Things
Behavioral things are the dynamic parts of UML models. These are the verbs of
a model, representing behavior over time and space. In all, there are three
primary kinds of behavioral things.

58
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

First, an interaction is a behavior that comprises a set of messages exchanged


among a set of objects or roles within a particular context to accomplish a
specific purpose. The behavior of a society of objects or of an individual
operation may be specified with an interaction. An interaction involves a
number of other elements, including messages, actions, and connectors
Graphically, a message is rendered as a directed line, almost always including
the name of its operation.

Messages

A state machine is a behaviour that specifies the sequences of states an object or


an interaction goes through during its lifetime in response to events, together
with its responses to those events. The behaviour of an individual class or a
collaboration of classes may be specified with a state machine.

States

Third, an activity is a behavior that specifies the sequence of steps a


computational process performs. In an interaction, the focus is on the set of
objects that interact .Graphically, an action is rendered as a rounded rectangle
with a name indicating its purpose. States and actions are distinguished by their
different contexts.

59
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

Actions

Grouping Things
Grouping things are the organizational parts of UML models. These are the
boxes into which a model can be decomposed. There is one primary kind of
grouping thing, namely, packages.

A package is a general-purpose mechanism for organizing the design itself, as


opposed to classes, which organize implementation constructs. Structural things,
behavioral things, and even other grouping things may be placed in a package.
Unlike components (which exist at run time), a package is purely conceptual.
package is rendered as a tabbed folder, usually including only its name and,
sometimes, its contents.

Packages

Packages are the basic grouping things with which you may organize a UML
model. There are also variations, such as frameworks, models, and subsystems.

60
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

Annotational Things

Annotational things are the explanatory parts of UML models. These are the
comments you may apply to describe, illuminate, and remark about any element
in a model. There is one primary kind of annotational thing, called a note. A note
is simply a symbol for rendering constraints and comments attached to an
element or a collection of elements. Graphically, a note is rendered as a
rectangle with a dog-eared corner, together with a textual or graphical comment.

Notes

This element is the one basic annotational thing you may include in a UML
model. You'll typically use notes to adorn your diagrams with constraints or
comments that are best expressed in informal or formal text. There are also
variations on this element,

Relationships in the UML

There are four kinds of relationships in the UML


1. Dependency
2. Association
3. Generalization
4. Realization
These relationships are the basic relational building blocks of the UML. You use
them to write well-formed models.
Dependency
A semantic relationship between two model elements in which a change to one
element (the independent one) may affect the semantics of the other element.
Graphically, a dependency is rendered as a dashed line, possibly directed, and
61
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

occasionally including a label.

Dependencies

Association
A structural relationship among classes that describes a set of links, a link being
a connection among objects that are instances of the classes. Aggregation is a
special kind of association, representing a structural relationship between a
whole and its parts. Graphically, an association is rendered as a solid line,
possibly directed, occasionally including a label, and often containing other
adornments, such as multiplicity and end names.

Associations

Generalization
A specialization/generalization relationship in which the specialized element
(the child) builds on the specification of the generalized element (the parent).
The child shares the structure and the behavior of the parent. Graphically, a
generalization relationship is rendered as a solid line with a hollow arrowhead
pointing to the parent.

Generalizations

62
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning

Realizations
A semantic relationship between classifiers, wherein one classifier specifies a
contract that another classifier guarantees to carry out. You'll encounter
realization relationships in two places: between interfaces and the classes or
components that realize them, and between use cases and the collaborations that
realize them. Graphically, a realization relationship is rendered as a cross
between a generalization and a dependency relationship.

Realization

63
Multiclass Prediction Model For Student Grade
SYSTEM DESIGN Prediction Using Machine Learning

USE CASE DIAGRAM

A use case diagram is a type of behavioral diagram that is specified by and produced
from a use-case analysis in the Unified Modeling Language (UML).
Its aim is to provide a graphical summary of the functionality a system offers in terms
of actors, their objectives (represented as use cases), and any interdependencies
between those use cases.

Load Data

Take Data

Preprocessing

system Actor
Model Building

Training

input to model

Generate results

View Results

Fig.3.4.1 Use case Diagram

64
Multiclass Prediction Model For Student Grade
SYSTEM DESIGN Prediction Using Machine Learning

CLASS DIAGRAM
A class diagram is a type of static structure diagram used in software engineering that
displays the classes, attributes, operations (or methods), and relationships between the
classes to explain the structure of a system. What class holds information is
explained. Class diagram describes the attributes and operations of a class and also
the constraints imposed on the system. The class diagrams are widely used in the
modelling of object-oriented systems because they are the only UML diagrams,
which can be mapped directly with object-oriented languages. A class diagram is a
type of diagram in the Unified Modelling Language (UML) that represents the
structure and relationships of classes, interfaces, associations, and other elements
within a software system or application. Class diagrams are used to visualize the
static structure of a system, showing how different classes are related to each other
and how they collaborate to fulfil the system's functionality. Class diagrams are
valuable tools for understanding the structure of a system and its components,
fostering communication among developers and stakeholders. They provide a visual
representation of how classes interact and collaborate to achieve system
functionalities. Class diagrams are typically part of the analysis and design phase of
software development and are useful for creating a shared understanding of the
system's architecture before implementation.

Fig.3.4.2 Class Diagram

65
Multiclass Prediction Model For Student Grade
SYSTEM DESIGN Prediction Using Machine Learning

SEQUENCE DIAGRAM

An interaction diagram that depicts how processes engage with one another and in
what order is known as a sequence diagram in the Unified Modelling Language
(UML). It portrays the communication between any two lifelines as a time-ordered
sequence of events, such that these lifelines took part at the run time.
A sequence diagram simply depicts interaction between objects in a sequential
order i.e., the order in which these interactions take place. We can also use the
terms event diagrams or event scenarios to refer to a sequence diagram. Sequence
diagrams describe how and in what order the objects in a system function. These
diagrams are widely used by businessmen and software developers to document

system User

1.Load Data

2:Displays Data

3:Model Selection

4.Model Training

5:Predictions

6:Model Predictions

7.Graphs

8:Generate Graphs

Fig.3.4.3 Sequence diagram

66
Multiclass Prediction Model For Student Grade
SYSTEM DESIGN Prediction Using Machine Learning

COLLABORATION DIAGRAM

As shown below, a numbering technique is used in the collaboration diagram to


identify the method call sequence, indicated by the number is the order in which the
methods are executed. For the purpose of describing the collaboration diagram, we
have used the same order administration system. Comparable to a sequence diagram
are the function calls. However, the collaboration diagram illustrates the object
structure, while the sequence diagram only describes it. A collaboration diagram, also
known as a communication diagram, is another type of diagram in the Unified
Modelling Language (UML) that illustrates the interactions and relationships between
objects or instances within a system. Unlike class diagrams, which focus on the static
structure of classes and their relationships, collaboration diagrams emphasize the
dynamic behaviour of objects as they exchange messages to achieve specific
interactions or scenarios.

4: Model Trining
6: Model Predicitons
8: Generate Graphs

2: 2:Displays Data
system User

1: 1.Load Data
3: Model Selection
5: Predictions
7: Graphs

Fig.3.4.4. Collaboration Diagram

67
Multiclass Prediction Model For Student Grade
SYSTEM DESIGN Prediction Using Machine Learning

DEPLOYMENT DIAGRAM

A system's deployment perspective is represented by a deployment diagram. The


component diagram and it are linked. Due to the fact that deployment diagrams are
used to distribute the components. There are components in a deployment diagram. In
order to launch the application, nodes are nothing more than pieces of physical
hardware.

system User

Fig.3.4.5 Deployment Diagram

COMPONENT DIAGRAM

An organisation and wiring of the actual components in a system are


shown in a component diagram, also called a UML component diagram.
Drawing component diagrams is a common practise for modelling
implementation details and verifying that planned development addresses
every element of the system's necessary function.

user system

Fig.3.4.6 Component Diagram

68
Multiclass Prediction Model For Student Grade
SYSTEM DESIGN Prediction Using Machine Learning

ACTIVITY DIAGRAM

Workflows of sequential activities and acts with support for choice, iteration, and
concurrency are graphically represented in activity diagrams. The business and
operational step-by-step processes of system components can be described using
activity diagrams in the Unified Modelling Language. The total control flow is
displayed in an activity diagram.

System
User

preprocessing
Data set
loading

Trining the
model input data

Generate View Results


results

Fig.3.4.7 Activity Diagram

69
Multiclass Prediction Model For Student Grade
SYSTEM DESIGN Prediction Using Machine Learning

Input Design

Consequently, the system output's quality is determined by the input's quality.


Input design is a critical phase in the system design process, where the requirements
and specifications of how data is collected and entered int a computerized system are
defined. It focuses on creating an efficient, accurate, and user-friendly interface for
users to input data into the system. The primary goal of input design to ensure that the
data entered into the system is accurate, complete, and consistent while also
minimizing the chances of errors and ensuring a smooth user experience. The
following characteristics are present in well-designed input forms and screens:
• They should successfully accomplish a specific task, such as storing, recording, and
retrieving data.
• It guarantees correct and accurate finishing.
• It ought to be simple and quick to complete.
• The attention, consistency, and simplicity of the customer should be its main
priorities.
• By having a basic understanding of design principles, including
What are the system's input requirements, all of these goals can be achieved.
How various form and screen components are received by end users.
Objectives for Input Design
The goals of input design are to:
• Create efficient data entry and input processes
• Decrease the volume of input
• Create source documents for data collection or develop alternative data collection
techniques
• Design input data records, data entry screens, user interface screens, etc.
• Employ validation checks and create efficient input controls.

70
Multiclass Prediction Model For Student Grade
SYSTEM DESIGN Prediction Using Machine Learning

Output Design
The most crucial job for any system is the design of the output. Developers choose
the appropriate output types, take into account the required output controls, and create
sample report layouts during output design. Output design is a crucial aspect of
system design that focuses on how a system presents information to users or other
systems. It involves determining what information needs to be displayed, how it
should be organized, formatted, and presented in a meaningful and user-friendly
manner. Output design aims to provide accurate, relevant, and timely information to
users in a way that supports their tasks and decision-making processes. This design
aspect is particularly important in user interfaces, reports, and other forms of data
presentation.

Objectives for Output Design


The development of an output design that fulfils the intended function and prevents
the creation of undesirable output is one of the input design's primary goals.
Clarity and Understandability: The primary objective of output design is to present
information in a way that users can easily understand. Outputs should convey their
intended meaning without ambiguity or confusion.
Relevance and Context: Outputs should provide information that is relevant to the
user's needs and tasks. The design should ensure that the presented data is
contextually appropriate and supports the user's decision-making process.
Accuracy and Reliability: Output design aims to present accurate and reliable
information. Users should be able to trust the data presented to them, especially when
making critical decisions.
Efficiency and Productivity: Well-designed outputs should facilitate efficient
processing of information. They should help

71
TESTING
Multiclass Prediction Model For Student Grade
TESTING Prediction Using Machine Learning

4.TESTING
4.1. Introduction
The purpose of checking out is to discover errors. Testing is the procedure of trying
to find out each attainable fault or weak point in a piece product. It provides a manner
to check the functionality of components, sub-assemblies, assemblies and a
completed product. It's far the process of exercise software program with the motive
of making sure that the software machine meets its necessities and consumer
expectations and does no longer fail in an unacceptable manner. There are various
varieties of test. Each check kind addresses a particular checking out requirement

SYSTEM TESTING

Finding mistakes is the goal of testing. The process of testing includes looking for
any potential flaws or weaknesses in a piece of work. It offers a means of evaluating
the functionality of parts, subassemblies, assemblies, and/or a final good. In order to
make sure that the software system satisfies its specifications and client assumptions
and doesn't fail in an undesirable way, it must be put through a procedure called
software testing. There are many different test kinds.
A particular testing requirement is addressed by each test type.

4.2. TYPES OF TESTING

Unit testing

In order to verify that the core programme logic is working correctly and that
programme inputs result in legitimate outputs, unit testing entails the construction of
test cases. The internal code stream should be verified, as well as any decision
branches. That is the application's software being tested individually. Prior to
integration, it is performed after the finish of a single unit. This testing is intrusive,
structural, and dependent on understanding how it was built. A particular application,
business process, and/or system configuration are tested using unit tests, which carry
out fundamental testing at the component level. Unit tests make assurance that each
individual route of a business process adheres precisely to the stated specifications
and has inputs and outputs that are well-defined.

72
Multiclass Prediction Model For Student Grade
TESTING Prediction Using Machine Learning

Integration testing

Testing interconnected software components to see if they function as a single


programme is done via integration tests. The fundamental consequence of displays or
fields is more important to testing, which is event driven. Although the individual
elements were acceptable in unit testing, integration tests reveal that the combining of
the components is accurate and consistent even though individual elements were
satisfactory. The purpose of integration testing is to identify issues that result from
the fusion of several components.

Functional test

Functional tests offer methodical evidence that the tested functionalities are available
in accordance with the technical and business requirements, user manuals and system
documentation.

These aspects are the focus of functional testing:

Valid Input : Accepted valid input must fall into the categories that specified.
Invalid Input : Recognized categories of unacceptable input must be discarded.

Functions : It is required that you use the listed functions.

Output : Application outputs from the indicated classes must be tested.

Systems : interfacing systems or procedures must be invoked.

Functional tests are organised and prepared with a focus on requirements, essential
functionality, or unique test cases. Moreover, testing must consider systematic
coverage of data fields, specified procedures, and subsequent activities, as well as
business process flows. More tests are found, and the usefulness of the existing tests
is assessed before functionality testing is finished.

system integration testing is one kind of system testing. System testing relies on
process flows and descriptions, with a focus on integration points and linkages that
were already driven by external processes.

73
Multiclass Prediction Model For Student Grade
TESTING Prediction Using Machine Learning

4.3. Testing Methodologies

White Box Testing

White box testing is a type of testing that occurs when the software tester is familiar
with the inner workings, language, and structure of a software, or at the at least,
knows what it is intended to do. There is a reason. The purpose of it is to test places
that are inaccessible from such black box levels. White box testing, also known as
clear box testing or structural testing, is a software testing technique that focuses on
examining the internal logic, code structure, and implementation details of a software
application. In white box testing, testers have access to the source code and use this
knowledge to design test cases that exercise specific paths, branches, and conditions
within the code.
Black Box Testing
Black box testing involves evaluating the programme without having any prior
understanding of the workings, architecture, or syntax of the modules being
evaluated. Similar to the majority of other types of tests, black box tests must be
created from a clear original document, such as a description or specifications
document. The programme being tested is viewed as just a black box throughout this
testing process. You are unable to "look" into it. Without taking the functionality of
the software into account, the test generates input and responses to outputs.
Unit Testing
Although it is relatively unusual for programming & unit testing to just be carried out
as two separate stages, unit testing is typically undertaken as part of the a merged
coding and unit test phase during the software lifecycle.
Analyse your approach and strategy.
In-depth testing will be created, and field testing would be done manually.
Examining criteria

• Field inputs must be accurate in every instance.


• The designated link must be used to activate pages.
• No delays should be allowed for the entering screen, messages, or answers.
Testing features
• Check to make sure the entries are formatted properly.

74
Multiclass Prediction Model For Student Grade
TESTING Prediction Using Machine Learning

• There should be no tolerance for repeated entries.


• Each link must direct users to the appropriate page.

Integration Testing
The progressive examination of two or more integrated hardware and software
elements on a single platform known as "software integration testing" is done to
induce failures brought on by interface flaws.

The goal of an integration evaluation is to guarantee that software applications or


components, such as those found in a software program or, on a higher level, software
applications used by a whole firm, work together flawlessly.

Testing Results: All the test scenarios were successful. There were no faults found.

Acceptance Testing

Approval by the user Each project's testing phase necessitates the end user's active
involvement. Moreover, it guarantees that the system satisfies the functional
specifications. Acceptance testing is a crucial phase in the software development life
cycle where a software system is evaluated to determine if it meets the specified
requirements and is ready for deployment to its intended users or stakeholders. The
primary goal of acceptance testing is to validate that the software satisfies the
business needs, functions as expected, and aligns with the user's expectations. This
testing phase helps ensure that the software is both technically and functionally sound
before it is released

Test Results

Each of the test scenarios was successful. No problems were found

4.4. TEST CASES

Test cases are detailed descriptions of scenarios, conditions, or steps that testers
follow to verify whether a software system or application meets its requirements and
functions as intended. Test cases serve as a roadmap for the testing process, outlining
the expected inputs, actions, and expected outcomes for specific features or
functionalities. Well-designed test cases help ensure that the software is thoroughly
tested, defects are identified, and the system's quality is maintained.

75
Multiclass Prediction Model For Student Grade
TESTING Prediction Using Machine Learning

Input Output Result


Input features Tested for different Success
features given by
user on the different
model.
Student Grade classification Tested for different Success
input features given
by the user on
different features
from the models are
created using the
different algorithms
and data.
Grade Prediction Grade prediction Success
will be performed
using the different
models build from
the algorithms.

Fig.4.4.1 Test cases

76
Multiclass Prediction Model For Student Grade
TESTING Prediction Using Machine Learning

TEST CASES MODEL BUILDING

S.NO Test cases I/O Expected Actual O/T P/F


O/T

1 Read the Dataset’s Datasets need Datasets It produced P.


datasets. path. to read fetched If this not F
successfully. successfully. will come
2 Verifying the Input features Output is Output is It produced P.
features and as input, for classified as classified as If this is not, it
generates Student Grade different different will undergo F
result. classification Grades Grades
3 Verifying the Input features Need to Model It produced P.
features and as input for predict the successfully If this is not, it
generates result Student Grade student predicted will undergo F
prediction Grade. Student Grade
4 Verifying the Input features Need to Model It produced P.
features and as input for predict the successfully If this is not, it
generates result Student Grade student Grade predicted will undergo F
prediction with DT Student Grade
5 Verifying the Input features Need to Model It produced P.
features and as input for predict the successfully If this is not, it
generates result Student Grade student Grade predicted will undergo F
prediction with KNN Student Grade
6 Verifying the Input features Need to Model It produced P.
features and as input for predict the successfully If this is not, it
generates result Student Grade student Grade predicted will undergo F
prediction with LR Student Grade

77
Multiclass Prediction Model For Student Grade
TESTING Prediction Using Machine Learning

6 Verifying the Input features Need to Model It produced P. If


features and as input for predict the successfully this is not, it will
generates result Student Grade student Grade predicted undergo F
prediction with LR Student Grade
7 Verifying the Input features Need to Model It produced P. If
features and as input for predict the successfully this is not, it will
generates result Student Grade student Grade predicted undergo F
prediction with NB Student Grade
8 Verifying the Input features Need to Model It produced P. If
features and as input for predict the successfully this is not, it will
generates result Student Grade student Grade predicted undergo F
prediction with RF Student Grade
9 Verifying the Input features Need to Model It produced P. If
features and as input for predict the successfully this is not, it will
generates result Student Grade student Grade predicted undergo F
prediction with DT with Student Grade
SMOTE and
Feature
Selection

10 Verifying the Input features Need to Model It produced P. If


features and as input for predict the successfully this is not, it will
generates result Student Grade student Grade predicted undergo F
prediction with KNN Student Grade
with SMOTE
and Feature
Selection

78
Multiclass Prediction Model For Student Grade
TESTING Prediction Using Machine Learning

11 Verifying the Input features Need to Model It produced P. If


features and as input for predict the successfully this is not, it will
generates result Student Grade student Grade predicted undergo F
prediction with LR with Student Grade
SMOTE and
Feature
Selection
12 Verifying the Input features Need to Model It produced P. If
features and as input for predict the successfully this is not, it will
generates result Student Grade student Grade predicted undergo F
prediction with NB with Student Grade
SMOTE and
Feature
Selection
13 Verifying the Input features Need to Model It produced P. If
features and as input for predict the successfully this is not, it will
generates result Student Grade student Grade predicted undergo F
prediction with RF with Student Grade
SMOTE and
Feature
Selection

Fig.4.4.2 Test cases Model Building

79
IMPLEMENTATION
Multiclass Prediction Model For Student Grade
IMPLEMENTATION Prediction Using Machine Learning

5. Implementation

5.1. Sample output

Student Grade Prediction

This page describes the predicted grade of the given input features.

Fig.5.1.1 Data Entry

80
Multiclass Prediction Model For Student Grade
IMPLEMENTATION Prediction Using Machine Learning

Fig.5.1.2 Grade Prediction

81
Multiclass Prediction Model For Student Grade
IMPLEMENTATION Prediction Using Machine Learning

This Page describes the accuracy of models

Fig.5.1.3 Accuracy Rate

82
CONCLUSION
Conclusion
One of the important performance indicators that might assist instructors in keeping
tabs on students' academic achievement is predicting their grades. As a result, it's
crucial to have a predictive model that can lower the degree of uncertainty in the
result for a dataset that is unbalanced. Based on the prior student final examination
results from the first-semester course, this project suggests a multiclass prediction
model with six predictive models to forecast the final student grades. To assess the
performance accuracy of student grade prediction, we specifically conducted a
comparison analysis of oversampling SMOTE and FS techniques. Also, we have
demonstrated that the studied oversampling SMOTE is consistently enhanced with
the use of FS with all prediction models.
BIBLIOGRAPHY
BIBLIOGRAPHY
APPENDIX-A
REFERENCES

[1]X. Zhang, R. Xue, B. Liu, W. Lu, and Y. Zhang, ‘‘Grade prediction of student
academic performance with multiple classification models,’’.
[2]S. T. Jishan, R. I. Rashu, N. Haque, and R. M. Rahman, ‘‘Improving accuracy of
students’ final grade prediction model using optimal equal width binning and
synthetic minority over-sampling technique,’’
[3]A. Polyzou and G. Karypis, ‘‘Grade prediction with models specific to students
and courses,’’
[4]Z. Iqbal, J. Qadir, A. N. Mian, and F. Kamiran, ‘‘Machine learning based student
grade prediction
[5]I. Khan, A. Al Sadiri, A. R. Ahmad, and N. Jabeur, ‘‘Tracking student
performance in introductory programming by Means of machine learning,’’
[6]M. A. Al-Barrak and M. Al-Razgan, ‘‘Predicting students final GPA using
decision trees:
[7]E. C. Abana, ‘‘A decision tree approach for predicting student grades in research
project using WEKA,
[8]F. Ahmad, N. H. Ismail, and A. A. Aziz, ‘‘The prediction of students’ academic
performance using classification data mining techniques,’’
[9]T. Anderson and R. Anderson, ‘‘Applications of machine learning to student grade
prediction in quantitative business courses,’’
[10]S. Hussain, N. A. Dahan, F. M. Ba-Alwib, and N. Ribata, ‘‘Educational data
mining and analysis of students’ academic performance using WEKA,’’
[11] A. Verma, ‘‘Evaluation of classification algorithms with solutions to class
imbalance problem on bank marketing dataset using WEKA,
[12]D. Berrar, ‘‘Cross-validation,’’ Comput. Biol.,
[13]M. Hussain, W. Zhu, W. Zhang, S. M. R. Abidi, and S. Ali, ‘‘Using machine
learning to predict student difficulties from learning session data.
Appendix – B

Glossary

S No Abbreviation Description

Synthetic Minority Oversampling Technique


1 SMOTE

2 ERD Entity Relationship Diagram

3 DFD Data Flow Diagram

4 Py Python

5 SDLC Software Development Life Cycle

6 UML Unified Modelling Language

7 OOP Object Oriented Programming

8 XML Extensible Markup Language

Application Programming Language


9 API

10 JS Java Script

11 DOM Document Object Model


APENDIX-C

List Tables

S.No. Table No Title of Table Page no Chapter

1 3.1 ER-Diagram 44 System Design


Components Used in
2 3.2 ER-Diagram 45 System Design

3 4.4.1 Test Cases 76 Testing

4 4.4.2 Test Casese Model 79 Testing


Building
List of Figures

S No Fig No Title of Fig Page No Chapter

1 1.4 Architecture 3 Introduction

2 2.7.1 Waterfall Model 15 SRS

3 2.9.1 SMOTE 22 SRS

4 2.10 Python Download 42 SRS

5 2.10.1 PyCharm Download 42 SRS

6 2.10.2 PyCharm Interface 43 SRS

7 2.10.3 NumPy Installation 43 SRS

8 3.1 ER-Diagram 44 System Design

Components of ER-
9 3.2 45 System Design
Diagram

10 3.3 DFD Diagram 52 System Design

11 3.4.1 Use Case Diagram 64 System Design

12 3.4.2 Class Diagram 65 System Design

13 3.4.3 Sequence Diagram 66 System Design

Collaboration
14 3.4.4 67 System Design
Diagram

15 3.4.5 Component Diagram 68 System Design

16 3.4.6 Deployment Diagram 68 System Design

17 3.4.7 Activity Diagram 69 System Design


List Of Screen

S.NO. Screen No. Title of Screen Page No Chapter

1 5.1.1 Data Entry 80 Implementation

2 5.1.2 Grade predict 81 Implementation

3 5.1.3 Accuracy Rate 82 Implementation


Appendix – D

Help Document

Software Installation for Machine Learning Projects

1 Installing Python

1.To download and install Python visit the official website of

Python https://www.p ython.org/downloads/ and choose your version.

2.
Launch the Python installation exe when the download has finished. Click Install
Now to continue.
3. You can see Python installing at this point.
4. When it finishes, you can see a screen that says the Setup was successful. Now
click on "Close".
Installing PyCharm
12. To download PyCharm visit the website
https://www.jetbrains.com/pycharm/download/ and click the "DOWNLOAD" link
under the Community Section.
13. Launch the installer for PyCharm when the download is finished. That ought to
have launched the setup wizard. "Next" should be clicked.
14. If necessary, modify the installation path on the next screen. "Next" should be
clicked.
15. Click "Next" to get to the following screen, where you can if you'd like create a
desktop shortcut.
16. Choose a folder from the start menu. Click "Install" while keeping JetBrains
selected.
17. Hold off until the installation is complete.
18. A message screen indicating that PyCharm has been installed should appear after
installation is complete. The "Run PyCharm Community Edition" box must be
selected before you can click "Complete" if you decide to run it.
19. The End screen will show up when you click it.

20. For your project to be completed properly, you must install a few packages.
21. Launch the terminal as an administrator or at the command prompt, Anaconda, or
both.
22. When the window appears, enter the location you were given and the installation
command pip install package name (like NumPy, pandas, sea born, scikit-learn,
Matplotlib, Pyplot).

You might also like