Cardiovascular Disease Prediction Using Machine
Cardiovascular Disease Prediction Using Machine
INTRODUCTION
1.1 MOTIVATION
In a world grappling with escalating health challenges, particularly the pervasive threat of
Cardiovascular Disease (CVD), our innovative model addresses a critical gap in patient care.
By harnessing advanced technology to detect signs of heart disease, we empower individuals,
especially those in underserved regions, to receive timely medical attention, potentially
saving countless lives.
The escalating global population amplifies the risk of diseases, with Cardiovascular Disease
(CVD) standing as a leading cause of mortality, especially in low and middle-income
countries. Hospital systems grapple with a lack of proactive technology to identify and
respond promptly to patient ailments, particularly for those living alone. To address this,
we've focused on developing a model specifically targeting heart disease detection, utilizing
key health indicators to enable timely intervention and reduce the alarming mortality rates
associated with CVD.
The primary objective of our project is to leverage advanced classification models to detect
and predict Cardiovascular Disease (CVD) in individuals. By integrating crucial health
parameters such as blood sugar levels, age, cholesterol, and more, we aim to create a robust
system that proactively identifies patients at risk. The ultimate goal is to provide a timely and
automated alert mechanism to hospitals, facilitating prompt medical intervention and
significantly reducing the mortality rate associated with heart diseases. associated with heart
diseases.
1
2. LITERATURE SURVEY
Fahd Saleh Alotaibi (2019) has created a machine learning model comparing
five various machine learning algorithms [1]. The author has deeply studied
the accuracy of Naive Bayes, LR, SVM, Decision Tree, and Random Forest
classification algorithms. The highest accuracy was by the Decision Tree.
Theresa Prince. R, et al. (2016) have surveyed different models used for
predicting heart disease. The classification techniques used by Theresa were
Naive Bayes, Neural network, KNN) LR, and Decision tree. The accuracy
score was compared with all the models and the comparison was made
efficiently [2].
Anjan Nikhil Repaka, et al., (2020) have proposed a machine learning model
for predicting heart disease [4] that uses techniques like Naive Bayesian for
the classification of the dataset and AES [8] algorithm for the prediction of
disease.
2
3. SYSTEM ANALYSIS
3.1 EXISTING SYSTEM:
Utilizing Support Vector Machines (SVM), our existing system excels in binary
classification for Cardiovascular Disease (CVD) detection. Trained on diverse
datasets, SVM effectively identifies patients at risk based on key health
parameters. Continuous refinement ensures a robust and accurate model for
timely intervention, crucial in combating heart diseases.
Disadvantages
Proposed system
The proposed system leverages Decision Trees (DT), Random Forest (RF), and
Naive Bayes algorithms for Cardiovascular Disease (CVD) detection. This
ensemble approach ensures enhanced accuracy, robustness, and versatility in
handling diverse datasets, improving early identification and intervention.
Advantages
3
HARDWARE REQUIREMENTS:
SOFTWARE REQUIREMENTS:
FEASIBILITY STUDY
The feasibility of the project is analyzed in this phase and the business
proposal is put forth with a very general plan for the project and some cost
estimates. During system analysis, the feasibility study of the proposed
system is to be carried out. This is to ensure that the proposed system is not a
burden to the company. For feasibility analysis, some understanding of the
major requirements for the system is essential.to be carried out. This is to
ensure that the proposed system is not a burden to the company. For
feasibility analysis, some understanding of the major requirements for the
system is essential.
4
Three key considerations involved in the feasibility analysis are
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL FEASIBILITY
ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system
will have on the organization. The amount of funds that the company can pour
into the research and development of the system is limited. The expenditure
must be justified. Thus, the developed system is well within the budget, and this
was achieved because most of the technologies used are freely available. Only
the customized products had to be purchased. Only the customized products had
to be purchased.
TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the
technical requirements of the system. No system developed must have a high
demand on the available technical resources. This will lead to high demands on
the available technical resources. This will lead to high demands being placed
on the client. The developed system must have a modest requirement, as only
minimal or null changes are required for implementing this system.
5
SOCIAL FEASIBILITY
The aspect of the study is to check the level of acceptance of the system
by the user. This includes the process of training the user to use the system
efficiently. The user must not feel threatened by the system, instead must accept
it as a necessity. The level of acceptance by the users solely depends on the
methods that are employed to educate the user about the system and to make
him familiar with it. His level of confidence must be raised so that he is also
able to make some constructive criticism, which is welcomed, as he is the final
user of the system.. The level of acceptance by the users solely depends on the
methods that are employed to educate the user about the system and to make
him familiar with it. His level of confidence must be raised so that he is also
able to make some constructive criticism, which is welcomed, as he is the final
user of the system.
4. SYSTEM DESIGN
6
4.2 DATA FLOW DIAGRAM:
7
be partitioned into levels that represent increasing information flow and
functional detail.
8
engineering. The standard is managed and was created by, the Object
Management Group.
The goal is for UML to become a common language for creating models
of object-oriented computer software. In its current form, UML is comprised of
two major components: a Meta-model and a notation. In the future, some form
of method or process may also be added to; or associated with, UML.-model
and a notation. In the future, some form of method or process may also be
added to; or associated with, UML.
The Unified Modeling Language is a standard language for specifying,
Visualization, Constructing, and documenting the artifacts of software systems,
as well as for business modeling and other non-software systems. .
The UML represents a collection of best engineering practices that have
proven successful in the modeling of large and complex systems.
UML is a very important part of developing object-oriented software and
the software development process. UML uses mostly graphical notations to
express the design of software projects. UML is a very important part of
developing objects-oriented software and the software development process.
UML uses mostly graphical notations to express the design of software projects.
GOALS:
The Primary goals in the design of the UML are as follows:
1. Provide users with a ready-to-use, expressive visual modeling Language
so that they can develop and exchange meaningful models...
2. Provide extensibility and specialization mechanisms to extend the core
concepts.
3. Be independent of programming languages and development processes.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of the OO tools market.
9
6. Support higher-level development concepts such as collaborations,
frameworks, patterns, and components.
7. Integrate best practices.
10
Class diagram:
The class diagram is used to refine the use case diagram and define a detailed design
of the system. The class diagram classifies the actors defined in the use case diagram into a
set of interrelated classes. The relationship or association between the classes can be either an
"is-a" or "has-a" relationship. Each class in the class diagram may be capable of providing
certain functionalities. These functionalities provided by the class are termed "methods" of
the class. Apart from this, each class may have certain "attributes" that uniquely identify the
class.
11
Object diagram:
12
State diagram:
A state diagram, as the name suggests, represents the different states that objects in
the system undergo during their life cycle. Objects in the system change states in response to
events. In addition to this, a state diagram also captures the transition of the object's state
from an initial state to a final state in response to events affecting the system.
13
Activity diagram:
The process flows in the system are captured in the activity diagram. Similar to a state
diagram, an activity diagram also consists of activities, actions, transitions, initial and final
states, and guard conditions.
14
Sequence diagram:
A sequence diagram represents the interaction between different objects in the system.
The important aspect of a sequence diagram is that it is time-ordered. This means that the
exact sequence of the interactions between the objects is represented step by step. Different
objects in the sequence diagram interact with each other by passing "messages".
15
4.3 IMPLEMENTATION:
MODULES:
Data Collection: Assemble a comprehensive data set, encompassing diverse
health indicators such as age, blood sugar, and cholesterol, sourced from
16
healthcare institutions, public repositories, and wearables for a holistic
representation.
Model Development:
The Modeling Module employs Decision Trees (DT), Random Forest (RF), and
Naive Bayes (NB) algorithms to predict Cardiovascular Disease. DT captures
intricate patterns, RF mitigates overfitting, and NB efficiently handles diverse
features. This ensemble approach ensures robust and accurate predictions,
contributing to effective early detection of CVD.
5. SOFTWARE ENVIRONMENT
17
What is Python:-
Below are some facts about Python.
Programmers have to type relatively less and the indentation requirement of the
language makes them readable all the time.
Python language is being used by almost all tech-giant companies like – Google,
Amazon, Facebook, Instagram, Dropbox, Uber… etc.
The biggest strength of Python is a huge collection of standard libraries that can be
used for the following –
Machine Learning
GUI Applications (like Kivy, Tkinter, PyQt, etc. )
Web frameworks like Django (used by YouTube, Instagram, and Dropbox)
Image processing (like Opencv, Pillow)
Web scraping (like Scrapy, BeautifulSoup, Selenium)
Test frameworks
Multimedia
Advantages of Python:-
1. Extensive Libraries
Python downloads with an extensive library and it contains code for various purposes
like regular expressions, documentation generation, unit-testing, web browsers,
threading, databases, CGI, email, image manipulation, and more. So, we don’t have to
write the complete code for that manually.testing, web browsers, threading, databases,
CGI, email, image manipulation, and more. So, we don’t have to write the complete code
for that manually.
18
2. Extensible
As we have seen earlier, Python can be extended to other languages. You can write
some of your code in languages like C++ or C. This comes in handy, especially in
projects.
3. Embeddable
Complimentary to extensibility, Python is embeddable as well. You can put your Python
code in your source code of a different language, like C++. This lets us add scripting
capabilities to our code in the other language.
4. Improved Productivity
5. IOT Opportunities
Since Python forms the basis of new platforms like Raspberry Pi, it finds the future bright
for the Internet Of Things. This is a way to connect the language with the real world.
When working with Java, you may have to create a class to print ‘Hello World’. But in
Python, just a print statement will do. It is also quite easy to learn, understand,
and code. This is why when people pick up Python, they have a hard time adjusting to
other more verbose languages like Java.
7. Readable
Because it is not such a verbose language, reading Python is much like reading English.
This is the reason why it is so easy to learn, understand, and code. It also does not need
curly braces to define blocks, and indentation is mandatory. This further aids the
readability of the code.
19
8. Object-Oriented
As we said earlier, Python is freely available. Not only can you download Python for
free, but you can also download its source code, make changes to it, and even distribute
it for free, but you can also download its source code, make changes to it, and even
distribute it. It downloads with an extensive collection of libraries to help you with your
tasks..
10. Portable
When you code your project in a language like C++, you may need to make some
changes to it if you want to run it on another platform. But it isn’t the same with Python.
Here, you need to code only once, and you can run it anywhere. This is called Write
Once Run Anywhere (WORA). However, you need to be careful enough not to include
any system-dependent features.
11. Interpreted
Lastly, we will say that it is an interpreted language. Since statements are executed one
by one, debugging is easier than in compiled languages.
Any doubts now about the advantages of Python? Mention in the comment section..
1. Less Coding
Almost all of the tasks done in Python require less coding when the same task is done in
other languages. Python also has awesome standard library support, so you don’t have to
search for any third-party libraries to get your job done. This is the reason that many
people suggest learning Python to beginners.t have to search for any third-party libraries
20
to get your job done. This is the reason that many people suggest learning Python to
beginners.
2. Affordable
Python is free therefore individuals, small companies or big organizations can leverage
the free available resources to build applications. Python is popular and widely used so it
gives you better community support.
The 2019 Github annual survey showed us that Python has overtaken Java in the
most popular programming language category.
Python code can run on any machine whether it is Linux, Mac, or Windows.
Programmers need to learn different languages for different jobs but with Python, you
can professionally build web apps, perform data analysis and machine learning,
automate things, do web scraping, and also build games and powerful visualizations. It is
an all-rounder programming language.It is an all-rounder programming language.
Disadvantages of Python
So far, we’ve seen why Python is a great choice for your project. But if you choose it,
you should be aware of its consequences as well. Let’s now see the downsides of
choosing Python over another language.
1. Speed Limitations
We have seen that Python code is executed line by line. However since is interpreted, it
often results in slow execution. This, however, isn’t a problem unless speed is a focal
point for the project. In other words, unless high speed is a requirement, the benefits
offered by Python are enough to distract us from its speed limitations.Python is
interpreted, it often results in slow execution. This, however, isn’t a problem unless
speed is a focal point for the project. In other words, unless high speed is a requirement,
the benefits offered by Python are enough to distract us from its speed limitations.
21
2. Weak in Mobile Computing and Browsers
While it serves as an excellent server-side language, Python is rarely seen on the client
side. Besides that, it is rarely ever used to implement smartphone-based applications. One
such application is called Carbonnelle.One such application is called Carbonnelle.
The reason it is not so famous despite the existence of Brython is that it isn’t that secure.
3. Design Restrictions
As you know, Python is dynamically typed. This means that you don’t need to declare the
type of variable while writing the code. It uses duck-typing. But wait, what’s that? Well,
it just means that if it looks like a duck, it must be a duck. While this is easy on the
programmers during coding, it can raise run-time errors.s that? Well, it just means that
if it looks like a duck, it must be a duck. While this is easy on the programmers during
coding, it can raise run-time errors.
5. Simple
No, we’re not kidding. Python’s simplicity can indeed be a problem. Take my example. I
don’t do Java, I’m more of a Python person. To me, its syntax is so simple that the
verbosity of Java code seems unnecessary.
This was all about the Advantages and Disadvantages of Python Programming Language.
History of Python: -
What do the alphabet and the programming language Python have in common? Right,
both start with ABC. If we are talking about ABC in the Python context, it's clear that the
programming language ABC is meant. ABC is a general-purpose programming language
and programming environment, which was developed in the Netherlands, Amsterdam, at
the CWI (Centrum Wiskunde &Informatica). The greatest achievement of ABC was to
influence the design of Python. Python was conceptualized in the late 1980s. Guido van
22
Rossum worked at that time on a project at the CWI, called Amoeba, a distributed
operating system. In an interview with Bill Venners1, Guido van Rossum said: "In the
early 1980s, I worked as an implementer on a team building a language called ABC at
Centrum voor Wiskunde & Informatica (CWI). I don't know how well people know
ABC's influence on Python. I will try to mention ABC's influence because I'm indebted
to everything I learned during that project and to the people who worked on it. "Later on
in the same interview, Guido van Rossum continued: "I remembered all my experience
and some of my frustration with ABC. I decided to try to design a simple scripting
language that possessed some of ABC's better properties but without its problems. So, I
started typing. I created a simple virtual machine, a simple parser, and a simple runtime. I
made my version of the various ABC parts that I liked. I created a basic syntax, used
indentation for statement grouping instead of curly braces or begin-end blocks, and
developed a small number of powerful data types: a hash table (or dictionary, as we call
it), a list, strings, and numbers."(or dictionary, as we call it), a list, strings, and numbers."
Before we take a look at the details of various machine learning methods, let's start by
looking at what machine learning is, and what it isn't. Machine learning is often
categorized as a subfield of artificial intelligence, but I find that categorization can often
be misleading at first brush. The study of machine learning certainly arose from research
in this context, but in the data science application of machine learning methods, it's more
helpful to think of machine learning as a means of building models of data.
23
setting in machine learning is essential to using these tools effectively, and so we will
start with some broad categorizations of the types of approaches we'll discuss here.
At the most fundamental level, machine learning can be categorized into two main types:
supervised learning and unsupervised learning.
Human beings, at this moment, are the most intelligent and advanced species on earth
because they can think, evaluate, and solve complex problems. On the other side, AI is
still in its initial stage and hasn’t surpassed human intelligence in many aspects. Then the
question is what is the need to make machines learn? The most suitable reason for doing
this is, “to make decisions, based on data, with efficiency and scale”.“to make decisions,
based on data, with efficiency and scale”.
24
decisions taken by machines, particularly to automate the process. These data-driven
decisions can be used, instead of using programming logic, in problems that cannot be
programmed inherently. The fact is that we can’t do without human intelligence, but
another aspect is that we all need to solve real-world problems with efficiency at a huge
scale. That is why the need for machine learning arises.-world problems with efficiency
at a huge scale. That is why the need for machine learning arises.
Quality of data − Having good-quality data for ML algorithms is one of the biggest
challenges. The use of low-quality data leads to problems related to data preprocessing
and feature extraction..
No clear objective for formulating business problems − Having no clear objective and
well-defined goal for business problems is another key challenge for ML because this
technology is not that mature yet.
Curse of dimensionality − Another challenge the ML model faces is too many features
of data points. This can be a real hindrance..
25
Applications of Machines Learning:-
Machine Learning is the most rapidly growing technology and according to researchers,
we are in the golden year of AI and ML. It is used to solve many real-world complex
problems which cannot be solved with the traditional approach. Following are some real-
world applications of ML −world applications of ML −
Emotion analysis
Sentiment analysis
Speech synthesis
Speech recognition
Customer segmentation
Object recognition
Fraud detection
Fraud prevention
Arthur Samuel coined the term “Machine Learning” in 1959 and defined it as a “Field of
study that gives computers the capability to learn without being explicitly
programmed”.
And that was the beginning of Machine Learning! In modern times, Machine Learning is
one of the most popular (if not the most!) career choices. According to Indeed, Machine
Learning Engineer Is The Best Job of 2019 with a 344% growth and an average base
salary of $146,085 per year.
26
But there is still a lot of doubt about what exactly is Machine Learning and how to start
learning it. So this article deals with the Basics of Machine Learning and also the path you
can follow to eventually become a full-fledged Machine Learning Engineer. Now let’s get
started!!!!!!
This is a rough roadmap you can follow on your way to becoming an insanely talented
Machine Learning Engineer. Of course, you can always modify the steps according to
your needs to reach your desired end goal!
In case you are a genius, you could start ML directly but normally, there are some
prerequisites that you need to know which include Linear Algebra, Multivariate Calculus,
Statistics, and Python. And if you don’t know these, never fear! You don’t need a Ph.D.
degree in these topics to get started but you do need a basic understanding.
Both Linear Algebra and Multivariate Calculus are important in Machine Learning.
However, the extent to which you need them depends on your role as a data scientist. If
you are more focused on application-heavy machine learning, then you will not be that
heavily focused on maths as there are many common libraries available. But if you want
to focus on R&D in Machine Learning, then mastery of Linear Algebra and Multivariate
Calculus is very important as you will have to implement many ML algorithms from
scratch..
Data plays a huge role in Machine Learning. Around 80% of your time as an ML expert
will be spent collecting and cleaning data. And statistics that handles the collection,
analysis, and presentation of data. So it is no surprise that you need to learn it!!!
Some of the key concepts in statistics that are important are Statistical Significance,
27
Probability Distributions, Hypothesis Testing, Regression, etc. Also, Bayesian Thinking is
an important part of ML which deals with various concepts like Conditional Probability,
Priors, and Priors, Maximum Likelihood, etc.!!!
Some of the key concepts in statistics that are important are Statistical Significance,
Probability Distributions, Hypothesis Testing, Regression, etc. Also, Bayesian Thinking is
also a very important part of ML which deals with various concepts like Conditional
Probability, Priors, and Posteriors, Maximum Likelihood, etc.
Some people prefer to skip Linear Algebra, Multivariate Calculus, and St, at, and
statistics, and learn them as they go along with trial and error. But the one thing that you
absolutely cannot skip is Python! There are other languages you can use for Machine
Learning like R, Scala, etc. Python is currently the most popular language for ML. Many
Python libraries are specifically useful for Artificial Intelligence and Machine Learning
such as �HYPERLINK "https://keras.io/"Keras, TensorFlow, Scikit-learn, etc.Python is
currently the most popular language for ML. In fact, there are many Python libraries that
are specifically useful for Artificial Intelligence and Machine Learning such
as Keras, TensorFlow, Scikit-learn, etc.
So if you want to learn ML, it’s best if you learn Python! You can do that using various
online resources and courses such as Fork Python available Free on GeeksforGeeks.
Now that you are done with the prerequisites, you can move on to learning ML (Which is
the fun part!!!) It’s best to start with the basics and then move on to the more complicated
stuff. Some of the basic concepts in ML are:
28
to the model. For example, to predict a fruit, there may be features like color, smell, taste,
etc.
Target (Label) – A target variable or label is the value to be predicted by our model. For
the fruit example discussed in the feature section, the label with each set of input would be
the name of the fruit like apple, orange, banana, etc.
Training – The idea is to give a set of inputs(features) and its expected outputs(labels), so
after training, we will have a model (hypothesis) that will then map new data to one of the
categories trained on.that will then map new data to one of the categories trained on.
Prediction – Once our model is ready, it can be fed a set of inputs to which it will provide
a predicted output(label).
Supervised Learning – This involves learning from a training dataset with labeled data
using classification and regression models. This learning process continues until the
required level of performance is achieved.
Unsupervised Learning – This involves using unlabelled data and then finding the
underlying structure in the data to learn more and more about the data itself using factor
and cluster analysis models.
Semi-supervised Learning – This involves using unlabelled data like Unsupervised
Learning with a small amount of labeled data. Using labeled data vastly increases the
learning accuracy and is also more cost-effective than Supervised Learning.
Reinforcement Learning – This involves learning optimal actions through trial and error.
So the next action is decided by learning behaviors that are based on the current state and
that will maximize the reward in the future.
Advantages of Machine learning:-
Machine Learning can review large volumes of data and discover specific trends and
patterns that would not be apparent to humans. For instance, an e-commerce website like
Amazon serves to understand the browsing behaviors and purchase histories of its users to
help cater to the right products, deals, and reminders relevant to them. It uses the results to
reveal relevant advertisements to them.
29
2. No human intervention needed (automation)
With ML, you don’t need to babysit your project every step of the way. Since it means
giving machines the ability to learn, it lets them make predictions and also improve the
algorithms on their own. A common example of this is anti-virus software; they learn to
filter new threats as they are recognized. ML is also good at recognizing spam.
3. Continuous Improvement
As ML algorithms gain experience, they keep improving in accuracy and efficiency. This
lets them make better decisions. Say you need to make a weather forecast model. As the
amount of data you have keeps growing, your algorithms learn to make more accurate
predictions faster.
Machine Learning algorithms are good at handling data that are multi-dimensional and
multi-variety, and they can do this in dynamic or uncertain environments.
5. Wide Applications
You could be an e-tailer or a healthcare provider and make ML work for you. Where it does
apply, it holds the capability to help deliver a much more personal experience to customers
while also targeting the right customers.
1. Data Acquisition
Machine Learning requires massive data sets to train on, and these should be
inclusive/unbiased and of good quality. There can also be times when they must wait for
new data to be generated.
ML needs enough time to let the algorithms learn and develop enough to fulfill their
purpose with a considerable amount of accuracy and relevancy. It also needs massive
resources to function. This can mean additional requirements of computer power for you.
30
3. Interpretation of Results
Another major challenge is the ability to accurately interpret results generated by the
algorithms. You must also carefully choose the algorithms for your purpose.
4. High error-susceptibility
Machine Learning is autonomous but highly susceptible to errors. Suppose you train an
algorithm with data sets small enough to not be inclusive. You end up with biased
predictions coming from a biased training set. This leads to irrelevant advertisements being
displayed to customers. In the case of ML, such blunders can set off a chain of errors that
can go undetected for long periods when they do get noticed, it takes quite some time to
recognize the source of the issue, and even longer to correct it.
Gui Van Rossum published the first version of Python code (version 0.9.0) at alt. so
sources in February 1991. This release included already exception handling, functions, and
the core data types of list, dict, str, and others. It was also object-oriented and had a module
system.
Python version 1.0 was released in January 1994. The major new features included in this
release were the functional programming tools lambda, map, filter, and reduce, which
Guido Van Rossum never liked. Six and a half years later in October 2000, Python 2.0 was
introduced. This release included list comprehensions and a full garbage collector and it
supported unicode. Python flourished for another 8 years in version 2. before the next
major release P
on 3.0 (also known as "Python 3000" and "Py3K") was released. Python 3 is not backward
compatible with Python 2. x. The emphasis in Python 3 had been on the removal of
duplicate programming constructs and modules, thus fulfilling or coming close to fulfilling
the 13th law of the Zen of Python: "There should be one -- and preferably only one --
obvious way to do it."Some changes in Python 7.3:This release included list
comprehensions, a full garbage collector and it was supporting unicode.Python flourished
for another 8 years in the versions 2.x before the next major release as Python 3.0 (also
known as "Python 3000" and "Py3K") was released. Python 3 is not backwards compatible
31
with Python 2.x. The emphasis in Python 3 had been on the removal of duplicate
programming constructs and modules, thus fulfilling or coming close to fulfilling the 13th
law of the Zen of Python: "There should be one -- and preferably only one -- obvious way
to do it."Some changes in Python 7.3:
Python
32
of code. Maintainability also ties into this may be an all but useless metric, but it does
say something about how much code you have to scan, read, and/or understand to
troubleshoot problems or tweak behaviors. This speed of development, the ease with
which a programmer of other languages can pick up basic Python skills, and the huge
standard library are key to another area where Python excels. All its tools have been
quick to implement and saved a lot of time, and several of them have later been
patched and updated by people with no Python background - without breaking.
Tensorflow
TensorFlow is a free and open-source software library for dataflow and differentiable
programming across a range of tasks. It is a symbolic math library and is also used
for machine learning applications such as neural networks. It is used for both research
and production at Google.
TensorFlow was developed by the Google Brain team for internal Google use. It was
released under the Apache 2.0 open-source license on November 9, 2015.
Numpy
It is the fundamental package for scientific computing with Python. It contains various
features including these important ones:
33
Pandas
Matplotlib
For simple plotting, the pyplot module provides a MATLAB-like interface, particularly
when combined with IPython. For the power user, you have full control of line styles,
font properties, axes properties, etc, via an object-oriented interface or a set of functions
familiar to MATLAB users.. For the power user, you have full control of line styles, font
properties, axes properties, etc, via an object oriented interface or via a set of functions
familiar to MATLAB users.
Scikit – learn
34
Scikit-learn provides a range of supervised and unsupervised learning algorithms via a
consistent interface in Python. It is licensed under a permissive simplified BSD license
and is distributed under many Linux distributions, encouraging academic and
commercial use. Python
35
The object-oriented approach and language construct provided by Python enables
programmers to write both clear and logical code for projects. This software does not
come pre-packaged with Windows.
There have been several updates in the Python version over the years. The question is how
to install Python. It might be confusing for the beginner who is willing to start learning
Python but this tutorial will solve your query. The latest or the newest version of Python is
version 3.7.4 or in other words, it is Python 3.
Note: The Python version 3.7.4 cannot be used on Windows XP or earlier devices.
Before you start with the installation process of Python. First, you need to know about
your System Requirements. Based on your system type i.e. operating system and
processor, you must download the pythonPythonon. My system type is a Windows 64-bit
operating system. So the steps below are to install Python version 3.7.4 on a Windows 7
device or to install Python 3.The steps on how to install Python on Windows 10, 8 and 7
are divided into 4 parts to help understand better.. The steps on how to install Python on
Windows 10,,8, and 7 are divided into 4 parts to help understand better.
Step 1: Go to the official site to download and install Python using Google Chrome or any
"https://www.python.org/"https://
36
Now, check for the latest and the correct version for your operating system.
Step 3: You can either select the Download Python for Windows 3.7.4 button in Yellow
Color or you can scroll further down and click on Download with respective to their
version. Here, we are downloading the most recent Python version for Windows 3.7.47.4
37
Step 4: Scroll down the page until you find the Files option.
Step 5: Here you see a different version of Python along with the operating system.
• To download Windows 32-bit Python, you can select any one from the three options:
Windows x86 embeddable zip file, Windows x86 executable installer, or Windows x86
web-based installer. -based installer.
•To download Windows 64-bitPythonn, you can select any one from the three options:
Windows x86-64 embeddable zip file, Windows x86-64 executable installed,r or Windows
x86-64 web-based installer.-64 web-based installer.
38
Here we will install a Windows x86-64 web-based installer. Here your first part regarding
which versionPythonthon is to be downloaded is completed. Now we move ahead with the
second part of installing Python i.e. Installation.e. Installation
Note: To know the changes or updates that are made in the version you can click on the
Release Note Option.
Installation of Python
Step 1: Go to Download and Open the download python version to carry out the
installation process..
Step 2: Before you click on Install Now, Make sure to put a tick on Add Python 3.7 to
PATH.
39
Step 3: Click on Install NOW After the installation is successful. Click on Close.
With these above three steps on Python installation, you have successfully and correctly
installed Python. Now is the time to verify the installation.Now is the time to verify the
installation.
Note: The installation process might take a couple of minutes.
40
Step 3: Open the Command prompt option.
Step 4: Let us test whether the python is correctly installed. Type python –V and press
Enter.
41
Step 3: Click on IDLE (Python 3.7 64-bit) and launch the program
Step 4: To go ahead with working in IDLE you must first save the file. Click on File >
Click on Save
Step 5: Name the file and save it as the type should be Python files. Click on SAVE. Here
I have named the files as Hey World.Click on SAVE. Here I have named the files as Hey
World.
Step 6: e.g. enter printenter print
42
6. SYSTEM TESTSYSTEM TEST
The purpose of testing is to discover errors. Testing is the process of trying to discover every
conceivable fault or weakness in a work product. It provides a way to check the functionality
component of sub-assembles and/or a finished product It is the process of exercising software
with the intent of ensuring that the Software system meets its requirements and user
expectations and does blur. There are various types of tests. Each test type addresses a
specific testing requirement.Each test type addresses a specific testing requirement.
TYPES OF TESTS
Unit testing
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and the program inputs produce valid outputs. All
decision branches and internal code flow should be validated. It is the testing of individual
software units of the application .it done after the completion of an individual unit before
integration. This is a structural testing, that relies on knowledge of its construction and is
invasive. Unit tests perform basic tests at the component level and test a specific business
process, application, and/or system configuration. Unit tests ensure that each unique path of a
business process performs accurately to the documented specifications and contains clearly
defined inputs and expected results./or system configuration. Unit tests ensure that each
unique path of a business process performs accurately to the documented specifications and
contains clearly defined inputs and expected results.
Integration testing
Integration tests are designed to test integrated software components to
determine run as one program. Testing is event-driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
individually satisfied shown by successful unit testing, the combination of components is
correct and consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.. Integration testing is specifically aimed at
exposing the problems that arise from the combination of components.
43
Functional test
Functional tests provide systematic demonstrations that functions tested are
available as specified by the business and technical requirements, system documentation, and
user manuals.
Functional testing is centered on the following items:
System Test
System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An example of
system testing is the configuration-oriented system integration test. System testing is based
on process descriptions and flows, emphasizing pre-driven process links and integration
points.
44
Black Box Testing
Black Box Testing is testing the software without any knowledge of the inner
workings, structure, or language of the module being tested. Black box tests, like most other
kinds of tests, must be written from a definitive source document, such as specification or
requirements document, such as specification or requirements document. It is a testing in
which the software under test is treated, as a black box You cannot “see” into it. The test
provides inputs and responds to outputs without considering how the software works.The test
provides inputs and responds to outputs without considering how the software works.
Unit Testing
Unit testing is usually conducted as part of a combined code and unit test
phase of the software lifecycle, although it is not uncommon for coding and unit testing to be
conducted as two distinct phases.
Field testing will be performed manually and functional tests will be written
in detail.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
The entry screen, messages, and responses must not be delayed..
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
45
Integration Testing
Software integration testing is the incremental integration testing of two or
more integrated software components on a single platform to produce failures caused by
interface defects.
The task of the integration test is to check that components or software applications, e.g.
components in a software system or – one step up – software applications at the company
level – interact without error.
Test Results: All the test cases mentioned above passed successfully. No defects were
encountered.
Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional
requirements.
Test Results: All the test cases mentioned above passed successfully. No defects were
encountered.
46
7. SCREENSHOTS
47
1.2 Commands to open WebApp
48
1.3 Running app.py
49
1.4 Result
50
8. CONCLUSION AND FUTURE ENHANCEMENT
8.1 Conclusion
51
An increasing death rate due to heart disease is a cause of concern for every
citizen. Also, the increase in population decreases the efficiency of hospitals in
giving timely treatment. Therefore this calls for an immediate solution. It used
machine learning models such as RF, NB, DT, etc. It is possible to detect when
a patient has a heart-related problem. To reduce the over-fitting of the models,
we created synthetic data. We analyzed the dataset completely, cleaned the data,
and generated a new feature, BMI, to improve our model’s performance. The
Gradient Boosting Classifier performed best in terms of a train score of 80.29%
in training accuracy score, and the ML algorithm works best in terms of the test
score, i.e. 72.68%.
9. REFERENCES
[1] Fahd Saleh Alotaibi, ˆaImplementation of Machine Learning Model to
Predict Heart Failure Diseaseˆa International Journal of Advanced Computer
52
Science and Applications(IJACSA), 10(6), 2019.
http://dx.doi.org/10.14569/IJACSA.2019.0100637
[2] J. Thomas and R. T. Princy, ”Human heart disease prediction system using
data mining techniques,” 2016 International Conference on Circuit, Power and
Computing Technologies (ICCPCT), 2016, pp. 1-5, doi:
10.1109/ICCPCT.2016.7530265.
[3] J. Thomas and R. T. Princy, ”Human heart disease prediction system using
data mining techniques,” 2016 International Conference on Circuit, Power and
Computing Technologies (ICCPCT), 2016, pp. 1-5, doi:
10.1109/ICCPCT.2016.7530265.
[4] Rajdhan, Apurb Agarwal, Avi Sai, Milan Ghuli, Poonam. (2020). Heart
Disease Prediction using Machine Learning. International Journal of
Engineering Research and. V9. 10.17577/IJERTV9IS040614.
[6] Jiang, L., Cai, Z., Wang, D., Jiang, S. (2007, August). Survey of improving
k-nearest-neighbor for classification. In Fourth International Conference on
fuzzy systems and knowledge discovery (FSKD 2007) (Vol. 1, pp. 679-683).
IEEE.
[7] Ke, G., Meng, Q., Finley, T., Wang, T., Chen, W., Ma, W., ... Liu, T. Y.
(2017). Lightgbm: A highly efficient gradient-boosting decision tree. Advances
in neural information processing systems, 30, 3146-3154.
53
[9] Yegnanarayana, B. (2009). Artificial neural networks. PHI Learning Pvt.
Ltd..
[10] Amin-Naji, M., Aghagolzadeh, A., Ezoji, M. (2019). CNNs hard voting for
multi-focus image fusion. Journal of Ambient Intelligence and Humanized
Computing, 1-21.
[11] Nuttall, F. Q. (2015). Body mass index: obesity, BMI, and health: a critical
review. Nutrition today, 50(3), 117.
[12] Zheng, A., Casari, A. (2018). Feature engineering for machine learning:
principles and techniques for data scientists. ” O’Reilly Media, Inc.”.
[13] Cai, J., Luo, J., Wang, S., Yang, S. (2018). Feature selection in machine
learning: A new perspective. Neurocomputing, 300, 70-79.
[15] Kearns, C. E., Schmidt, L. A., Glantz, S. A. (2016). Sugar industry and
coronary heart disease research: a historical analysis of internal industry
documents. JAMA Internal Medicine, 176(11),
54