100% found this document useful (3 votes)
970 views

Machine Learning Project

This document presents a research report on developing a machine learning-driven diabetes prediction system at Mulago Hospital in Uganda. The study aims to build a model that can predict diabetes using patient data and machine learning algorithms. The report includes chapters on introducing the problem, reviewing relevant literature, describing the research methodology, analyzing current systems and requirements, and designing, implementing, testing and validating the proposed diabetes prediction system.

Uploaded by

keisha baby
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
970 views

Machine Learning Project

This document presents a research report on developing a machine learning-driven diabetes prediction system at Mulago Hospital in Uganda. The study aims to build a model that can predict diabetes using patient data and machine learning algorithms. The report includes chapters on introducing the problem, reviewing relevant literature, describing the research methodology, analyzing current systems and requirements, and designing, implementing, testing and validating the proposed diabetes prediction system.

Uploaded by

keisha baby
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 75

A MACHINE LEARNING DRIVEN DIABETES PREDICTION

SYSTEM

CASE STUDY: MULAGO HOSPITAL

BY: TAIBO NICHOLAS IJJO

17/U/9932/ITD/PD

[email protected]

(+256) 783949676/ 759347767

A RESEARCH REPORT SUBMITTED TO THE DEPARTMENT OF


COMPUTER SCIENCE, FACULTY OF SCIENCE IN PARTIAL
FULFILMENT OF THE REQUIREMENTS FOR THE AWARD OF A
BACHELORS DEGREE IN INFORMATION TECHNOLOGY AND
COMPUTING OF KYAMBOGO UNIVERSITY

December, 2020
Declaration

I, Taibo Nicholas Ijjo, declares that this research carried out towards
development of a diabetes testing system is my original work and has
never been submitted to any university, institution of higher learning or
any related field for any academic award or related awards. All the work
from other authors have been acknowledged and cited.

Signature: …………………………… Date:


…………………………………

TAIBO NICHOLAS IJJO

(The Researcher)

i
APPROVAL
This is to certify that this research proposal titled: “A Machine Learning
Driven Diabetes Prediction System” has been carried out under my/our
supervision and is now ready for submission to the Examinations Board
and Senate of Kyambogo University.

Signature………………………………
Date……………………………………...

Ahishakiye Emmanuel

(Supervisor)

Signature………………………………
Date……………………………………...

Taremwa Danison

(Supervisor)

ii
Definition of Terms Used

WHO: World Health Organization.

XGBoost: Extreme Gradient Boosting.

iii
Table of Contents
APPROVAL .............................................................................................ii

CHAPTER ONE: INTRODUCTION ................................................... 1

1.0 Introduction: .................................................................................... 1

1.1 Background of the study: ............................................................... 1

1.2 Problem statement .......................................................................... 3

1.3 Objectives of study: ......................................................................... 4

1.3.1 General Objective ...................................................................... 4

1.3.2 Specific Objectives ..................................................................... 4

1.4 Research Questions ......................................................................... 4

1.4.1 General research question ........................................................ 4

1.4.2 Specific research question......................................................... 4

1.5 Scope of the study ............................................................................ 5

1.5.1 Academic scope .......................................................................... 5

1.5.2 Geographic scope ....................................................................... 5

1.5.3 Time scope .................................................................................. 5

1.6 Significance of the research............................................................ 6

1.7 Chapter summery ........................................................................... 6

CHAPTER TWO: LITERATURE REVIEW ...................................... 8

2.0 Introduction. .................................................................................... 8

iv
2.1 Introduction to Artificial intelligence. .......................................... 8

2.2 Introduction to Machine learning ................................................. 9

2.2.1 Regression algorithms ............................................................. 10

2.2.1.1 ...................................................................... Linear regression


11

2.2.1.2 ................................................................... Logistics regression


13

2.2.2 Ensemble algorithms ............................................................... 14

2.2.2.1 ..................................................................................... XGBoost


15

2.2.2.2 .......................................................................... Gradient-Boost


16

2.2.3 Deep learning algorithms ........................................................ 18

2.2.3.1 .............................................. Convolutional Neural networks


18

2.2.3.2 .....................................................Recurrent Neural Networks


20

2.3 Some of the applications of Machine learning algorithms in


disease diagnosis .................................................................................... 22

2.4 Gaps in the Literature. ................................................................. 24

2.5 How the proposed system will address these gaps? ................... 25

v
2.6 Chapter Summary......................................................................... 25

CHAPTER THREE: RESEARCH METHODOLOGY ................... 26

3.0 Introduction ................................................................................... 26

3.1 Data collection and analysis methods ......................................... 26

3.1.1 Data collection .......................................................................... 26

3.1.2 Model training.......................................................................... 26

3.2 System study and analysis methods ............................................ 26

3.2.1 System Study methods ............................................................ 27

3.3 System requirements and specification ...................................... 27

3.3.1 User requirements ................................................................... 27

3.3.2 System Requirements. ............................................................. 28

3.3.3 Functional requirements ......................................................... 28

3.3.4 Non-Functional requirements ................................................ 29

3.4 System design and modeling methods......................................... 29

3.5 System implementation, testing and validation methods. ......... 31

3.5.1 System implementation methods ........................................... 31

3.5.2 System testing methods ........................................................... 31

3.5.3 System validation methods ..................................................... 32

3.6 Chapter summary ......................................................................... 32

vi
CHAPTER FOUR: SYSTEMS ANALYSIS AND
REQUIREMENTS COLLECTION .................................................... 34

4.0 Introduction ................................................................................... 34

4.1 Description of the Current System .............................................. 34

4.1.1 Strengths of the Current System ............................................ 35

4.1.2 Weaknesses of the Current system ........................................ 35

4.1.3 Comparative analysis of the advantages and disadvantages


of the current system. ......................................................................... 36

4.2 Requirements of the New System ................................................ 36

4.2.1 User requirements ................................................................... 36

4.2.2 System Requirements. ............................................................. 37

4.2.3 Functional requirements ......................................................... 37

4.2.4 Non-Functional requirements ................................................ 38

4.3 Chapter summary. ........................................................................ 38

CHAPTER FIVE: SYSTEM DESIGN, IMPLEMENTATION,


TESTING AND VALIDATION .......................................................... 40

5.0 Introduction ................................................................................... 40

5.1 System design using data flow diagrams. ................................... 40

5.1.1 Context diagram ...................................................................... 42

5.1.2 Level 0 diagram ....................................................................... 42

vii
5.2 System design using Entity relationship diagrams .................... 43

5.2.1 Identified Entities and their Attributes ................................. 43

5.2.2 Entity relationship diagram. .................................................. 45

5.3 System implementation ................................................................ 45

5.3.1 System graphical user interface. ............................................ 46

5.3.2 Sample code .............................................................................. 48

5.4 System testing and validation ...................................................... 52

5.4.1 System testing. .......................................................................... 52

5.4.2 System validation ..................................................................... 52

5.5 Chapter summary ......................................................................... 53

Bibliography ........................................................................................... 58

Appendices .............................................................................................. 66

viii
CHAPTER ONE: INTRODUCTION

1.0 Introduction:
This chapter presents the background of the study, problem statement,
objectives of the study, research questions, scope of the study,
significance of the study and the chapter summary.

1.1 Background of the study:


Diabetes is a metabolic disease characterized by elevated levels of blood
glucose (blood sugar), According to (Kareem et al., 2020), Diabetes is one
of the deadliest diseases in the world, which is not only a disease but also
a creator of different kinds of diseases like heart attack, blindness, kidney
diseases, etc. It is related to the way the body produces insulin or responds
to insulin. Insulin is a hormone created by your pancreas that controls the
amount of glucose in your bloodstream at any given moment.

According to (WHO, n.d.), about 422 million people worldwide have


diabetes, the majority living in low-and middle-income countries with 1.6
million deaths directly attributed to diabetes each year. Both the number
of cases and the prevalence of diabetes have been steadily increasing over
the past few decades. The most common being type 2 diabetes, usually in
adults, which occurs when the body becomes resistant to insulin or doesn't
make enough insulin.

According to (Zimmermann et al., 2018), 15.5 million adults where


estimated to be living with diabetes in sub-Saharan Africa (SSA) in the
1
year 2017, with a regional prevalence of about 6%, and associated
healthcare costs of USD 3.3 billion. This is estimated to increase by
162.5% by the year 2045, with about 40.7 million adults suffering from
type 2 diabetes and cost rising to about USD 6 billion. This presents a
substantial public health and socioeconomic burden in the face of scarce
resources.

In East Africa, especially Uganda, according to research done by


(Bahendeka et al., 2016), Prevalence estimates for diabetes have varied
from 0.4% in cross-sectional surveys around the shores of Lake Victoria
to 8.1% in a town close to the capital city of Kampala and 9.0% in foothills
of Ruwenzori Mountains in Western Uganda. Type 2 diabetes is the most
common form of diabetes reported, accounting for more than 90% of
cases.

According to (Kareem et al., 2020),currently the government is


dependent on the ordinary process for identifying diabetes, where a
patient visit a diagnosis center, consult their doctor and wait for a day or
more to get their results, which is hectic and time wasting.

There are several machine learning models that have been used to address
the challenge of diabetes, some of which, includes (Alghamdi et al.,
2017), Predicting diabetes mellitus using SMOTE and ensemble machine
learning approach,(Zou et al., 2018), Predicting Diabetes Mellitus With
Machine Learning Techniques and many more other, however, there is no

2
implementation of this model into an application or devices that patients
can use, thus this research implements a mobile application that shall be
used to provide an early warning to patience.

this poses the need for a machine learning system that shall provide
instant result to the patients with easy access.

1.2 Problem statement


According to (WHO, n.d.), cases of diabetes have been steadily rising
over the past few decades. According to (WHO, n.d.), about 422 million
people worldwide have diabetes with about 1.6 million deaths caused by
diabetes,. Currently according to (Kareem et al., 2020), the only available
process of testing for diabetes, is by consulting the doctors at the
diagnostic centers, which is not cost and time effective, since the result
may take one or more days to be released. Thus, this study is aimed at
developing a machine learning driven system that will be used as an early
warning system. The system will collect data from the user, preprocess it
and run a prediction against the trained model, the system will then
produce a result, showing the chances of someone having or getting
diabetes, the system consists of a mobile application, that collects the data
from the users and produces the output, and a web API that preprocesses
the data and performs the prediction.

3
1.3 Objectives of study:
1.3.1 General Objective
The general objective of the study is to develop and implement an
automated system for prediction of diabetes, using XGBoost
algorithm.

1.3.2 Specific Objectives


i. To determine the available machine learning approaches used in the
design and implementation of diabetes prediction system.

ii. To design an automated system for prediction of diabetes, using


XGBoost algorithm.
iii. To develop and implement an automated system for prediction of
diabetes using XGBoost algorithm.
iv. To test and validate the developed system.

1.4 Research Questions


1.4.1 General research question
How can an automated system be implemented for the prediction of
diabetes using XGBoost algorithm?

1.4.2 Specific research question


i. What are the machine learning approaches used in the design and
implementation of a diabetes prediction system?
ii. How can a machine learning driven system be designed for the
prediction of diabetes using XGBoost algorithm?
4
iii. How can a machine learning driven system be developed and
implemented for the prediction of diabetes using XGBoost
algorithm?
iv. How can we test and validate this system?

1.5 Scope of the study


1.5.1 Academic scope
The study looks at the design and implementation of an automated
diabetes prediction system, it was designed using a conceptual model and
implemented using tools like Jupiter notebook, python and JavaScript.
The developed system is a mobile application that consumes a web API
that runs the trained model.

1.5.2 Geographic scope


The study was carried out at Mulago hospital, located at north-central
Kampala, Plot 6, Lourdel Road, Nakasero hills, Kampala city.

1.5.3 Time scope


This study was carried out from February 2020 to December 2020.

5
1.6 Significance of the research
To the government, the study helps to minimize on the death rate of
diabetes patience and cost of producing drugs/medicine for diabetes
patients.

To the general population, the study provided an easy to use, readily


available system to create an early warning about a person’s chances
of having diabetes.

To me as the researcher, the study fulfilled one of the requirements for


completion of my undergraduate bachelor’s degree.

1.7 Chapter summery

This study looks at the prevalence effects of diabetes globally, at sub-


Saharan Africa and in East Africa especially Uganda. The study shows
that diabetes is a very deadly metabolic disorder, that is most common in
the communities. The objectives of the study specify the reasons for
carrying out the research and methods the researcher wants to use to carry
out this study. The research questions explain the capabilities of the
researcher to achieve their goal. the scope of the study covers the time
period, geographical location and content the researcher will carry out
their study in. finally we look at the benefits of the research to the
government, the researcher, and the community at large

6
7
CHAPTER TWO: LITERATURE REVIEW
2.0 Introduction.

This chapter covers; the definition of Artificial intelligence and machine


learning, different machine learning algorithm implementations with their
advantages and bottlenecks, related work done by other researchers, gaps
in the existing literature, and how the proposed system will bridge the
gaps.

2.1 Introduction to Artificial intelligence.


Artificial intelligence is based on the principle that machines can mimic
human intelligence and execute tasks, from the simplest to those that are
even more complex, (FRANKENFIELD, 2020). According to
(FRANKENFIELD, 2020), Artificial intelligence (AI) refers to the
simulation of human intelligence in machines that are programmed to
think like humans and mimic their actions. The term may also be applied
to any machine that exhibits traits associated with a human mind such as
learning and problem-solving. While science fiction often portrays AI as
robots with human-like characteristics, AI encompass many technologies
including Google’s search algorithms, IBM’s Watson, apple’s Siri, and
many others, (Max Tegmark, n.d.). Artificial intelligence has an ultra-
wide scope to deal with problems and to learn through past experiences,
thus cannot be given a single line definition, (Dharmendra Chahar, 2020).
The main goals of artificial intelligence include learning, reasoning, and
perception, (FRANKENFIELD, 2020). AI today is being used in almost
8
any fields from simply mobile phone to diagnosing diseases, providing a
high-performance and accurate system work with efficiency, (Vikram Singh
Bisen, 2019).

Figure 2.1: The relationship between artificial intelligence, machine


learning and deep learning; Source: (Meenal Dhande, 2020)

2.2 Introduction to Machine learning


According to (IBM Cloud Education, 2020a), Machine learning is a
branch of AI that is focused on building applications that learn from data
and improve their accuracy over time without being programmed to do
so. In the past decade, machine learning has given us self-driving cars,
practical speech recognition, effective web search, and a vastly improved

9
understanding of the human genome,(Andrew Ng, n.d.). Machine
learning is so pervasive today that you probably use it dozens of times a
day without knowing it, (Andrew Ng, n.d.). machine learning mainly fall
under three categories, namely supervised, semi-supervised and
unsupervised machine learning, (IBM Cloud Education, 2020a).

2.2.1 Regression algorithms

According to (FeedBurner, n.d.), Regression analysis consists of a set


of machine learning methods that allow for the prediction a continuous
outcome variable (y) based on the value of one or multiple predictor
variables (x). The goal of regression model is to build a mathematical
equation that defines y as a function of the x variables, then this equation
can be used to predict the outcome (y) on the basis of new values of the
predictor variables (x), (FeedBurner, n.d.).

Figure 2.2: Relationship between x and y in regression algorithms;


Source: (Amy Gallo, 2015)
10
2.2.1.1 Linear regression
According to (Brendan Fortuner, 2017),Linear Regression is a supervised
machine learning algorithm where the predicted output is continuous with
a constant slope. Let’s say we have a dataset which contains information
about the relationship between ‘number of hours studied’ and ‘marks
obtained’. A number of students have been observed and their hours of
study along with their grades are recorded. This will be our training data.
the goal here is to design a model that can predict the marks if number of
hours studied is provided. Using the training data, a regression line is
obtained which will give minimum error. This linear equation is then used
to apply for a new data. That is, if we give the number of hours studied by
a student as an input, our model should be able to predict their mark with
minimum error, (Priyankur Sarkar, 2019).

11
Figure 2.3: linear regression model; Source: (JavaTpoint, n.d.)

Advantages of linear regression.

Linear regression is the best algorithm to use for linearly related


independent and dependent variables since it is least complex as compared
to similar algorithms that try to find relationship between independent and
dependent variables, (AKM Adib, 2018). Also, Linear regression handles
overfitting pretty well using dimensionally reduction techniques,
regularization, and cross-validation, (Mohammad Waseem, 2019).

Disadvantages of linear regression.

12
In real life, there aren’t many problems in the world that exhibit a clear
relationship between the independent and dependent variables, thus
limiting the applicability of linear regression, (AKM Adib, 2018).

2.2.1.2 Logistics regression

• According to (ANAMIKA THANDA, 2020), Logistic regression is a


classification algorithm that is used to predict a binary outcome based
on a set of independent variables, A binary outcome is one where there
are only two possible scenarios, either the event happens or it does not
happen, Independent variables are those variables which may
influence the outcome. Logistics regression is mainly used when the
dependent variable if categorical, such as to predict whether an email
is spam or not, whether the tumor is malignant or benign.
Advantages of Logistics Regression

• Logistic Regression is one of the simplest machine learning


algorithms, it is easy to implement, provides great training
efficiency in some cases and does not require high computing
power.
• Logistics regression can be used to find the relationship between
features since the predicted parameters give inference about the
importance of each feature and direction of association.

13
• This algorithm allows models to be updated easily to reflect new
data, unlike decision trees or support vector machines. The update
can be done using stochastic gradient descent.
• logistic regression is less prone to over-fitting, In a low dimensional
dataset with sufficient training examples,
• Logistic Regression is very efficient with linearly separable data.
Disadvantages of logistics regression
• Logistics regression work with linearly separable data, which is
rarely found in real world scenarios, thus there is need for
transformation of non-linearly separable data, which is done by
increasing the number of features to make the data linearly separable
in a higher dimension
• Logistic Regression requires a large dataset and also sufficient
training examples for all the categories it needs to identify.
• It is difficult to capture complex relationships using logistic
regression. More powerful and complex algorithms such as Neural
Networks can easily outperform this algorithm.

2.2.2 Ensemble algorithms

According to (Vadim Smolyakov, 2017), Ensemble methods are meta-


algorithms that combine several machine learning techniques into one
predictive model in order to decrease variance, bias, or improve
predictions. Ensemble methods can be categorized as;
14
sequential ensemble methods, where the base learners are generated
sequentially (e.g. AdaBoost), parallel ensemble methods, where the base
learners are generated in parallel (e.g. Random Forest),(Vadim
Smolyakov, 2017).

2.2.2.1 XGBoost
XGBoost is a short for “Extreme Gradient Boosting”, it was introduced by
Chen in 2014. Since its introduction, XGBoost has become one of the most
popular machine learning algorithm, (SauceCat, 2017)., According to
(Vishal Morde, 2019), XGBoost is a decision-tree-based ensemble
Machine Learning algorithm that uses a gradient boosting framework. In
prediction problems involving unstructured data (images, text, etc.)
artificial neural networks tend to outperform all other algorithms or
frameworks. However, when it comes to small-to-medium
structured/tabular data, decision tree based algorithms are considered best-
in-class right now, (Vishal Morde, 2019).

Advantages of XGBoost

• XGBoost has in-built Lasso Regression and Ridge Regression


regularization which prevents the model from overfitting.
• XGBoost utilizes the power of parallel processing, it uses multiple
CPU cores to execute the model, which makes the algorithm to run
faster as compared to other boosting algorithms like GBM.

15
• XGBoost has an in-built capability to handle missing values, when
XGBoost encounters a missing value at a node, it tries both the left
and right hand split and learns the way leading to higher loss for
each node. It then does the same when working on the testing data.
• XGBoost allows user to run a cross-validation at each iteration of
the boosting process and thus it is easy to get the exact optimum
number of boosting iterations in a single run

Disadvantages of XGBoost

• XGBoost can’t handle categorical features well,


• XGBoost consume more memory as compared to similar algorithms
such as Gradient boosting
2.2.2.2 Gradient-Boost

According to (Hoare, 2017), Gradient boosting is a type of machine


learning boosting that relies on the intuition that, the best possible next
model, when combined with previous models, minimizes the overall
prediction error. Gradient boosting re-defines boosting as a numerical
optimization problem where the objective is to minimize the loss function
of the model by adding weak learners using gradient descent, Gradient
descent is a first-order iterative optimization algorithm for finding a local
minimum of a differentiable function, (Hussain Mujtaba, 2020). Gradient
boosting is a stage-wise additive model that generates learners during the
learning process (i.e., trees are added one at a time, and existing trees in

16
the model are not changed). The contribution of the weak learner to the
ensemble is based on the gradient descent optimization process and the
calculated contribution of each tree is based on minimizing the overall
error of the strong learner, (Hussain Mujtaba, 2020).

Advantages of gradient boosting.

• Gradient boosting can optimize on different loss functions and


provides several hyper parameter tuning options that make the
function fit and very flexible.
• No data pre-processing required, gradient boosting often works
great with categorical and numerical values the way it is.
• Imputation is not required in gradient boosting since it has inbuilt
functions for handling missing values.

Disadvantages of gradient boosting.

• Gradient Boosting Models improves continuously to minimize all


errors, this can overemphasize outliers and cause overfitting.
• Often require many trees (>1000) which can be time and memory
exhaustive.
• The high flexibility results in many parameters that interact and
influence heavily the behavior of the approach (number of iterations,
tree depth, regularization parameters, etc.). This requires a large grid
search during tuning.

17
2.2.3 Deep learning algorithms

According to (Artem Oppermann, 2019), Deep Learning is a subset of


Machine Learning, which is a subset of Artificial Intelligence, and
artificial Intelligence is a general term that refers to techniques that enable
computers to mimic human behavior. Deep learning is a type of machine
learning that trains a computer to perform human-like tasks, such as
recognizing speech, identifying images or making predictions instead of
organizing data to run through predefined equations, deep learning sets up
basic parameters about the data and trains the computer to learn on its own
by recognizing patterns using many layers of processing, (SAS, n.d.).

Figure 4: Deep neural network

Source: (Anastasia Kyrykovych, 2020)

2.2.3.1 Convolutional Neural networks

18
According to (Margaret Rouse, 2018), A convolutional neural network
(CNN) is a type of artificial neural network used in image recognition and
processing that is specifically designed to process pixel data, CNNs are
powerful image processing algorithms that use deep learning to perform
both generative and descriptive tasks, often using machine vison that
includes image and video recognition, along with recommender systems
and natural language processing (NLP).

Figure 2.5:Convolutional Neural Network; Source: (Avijeet Biswal,


2020)
Advantages of Convolutional neural network

• Local connection, each neuron is connected to a small number of


neurons, this reduces the parameters.
• Weight sharing, a set of connections can share the same weight,
rather than having a different weight for each connection, which
reduces many parameters.

19
• Down-sampling the Pooling layer uses the principle of image local
correlation to subsample the image, which can reduce the amount of
data processing while retaining useful information, and further
reduce the number of parameters by removing samples that are not
important in the Feature Map.

Cons of convolutional network

• Too many parameters, convolutional network has a very poor


scalability, consider an input 1000X1000-pixel image, the input
layer has 1 million nodes. Assuming that the first hidden layer has
100 nodes, then only this layer has (1000 * 1000 + 1) * 100 = 100
million parameters, which is really too much
• The number of network layers determines the strength of the
expressive power of a convolutional neural network, thus it is
difficult to train deep-connected neural networks by the gradient
descent method, because the gradient of fully connected neural
networks is difficult to pass more than 3 layers. Therefore, it not
possible to get a deep fully connected neural network, which limits
its ability.

2.2.3.2 Recurrent Neural Networks


According to (IBM Cloud Education, 2020b), A recurrent neural network
(RNN) is a type of artificial neural network which uses sequential data or
time series data. These deep learning algorithms are commonly used for
20
ordinal or temporal problems, such as language translation, natural
language processing (nlp), speech recognition, and image captioning,
(IBM Cloud Education, 2020b). RNNs are a powerful and robust type of
neural network, and belong to the most promising algorithms in use
because it is the only one with an internal memory, like many other deep
learning algorithms, recurrent neural networks are relatively old, they
were initially created in the 1980’s, but only in recent years have we seen
their true potential, an increase in computational power along with the
massive amounts of data that we now have to work with, and the invention
of long short-term memory (LSTM) in the 1990s, has brought RNNs to
the foreground, (Niklas Donges, 2019).

Figure 2.6: A simple RNN; Source: (Oleksandr Bushkovskyi, n.d.)


Advantages of Recurrent neural network

• An RNN remembers each and every information during iterations,


that makes it useful in time series prediction.

21
• Recurrent neural network is even used with convolutional layers to
extend the effective pixel neighborhood.
Disadvantages of Recurrent Neural Network
1. Training an RNN is a very difficult task.
2. It cannot process very long sequences if using tanh or relu as an
activation function.
2.3 Some of the applications of Machine learning algorithms in
disease diagnosis
Several studies have been carried out for the prediction of diabetes using
machine learning, some of which include:

The study (Islam Ayon & Milon Islam, 2019) proposed a strategy for the
diagnosis of diabetes using deep neural network by training its attributes
in five-fold and ten-fold cross validation, it used the Pima Indian Diabetes
(PID) data set, which is retrieved from the UCI machine learning
repository database, the study obtained accuracy of 98.35%, F1 score of
98, and MCC of 97 for five-fold cross-validation. Additionally, accuracy
of 97.11%, sensitivity of 96.25%, and specificity of 98.80% are obtained
for ten-fold cross-validation using deep neural networks. However, ….

The study (Kaur & Kumari, 2019) used machine learning technique with
Pima Indian diabetes dataset to develop trends and detect patterns with
risk factors using R data manipulation tool, which are, linear kernel
support vector machine (SVM-linear), radial basis function (RBF) kernel
support vector machine, k-nearest neighbor (k-NN), artificial neural
22
network (ANN) and multifactor dimensionality reduction (MDR), the
study obtained accuracy of 0.89 using linear kernel SVM model, 0.84
using radial basis function kernel SVM, accuracy, 0.88 using k-NN
model, 0.86 using ANN and 0.83 using MDR based model. However, …

The study (Mujumdar & Vaidehi, 2019) stated that In existing method,
the classification and prediction accuracy is not so high, thus it
proposed a diabetes prediction model for better classification of
diabetes, with a classification accuracy boosted with new dataset
compared to existing dataset, and a pipeline model for diabetes
prediction intended towards improving the accuracy of classification.

The study (Lai et al., 2019) proposed a predictive model using the most
recent records of 13,309 Canadian patients aged between 18 and 90 years,
along with their laboratory information (age, sex, fasting blood glucose,
body mass index, high-density lipoprotein, triglycerides, blood pressure,
and low-density lipoprotein), the models used Logistic Regression and
Gradient Boosting Machine (GBM) techniques and area under the
receiver operating characteristic curve (AROC) to evaluate the
discriminatory capability of these models.

The study (Sumitra Menaria, 2018) used Back propagation algorithm, J48
algorithm, Naïve Bayes classifier and Support vector machine, and
achieved an accuracy of 83.11%, using Back propagation algorithm,

23
78.26% using J48 algorithm, 78.97% using Naive Bayes classifier and
81.69 using Support vector machine.

The study (Sisodia & Sisodia, 2018) aimed at developing a machine


learning model for prediction of diabetes, it used Naive Bayes, SVM,
Decision tree, and obtained accuracy of 76.3 while using Naïve Bayes,
65.1 using SVM and 73.82 using Decision tree, results from after running
the different models proves that Naïve Bayes out performs SVM and
Decision tree.

The study (Rahul Joshi, 2017) used KNN, Naïve Bayes, Random forest,
and J48, to make an ensemble hybrid model by combining individual
techniques into one in order to increase the performance and accuracy.

2.4 Gaps in the Literature.


The literature presents that several research has been done to predict
diabetes using machine learning algorithms such as CNN, RNN, Gradient
boosting, XGBoost and many others. These studies led to the
development of several model, to predict the occurrence of diabetes, but
most of this research is concentrated on development of the model but
there are limited systems that uses these models especially in developing
countries, yet these models have no practical importance to the people out
there. Thus, the challenge of diabetes prediction is still not solved.

24
2.5 How the proposed system will address these gaps?
This study concentrated on development of a mobile application, that used
XGBoost algorithm. The choice of XGBoost because XGBoost is the
leading model for working with standard tabular data (the type of data you
store in Pandas Data Frames, as opposed to more exotic types of data like
images and videos), and XGBoost models also dominate many Kaggle
competitions. The proposed system shall be used to create an early
warning about diabetes. This will make people to take early precautions
about diabetes, thus reducing the work of doctors and also reduce
government expenditure on diabetes diagnosis

2.6 Chapter Summary


This chapter defined artificial intelligence and machine learning, it
explained the relationship between artificial intelligence, machine
learning and deep learning. The chapter further explain several machine
learning algorithms which includes, XGBoost, Gradient boosting,
convolutional neural network, recurrent neural network, Linear regression
and logistic regression, giving the pseudocode, advantages and
disadvantages of each. The chapter also explained the application of
machine learning in diabetes prediction, the gaps in the already existing
literature and how this study addressed the gaps.

25
CHAPTER THREE: RESEARCH METHODOLOGY

3.0 Introduction

This chapter describes the method used for data collection and analysis,
systems study and analysis, system requirements and specification, the
design and modeling method, the implementation testing and validation
of the system, it also explains the way the information used for the design
and implementation of the system is obtained.

3.1 Data collection and analysis methods

3.1.1 Data collection

The data used in this study was obtained from UCI machine learning
repository, (Michael Kahn, n.d.), the dataset was recorded in the period of
2012 to 2016, for use in the AAAI Spring Symposium on Artificial
Intelligence in Medicine, the dataset is made of 8 predictor variables
namely, pregnancies, glucose, diastolic, triceps, insulin, bmi, dpf and age
and one dependent variable called diabetes, the model will use 8 feature
for the prediction which are pregnancies, glucose, diastolic, triceps,
insulin, age, weight and height.

3.1.2 Model training

The model was trained on the data set using cross validation of 5 k-folds,
and it achieved and average accuracy of 78,8%.
3.2 System study and analysis methods

26
3.2.1 System Study methods

The researcher studied and analyzed the current process and systems for
testing diabetes, to get the loophole in the existing systems, the
information used was acquired by reviewing existing documents, review
of documents was chosen since it is easy and cheaper to acquire
information, that is already in existence. Currently people test for
diabetes, manually by visiting their doctors at the health center, who has
to take some sample test of the required parameters, and assess their
diabetic status, (Kareem et al., 2020), currently there are models
developed for diabetes prediction but mostly not put into
production,(Sisodia & Sisodia, 2018) , which remains of no use to the
people.

3.3 System requirements and specification

This section defines the core operations expected of the proposed system,
which are termed as the user requirements, system requirements,
functional and non-functional requirements.

3.3.1 User requirements

These are user expectations of the system, they give the researchers the
functionalities of the system that need to be implemented, so that the users
can use the system. these includes;

• Capture user data, the system should capture the data of the users
that are required for the prediction process.
27
• Produce user results instantly, the system should produce the result
of the users, within a short period of time.
• Store user details, the system should store user details securely, for
future reference.
• Authenticate users, the system should enable user login, such that
they can access their personalized details.
3.3.2 System Requirements.

These are the minimum specifications required for a machine to be able


to use the system.

• Operating system, Android version 4.5 and above or IOS version 9


and above
• RAM of 1GB and above
• Storage space of at least 150mbs
• Internet connection capabilities
3.3.3 Functional requirements

These are requirements that define functionalities of the system and its
components, these helps the researcher with the kind of features that has
to be included on the system, and it also defines the way how the system
will operate. these includes;

• Ability to collect and store user data, such as login credentials.

28
• Ability to authenticate the system users, this is by use of the use
login accounts, to enable each user to get access to their individual
data.
• The system should be able to detect wrong values entries and
suggest possible remedies to the errors in the input.
• The system should be able to predict the chances of a person having
diabetes from the collected user data.
3.3.4 Non-Functional requirements

These are functionalities expected of the system so as to ease user


experience and make them comfortable while using the system.

• User help, informative messages that directs users on what to do.


• Reliability, the system will be able to perform with minimal to no
errors under all circumstances.
• Security, the system will ensure security of patients’ data, by
ensuring that every user only access their own information.
• Maintainability, the system will allow for improvement and
updating of its functionalities with no loss of data and minimal user
interference.
3.4 System design and modeling methods

It is the process of defining, developing and designing systems which


satisfies the specific requirements of a business. The analysis and
evaluation of the requirements gathered in the previous phase leads to the

29
design and development of a mobile app that will be used to create early
warning for diabetes. The objectives for the system design includes,
accuracy, usability, reliability, security and confidentiality.

3.4.1 System design and modeling using data definition diagrams


(dfd)

Trained
model

Return prediction
Call the model

Mobile
App
Send request API server

Return query result


Receive test results

Store and Query database


Data base

The diabetes prediction app is modelled using data flow diagrams, this is
a graphical representation of the flow of data within the system. It is made
up of entities and process flows, these flow is as follows.

• The mobile application collects user details, and sends to the


backend API,

30
• The API then calls the trained model,
• The model runs prediction of the data, and sends the result to the
API,
• The API then sends the result back to the mobile app.
• The API also saves a copy of the user data plus the predictions to a
storage database.
• The mobile app delivers the results to the patients.
3.5 System implementation, testing and validation methods.
3.5.1 System implementation methods

This is the phase where programming of the system starts. Series of


programming languages were used to develop the system. Python and
JavaScript as the main programming language, HTML will be used as the
markup language, and CSS as the cascading language. The back end API
and the machine learning model will be developed in Python; the mobile
application will be developed in JavaScript. PostgreSQL will be used as
the database administration software, PostgreSQL is an open source
database administration software, and it is highly compatible with python
programming language.

The API server is hosted on heroku cloud server and the mobile
application will be available for download from the expo website.

3.5.2 System testing methods

31
The system was tested at various levels of development before
deployment to production for use. The main testing that were be done are
user acceptance testing, system testing, integration testing and unit
testing. Unit testing was carried out during development to ensure that all
units of the program achieves its requirement, integration testing is carried
out to ensure that all program units integrate with each other without
errors, system testing is done after integration by the researcher to find
out if the developed system fulfills the system requirements, and user
acceptance testing is done after completing the development of the system
to ensure that users will be able to use the system, a selected group of
users will be requested to use the system and give their feedback about
the system and its usability.

3.5.3 System validation methods

System Validation methods used were; authenticity, this was done to


ensure that there is no data leakage and no unauthorized access, accuracy
was carried out to ensure that the model produces results of high accuracy.

3.6 Chapter summary

This chapter covered the data collection method used in the research
giving its advantages and disadvantages, the system study and analysis
methods, explaining the current systems and process giving their strengths
and weaknesses, the system requirements and specifications, giving the a
detailed explanation of the different requirements of the system, which

32
are system requirements, user requirements, functional requirements and
non-functional requirements, system design and modeling methods,
where data flow diagrams are used for modeling the system, System
implementation, testing and validation methods, explaining in details the
system implementation where the app is hosted on expo website and the
API server is hosted on heroku cloud servers, the testing methods used
and stages where each is used and the validation method used explaining
why each method used is important.

33
CHAPTER FOUR: SYSTEMS ANALYSIS AND REQUIREMENTS
COLLECTION

4.0 Introduction
This chapter discusses the current procedure of testing for diabetes and
current systems that are in existence for prediction of diabetes, analysis of
the weaknesses and strength, comparative
analysis of the weaknesses and strengths of the current system.
requirements for the new systems which includes; System requirements,
functional requirements, nonfunctional
requirements and user requirements, it also explains that the new system
is not a replacement for the current existing procedure of testing for
diabetes but it’s a system that shall run alongside the existing manual
means of testing for diabetes, since the new system is only intended to
create an early warning to people about their diabetes status, or risk factors
but not actual testing of diabetes.

4.1 Description of the Current System

From the research carried, it was noted that the current process of testing
for diabetes is a manual process where a patient has to visit a doctor at a
health center, make an appointment with the doctor and have his
measurements taken. The patient then has to wait for the result to be
processed, which most times takes like a day or two, before the results can
be released. These is a tiresome and tedious work to do, it’s also noted

34
that due to the longtime of waiting and long procedures to follow to get
the testing for diabetes done, some people feel reluctant to go for diabetes
testing. In relation to the manual process, there exists models developed
for prediction of diabetes, but the research reveals that most of this models
only end at the stage of training the machine learning model but never put
into production, thus this model is only helpful to few people who are
literate about machine learning, but not the general public, therefore
leaving the tedious work on the doctors and the reluctant behavior of the
public about testing for diabetes unsolved.

4.1.1 Strengths of the Current System

Analysis of the data collected reveals some of the strengths of the current
system.

• Most people feel comfortable about the current system, since they
have a direct contact with a medical doctor.
• The system might be tedious but at last the advice and
recommendations of the doctors is one thing that might be had to be
provided by computers systems, and still people will trust words
direct from a doctor much more than as compared to what is read on
a computer system.
• If dragonized by the right doctors, there is always high accuracy of
results.
4.1.2 Weaknesses of the Current system

35
From the analysis of the collected data it was found that the current system
has many weaknesses some of which are;

• The current system is time consuming, it takes a long time for


patients to get their results from the time of measurement.
• There is a difficulty in accessing health centers and doctors as well
due to limited number of health centers and doctors.
• Repetition of work and boredom, doctors keep on repeatedly doing
the same process which gets hectic and boring.
• With current models that have been developed already, most of them
having stopped at the development of the model, failed to solve the
challenges that is currently being faced with prediction of diabetes.
4.1.3 Comparative analysis of the advantages and disadvantages of
the current system.

The above weaknesses render the system inefficient to cab the challenges
faces in the prediction of diabetes, does the need for a readily available
easy to use system that can help to improve on the efficiency of the
existing system.

4.2 Requirements of the New System

This defines the core operations expected of the proposed system, which
are termed as the user requirements, system requirements, functional and
non-functional requirements.

4.2.1 User requirements


36
These are user expectations of the system, they give the researchers the
functionalities of the system that need to be implemented, so that the users
can use the system. these includes;

• Capture user data, the system should capture the data of the users
that are required for the prediction process.
• Produce user results, the system should produce the result of the
users, within a short period of time.
• Store user details, the system should store user details securely, for
future reference.
• Authenticate users, the system should enable user login, such that
they can access their personalized details.
4.2.2 System Requirements.

These are the minimum specifications required for a machine to be able


to use the system.

• Operating system, Android version 4.5 and above or IOS version 9


and above
• RAM of 1GB and above
• Storage space of at least 150mbs
• Internet connection capabilities
4.2.3 Functional requirements

These are requirements that define functionalities of the system and its
components, these helps the researcher with the kind of features that has
37
to be included on the system, and it also defines the way how the system
will operate. these include;

• Ability to collect and store user data, such as login credentials.


• Ability to authenticate the system users, this is by use of the use
login accounts, to enable each user to get access to their individual
data.
• The system should be able to detect wrong values entries and
suggest possible remedies to the errors in the input.
4.2.4 Non-Functional requirements

These are functionalities expected of the system so as to ease user


experience and make them comfortable while using the system.

• User help, informative messages that directs users on what to do.


• Reliability, the system will be able to perform with minimal to no
errors under all circumstances.
• Security, the system will ensure security of patients’ data, by
ensuring that every user only access their own information.

Maintainability, the system will allow for improvement and updating


of its functionalities with no loss of data and minimal user interference.

4.3 Chapter summary.


This chapter discussed the current procedure of testing for diabetes and
current systems that are in existence for prediction of diabetes, analysis
of the weaknesses and strength, comparative analysis of the
38
weaknesses and strengths of the current system. requirements for the
new systems which includes; System requirements, functional
requirements, nonfunctional requirements and user requirements, it
also explains that the new system is not a replacement for the current
existing procedure of testing for diabetes but it’s a system that runs
alongside the existing manual means of testing for diabetes, since the
new system is only intended to create an early warning to people about
their diabetes status, or risk factors but not actual testing of diabetes.

39
CHAPTER FIVE: SYSTEM DESIGN, IMPLEMENTATION,
TESTING AND VALIDATION

5.0 Introduction
This chapter cover the system design, database design, model design,
system implementation, user interface, system program code and system
testing and validation
5.1 System design using data flow diagrams.
Systems design is the process of defining elements of a system like the
modules, architecture, components, interfaces and data for a system based
on the system requirements. System design is important as it visualizes
the application before it is developed.
A data-flow diagram is a way of representing a flow of data through a
system, it provides information about the outputs and inputs of each entity
and the process the input goes through to give the outputs. A data flow
diagram is made of several components which includes;
Data Flow.
Data flow represents the transfer of data from one part of the system to
another, it uses an arrow as its simple and it is identified by a name which
determines what information is being moved.

Figure 7: Data flow

40
Processes.

These are the transformations that the data passes through right from input
to output, it is represented by rounded rectangles or ovals in a DFD, each
process is identified by a unique name.

Data Store

This is a repository for the system data, it is identified by a unique name


and represented by a rectangular shape with one open end. this represents
different physical locations of data. System process can insert of retrieve
data from the data stores.

Figure 8: Data store

External entities.

41
External entities are factors outside of the system that have an influence
on the system. Such as the patience who shall be using the system.
External entities may
be data source, sinks, actors or terminators, they are represented by a
closed rectangle in the
data flow diagram and are drawn at the edges of the diagram.

Figure 9: External entities

5.1.1 Context diagram

A context diagram represents the general over view of the system,


showing the general processes, data flow and data stores.

Patient Diabetes testing system

5.1.2 Level 0 diagram

This is a basic overview of the diabetes testing system. It represents the


high level entities, data flows, process and data stores.

42
Patient

Register

User guide

Login

Data Base
System
About Us
home page

About
Diabetes

Diabetes
Trained model
prediction

5.2 System design using Entity relationship diagrams

An entity relationship diagrams the diagrammatic representation of entity


sets stored on a database. The section identifies the different entity sets
and their relationships on the database.

5.2.1 Identified Entities and their Attributes


Accounts table

Attribute Type Description


Id Integer Primary key
Username Alpha numeric Unique identifier
Password Alpha numeric Pass code to a user
account
User details table

43
Attribute Type Description
Id Integer Primary key
Username Integer Foreign key
Glucose Integer Sugar level of patient
Age Integer Age of patient
Height Integer Patients height
Weight Integer Patients weight
Insulin Integer Level of insulin
produced in the
patient’s body
Diastolic Integer The rate of hate beat.
Triceps Integer The skin fold of the
patient
Pregnancy Integer Number of
pregnancies,
applicable to ladies
only.
Gender String The gender of the
patient

44
5.2.2 Entity relationship diagram.
Accounts table

Id (PK)

User details table


Username

Id (PK)
Pass word

Username

Glucose

Age

Height

Wei ght

Ins ulin

Triceps

Diastolic

Pregnanci es

Gender

5.3 System implementation


This section explains the implementation phase of the system, the system
comprises of three sections which are the trained machine learning model,
a mobile application and a web API. The machine learning model was
build using python and XGBoost machine learning algorithm and trained
on diabetes tests dataset obtained from UCI-machine learning repository,
(Michael Kahn, n.d.), the mobile application was build using JavaScript
programming language and react native framework and its available for
download from the expo website, the web API was build using python
programming language and Flask framework and hosted on heroku web
servers, the database runs on PostgreSQL.
45
5.3.1 System graphical user interface.
The user interface is made of a “Home” that contains links to all other
sections of the application, “Login” for signing into the system,
“Registration” for creating user accounts, “About us” that explains the
details about the researcher and contacts details, “About diabetes” that
gives a brief explanation of Diabetes, “User guide” that directs the users
on how to use the system and finally “Diagnosis”, where the prediction
for diabetes is run from.

46
47
5.3.2 Sample code
This section presents a sample code of the system implementations. The
code snippet bellow is for the home page and predictions form, of the
mobile application

Code for home page

import * as React from 'react';

import { StyleSheet, TouchableOpacity, View, ScrollView,Text, Dimens


ions} from 'react-native';

export default class Home extends React.Component{

render() {

return (

<ScrollView contentContainerStyle={styles.container}>

<TouchableOpacity onPress={()=>this.props.navigation.navigate("F
orm")} style={styles.buttonsBorder}>

<View style={styles.button}>

<Text style={styles.buttonText}>Diagnosis</Text>

</View>

</TouchableOpacity>

48
<TouchableOpacity onPress={()=>this.props.navigation.navigate("A
boutDiabetes")} style={styles.buttonsBorder}>

<View style={styles.button}>

<Text style={styles.buttonText}>About Diabetes</Text>

</View>

</TouchableOpacity>

<TouchableOpacity onPress={()=>this.props.navigation.navigate("A
boutUs")} style={styles.buttonsBorder}>

<View style={styles.button}>

<Text style={styles.buttonText}>About Us</Text>

</View>

</TouchableOpacity>

<TouchableOpacity onPress={()=>this.props.navigation.navigate("U
serGuide")} style={styles.buttonsBorder}>

<View style={styles.button}>

<Text style={styles.buttonText}>User Guide</Text>

</View>

</TouchableOpacity>

</ScrollView>

49
);

const styles = StyleSheet.create({

container: {

height: Dimensions.height,

alignItems: 'center',

justifyContent: 'center',

backgroundColor:'#cdc',

flexGrow: 1,

},

title: {

fontSize: 20,

fontWeight: 'bold',

},

buttonsBorder:{

borderRadius:50,

height:"10%",

50
backgroundColor:'#898',

width:"80%",

margin:"5%",

},

button:{

borderRadius:50,

height:"60%",

width:"90%",

alignSelf: 'center',

alignContent: 'center',

backgroundColor:'green',

margin:'5%'

},

buttonText:{

textAlign: 'center',

textAlignVertical:'center',

paddingVertical:15

51
});

5.4 System testing and validation


5.4.1 System testing.
The system was tested at various levels of development before
deployment to production for use. The main testing that were are;
Accuracy testing, unit testing, integration testing, system testing and user
acceptance testing. Accuracy testing was done during training of the
model, to determine the accuracy of the model, unit testing was carried
out during development to ensure that all units of the program achieved
its requirement, integration testing was carried out to ensure that all
program units integrated with each other without errors, system testing
was done after integration by the researcher to find out if the developed
system fulfills the system requirements, and user acceptance testing was
done after having completed development of the system to ensure that
users are able to use the system, a selected group of users where requested
to use the system and they gave feedbacks regarding their experience with
the system.

5.4.2 System validation


System Validation methods that were used includes; authenticity, this was
done by trying several methods of accessing the system illegally, so as to
ensure that people don’t get access to data without authorization,
Accuracy, the trained model was validated on the entire dataset by using

52
a cross validation of 5-folds and it presented an accuracy of 78.8%, this
was done to ensure that the model produce results of high accuracy.

5.5 Chapter summary


This chapter covered the system design where data flow diagram is used
for designing the system, database design using an entity relationship
diagram, model design, this explains the way the machine learning model
was designed, system implementation giving the different technologies
used and where each is applied, user interface design, system program
code and system testing and validation

CHAPTER SIX: DISCUSSION RECOMMENDATION AND


CONCLUSION

6.0 Introduction
This chapter finalizes the research process, by summarizing the findings,
in this chapter the researcher also made recommendation for the system
developed, discussed the challenges faced during the study, and also
suggested areas that would need improvement, the researcher then
finally gave conclusive remarks about the system and the study

6.1 Discussion
The researcher managed to achieve the objectives of the study as stated
in chapter one of this document. This led the implementation of a
friendly mobile application for the prediction of diabetes, that was build
using react native framework of JavaScript programming language, the
53
mobile application consumes an API that was developed in Flask, a
framework of Python programming language that runs a machine
learning model build using python programming language and XGBoost
machine learning algorithm, the database of the system runs on
PostgreSQL and is hosted on heroku cloud servers. The system has been
tested by both the researcher and some selected end users, who
appreciated the system for its user friendliness and ease of access and
use.

6.2 Recommendation
The general public is encouraged to use the application as an early
warning application for diabetes, this will help people to be aware of
their health status especially regarding diabetes and also reduce the
strain on health specialist and government expenditure on diabetes
diagnosis. the system is still open to improvement, thus relevant changes
to improve the systems usability and accuracy of results can be
suggested and implemented, access to the system shall be unrestricted
for now, and all user feedbacks are welcomed. The users of this system
are also recommended to always keep up to date with the most current
version of the system, since there are still changes that are being made to
the system.

54
6.3 Challenges faced in the study
Several challenges were faced by the researcher during the study,
especially during data collection, system designing and implementation
of the system some of which includes.

• Financial limitations, the research required some financial support,


some articles of the related topics needed to be purchased, the
cloud hosting servers for the API had to be paid for, that the
researcher was unable to facilitate but still managed with the small
that was available and completed the research
• Work overload, the system is multi-disciplinary that it required
people from various departments such as machine learning, system
engineering, mobile development, data analytics, but the researcher
had to handle all this single handedly which was hectic and time
consuming.

6.4 Areas for further improvements


To improve the performance and the usability of the system, there is
need for implementation of additional features in the system such as;

• There is need to implement more other algorithm to provide the


values of some of the; hard to obtain fields such as insulin,
calculated fields such as diabetes pedigree function, fields that can
be auto generated from mobile devices such as triceps, diastolic
and height.

55
• There is need to implement a hardware system for obtaining the
required parameters that is compatible with mobile devices to
directly feed the results of each test to the mobile application, such
as a glucose meter that can feed results to a mobile device.
• There is need to fine tune the algorithm to improve on the accuracy
of the results.

6.5 Conclusion
The main aim for this study was to develop a mobile application to
create an early warning for diabetes, which has been achieved. The
previous system for testing diabetes was hectic and time consuming,
however this system is not a replacement to the previously existing
manual testing procedure, but rather it is to work in parallel with the
existing process so as to ease the work of doctors and also increase
access to testing kit for those who might not be able to access health
centers. The whole processes and procedures used in the study have
been documented for those who might be interested on taking part in
improving the system or those who might be researching in a related
field.

6.6 Chapter summary


This chapter finalized the research process, it summarized the findings of
the research, recommendation for the system, it discussed the challenges
faced during the study, and also suggested areas that would need

56
improvement, the researcher then finally gave conclusive remarks about
the system and the study

57
Bibliography
AKM Adib. (2018, November 6). Basics of linear regression. Linear
regression. You may have come… | by AKM Adib | Data Driven
Investor | Medium. https://medium.com/datadriveninvestor/basics-of-
linear-regression-9b529aeaa0a5

Alghamdi, M., Al-Mallah, M., Keteyian, S., Brawner, C., Ehrman, J., &
Sakr, S. (2017). Predicting diabetes mellitus using SMOTE and
ensemble machine learning approach: The Henry Ford ExercIse
Testing (FIT) project. PLoS ONE, 12(7).
https://doi.org/10.1371/journal.pone.0179805

Amy Gallo. (2015, November 4). A Refresher on Regression Analysis.


https://hbr.org/2015/11/a-refresher-on-regression-analysis

ANAMIKA THANDA. (2020, April 14). What is Logistic Regression? A


Beginner’s Guide. https://careerfoundry.com/en/blog/data-
analytics/what-is-logistic-regression/

Anastasia Kyrykovych, L. (2020, February). Deep Neural Networks.


https://www.kdnuggets.com/2020/02/deep-neural-networks.html

Andrew Ng. (n.d.). Machine Learning by Stanford University | Coursera.


Retrieved December 27, 2020, from
https://www.coursera.org/learn/machine-learning

Artem Oppermann. (2019, November 12). What is Deep Learning and


How does it work? | by Artem Oppermann | Towards Data Science.
58
https://towardsdatascience.com/what-is-deep-learning-and-how-
does-it-work-2ce44bb692ac

Avijeet Biswal. (2020, October 14). Convolutional Neural Network


Tutorial. https://www.simplilearn.com/tutorials/deep-learning-
tutorial/convolutional-neural-network

Bahendeka, S., Wesonga, R., Mutungi, G., Muwonge, J., Neema, S., &
Guwatudde, D. (2016). Prevalence and correlates of diabetes mellitus
in Uganda: A population-based national survey. Tropical Medicine
and International Health, 21(3), 405–416.
https://doi.org/10.1111/tmi.12663

Brendan Fortuner, B. J. G. R. R. piperchester. (2017). ml-


glossary/linear_regression.rst at master · bfortuner/ml-glossary ·
GitHub. https://github.com/bfortuner/ml-
glossary/blob/master/docs/linear_regression.rst

Dharmendra Chahar. (2020, August 11). Guide To Understanding


Artificial Intelligence - ReadWrite.
https://readwrite.com/2020/08/11/guide-to-understanding-artificial-
intelligence/

FeedBurner. (n.d.). Regression Analysis Essentials For Machine


Learning - Easy Guides - Wiki - STHDA. Retrieved December 28,
2020, from http://www.sthda.com/english/wiki/regression-analysis-
essentials-for-machine-learning

59
FRANKENFIELD, J. (2020). Artificial Intelligence (AI) Definition.
https://www.investopedia.com/terms/a/artificial-intelligence-ai.asp

Hoare, J. (2017). Gradient Boosting Explained - The Coolest Kid on The


Machine Learning Block | Displayr.
https://www.displayr.com/gradient-boosting-the-coolest-kid-on-the-
machine-learning-block/

Hussain Mujtaba. (2020, June 6). What is Gradient Boosting and How is
it different from AdaBoost?
https://www.mygreatlearning.com/blog/gradient-boosting/

IBM Cloud Education. (2020a, July 15). What is Machine Learning? |


IBM. https://www.ibm.com/cloud/learn/machine-learning

IBM Cloud Education. (2020b, September 14). What are Recurrent


Neural Networks? | IBM.
https://www.ibm.com/cloud/learn/recurrent-neural-networks

Islam Ayon, S., & Milon Islam, M. (2019). Diabetes Prediction: A Deep
Learning Approach. Information Engineering and Electronic
Business, 2, 21–27. https://doi.org/10.5815/ijieeb.2019.02.03

JavaTpoint. (n.d.). Linear Regression in Machine learning - Javatpoint.


Retrieved December 29, 2020, from
https://static.javatpoint.com/tutorial/machine-learning/images/linear-
regression-in-machine-learning.png

60
Kareem, A., Shi, L., Wei, L., & Tao, Y. (2020). A Comparative Analysis
and Risk Prediction of Diabetes at Early Stage using Machine
Learning Approach A Comparative Analysis and Risk Prediction of
Diabetes at Early Stage using Machine Learning Approach.
International Journal of Future Generation Communication and
Networking, 13(3), 4151–4163.

Kaur, H., & Kumari, V. (2019). Predictive modelling and analytics for
diabetes using a machine learning approach.
https://doi.org/10.1016/j.aci.2018.12.004

Lai, H., Huang, H., Keshavjee, K., Guergachi, A., & Gao, X. (2019).
Predictive models for diabetes mellitus using machine learning
techniques. BMC Endocrine Disorders, 19(1), 101.
https://doi.org/10.1186/s12902-019-0436-6

Margaret Rouse. (2018, April). What is convolutional neural network? -


Definition from WhatIs.com.
https://searchenterpriseai.techtarget.com/definition/convolutional-
neural-network

Max Tegmark. (n.d.). Benefits & Risks of Artificial Intelligence - Future


of Life Institute. Retrieved December 27, 2020, from
https://futureoflife.org/background/benefits-risks-of-artificial-
intelligence/?cn-reloaded=1

Meenal Dhande. (2020, July 3). What is the difference between AI,

61
machine learning, and deep learning.
https://www.geospatialworld.net/blogs/difference-between-ai-
machine-learning-and-deep-learning/

Michael Kahn, M. P. W. U. S. L. M. (n.d.). UCI Machine Learning


Repository: Diabetes Data Set. Retrieved February 2, 2021, from
https://archive.ics.uci.edu/ml/datasets/diabetes

Mohammad Waseem. (2019, December 10). Linear Regression for


Machine Learning | Intro to ML Algorithms | Edureka.
https://www.edureka.co/blog/linear-regression-for-machine-learning/

Mujumdar, A., & Vaidehi, V. (2019). Diabetes Prediction using Machine


Learning Algorithms. Procedia Computer Science, 165, 292–299.
https://doi.org/10.1016/j.procs.2020.01.047

Niklas Donges. (2019, June 16). What is a Recurrent Neural Network


(RNN)? | Built In. https://builtin.com/data-science/recurrent-neural-
networks-and-lstm

Oleksandr Bushkovskyi. (n.d.). kmrmp_1.png (633×310). Retrieved


January 2, 2021, from
https://theappsolutions.com/images/articles/source/rnn/kmrmp_1.png

Priyankur Sarkar. (2019, September 20). What is Linear Regression?


https://www.knowledgehut.com/blog/data-science/linear-regression-
for-machine-learning

62
Rahul Joshi, M. A. (2017, October 10). Analysis and prediction of
diabetes diseases using machine learning algorithm: Ensemble
approach. https://d1wqtxts1xzle7.cloudfront.net/54976577/IRJET-
V4I1077.pdf?1510396014=&response-content-
disposition=inline%3B+filename%3DAnalysis_and_prediction_of_d
iabetes_dise.pdf&Expires=1609615692&Signature=d53PjZd1LeZZ
OpycZUihAyDeaTmdWOOYLogUCBfBJdxwu0-
~oDY~VdddTPXDFXTc4eJ1gLsRroIPgmzn-
jfsehiFzpn8rkTqOSnk7lLLX9JETtlCvEk10JfwfRIlGCtO84GfaBUp
83hEKVcw~DEyO84L~zb9nsOPBBE2g8NT69-
YQKyDfd1gQUVG1z5cToPFKz-P-
bP1ALACf05N23n01snFIRztnv1eT0ei3mszK09GjP3FKYyG5Io5E
L~DjKba2smZhcU2sw9sOmM8l~weNaDBjy-
0kOmeAyaVvIErOLkOjlpDRFncpWZ0TxpFayaLaJi96qKpec8Xlk
AdegL-Iw__&Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA

SAS. (n.d.). What is deep learning? | SAS. Retrieved January 2, 2021,


from https://www.sas.com/en_us/insights/analytics/deep-
learning.html

SauceCat. (2017, May 14). Boosting algorithm: XGBoost. This article


continues the previous… | by SauceCat | Towards Data Science.
https://towardsdatascience.com/boosting-algorithm-xgboost-
4d9ec0207d

63
Sisodia, D., & Sisodia, D. S. (2018). Prediction of Diabetes using
Classification Algorithms. Procedia Computer Science, 132, 1578–
1585. https://doi.org/10.1016/j.procs.2018.05.122

Sumitra Menaria, F. G. W. (2018). Prediction of Diabetes using Data


MiningTechniques.
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8553959

Vadim Smolyakov. (2017, August 22). Ensemble Learning to Improve


Machine Learning Results | by Vadim Smolyakov | Cube Dev.
https://blog.statsbot.co/ensemble-learning-d1dcd548e936

Vikram Singh Bisen. (2019, December 9). Where Is Artificial Intelligence


Used: Areas Where AI Can Be Used | by Vikram Singh Bisen |
VSINGHBISEN | Medium. https://medium.com/vsinghbisen/where-
is-artificial-intelligence-used-areas-where-ai-can-be-used-
14ba8c092e73

Vishal Morde. (2019). XGBoost Algorithm: Long May She Reign! | by


Vishal Morde | Towards Data Science.
https://towardsdatascience.com/https-medium-com-vishalmorde-
xgboost-algorithm-long-she-may-rein-edd9f99be63d

WHO. (n.d.). Diabetes. Retrieved April 29, 2020, from


https://www.who.int/health-topics/diabetes#tab=tab_1

Zimmermann, M., Bunn, C., Namadingo, H., Gray, C. M., & Lwanda, J.
(2018). Experiences of type 2 diabetes in sub-Saharan Africa: a
64
scoping review. Global Health Research and Policy, 3(1), 1–13.
https://doi.org/10.1186/s41256-018-0082-y

Zou, Q., Qu, K., Luo, Y., Yin, D., Ju, Y., & Tang, H. (2018). Predicting
Diabetes Mellitus With Machine Learning Techniques. Frontiers in
Genetics, 9. https://doi.org/10.3389/fgene.2018.00515

65
Appendices

66

You might also like