Multiclass Prediction Model For Student Grade Prediction Using Machine Learning
Multiclass Prediction Model For Student Grade Prediction Using Machine Learning
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
By
2021-2023
*****
ANNAMACHARYA INSTITUTE OF TECHNOLOGY AND SCIENCES
(AUTONOMOUS)
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.
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.
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.
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.
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.4. Modules 10
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
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
Limitations
• High complexity.
• Time consuming.
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
3
Introduction Multiclass prediction model for student grade
Prediction using machine learning
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.
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
6
Introduction Multiclass prediction model for student grade
Prediction using machine learning
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
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
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.
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
2. System Modules
10
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning
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
RAM : 8 GB
13
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning
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.
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.
• 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
• 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
15
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning
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.
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.
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.
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
LOGISTIC REGRESSION
19
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning
20
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning
K Nearest Neighbour
21
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning
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
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.
language contains fewer syntactical structures than other languages and commonly
employs English terms in place of punctuation.
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
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.
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.
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 ([]).
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.
Matplotlib
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.
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.
• 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
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
36
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning
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.
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.
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
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
40
Multiclass Prediction Model For Student Grade
SRS Prediction Using Machine Learning
1 Installing Python
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
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.
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).
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
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
47
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning
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
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.
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.
49
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning
50
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning
➢ 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
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.
52
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning
GOALS
53
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning
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.
54
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning
Classes
Interfaces
55
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning
Collaborations
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
Components
57
Multiclass prediction model for student grade
SYSTEM DESIGN Prediction using machine learning
Artifacts
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
Messages
States
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.
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,
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
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
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.
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
66
Multiclass Prediction Model For Student Grade
SYSTEM DESIGN Prediction Using Machine Learning
COLLABORATION DIAGRAM
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
67
Multiclass Prediction Model For Student Grade
SYSTEM DESIGN Prediction Using Machine Learning
DEPLOYMENT DIAGRAM
system User
COMPONENT DIAGRAM
user system
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
69
Multiclass Prediction Model For Student Grade
SYSTEM DESIGN Prediction Using Machine Learning
Input Design
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.
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.
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
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.
Valid Input : Accepted valid input must fall into the categories that specified.
Invalid Input : Recognized categories of unacceptable input must be discarded.
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
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
74
Multiclass Prediction Model For Student Grade
TESTING Prediction Using Machine Learning
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.
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
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
76
Multiclass Prediction Model For Student Grade
TESTING Prediction Using Machine Learning
77
Multiclass Prediction Model For Student Grade
TESTING Prediction Using Machine Learning
78
Multiclass Prediction Model For Student Grade
TESTING Prediction Using Machine Learning
79
IMPLEMENTATION
Multiclass Prediction Model For Student Grade
IMPLEMENTATION Prediction Using Machine Learning
5. Implementation
This page describes the predicted grade of the given input features.
80
Multiclass Prediction Model For Student Grade
IMPLEMENTATION Prediction Using Machine Learning
81
Multiclass Prediction Model For Student Grade
IMPLEMENTATION Prediction Using Machine Learning
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
4 Py Python
10 JS Java Script
List Tables
Components of ER-
9 3.2 45 System Design
Diagram
Collaboration
14 3.4.4 67 System Design
Diagram
Help Document
1 Installing Python
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).