You are on page 1of 88

PARKINSON’S DISEASE PREDICTION USING MACHINE LEARNING

Project report submitted to

KRISTU JYOTI COLLEGE OF MANAGEMENT AND TECHNOLOGY


CHANGANACHERRY

In partial fulfillment of the requirements for the award of the

MASTER OF COMPUTER APPLICATION BY

DEVIKA R NATH
213242211009

Under the guidance of

Mrs. ANU JOSEPH

DEPARTMENT OF COMPUTER APPLICATIONS

KRISTU JYOTI COLLEGE OF MANAGEMENT AND TECHNOLOGY,


CHANGANACHERRY MAY, 2023
KRISTU JYOTI COLLEGE OF MANAGEMENT AND TECHNOLOGY,
CHANGANACHERRY
DEPARTMENT OF COMPUTER APPLICATION

CERTIFICATE

Certify that the project report entitled “PARKINSON’S DISEASE PREDICTION USING
MACHINE LEARNING” is a bonafide report of the project done by DEVIKA R NATH
(Register No:213242211009) under our guidance and supervision is submitted in partial
fulfillment of the Master of Computer Applications, awarded by Mahatma Gandhi University,
Kerala and that no part of this work has been submitted earlier for the award of any other degree.

Mrs. Anu Joseph Mr. Roji Thomas


Project guide HOD
Department seal

Mrs. Binny S Rev.Fr. Joshy Cheeramkuzhy CMI


Project Coordinator Principal

Submitted for presentation and viva held on………………

Examiners
1.

2.
DECLARATION

I, DEVIKA.R.NATH(Reg No:21324211009) hereby declare that the Project


Report entitled “PARKINSON’S DISEASE DETECTION USING MACHINE
LEARNING” submitted to Mahatmagandhi University”in partial fulfilment of
the requirements for the award of degree of Master of Computer Applications, is
a record of original work done by me under the guidance at Mrs.ANU JOSEPH
Assistant Professor, Department of Computer Applications, Kristu Jyoti College of
Management and Technology, Changanacherry. All information from other
sources has been duly referenced and acknowledged in accordance with the
University rules.

Place: Changanacherry

Name:DEVIKA.R.NATH

Date:…………………………
ACKNOWLEDGEMENT

Dreams never turn into reality unless a lot of effort and hard work is put into it.
And no effort ever bears fruit in the absence of the support and guidance. First of
all, I humbly give all the glory and honour to the almighty God for his eternal love
and protection throughout the projectwork

I would like to thank Rev. Fr. Joshy Cheeramkuzhy C.M.I.. Principal. Kristu
Jyoti College of Management and Technology, for his encouragement and support
throughout the course period. I would like to express my sincere gratitude to the
Director of MCA Dr. O.T.George, for the support and guidance for completing
the project work.

I record my sincere thanks and gratitude to Mr. Roji Thomas, Head of the
department. Department of Computer Applications, for his valuable advice and
encouragement during the course of this project work.

I am extremely grateful to Mrs. Sunandha Rajagopal, Assistant Professor.


Department of Computer Applications, for the valuable suggestions provided
which helped me to overcome the major problems encountered during the
completion of this project.

I am profoundly grateful to project guide Mrs. Anu Joseph Assistant Professor.


Department of Computer Applications, for the valuable guidance, help,
suggestions and assessment.

I also express my sincere gratitude to Ms.Anitta Joseph and Ms.Aswathy for


their guidance and support at Wahy Lab Solutions, Kochi, India.

I also extend my heart full thanks to all faculties of the Department of Computer
Applications, Kristu Jyoti College of Management and technology for their
inspiring and thought-provoking suggestions and constructive criticism for the
successful completion of this project. I also express my thanks to all my family and
friends for their boundless encouragement and appreciation
DEVIKA R NATH
TABLE OF CONTENTS

Content page no:


FIRST PAGE i
CERTIFICATE ii
CERTIFICATE iii
DECLARATION iv
ACKNOWLEDGEMENT

TABLE OF CONTENT vi
ABSTRACT x
Chapter 1 Introduction 1
1.1 Introduction
1.2 Objectives
1.3 Scope and Relevance of the Project

Chapter 2 System Analysis

2.1 Introduction
2.2 Existing System
2.3 Proposed System
2.4 Feasibility Study
2.4.1 Operational Feasibility
2.4.2 Technical Feasibility
2.4.3 Economic Feasibility
2.4.4 Behavioural Feasibility
2.4.5 Legal Feasibility
2.5 Artificial Intelligence
2.6 Machine Learning
2.6.1 Supervised Learning
2.6.2 Unsupervised Learning
2.6.3 Reinforcement Learning
2.7 Deep Learning
2.7.1 Artificial Neural Network
2.8 Convolutional Neural Network
2.8.1 Convolutional Layer
2.8.2 Pooling Layer
2.8.3 Fully Connected layer

Chapter 3 System Design


3.1 Introduction
3.2 Block Diagram
3.2.1Flowchart
3.3 Input Design
3.4 Output Design

Chapter 4 System Environment


4.1 Software Environment
4.2 Software Requirements Specification
4.2.1 Tools and platforms

➢Python
➢Jupyter notebook
4.3 Hardware Requirements Specification

Chapter 5 System Implementation

5.1 Coding

5.2 Testing and Verification Procedures

➢Unit Testing

➢Integration Testing
➢System Testing

➢User Acceptance Testing

➢Validation Testing

➢ Test Cases

5.3 System Implementation

Chapter 6 System Maintenance

6.1 Maintenance

Chapter 7 System Security Measures

7.1 Introduction

7.2 Operating System Level Security

7.3 System Level Security

Chapter 8 Future Scope and further Enhancement

Chapter 9 Conclusion

Chapter 10 Bibliography

Chapter 11 Appendix
ABSTRACT

Parkinson’s is considered one of the deadliest and progressive nervous system


diseases that affect movement. It is the second most common neurological disorder
that causes disability, reduces the lifespan, and still has no cure. Nearly 90% of
affected people with this disease have speech disorders. In real-world applications,
the information is generated by using various Machine Learning techniques.
Machine learning algorithms help to generate useful content from it.In various data
repositories, there are large medical datasets available that are used to identify the
diseases. To increase the lifespan of elderly people the machine learning
algorithms are used to detect diseases in the early stages. Speech features are the
main concept while taking into consideration the term ‘Parkinson’s’. In this
project we are using various Machine Learning techniques such as Logistic
Regression,KNN,Decision Tree classifier,Adaboost classifier,XGB classifier. It is
used in the frontend to predict whether the patient has Parkinson’s is present or not.
To recover the patients from early stages prediction is important. The proposed
system will predict whether the patient has Disease or not according to their
features.
INTRODUCTION

1
CHAPTER 1:
1.1 INTRODUCTION

The recent report of the World Health Organization shows a visible increase in the
number and health burden of Parkinson’s disease patients increases rapidly. In
China, this disease is spreading so fast and estimated that it reaches half of the
population in the next 10 years. Classification algorithms are mainly used in the
medical field for classifying data into different categories according to the number
of characteristics. Parkinson’s disease is the second most dangerous neurological
disorder that can lead to shaking, shivering, stiffness, and difficulty walking and
balance. It caused mainly due by the breaking down of cells in the nervous system.
Parkinson’s can have both motor and non-motor symptoms. The motor symptoms
include slowness of movement, rigidity, balance problems, and tremors. If this
disease continues, the patients may have difficulty walking and talking. The non-
motor symptoms include anxiety, breathing problems, depression, loss of smell,
and change in speech. If the above-mentioned symptoms are present in the person
then the details are stored in the records. In this paper, the author considers the
speech features of the patient, and this data is used for predicting whether the
patient has Parkinson’s disease or not. Neurodegenerative disorders are the results
of progressive tearing and neuron loss in different areas of the nervous system.
Neurons are functional units of the brain. They are contiguous rather than
continuous. A good healthy looking neuron as shown in fig 1 has extensions called
dendrites or axons, a cell body, and a nucleus that contains our DNA. DNA is our
genome and a hundred billion neurons contain our entire genome which is
packaged into it. When a neuron gets sick, it loses its extension and hence its
ability to communicate which is not good for it and its metabolism becomes low so
it starts to accumulate junk and it tries to contain the junk in the little packages in
little pockets. When things become worse and if the neuron is a cell culture it
completely loses its extension, becomes round and full of vacuoles.

2
1.3 OBJECTIVES

The main objective of this article is to understand what is Parkinson’s disease and to
detect the early onset of the disease. We will use here XGBoost, KNN Algorithm,
Support Vector Machines (SVMs),
Parkinson Disease is a brain neurological disorder. It leads to shaking of the body,
hands and provides stiffness to the body. No proper cure or treatment is available yet
at the advanced stage. Treatment is possible only when done at the early or onset of
the disease. These will not only reduce the cost of the disease but will also possibly
save a life. Most methods available can detect Parkinson in an advanced stage; which
means loss of approx.. 60% dopamine in basal ganglia and is responsible for
controlling the movement of the body with a small amount of dopamine. More than
145,000 people have been found alone suffering in the U.K and in India, almost one
million population suffers from this disease and it’s spreading fast in the entire world.

A person diagnosed with Parkinson’s disease can have other symptoms that
include-

1. Depression

2. Anxiety

3. Sleeping, and memory-related issues

4. Loss of sense of smell along with balance problems.

1.4 SCOPE AND RELEVANCE OF THE PROJECT

Data Collection: The project would involve collecting relevant data related to
Parkinson's disease, including clinical records, medical imaging data (such as MRI
or PET scans), and possibly genetic information.

Feature Engineering: ML algorithms require relevant features for prediction. The


project would involve identifying and engineering features from the collected data
that are most informative for predicting Parkinson's disease.

Model Development: ML models, such as decision trees, support vector machines,


or deep learning models, can be trained on the collected data to predict the

3
likelihood of Parkinson's disease. The project may explore different ML algorithms
and compare their performance.

Evaluation and Validation: The developed models need to be evaluated and


validated using appropriate evaluation metrics and techniques. This includes
testing the models on unseen data to assess their predictive performance and
generalizability.

Deployment and Application: The final stage of the project would involve
deploying the developed model in a practical setting, such as a healthcare facility
or mobile application, where it can assist in early diagnosis or screening for
Parkinson's disease.

Relevance:
Early Diagnosis: Parkinson's disease is a neurodegenerative disorder that is
difficult to diagnose in its early stages. ML-based prediction models can
potentially assist in early detection, allowing for early intervention and treatment.

Personalized Medicine: ML models can help identify patterns and markers in


patient data that can guide personalized treatment plans and interventions.

Research and Development: ML models can aid researchers in analyzing large


datasets and identifying potential risk factors or biomarkers associated with
Parkinson's disease.

Patient Care and Management: ML models can contribute to the development of


decision support systems for healthcare providers, helping them make informed
decisions about patient care and management.
It's worth noting that while ML can provide valuable insights and predictions, it
should be used as a supportive tool rather than a replacement for clinical expertise.
Additionally, the success and impact of such a project depend on the quality and
representativeness of the data used for training the ML models, as well as the
validation and real-world testing of the developed solution.

4
SYSTEM STUDY AND ANALYSIS

5
CHAPTER 2
SYSTEM ANALYSIS

2.1 INTRODUCTION

This survey is executed to recognize the need and prerequisite of the general
population who has PD, and to do as such, we went through exceptional sites and
programs and searched for the essential statistics. based on these information, we
made an audit that helped us get new thoughts and make distinctive arrangements
for our challenge. We reached the choice that there's a need of such utility and felt
that there's a respectable extent of development on this field too.

2.2 EXISTING SYSTEM


There are several existing systems and research efforts focused on detecting
Parkinson's disease using machine learning (ML) techniques. These systems aim to
provide accurate and early diagnosis of Parkinson's disease based on various types
of data, such as speech, handwriting, gait, and other motor symptoms. Here are a
few examples of existing systems for Parkinson's disease detection using ML

Parkinson's Voice Initiative (PVI): PVI is an ongoing research project that utilizes
ML algorithms to analyze voice recordings and detect early signs of Parkinson's
disease. By analyzing speech patterns and vocal characteristics, the system can
identify potential markers of the disease.

Parkinson's Disease Detection Using Handwriting Analysis: Some researchers


have explored the use of ML algorithms to analyze handwriting patterns and detect
Parkinson's disease. By analyzing features such as pen pressure, speed, and
duration, these systems can identify potential indicators of the disease.

Gait Analysis Systems: Gait analysis involves the study of an individual's walking
pattern, which can be affected by Parkinson's disease. ML algorithms have been
applied to sensor data from wearable devices to analyze gait patterns and detect
abnormalities associated with the disease.

Machine Learning Models for Brain Imaging Data: Researchers have also
developed ML models that analyze brain imaging data, such as magnetic resonance

6
imaging (MRI) and functional MRI (fMRI), to detect Parkinson's disease. These
models can identify structural and functional changes in the brain that are
indicative of the disease.

Deep Learning Models for Parkinson's Disease Diagnosis: Deep learning


techniques, such as convolutional neural networks (CNNs) and recurrent neural
networks (RNNs), have been used to develop models for Parkinson's disease
diagnosis. These models can analyze various types of data, including medical
images, clinical data, and genetic information, to detect and predict the disease.

It's important to note that while these ML-based systems show promise, they are
still being developed and validated through ongoing research. They are not yet
widely available for clinical use. Additionally, they should be used as supportive
tools alongside clinical evaluation and expert diagnosis by healthcare
professionals.

2.3 PROPOSED SYSTEM


By using machine learning techniques, the hassle can be solved
with minimum mistakes price. The voice dataset of Parkinson's ailment from the
UCI device mastering library is used as input. additionally our proposed device
presents correct results with the aid of integrating spiral drawing inputs
of regular and Parkinson’s affected sufferers. We endorse a hybrid
and accurate results reading affected person both voice and spiral
drawing data’s. for that reason combining each the effects, the medical
doctor can finish normality or abnormality and prescribe the medicine based
totally at the affected stage.

2.4 FEASIBILITY STUDY


A feasibility analysis evaluates the candidate systems and determines the best
system that needs performance requirements. The purpose of feasibility study is to
investigate the present system, evaluate the possible application of computer-based
methods, select a tentative system, evaluate the cost and effectiveness of the
proposed system, evaluate the impact of proposed system on existing system and

7
as certain the need for new system. Feasibility is carried out to see if the system is
technically, economical and operationally feasible. All projects are feasible when
given unlimited resources and infinite time. It is both necessary and prudent to
evaluate the feasibility of the project at the earliest possible time.. An estimate is
made of whether the identified user may be satisfied using current hardware and
software technologies. The study will decide if the proposed system will be cost
effective from the business point of view and if it can be developed in the existing
budgetary constraints.
The objective of a feasibility study is to test the technical, social and economic
feasibility of developing a computer system. This is done by investigating the
existing system and generating ideas about a new system. The computer system
must be evaluated from a technical viewpoint first, and if technically feasible, their
impact on the organization and the staff must be accessed. If a compatible, social
and technical system can be devised, then it must be tested for economic
feasibility.
There are eight steps involved in a feasibility study,
1. Form a project team and appoint a project leader
2. Prepare system flow chart.
3. Enumerate potential candidate system.
4. Describe and identify characteristics of candidate system.
5. Determine and evaluate performance and cost effectiveness of each candidate
system.
6. Weight the system performance and cost.
7. Select the best candidate system.
8. Report project directive management.
2.4.1 Operational Feasibility

8
Operational feasibility is connected with human organizational and political
aspects. The issues considered are the job changes that will be brought about, the
organizational structures that will be distributed and the new skills that will be
required. Methods of processing and presentation are all according to the needs of
clients since they can meet all user requirements here. The proposed system will
not cause any problem, any circumstances and will work according to the
specifications mentioned. Hence the proposed system is operationally feasible.
People are inherently resistant to change and computer has been known to facilitate
changes. The system operation is the longest phase in the development life cycle of
a system. So operational feasibility should be given much importance. This system
has a user friendly interface. Thus, it is easy to handle.
2.4.2 Technical Feasibility
Technical feasibility is the most important of all types of feasibility analysis.
Technical feasibility deals with hardware as well as software requirements. An
idea from the outline design to system requirements in terms of input/output files
and procedures is drawn and types of hardware and software and the methods
required for running the system are analyzed. Technical study is a study of
hardware and software requirement. All the technical issue related to the proposed
system is dealed during feasibility stage of preliminary investigation produced the
following results: While considering the problems of existing systems it is
sufficient to implement the new system. The proposed system can be implemented
to solve issues in the existing system. It includes the evaluation of how it meets the
proposed system. The assessment of technical feasibility must be based on the
outline of the system requirements in terms of inputs, outputs, files, programs and
procedures. This can be quantified in terms of volumes of data, trends, frequency
of updating, etc.
2.4.3 Economic Feasibility

9
Economic analysis is the most frequently used method for evaluating the
effectiveness of software, more commonly known as the cost/benefit analysis. The
procedure is to determine the benefits and savings that are expected from a
candidate and compare them with costs. If the benefits outweigh cost, the decision
is made to design and implement the system; otherwise further alternatives have to
be made. Here it is seen that no new hardware or software is needed for the
development of the system.
2.4.4 Behavioural Feasibility
Behavioural feasibility determines how much effort will go in to educating, selling
and training the user on the candidate system. People are inherently resistant to
change and computers have been known to facilitate change. Since the system is
user friendly, user training is a very easy matter.
2.4.5 Legal Feasibility
Legal feasibility is the determination of any infringement, violation, or liability that
could result from the development of the system. Legal feasibility environment
passes abroad range of concerns that include contract and liability. The proposed
project is also a legally feasible one.
2.5 ARTIFICIAL INTELLIGENCE
The intelligence demonstrated by machines is known as Artificial Intelligence.
Artificial Intelligence has grown to be very popular in today’s world. It is the
simulation of natural intelligence in machines that are programmed to learn and
mimic the actions of humans. These machines are able to learn with experience
and perform human-like tasks. As technologies such as AI continue to grow, they
will have a great impact on our quality of life. It’s but natural that everyone today
wants to connect with AI technology somehow, may it be as an end-user or
pursuing a career in Artificial Intelligence. Artificial Intelligence is the broader
family consisting of Machine Learning and Deep Learning as its components.

10
2 Types of Artificial Intelligence
 Artificial Narrow Intelligence (ANI)
 Artificial General Intelligence (AGI)
 Artificial Super Intelligence (ASI)

What is Artificial Narrow Intelligence (ANI)?


These Artificial Intelligence systems are designed to solve one single problem and
would be able to execute a single task really well. By definition, they have narrow
capabilities, like recommending a product for an e-commerce user or predicting the
weather. This is the only kind of Artificial Intelligence that exists today. They’re
able to come close to human functioning in very specific contexts, and even
surpass them in many instances, but only excelling in very controlled environments
with a limited set of parameters.
What is Artificial General Intelligence (AGI)?
AGI is still a theoretical concept. It’s defined as AI which has a human-level of
cognitive function, across a wide variety of domains such as language processing,
image processing, computational functioning and reasoning and so on. An AGI
system would need to comprise of thousands of Artificial Narrow Intelligence
systems working in tandem, communicating with each other to mimic human
reasoning.
What is Artificial Super Intelligence (ASI)?
ASI is seen as the logical progression from AGI. An Artificial Super Intelligence
(ASI) system would be able to surpass all human capabilities. This would include
decision making, taking rational decisions, and even includes things like making
better art and building emotional relationships.
2.6 MACHINE LEARNING

11
Machine learning is a subsidiary of artificial intelligence that facilitates a
techniques where machine can make decision based on its experience and improve
and learn with time and use without explicitly programmed. Machine learning
focuses on the development of computer programs that can access the data and use
it to learn for themselves. Machine learning algorithms are often categorized as
supervised and unsupervised machine learning algorithms.
2.6.1 Supervised Learning
In supervised learning, the machine is taught by example. The operator provides
the machine learning algorithm with a known dataset that includes desired inputs
and outputs, and the algorithm must find a method to determine how to arrive at
those inputs and outputs. While the operator knows the correct answers to the
problem, the algorithm identifies patterns in data, learns from observations and
makes predictions. The algorithm makes predictions and is corrected by the
operator – and this process continues until the algorithm achieves a high level of
accuracy/performance. Under the umbrella of supervised learning fall:
Classification, Regression and Forecasting.
1. Classification: In classification tasks, the machine learning program must
draw a conclusion from observed values and determine to what category new
observations belong. For example, when filtering emails as ‘spam’ or ‘not
spam’, the program must look at existing observational data and filter the
emails accordingly.
2. Regression: In regression tasks, the machine learning program must estimate
– and understand – the relationships among variables. Regression analysis
focuses on one dependent variable and a series of other changing variables –
making it particularly useful for prediction and forecasting.

12
3. Forecasting: Forecasting is the process of making predictions about the
future based on the past and present data, and is commonly used to analyse
trends.
2.6.2 Unsupervised Learning
Unsupervised learning is the type of machine learning algorithm where there is no
any defined or labelled class and it itself draws the inferences from datasets.
Unsupervised learning studies how systems can infer a function to describe a
hidden structure from unlabelled data. Under the umbrella of unsupervised
learning, fall:
1. Clustering: Clustering involves grouping sets of similar data (based on
defined criteria). It’s useful for segmenting data into several groups and
performing analysis on each data set to find patterns.
2. Dimension reduction: Dimension reduction reduces the number of variables
being considered to find the exact information required.
2.6.3 Reinforcement Learning
Reinforcement learning focuses on regimented learning processes, where a
machine learning algorithm is provided with a set of actions, parameters and end
values. By defining the rules, the machine learning algorithm then tries to explore
different options and possibilities, monitoring and evaluating each result to
determine which one is optimal. Reinforcement learning teaches the machine trial
and error. It learns from past experiences and begins to adapt its approach in
response to the situation to achieve the best possible result.
2.7 DEEP LEARNING
This is because deep learning models are capable of learning to focus on the right
features by themselves, requiring little guidance from the programmer. Basically,
deep learning mimics the way our brain functions i.e. it learns from experience. As
you know, our brain is made up of billions of neurons that allows us to do amazing

13
things. Actually, our brain has subconsciously trained itself to do such things over
the years. Now, the question comes, how deep learning mimics the functionality of
a brain? Well, deep learning uses the concept of artificial neurons that functions in
a similar manner as the biological neurons present in our brain. Therefore, we can
say that Deep Learning is a subfield of machine learning concerned with
algorithms inspired by the structure and function of the brain called artificial neural
networks.

Fig 1: Graph to show performance of ML and DL for given data


2.7.1 Artificial Neural Network

Fig 2: Human neuron and artificial neural network


The deep learning is implemented with help of neural networks and the idea of
motivation behind the networks are nothing but neurons. What are neurons?
Neurons (also called neurones or nerve cells) are the fundamental units of the brain
and nervous system, the cells responsible for receiving sensory input from the

14
external world, for sending motor commands to our muscles, and for transforming
and relaying the electrical signals at every step in between. A useful analogy is to
think of a neuron as a tree. A neuron has three main parts: dendrites, an axon, and a
cell body or soma (see image below), which can be represented as the branches,
roots and trunk of a tree, respectively. A dendrite (tree branch) is where a neuron
receives input from other cells. Dendrites are used to provide input to neuron there
are multiple dendrites, so these many inputs will be provided to neuron. Dendrites
branch as they move towards their tips, just like tree branches do, and they even
have leaf-like structures on them called spines. The soma is the cell body where the
nucleus lies which perform some function, where the neuron’s DNA is housed, and
where proteins are made to be transported throughout the axon and dendrites. The
axon (tree roots) ,the output is travelled through axon and it will go towards the
axon on terminals and then the neuron will fire the output to the next neuron, it
sends an electrical message called an action potential throughout the entire axon.
Two neurons are never connected to each other. There is a gap between them
called synopsis. This is how basically a neuron works. On the right side, figure of
artificial neural network is similar to neuron with multiple inputs. It has 4
important components:
1. Inputs
2. Weights and Bias
3. Summation Function
4. Activation or transformation Function
• Inputs
The inputs (x) received from the input layer are multiplied with their assigned
weights w. The multiplied values are then added to form the Weighted Sum. The
weighted sum of the inputs and their respective weights are then applied to a

15
relevant Activation Function. The activation function maps the input to the
respective output.
• Weights and Bias
Once an input variable is fed to the network, a randomly chosen value is assigned
as the weight of that input. The weight of each input data point indicates how
important that input is in predicting the outcome. The bias parameter, on the other
hand, allows you to adjust the activation function curve in such a way that a
precise output is achieved.
• Summation Function
Once the inputs are assigned some weight, the product of the respective input and
weight is taken. Adding all these products gives us the Weighted Sum. This is done
by the summation function.
• Activation Function
The main aim of the activation functions is to map the weighted sum to the output.
Activation functions such as tanh, sigmoid and so on are examples of
transformation functions. The activation function compares the actual output and
obtained output. If the obtained output is not same then it finds the difference
between the actual output and desired output and backpropagate to update the
weights. It keeps on updating until we get the desired output.
A neural network consists of three important layers:
• Input Layer: As the name suggests, this layer accepts all the inputs provided
by the programmer.
• Hidden Layer: Between the input and the output layer is a set of layers
known as Hidden layers. In this layer, computations are performed which result in
the output.
• Output Layer: The inputs go through a series of transformations via the
hidden layer which finally results in the output that is delivered via this layer.

16
Fig 3: Artificial neural network layer

ResNet SSD Architecture

Fig 4: ResNet SSD Architecture

Convolution layer
A “filter”, sometimes called a “kernel”, is passed over the image, viewing a few
pixels at a time (for example, 3X3 or 5X5). The convolution operation is a dot
product of the original pixel values with weights defined in the filter. The results
are summed up into one number that represents all the pixels the filter observed.

Activation layer
The convolution layer generates a matrix that is much smaller in size than the
original image. This matrix is run through an activation layer, which introduces

17
non-linearity to allow the network to train itself via backpropagation. The
activation function is typically ReLu.

Pooling layer
Pooling is the process of further downsampling and reducing the size of the matrix.
A filter is passed over the results of the previous layer and selects one number out
of each group of values (typically the maximum, this is called max pooling). This
allows the network to train much faster, focusing on the most important
information in each feature of the image.

Fully connected layer


A traditional multilayer perceptron structure. Its input is a one-dimensional vector
representing the output of the previous layers. Its output is a list of probabilities for
different possible labels attached to the image. The label that receives the highest
probability is the classification decision.

Single Shot Detector


SSD is a “one-step” feedforward detection framework based on a deep
convolutional neural network. The framework generates a set of predictive
regression boxes and the confidence score set of objects in these boxes, and then
obtains the final result through the non-maximum suppression (NMS) method.
Figure 4 illustrates the SSD architecture. The framework utilizes the standard
network VGG of high-quality image classification as the basic network
architecture and modifies the last two layers of the full connection layer into the
convolution layer. Extra convolution layers are added for feature extraction with
lower resolution. The framework is called a full convolution network, which can

18
adapt to images of various sizes and is no longer subject to the size of the input
image.

The architecture of the VGG network is composed of 5 convolutional layers and 3


fully connected layers, and the activation units of all hidden layers adopt the ReLU
function. The structure of multiple convolutional layers alternating with nonlinear
activation layers performs better than the structure of a single convolutional layer
in extracting deeper features. The visualization of the VGG architecture is shown
in Figure 5.

Fig 5: The visualization architecture of VGG network

The auxiliary structure is added to the network to generate detection with the
following key features: multi-scale feature map and multi-aspect ratio bounding
regression box. Using VGG as a reference, SSD adopts small convolution filters to
predict the class fraction and position offset of a set of default bounding boxes on
the feature map, which does not need to resample the bounding box features. In
order to achieve high detection accuracy, different scale predictions are produced
from different scale feature maps and the prediction is clearly separated by aspect

19
ratio. The low-level feature maps predict small objects and the high-level feature
maps predict large objects.
In general, each layer of the neural network corresponds to the extraction of feature
information of different levels, including low level, middle level and high level.
The deeper the network is, the more information at different levels will be
extracted, and the more combinations of information at different levels there will
be. The VGG network tries to explore the depth of the deep learning network to
continuously improve classification accuracy. However, when CNN reaches a
certain depth, the increasing number of layers does not bring further improvement
in classification performance but leads to slower network convergence and worse
classification accuracy of the test dataset. In view of this, ResNet is proposed to
solve the problem of degradation.
ResNet is a residual network module. The residual structure associates input and
output channels through “shortcut connections.” It can be understood as a sub-
network and can be stacked to form a deep network, which not only ensures that
the network can achieve a deep and complex structure and improve the ability of
feature expression, but also solves the problems of overfitting and degradation that
can easily occur in the network.

20
3.SYSTEM DESIGN

21
CHAPTER 3
SYSTEM DESIGN

3.1 INTRODUCTION

In this system design, we will explore the use of ML for Parkinson's


disease detection.

3.2 BLOCK DIAGRAM

3.2.1 DATA COLLECTION

22
Collecting data for Parkinson's disease prediction using machine learning involves
gathering relevant information about individuals diagnosed with Parkinson's
disease and healthy individuals without the condition. Here are some steps to
consider when collecting data for this purpose:

Identify data sources: Look for potential sources of data that contain information
about Parkinson's disease patients. This can include medical records, clinical
databases, research studies, and publicly available datasets.

Obtain ethical approvals: Ensure that you comply with ethical guidelines and
obtain the necessary approvals before accessing and using patient data. This may
involve getting approval from an ethics committee or review board.

Define variables: Determine the variables you want to collect for your prediction
model. Common variables for Parkinson's disease prediction include demographic
information (age, gender), medical history (family history of Parkinson's disease,
medication usage), motor symptoms (tremors, bradykinesia, rigidity), and non-
motor symptoms (cognitive impairment, depression).
Collect patient data: If you have access to medical records or clinical databases,
extract the relevant information for each patient. Ensure that the data is
anonymized and privacy is protected. If you are conducting a research study, you
may need to recruit participants and collect data through surveys, interviews, or
clinical assessments.

Include control group: In addition to Parkinson's disease patients, it's important to


collect data from a control group of healthy individuals without the disease. This

23
allows for a comparison between the two groups and helps identify patterns
specific to Parkinson's disease.

Data preprocessing: Clean and preprocess the collected data to ensure its quality
and suitability for machine learning algorithms. This may involve handling missing
values, normalizing or standardizing variables, and encoding categorical data.

Feature selection: Identify the most relevant features that are predictive of
Parkinson's disease. Use statistical techniques or machine learning algorithms to
determine which variables have the strongest association with the disease outcome.

Data augmentation: Depending on the size and quality of your dataset, you may
consider augmenting the data by generating synthetic samples or using techniques
such as oversampling or undersampling to balance the classes if there is an
imbalance between the Parkinson's disease and healthy samples.

Split the dataset: Divide the dataset into training, validation, and testing sets. The
training set is used to train the machine learning model, the validation set helps
tune hyperparameters and evaluate different models, and the testing set is used to
assess the final model's performance.

24
3.2.2 IMAGE PREPROCCESSING
Image preprocessing plays a crucial role in Parkinson's disease detection using
machine learning (ML) techniques. Here are some common preprocessing steps
you can consider when working with image data for Parkinson's disease detection:

 Image Rescaling
 Image Denoising:

 Image Enhancement:
 Image Cropping:
 Image Normalization:
 Image Feature Extraction:
 Dimensionality Reduction:
 Data Augmentation:

3.2.3 Train And Test set


To train and test a machine learning model for Parkinson's disease prediction,
you'll need a dataset that contains relevant features and corresponding labels
indicating whether each individual has Parkinson's disease or not. Here's a general
outline of the steps involved:

25
 Data collection: Gather a dataset that includes relevant features such as age,
gender, motor and non-motor symptoms, medical history, genetic information,
etc., for a set of individuals. The dataset should also include labels indicating
whether each individual has Parkinson's disease or not.

 Data preprocessing: Perform necessary preprocessing steps on the dataset,


which may include handling missing values, normalizing numerical features,
encoding categorical variables, and splitting the data into input features (X) and
target labels (y).

 Feature selection/engineering: Optionally, you can apply feature selection


techniques to identify the most informative features or perform feature
engineering to create new features that might improve the model's
performance.

 Train/test split: Split the dataset into training and testing sets. The training set
will be used to train the model, while the testing set will be used for evaluating
the model's performance.

Spltting Of Train & Test Data


X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=2)
print(X.shape, X_train.shape, X_test.shape)
(195, 14) (156, 14) (39, 14)

 Model selection: Choose an appropriate machine learning algorithm for


Parkinson's disease prediction. Some commonly used algorithms for

26
classification tasks include logistic regression, decision trees, random forests,
support vector machines (SVM), and neural networks.
 Model training: Train the selected model using the training set. The model will
learn patterns in the data and try to generalize them for making predictions on
new, unseen data.

 Model evaluation: Evaluate the trained model's performance using the testing
set. Common evaluation metrics for classification tasks include accuracy,
precision, recall, F1-score, and area under the receiver operating characteristic
curve (AUC-ROC).

 Model optimization: Depending on the performance of the initial model, you


may need to tune hyperparameters or try different algorithms to improve the
model's performance. This step involves iterating over the training and
evaluation process multiple times.

 Model deployment: Once you're satisfied with the model's performance, you
can deploy it to make predictions on new, unseen data.

3.2.4 VGG16 CNN AND MODEL BUILDING

VGG16 is a convolution neural net (CNN ) architecture which was used to win
ILSVR(Imagenet) competition in 2014. It is considered to be one of the excellent
vision model architecture till date. Most unique thing about VGG16 is that instead

27
of having a large number of hyper-parameter they focused on having convolution
layers of 3x3 filter with a stride 1 and always used same padding and maxpool
layer of 2x2 filter of stride 2. It follows this arrangement of convolution and max
pool layers consistently throughout the whole architecture. In the end it has 2
FC(fully connected layers) followed by a softmax for output. The 16 in VGG16
refers to it has 16 layers that have weights. This network is a pretty large network
and it has about 138 million (approx) parameters.

Model Building

Logistic Regression

import warnings

warnings.filterwarnings('ignore')

28
from sklearn.linear_model import LogisticRegression

model1 = LogisticRegression()

model1.fit(X_train,Y_train)

pred1 = model1.predict(X_test)

pred1

array([1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1])

from sklearn.metrics import accuracy_score

acc=accuracy_score(Y_test,pred1)*100

print('Testing accuracy of Logistic Regression : ',acc)

Testing accuracy of Logistic Regression : 82.05128205128204

[]

pred11=model1.predict(X_train)

[]

acc=accuracy_score(Y_train,pred11)*100

print('Traning accuracy of Logistic Regression : ',acc)

Traning accuracy of Logistic Regression : 87.82051282051282

3.2.5 FLOW CHART

29
3.3 Input Design

Importing libraries

import numpy as np

import pandas as pd

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import StandardScaler

from sklearn import svm

from sklearn.metrics import accuracy_score

import seaborn as sns

import matplotlib.pyplot as plt

30
Data Collection

Data Visualization

31
32
33
34
Spliting Of Train and Test Set

Spltting Of Train & Test Data


[]

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=2)

[]

print(X.shape, X_train.shape, X_test.shape)

(195, 14) (156, 14) (39, 14)

Model Building

Logistic Regression

[]

import warnings
warnings.filterwarnings('ignore')
from sklearn.linear_model import LogisticRegression
model1 = LogisticRegression()
model1.fit(X_train,Y_train)
pred1 = model1.predict(X_test)
pred1
array([1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1])

[]

35
from sklearn.metrics import accuracy_score

acc=accuracy_score(Y_test,pred1)*100

print('Testing accuracy of Logistic Regression : ',acc)

Testing accuracy of Logistic Regression : 82.05128205128204

[]

pred11=model1.predict(X_train)

[]

acc=accuracy_score(Y_train,pred11)*100

print('Traning accuracy of Logistic Regression : ',acc)

Traning accuracy of Logistic Regression : 87.82051282051282

DecisionTreeClassifier

[]
from sklearn.tree import DecisionTreeClassifier
model2 = DecisionTreeClassifier()
model2.fit(X_train,Y_train)
pred2 = model2.predict(X_test)
pred2
array([1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1,
0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1])

[]
acc=accuracy_score(Y_test,pred2)*100
print('Testing data accuracy : ',acc)
Testing data accuracy : 76.92307692307693

[]

36
pred21=model1.predict(X_train)

[]
acc=accuracy_score(Y_train,pred21 )*100

print('Training accuracy of Decision Tree : ',acc)

Training accuracy of Decision Tree : 87.82051282051282

[]
importances=model2.feature_importances_

forest_importances=pd.Series(importances,index=X.columns)

print(forest_importances)

MDVP:Fo(Hz) 0.111946
MDVP:Flo(Hz) 0.000000
MDVP:Jitter(Abs) 0.000000
MDVP:Shimmer 0.000000
MDVP:Shimmer(dB) 0.060729
MDVP:APQ 0.000000
Shimmer:DDA 0.000000
HNR 0.100862
RPDE 0.016810
DFA 0.000000
spread1 0.502588
spread2 0.032220
D2 0.174844
PPE 0.000000
dtype: float64

[]

KNN Classifier

[]

37
from sklearn.neighbors import KNeighborsClassifier

model3= KNeighborsClassifier()

model3.fit(X_train,Y_train)

pred3 = model3.predict(X_test)

pred3

array([1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0,
0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1])

[]

from sklearn.metrics import accuracy_score

acc = accuracy_score(Y_test,pred3)

print('Testing accuracy of KNNClassifier : ',acc*100)

Testing accuracy of KNNClassifier : 82.05128205128204

[]

pred31 = model3.predict(X_train)

[]

acc = accuracy_score(Y_train,pred31)

print('Training accuracy of KNNClassifier : ',acc)

Training accuracy of KNNClassifier : 0.9294871794871795

RandomForest Classifier
[]

from sklearn.ensemble import RandomForestClassifier

model4 = RandomForestClassifier()

model4.fit(X_train,Y_train)

38
pred4 = model4.predict(X_test)

pred4

array([1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1])

[]

acc=accuracy_score(Y_test,pred4)*100

print('Testing accuracy of RF : ',acc)

Testing accuracy of RF : 84.61538461538461

[]

pred41=model4.predict(X_train)

[]

acc=accuracy_score(Y_train,pred41 )*100

print('Training Accuracy of RF : ',acc)

Training Accuracy of RF : 100.0

39
XGBClassifier

[]

from xgboost import XGBClassifier


model6 = XGBClassifier(Learning_rate=0.99)
model6.fit(X_train,Y_train)
pred6 = model6.predict(X_test)
pred6

array([1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1,
1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1])

[]

accuracy_score(Y_test,pred6)*100
82.05128205128204

[]

pred6=model2.predict(X_train)

[]

accuracy_score(Y_train,pred6 )*100

100.0

3.4 Output Design

Testing Accuracy

40
Creating DataFrame with Training Accuracy & Testing
Accuracy
[]

PD=pd.DataFrame({'test_acc':[82.05,76.92,82.05,84.61,84.61,82.05],'train_acc':
[87.17,87.17,92.94,100,86.53,100]},

index=['Logistic Regression','Decision Tree','KNN Classifier','Random Forest Classifier','SVM Classifier','X


GBoost'])

PD

41
42
43
4.SYSTEM ENVIRONMENT

CHAPTER-4
SYSTEM ENVIRONMENT

44
4.1 SOFTWARE ENVIRONMENT
Software environment is the term commonly used to refer to support an application. A software
environment for a particular application could include the operating system, specific
development tools or compiler.

4.2 SOFTWARE REQUIREMENT SPECIFICATION

Purpose and Scope


Purpose
To understand the nature of the program to be building the software engineers must understand
the information domain for the software. Here the document specifies the software requirements
of automating the functions. The document gives different software and hardware requirements
of the system. This will help the users to understand there own needs. It will be the validation of
all project.
Scope
This document is the only one that describes the requirements of the system to be developed.

4.2.1 TOOLS AND PLATFORMS

OVERVIEW OF WINDOWS 10
Windows 10 is a series of personal computer operating systems produced by Microsoft as part of
its Windows NT family of operating systems. It is the successor to Windows 8.1, and was
released to manufacturing on July 15, 2015, and broadly released for retail sale on July 29, 2015.
Windows 10 receives new builds on an ongoing basis, which are available at no additional cost
to users, in addition to additional test builds of Windows 10 which are available to Windows
Insiders. The latest stable build of Windows 10 is Version 1903 (May 2019 Update). Devices in
enterprise environments can receive these updates at a slower pace, or uselong-term support
milestones that only receive critical updates, such as security patches, over their ten-year lifespan
of extended support.

PYTHON

45
Python is an interpreted, object-oriented, high-level programming language with dynamic
semantics. It was created by Guido van Rossum, and first released on February 20, 1991. Its
high-level built in data structures, combined with dynamic typing and dynamic binding, make it
very attractive for Rapid Application Development, as well as for use as a scripting or glue
language to connect existing components together. Python's simple, easy to learn syntax
emphasizes readability and therefore reduces the cost of program maintenance. Python supports
modules and packages, which encourages program modularity and code reuse. The Python
interpreter and the extensive standard library are available in source or binary form without
charge for all major platforms, and can be freely distributed.
Often, programmers fall in love with Python because of the increased productivity it provides.
Since there is no compilation step, the edit-test-debug cycle is incredibly fast. Debugging Python
programs is easy: a bug or bad input will never cause a segmentation fault. Instead, when the
interpreter discovers an error, it raises an exception. When the program doesn't catch the
exception, the interpreter prints a stack trace. A source level debugger allows inspection of local
and global variables, evaluation of arbitrary expressions, setting breakpoints, stepping through
the code a line at a time, and so on. The debugger is written in Python itself, testifying to
Python's introspective power. On the other hand, often the quickest way to debug a program is to
add a few print statements to the source: the fast edit-test-debug cycle makes this simple
approach very effective.

JUPYTER NOTEBOOK

The Jupyter Notebook is an open source web application that you can use to create and share
documents that contain live code, equations, visualizations, and text. Jupyter Notebook is
maintained by the people at Project Jupyter. Jupyter Notebooks are a spin-off project from the
IPython project, which used to have an IPython Notebook project itself. The name, Jupyter,
comes from the core supported programming languages that it supports: Julia, Python, and R.
Jupyter ships with the IPython kernel, which allows you to write your programs in Python, but
there are currently over 100 other kernels that you can also use.

4.3 AI Hardware Requirements


 Operating system: window 10 and above with 64bit

46
 Processor Type -11th Gen Intel(R) Core(TM) i5-1135G7
 RAM: 8.00 GB
 Hard disk: 250 GB

47
5. SYSTEM IMPLEMENTATION
AND TESTING

CHAPTER-5
SYSTEM IMPLEMENTATION AND TESTING

48
5.1 CODING
CODING STANDARDS
Coding standards are important because they lead to greater consistency within code of all
developers. Consistency leads to code that is easier to understand, which in turn results in turn
result in a code, which is easier to develop and maintain. Code that difficult to understand and
maintain runs the risks of being scrapped rewritten.
5.2 TESTING AND VERIFICATION PROCEDURES
Unit Testing
Unit testing is a concept that would be familiar to people coming from software development. It
is a very useful technique that can help you prevent obvious errors and bugs in your code. It
involves testing individual units of the source code, such as functions, methods, and class to
ascertain that they meet the requirements and have expected behaviour. Unit tests are usually
small and don’t take much time to execute. The tests have a wide range of inputs often including
boundary and edge cases. The outputs of these inputs are usually calculated by the developer
manually to test the output of the unit being tested. For example for an adder function, we would
have test cases something like the following.
You test cases with positive inputs, inputs with zero, negative inputs, positive and negative
inputs. If the output of our function/method being tested would be equal to the outputs defined in
the unit test for all the input cases, your unit would pass the test otherwise it would fail. You
would know exactly which test case failed. Which can be further investigated to find out the
problem. This is an awesome sanity check to have in your code. Especially if multiple
developers are working on a large project. Imagine someone wrote a piece of code based on
certain assumptions and data sizes and a new developer changes something in the codebase
which no longer meets those assumptions. Then the code is bound to fail. Unit tests allow
avoiding such situations.
Following are some of the benefits of unit testing.
Forces you to write modular and reusable code with clearly defined inputs and outputs. As a
result, your code would be easier to integrate.

49
Increased confidence in changing/maintaining code. It helps to identify bugs introduced by a
code change.

Improved confidence in the unit itself since if it passes the unit tests we are sure that there is
nothing obviously wrong with the logic and the unit is performing as intended.

Debugging becomes easier since you would know which unit failed as well as the particular test
cases which failed.

Integration Testing
Data can be lost across an interface, one module can have an adverse effect on the other
subfunctions, when combined they may not perform the desired functions. Integrated testing is
the systematic testing to uncover the errors within the interface. This testing is done with simple
data and the developed system has run successfully with this simple data. The need for integrated
system is to the overall system performance.
The Modules of this project are connected and tested. After splitting the programs into units, the
units were tested together to see the defects between each module and function. It is testing to
one or more modules or functions together with the intent of interface defects between the
modules or functions. Testing completed as part of unit or functional testing, integration testing
can involve putting together of groups of modules and functions with the goal of completing and
verifying meets the system requirements.
System Testing
System testing focuses on testing the system as a whole. System Testing is a crucial step in
Quality Management Process. In the Software Development Life Cycle, System Testing is the
first level where the System is tested as a whole. The System is tested to verify whether it meets
the functional and technical requirements.
User Acceptance Testing
The system was tested by a small client community to see if the program met the requirements
the analysis stage. It was found to be satisfactory. In this phase, the system is fully tested by the
client community against the requirements in the analysis and design stages, corrections are
made as required, and the production system is built. User acceptance of the system is key factor
for success of the system.
Types of acceptance test

50
The software application may use different users on different way & it impossible to developer
or tester to predict what all possible scenarios or test data end user will use & how customer
actually use the software application. So most of software venders are use the term like Alpha
testing and Beta Testing which help to uncover the errors that may occurs in the actual test
environment. In this testing method the software application release over limited end users rather
than testing professionals to get feedback from them.
Alpha Testing
Alpha testing is conducted by Customer at the developer’s site, it is performed by potential users
like developer, end users or organization users before it is released to external customers &
report the defects found while Alpha testing. This software product testing is not final version of
software application, after fixing all reported bug (after bug triage) the new version of software
application will release.
Sometimes the Alpha Testing is carried out by client or an outsider with the attendance of
developer and tester. The version of the release on which Alpha testing is perform is called
“Alpha Release”.
Beta Testing
Most if times we have the sense of hearing term “Beta release/version”, so it is linked to Beta
Testing. Basically the beta testing is to be carried out without any help of developers at the end
user‟s site by the end users &, so it is performed under uncontrolled environment. Beta testing is
also known as Field testing. This is used to get feedback from the market. This testing is
conducted by limited users & all issues found during this testing are reported on continuous basis
which helps to improve the system. Developers are taking actions on all issues reported in beta
testing after bug triage & then the software application is ready for the final release. The version
release after beta testing is called “Beta Release“.

SOFTWARE TESTING
Software testing is critical element of software quality assurance and represents ultimate review
of specification design and coding system with testing is actually a series of different task whose

51
primary objective is to fully exercise computer-based systems through successfully, it will
uncover error in software. Testing is a process of executing a program with intension of finding
an error, Good test case is one that has a high probability of finding undiscovered error.
VALIDATION TESTING
In validation testing, all the relevant fields are checked to whether they contain data and also
checks whether they hold the right data format guarantee that all the independent path with in a
module have been exercised at least once

 Exercise all the logical decisions on their true or false sides.


 Exercise all loops at their boundaries and within their operational bounds.

TEST CASES
A specific set of steps and data along with expected results for a particular test objective. A test
case should only test one limited subset of a future or functionality. Test case documents for each
functionality/testing area of our project is written, reviewed and maintained separately. Test
cases that check error conditions are written separately from the functional test cases and should
have steps to verify the error messages.
5.3 SYSTEM IMPLEMENTATIONS
Implementation is the process of personnel check out, install the required equipment and
application and train user accordingly. Depending on the size of the organization and its
requirements the implementation can be divided into three:
Stage Implementation
Here system is implemented in stages. The whole system is not implemented at once. Once the
user starts working with system and is familiar with it, then a stage is introduced and
implemented. Also the system is usually updated, regularly until a final system is sealed.
Direct Implementation
The proposed new system is implemented directly and the user starts working on the new
System. The shortcoming, if any, faced are then rectified later.
Parallel Implementation
The old and the new system are not used simultaneously. This helps in comparison of the results
from the two systems. Once the user is satisfied and his intended objectives are achieved by the
new system, he stops using the old one.

52
In my project I have used direct implementation method. The client is given with fully developed
system. System developed by using deep neural network to process face images in order to
support the decision-making process in criminal Identification. This model has the task to help
with a classification problem that is detecting whether a criminal is present in the public place.

53
6.SYSTEM MAINTENANCE

CHAPTER-6
SYSTEM MAINTENANCE

54
6.1 MAINTENANCE
Software Maintenance is the process of modifying a software product after it has been
delivered to the client. The main purpose of software maintenance is to modify and
update software application after delivery to correct faults and to improve performance.

Need for Maintenance: Software Maintenance must be performed in order to:


 Correct faults.
 Improve the design.
 Implement enhancements.
 Interface with other systems.
 Accommodate programs so that different hardware, software, system features, and
telecommunications facilities can be used.
 Migrate legacy software.
 Retire software.

Categories of Software Maintenance: Maintenance can be divided into the following:


Corrective maintenance: Corrective maintenance of a software product may be essential
either to rectify some bugs observed while the system is in use, or to enhance the
performance of the system.

Adaptive maintenance: This includes modifications and updating when the customers
need the product to run on new platforms, on new operating systems, or when they need
the product to interface with new hardware and software.

Perfective maintenance: A software product needs maintenance to support the new


features that the users want or to change different types of functionalities of the system
according to the customer demands.
Preventive maintenance: This type of maintenance includes modifications and
updations to prevent future problems of the software. It goals to attend problems, which
are not significant at this moment but may cause serious issues in future.

55
Reverse Engineering – Reverse Engineering is processes of extracting knowledge or
design information from anything man-made and reproducing it based on extracted
information. It is also called back Engineering.

Software Reverse Engineering: Software Reverse Engineering is the process of


recovering the design and requirements specification of a product from an analysis of its
code. It is becoming important, since several existing software products, lack proper
documentation, are highly unstructured, or their structure has degraded through a series
of maintenance efforts.

56
7. SYSTEM SECURITY MEASURES

CHAPTER 7
SYSTEM SECURITY MEASURES

57
7.1 INTRODUCTION

Security applied to computing devices such as computers and smartphones, as well as


computer networks such as private and public networks, including the whole Internet.
The field covers all the processes and mechanisms by which digital equipment,
information and services are protected from unintended or unauthorized access, change or
destruction, and is of growing importance in line with the increasing reliance on
computer systems of most societies worldwide. Computer security includes measures
taken to ensure the integrity of files stored on a computer or server as well as measures
taken to prevent unauthorized access to stored data, by securing the physical perimeter of
the computer equipment, authentication of users or computer accounts accessing the data,
and providing a transmission. The variety of threats combined with the rapid
development of new threats has made cyber insecurity and the removal of information
assurance the 'status quo'. As long as man continues to use the computer, man will also
takes interest in manipulating, modifying, creating and bypassing 'rules' and 'security
standards.'

7.2 OPERATING SYSTEM LEVEL SECURITY


Operating system security (OS security) is the process of ensuring OS integrity,
confidentiality and availability. OS security refers to specified steps or measures used to
protect the OS from threats, viruses, worms, malware or remote hacker intrusions. OS
security encompasses all preventive-control techniques, which safeguard any computer
assets capable of being stolen, edited or deleted if OS security is compromised. OS
security encompasses many different techniques and methods which ensure safety from
threats and attacks. OS security allows different applications and programs to perform
required tasks and stop unauthorized interference. OS security may be approached in
many ways, including adherence to the following:

 Performing regular OS patch updates


 Installing updated antivirus engines and software
 Scrutinizing all incoming and outgoing network traffic through a firewall

58
 Creating secure accounts with required privileges only (i.e., user management)

7.3 SYSTEM LEVEL SECURITY


System-level security refers to the architecture, policy and processes that ensure data and
system security on individual computer systems. It facilitates the security of standalone
and/or network computer systems/servers from events and processes that can exploit or
violate its security or stature.

System-level security is part of a multi-layered security approach in which information


security (IS) is implemented on an IT infrastructure's different components, layers or
levels. System level security is typically implemented on end-user computer and server
nodes. It ensures that system access is granted only to legitimate and trusted individuals
and applications. The key objective behind system-level security is to keep system
secure, regardless of security policies and processes at other levels. If other layers or
levels are breached, the system must have the ability to protect itself.
Methods used to implement system-level security are user/ID login credentials, antivirus
and system-level firewall applications.

59
8.FUTURE SCOPE AND FURTHER
ENHANCEMENT

CHAPTER-8
FUTURE SCOPE AND FURTHER ENHANCEMENT

60
Parkinson's disease (PD) detection using machine learning (ML) has great potential for
future advancements and enhancements. Here are some areas where ML can contribute to
the further development of PD detection:

Improved accuracy: ML algorithms can be trained on larger datasets with diverse patient
populations, enabling them to learn more complex patterns and improve their accuracy in
detecting PD. Continued research and data collection efforts will help refine and expand
the ML models, leading to better diagnostic capabilities.

Early detection: Early detection of PD is crucial for effective treatment and management.
ML algorithms can be trained to identify subtle patterns and biomarkers in patient data,
such as voice recordings, handwriting samples, or gait analysis, which may indicate the
presence of PD even before noticeable symptoms emerge. ML models can aid in
developing screening tools that facilitate early diagnosis.

Multimodal data integration: Parkinson's disease is a complex disorder that affects


multiple systems in the body. ML can enable the integration of various data modalities,
such as clinical assessments, imaging data (MRI, PET scans), genetic information,
wearable sensor data, and patient-reported outcomes. By combining these diverse data
sources, ML algorithms can provide a more comprehensive and accurate assessment of
PD.

Personalized medicine: ML can contribute to personalized medicine approaches in PD by


analyzing patient data and identifying individualized treatment strategies. ML models can
help predict disease progression, treatment response, and adverse reactions to
medications. This information can assist clinicians in tailoring treatment plans for each
patient, optimizing outcomes, and minimizing side effects.

Remote monitoring and telemedicine: ML algorithms can be integrated into wearable


devices and mobile applications to enable remote monitoring of PD patients. Real-time

61
data collected from wearable sensors, such as accelerometers or gyroscopes, can be
analyzed using ML to track motor symptoms, medication adherence, and fluctuations in
symptom severity. Telemedicine platforms can leverage ML-based algorithms to provide
remote assessments and support for PD patients, improving access to care.

Longitudinal data analysis: ML techniques can help analyze longitudinal data collected
from PD patients over extended periods. By tracking disease progression, ML algorithms
can identify disease markers, detect subtle changes, and predict future clinical outcomes.
This information can aid in developing personalized treatment plans and optimizing
disease management.

Integration with electronic health records (EHR): Integration of ML algorithms with


electronic health records can enable automated PD detection and monitoring. ML models
can analyze patient records, extract relevant information, and alert healthcare providers
about potential PD cases or changes in disease status. This integration can streamline
diagnosis, improve monitoring, and facilitate early intervention.

Collaborative research efforts: ML has the potential to facilitate collaboration among


researchers and clinicians worldwide. By sharing anonymized patient data and ML
models, researchers can pool their knowledge and develop more accurate and robust PD
detection systems. Collaborative efforts can lead to the discovery of novel biomarkers,
identification of subtypes, and advancements in PD research.

Overall, the future scope for PD detection using ML is promising. Continued


advancements in ML algorithms, data collection, and collaborative research efforts will
contribute to more accurate and personalized diagnosis, monitoring, and treatment of
Parkinson's disease.

62
63
9.CONCLUSION

9.CONCLUSION
In conclusion, the use of machine learning (ML) for Parkinson's disease (PD)
detection holds significant promise and potential. ML algorithms can analyze
diverse data modalities, such as clinical assessments, imaging data, genetic
information, and wearable sensor data, to provide accurate and early detection of
PD. By continuously improving the accuracy of ML models through larger datasets

64
and refined algorithms, early detection of PD can become more feasible, enabling
timely interventions and personalized treatment plans.

ML also enables the integration of multiple data sources, facilitating a


comprehensive understanding of PD. This multimodal approach can lead to the
identification of subtle patterns and biomarkers that may indicate the presence of
PD even before visible symptoms manifest. Additionally, ML algorithms can
contribute to personalized medicine by predicting disease progression, treatment
response, and adverse reactions, thus assisting clinicians in tailoring treatment
plans to individual patients

The application of ML in PD detection extends beyond diagnosis and treatment. It


enables remote monitoring through wearable devices, allowing real-time tracking
of motor symptoms and medication adherence. ML can also analyze longitudinal
data to identify disease markers and predict future clinical outcomes, supporting
long-term disease management.Furthermore, the integration of ML algorithms with
electronic health records enhances the efficiency of PD detection and monitoring.
Automated analysis of patient records can prompt healthcare providers about
potential PD cases or changes in disease status, leading to timely intervention and
improved patient care.

Collaborative research efforts and data sharing among researchers and clinicians
are crucial for advancing the field of PD detection using ML. By working together,
researchers can pool their knowledge and resources, leading to the discovery of
novel biomarkers, identification of PD subtypes, and advancements in PD research.

Overall, the future of PD detection using ML is promising. Further advancements


in ML algorithms, data collection, and collaborative research will contribute to
more accurate, personalized, and timely detection of PD, ultimately improving
patient outcomes and quality of life.

65
10. BIBLIOGRAPHY

CHAPTER-10
BIBLIOGRAPHY

1. https://www.kaggle.com/datasets/vikasukani/parkinsons-disease-data-set

66
2. Larman, Craig, Applying UML and Patterns: An Introduction to Object-
Oriented Analysis, Pearson Education, 3nd Ed., 2004

3. Bharath S., Hsu M., Kaur D., Rajagopalan S., Andersen J. K. Glutathione, iron
and Parkinson’s disease. Biochemical Pharmacology . 2002;64:1037–1048.
doi: 10.1016/s0006-2952(02)01174-7

4. Krohn L., Grenn F. P., Makarious M. B., et al. Comprehensive assessment of


PINK1 variants in Parkinson’s disease. Neurobiology of Aging . 2020;91:168–
161. doi: 10.1016/j.neurobiolaging.2020.03.003

5. Rustempasic, I., & Can, M. (2013). Diagnosis of Parkinson’s disease


using principal component analysis and boosting committee machines.
SouthEast Europe Journal of Soft Computing, 2 (1).

6. Shahbakhi, M., Far, D. T., & Tahami, E. (2014). Speech Analysis for
Diagnosis of Parkinson’s Disease Using Genetic Algorithm and Support
Vector Machine. Journal of Biomedical Science and Engineering, 2014

7. Yahia A, Laiali A. (2014). Detection of Parkinson Disease through Voice


Signal Features. Journal of American Science 2014; 10 (10), 44-47.

8. Chen, A. H., Lin, C. H., & Cheng, C. H. New approaches to improve the
performance of disease classification using nested–random forest and
nested–support vector machine classifiers. Cancer, 2 (10509), 102.

67
11.APPENDIX

11.1 SCREEN SHOTS

Output

68
69
70
71
72
73
74
75
76
Sample code

Importing necessary Libraries

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn import svm
from sklearn.metrics import accuracy_score
import seaborn as sns
import matplotlib.pyplot as plt

Loading the dataset

77
a=pd.read_csv('/content/parkinsons.csv.csv')
a

Preparing the data for trainging

Sampling

X = a.drop('status', axis=1)
Y = a['status']

Split the data into Training and Testing sets

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=2)


print(X.shape, X_train.shape, X_test.shape)

Train the Support vector Machine model

model5 = svm.SVC(kernel='linear')
model5.fit(X_train, Y_train)
pred5 = model5.predict(X_test)
pred5
array([1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1])

acc=accuracy_score(Y_test,pred5)*100
print('Testing accuracy of SVM : ',acc)

Testing accuracy of SVM : 84.61538461538461

pred51 = model5.predict(X_train)
acc = accuracy_score(Y_train, pred51)
print('Training accuracy of SVM : ',acc)

Training accuracy of SVM : 0.8653846153846154

Predicting the labels for the test set

accuracy_score(Y_test,pred6)*100
82.05128205128204

pred6=model2.predict(X_train)
accuracy_score(Y_train,pred6 )*100

78
100.0

Predicting the output

input_data = (122.4,91.74,0.00011,0.06425,0.249,0.0114,25.703,0.43106,0.235,0.81925,-
5.126,0.2567,2.325,0.2354)

# changing input data to a numpy array


input_data_as_numpy_array = np.asarray(input_data)

# reshape the numpy array


input_data_reshaped = input_data_as_numpy_array.reshape(1,-1)

# standardize the data


scaler=StandardScaler()
std_data = scaler.fit_transform(input_data_reshaped)

prediction = model5.predict(std_data)
print(prediction)

if (prediction[0] == 0):
print("The Person does not have Parkinsons Disease")

else:
print("The Person has Parkinsons")

79

You might also like