<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Bohr. Iam.</journal-id>
<journal-title>BOHR International Journal of Internet of things, Artificial Intelligence and Machine Learning</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Bohr. Iam.</abbrev-journal-title>
<issn pub-type="epub">2583-5521</issn>
<publisher>
<publisher-name>BOHR</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.54646/bijiam.2024.24</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>&#x2009;</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Early-stage diagnosis of diabetes mellitus using machine learning and uncertainty quantification</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Ghosh</surname> <given-names>Partha</given-names></name>
<xref ref-type="corresp" rid="c001"><sup>&#x002A;</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Bhadra</surname> <given-names>Ogneev</given-names></name>
</contrib>
<contrib contrib-type="author">
<name><surname>Mukhopadhyay</surname> <given-names>Sayak</given-names></name>
</contrib>
<contrib contrib-type="author">
<name><surname>Dubey</surname> <given-names>Nitish Kumar</given-names></name>
</contrib>
<contrib contrib-type="author">
<name><surname>Mishra</surname> <given-names>Aatm Prakash</given-names></name>
</contrib>
</contrib-group>
<aff><institution>Department of Computer Science and Engineering, Government College of Engineering and Ceramic Technology</institution>, <addr-line>Kolkata</addr-line>, <country>West Bengal</country></aff>
<author-notes>
<corresp id="c001">&#x002A;Correspondence: Partha Ghosh, <email>parth_ghos@rediffmail.com</email></corresp>
</author-notes>
<pub-date pub-type="epub">
<day>19</day>
<month>01</month>
<year>2024</year>
</pub-date>
<volume>3</volume>
<issue>1</issue>
<fpage>1</fpage>
<lpage>11</lpage>
<history>
<date date-type="received">
<day>07</day>
<month>07</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>27</day>
<month>09</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x00A9; 2024 Ghosh, Bhadra, Mukhopadhyay, Dubey and Mishra.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Ghosh, Bhadra, Mukhopadhyay, Dubey and Mishra</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by-nc-nd/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract>
<p>Diabetes is a chronic condition that has the power to ruin world health. A total of 3820 million people worldwide have diabetes, and the International Diabetes Federation (IDF) projects that number to double over the next 15&#x00B0;years. Increase in blood glucose levels is a defining feature of diabetes, commonly known as diabetes mellitus. This condition can be determined using a variety of physical and chemical testing. The eyes, heart, kidneys, feet, and nerves are just a few of the human body parts that can be harmed by uncontrolled and incorrectly diagnosed diabetes, in addition to death. Thus, detecting and analyzing diabetes early can reduce the mortality rate. The research aims to develop a machine learning model for accurately predicting diabetes in humans using classifiers like Support Vector Machine (SVM), K-Nearest Neighbors (KNN), logistic regression, Navie Bayes, Gradient Boosting, Decision Tree, Random Forest, and Ensemble Learning. The study uses the Pima Indian Diabetes Database (PIDD) dataset from Kaggle. Performance is compared using accuracy scores, Receiver Operating Characteristic (ROC), F-measure, and L1-Loss function. Uncertainty in medical datasets is addressed.</p>
</abstract>
<kwd-group>
<kwd>diabetes</kwd>
<kwd>SVM</kwd>
<kwd>KNN</kwd>
<kwd>Logistic Regression</kwd>
<kwd>Navie Bayes</kwd>
<kwd>Gradient Boosting</kwd>
<kwd>decision tree</kwd>
<kwd>random forest classifier</kwd>
<kwd>customized ensemble learning.</kwd>
</kwd-group>
<counts>
<fig-count count="37"/>
<table-count count="4"/>
<equation-count count="1"/>
<ref-count count="7"/>
<page-count count="11"/>
<word-count count="3823"/>
</counts>
</article-meta>
</front>
<body>
<sec id="S1">
<title>1. Introduction-1452742568-1452742568</title>
<p>Diabetes is a chronic illness on the increase nowadays. It is classified as a noncommunicable disease (NCD) in this context since it is not transmissible from one person to another and is caused by a mix of genetics, physiology, environment, and behavior. When the body&#x2019;s blood glucose levels are between 4.4 and 6.1 millimoles per liter, diabetes is said to be present. Insulin utilization is hampered by a diabetic&#x2019;s decreased insulin secretion. There are four different forms of diabetes: Type 1, Type 2, Type 3, and Type 4.</p>
<p>Type 1 diabetes mellitus (T1D) is an autoimmune disease that leads to the destruction of insulin-producing pancreatic beta cells. When someone has type 2, their body either has trouble producing insulin or has trouble absorbing it. It often affects age-related demographics. Pre-diabetes is a Type 3 diabetes (<xref ref-type="bibr" rid="B1">1</xref>) illness characterized by raised blood sugar levels but not as high as Type 2 diabetes. Type 4 gestational diabetes most commonly affects pregnant women.</p>
<p>Symptoms: Polyuria is characterized by frequent urine, food cravings, excessive thirst, weight loss, sluggish wound healing, foggy vision, and feelings of weariness.</p>
<p>Diagnosis: The HBA1C test examines blood sugar levels over 3&#x00B0;months and can help predict Type 2 and Type 3 diabetes. The FPGT test predicts Type 2 diabetes by evaluating blood sugar levels following an 8&#x00B0;h fast. The oral glucose tolerance test, or OGTT, is used to diagnose Type 2 diabetes, pre-diabetes, and gestational diabetes.</p>
<p>Treatment: Diabetes is a chronic illness that cannot be cured but may be controlled with insulin, which comes in many forms, as well as a healthy diet, oral medications, and frequent exercise.</p>
<p>Diabetes affects 422 million people worldwide. Diabetes is expected to affect more than 60 million Indians out of a population of 135 billion. By 2035, this pitiful illness will have reached a staggering 109 million patients. According to the World Health Organization (WHO) (<xref ref-type="bibr" rid="B2">2</xref>), diabetes will be one of the seven leading causes of mortality by 2030. According to WHO research, approximately one-third of diabetic women are unaware of the dangers of the disease. Additionally, gestational diabetes increases the risk of disease transmission from pregnant women to their unborn offspring. Diabetes, a condition that may cause consequences such as abnormal pregnancies, renal failure, and vision loss, is an urgent issue that requires early identification and prevention. Machine learning, a burgeoning discipline of data science, employs algorithms and numerical models to enhance task performance by constructing a scientific model of sample data. The suggested study seeks to apply several machine learning classifiers for diabetes research, including KNN, NB, SVM, DT, RF Classifier, LR, GB, and ensemble learning. This will assist researchers in discovering new facts from health-related datasets and improving medical services, illness supervision, and disease prediction. The parameters of the PIDD dataset are utilized as inputs, and the optimal classifier for predicting diabetes in a patient is selected after a rigorous analysis.</p>
<sec id="S1.SS1">
<title>1.1 Literature review</title>
<p>A literature survey was conducted to know the different models that we can use on our work. <xref ref-type="table" rid="T1">Table 1</xref> shows an overview of our literature survey.</p>
<table-wrap position="float" id="T1">
<label>TABLE 1</label>
<caption><p>Overview of literature survey.</p></caption>
<table cellspacing="5" cellpadding="5" frame="hsides" rules="groups">
<thead>
<tr>
<td valign="top" align="left">Authors</td>
<td valign="top" align="left">Paper name</td>
<td valign="top" align="center" colspan="3">Models and accuracy</td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Rahman et al. (<xref ref-type="bibr" rid="B3">3</xref>)</td>
<td valign="top" align="left">A deep learning approach based on convolutional LSTM for detecting diabetes.</td>
<td valign="top" align="left"/><td valign="top" align="center">Using separate training and testing (%)</td>
<td valign="top" align="center">Using 5-fold cross validatio<italic>n</italic> (%)</td>
</tr>
<tr>
<td valign="top" align="left"/><td valign="top" align="left"/><td valign="top" align="left">T-LSTM</td>
<td valign="top" align="center">83.65</td>
<td valign="top" align="center">91.69</td>
</tr>
<tr>
<td valign="top" align="left"/><td valign="top" align="left"/><td valign="top" align="left">Conv-LSTM</td>
<td valign="top" align="center">86.61</td>
<td valign="top" align="center">94.23</td>
</tr>
<tr>
<td valign="top" align="left"/><td valign="top" align="left"/><td valign="top" align="left">CNN LSTM</td>
<td valign="top" align="center">84.31</td>
<td valign="top" align="center">91.65</td>
</tr>
<tr>
<td valign="top" align="left"/><td valign="top" align="left"/><td valign="top" align="left">CNN</td>
<td valign="top" align="center">81.47</td>
<td valign="top" align="center">89.69</td>
</tr>
<tr>
<td valign="top" align="left">Reddy et al. (<xref ref-type="bibr" rid="B4">4</xref>)</td>
<td valign="top" align="left">Using predictive machine learning to analyze and diagnose diabetes.</td>
<td valign="top" align="left" colspan="3">Using 10 - Fold cross validation 1. LR - 80.64% 2. SVM 79.15% 3. KNN - 87.16% 4. RF - 98.48% 5. NB - 77.34% 6. GR - 87.31%</td>
</tr>
<tr>
<td valign="top" align="left">Lukmantoa et al. (<xref ref-type="bibr" rid="B5">5</xref>)</td>
<td valign="top" align="left">Early detection of diabetes mellitus using feature selection and fuzzy support vector machine</td>
<td valign="top" align="left" colspan="3">Model proposed: F-Score feature selection and fuzzy SVM. Accuracy achieved: 89.02%</td>
</tr>
<tr>
<td valign="top" align="left">Gillmann et al. (<xref ref-type="bibr" rid="B6">6</xref>)</td>
<td valign="top" align="left">How to deal with uncertainty in machine learning for medical imaging</td>
<td valign="top" align="left" colspan="3">The article demonstrates how machine learning algorithms are affected by uncertainty when applied to medical imaging at various points and how this affects physicians&#x2019; decision-making processes.</td>
</tr>
</tbody>
</table></table-wrap>
</sec>
<sec id="S1.SS2">
<title>1.2. Dataset</title>
<p>The suggested models are tested using the Pima Indian Diabetes Dataset (PIDD) from UCI Machine Learning Repository is a collection of databases, University California Irvine (UCI).</p>
<p>This dataset has 2,000 entries with 8 attributes, with class outputs (0 and 1) representing diabetic patients and class 0 representing non-diabetic patients.</p>
<p>The attributes here are:</p>
<list list-type="simple">
<list-item>
<label>(i).</label>
<p>Pregnancies</p>
</list-item>
<list-item>
<label>(ii).</label>
<p>Body Mass Index (BMI)</p>
</list-item>
<list-item>
<label>(iii).</label>
<p>Diabetes Pedigree Function (DPD)</p>
</list-item>
<list-item>
<label>(iv).</label>
<p>Age</p>
</list-item>
<list-item>
<label>(v).</label>
<p>Insulin</p>
</list-item>
<list-item>
<label>(vi).</label>
<p>Glucose</p>
</list-item>
<list-item>
<label>(vii).</label>
<p>Blood Pressure</p>
</list-item>
<list-item>
<label>(viii).</label>
<p>Skin Thickness</p>
</list-item>
</list>
</sec>
</sec>
<sec id="S2">
<title>2. Methodology</title>
<p>The proposed model (<xref ref-type="fig" rid="F1">Figure 1</xref>) is structured for the analysis and evaluation of (PIDD). In our model, we first import the specified dataset. Then we use different data visualization techniques like:</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption><p>Steps of our proposed model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g001.tif"/>
</fig>
<list list-type="simple">
<list-item>
<label>&#x2022;</label>
<p>Histogram (to check frequencies of each parameter),</p>
</list-item>
<list-item>
<label>&#x2022;</label>
<p>Heatmap (to visualize the correlation between each parameter),</p>
</list-item>
<list-item>
<label>&#x2022;</label>
<p>Countplot (to see the frequencies of diabetic and non-diabetic data),</p>
</list-item>
<list-item>
<label>&#x2022;</label>
<p>Boxplot (to check if any outliers are there in the data) and</p>
</list-item>
<list-item>
<label>&#x2022;</label>
<p>Pairplot (to visualize the pairwise relationships between the parameters)</p>
</list-item>
</list>
<p>On the basis of the nature of data, we perform Data Pre-processing by removing the outliers in the data. Next, we divide the dataset into test and training datasets. Then we train the dataset individually on 7 different classification algorithms. These are:</p>
<p>Logistic Regression, SVM, K-Nearest Neighbors, Decision Tree, Naive Bayes, Random Forest, and Gradient Boost classifiers are used for data classification. Customized Ensemble Learning is then performed by combining these algorithms.</p>
<p>Finally, we evaluate the performance of each of the algorithms. The performance metrics we have used are:</p>
<p>Accuracy measure, ROC Score, F1 Score, Loss Function, Sensitivity, Specificity.</p>
<p>Lastly, we compare the analysis based on accuracy and obtain the final results.</p>
</sec>
<sec id="S3">
<title>3. Results or finding</title>
<sec id="S3.SS1">
<title>3.1. Data Pre-processing</title>
</sec>
<sec id="S3.SS2">
<title>3.2. An overview of the dataset</title>
<p>There are in total 2,000 entries or data members with 8 trainable independent variables to be analyzed to predict 1 dependent variable, the Outcome. There are no null values.</p>
<p>Out of the 2,000 data points, 1,316 data points have &#x201C;0&#x201D; (that is diabetes negative) as the outcome and the remaining 684 data points have &#x201C;1&#x201D; as the outcome (that is diabetes positive). As shown in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption><p>Count plot showing the outcomes.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g002.tif"/>
</fig>
<p><xref ref-type="fig" rid="F3">Figure 3</xref> shows the correlation between the different attributes. It suggests that the data are not uniformly distributed or normalized. Age and pregnancies are inversely correlated, while skin thickness, insulin, and pregnancies are independent variables.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption><p>Heat map showing the correlation between the attributes.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g003.tif"/>
</fig>
<p><xref ref-type="fig" rid="F4">Figure 4</xref> shows the histograms of the frequencies of data in all the attributes. The frequencies of the data for each attribute can be observed. It shows the regions where the maximum data points are present.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption><p>Histograms showing the frequencies of the attributes.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g004.tif"/>
</fig>
</sec>
<sec id="S3.SS3">
<title>3.3. Outlier remove</title>
<p>We have seen from <xref ref-type="fig" rid="F5">Figures 5</xref>&#x2013;<xref ref-type="fig" rid="F8">8</xref> that the attributes &#x201C;Insulin,&#x201D; &#x201C;Blood Pressure,&#x201D; and &#x201C;Diabetes Pedigree Function&#x201D; have some outliers present which need to be removed for uniform distribution and better performance. After removing the outliers, about 80 records got deleted and we get more uniform scattered matrix as shown in <xref ref-type="fig" rid="F9">Figure 9</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption><p>Boxplot for the outlier visualization of all attributes.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g005.tif"/>
</fig>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption><p>Boxplot for the outlier visualization of &#x201C;Insulin.&#x201D;</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g006.tif"/>
</fig>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption><p>Boxplot for the outlier visualization of &#x201C;Blood Pressure.&#x201D;</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g007.tif"/>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption><p>Boxplot for the outlier visualization of &#x201C;Diabetes Pedigree Function.&#x201D;</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g008.tif"/>
</fig>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption><p>Scattered matrix after removal of outliers.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g009.tif"/>
</fig>
</sec>
<sec id="S3.SS4">
<title>3.4. Algorithms used in our work</title>
<p>We have done comparative studies and here are the algorithms used. We have used 7 machine learning classification models and 1 customized ensemble learning model for comparing the performances.</p>
<sec id="S3.SS4.SSS1">
<title>3.4.1. Logistic regression</title>
<p>When the aim is categorical, logistic regression, a powerful supervised machine learning technique, is used to address binary classification issues. A method for calculating the likelihood of a discrete output given an input variable is logistic regression. Logistic regression may be used as an analytical method to evaluate which category a new sample most closely resembles when dealing with classification problems.</p>
<p>The &#x201C;maximum likelihood estimation (MLE)&#x201D; loss function, a conditional probability, is used in logistic regression. A forecast is categorized as a class 0 prediction if its probability is greater than 0.5. If not, Class 1 will be chosen. The S-shaped sigmoid function in <xref ref-type="fig" rid="F10">Figure 10</xref> shows real values between [0, 1].</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption><p>Sigmoid function (<xref ref-type="bibr" rid="B7">7</xref>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g010.tif"/>
</fig>
</sec>
<sec id="S3.SS4.SSS2">
<title>3.4.2. Support vector machine (SVM)</title>
<p>Support vector machine (SVM) is a supervised learning technique for classification and regression in linear and nonlinear data. It generates a hyper plane in high- or infinite-dimensional space, dividing data into two classes for classification or regression. Support vectors are data points close to the hyper plane.</p>
</sec>
<sec id="S3.SS4.SSS3">
<title>3.4.3. K-nearest neighbors (KNN)</title>
<p>K-nearest neighbor is a simple supervised machine learning algorithm used for classification and regression problems. It uses a non-parametric approach, making no assumptions about underlying data. KNN is a lazy learner, saving the dataset and using it to execute actions when classifying data, rather than learning from the training set immediately.</p>
</sec>
<sec id="S3.SS4.SSS4">
<title>3.4.4. Decision tree classifier</title>
<p>Decision Tree is a tree-structured classifier with internal nodes representing dataset attributes, branches for decision rules, and leaf nodes for results. It provides a graphical representation of potential solutions to problems based on given conditions. Decision trees mimic decision-making, making them easy to understand.</p>
</sec>
<sec id="S3.SS4.SSS5">
<title>3.4.5. Random forest</title>
<p>Random Forest is a supervised learning machine method used for classification and regression issues. It is based on Ensemble Learning, which merges multiple classifiers to solve complex problems and improve model performance. Random Forest uses multiple decision trees on different dataset subsets, averaging results to increase predicted accuracy and avoid over-fitting.</p>
</sec>
<sec id="S3.SS4.SSS6">
<title>3.4.6. Naive Bayes classifier</title>
<p>The phrase &#x201C;Naive Bayesian&#x201D; refers to a classification approach based on the Bayes hypothesis that employs autonomous assumption amongst various indicators. The approach that employs the dataset as information performs research and predicts the grade using Bayes&#x2019; Theorem. It is typically used in high-dimensional training data-based text classification. It is referred to as na&#x00EF;ve because it assumes that the presence of some characteristics is independent of the presence of other characteristics. Naive Bayes is frequently used in spam filtering, sentiment analysis, and article classification.</p>
<disp-formula id="S3.E1">
<label>(1)</label>
<mml:math id="M1">
<mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo lspace="2.5pt" rspace="2.5pt" stretchy="false">|</mml:mo>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mo rspace="5.8pt" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo rspace="5.8pt">=</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mo lspace="2.5pt" rspace="2.5pt" stretchy="false">|</mml:mo>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2062;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2062;</mml:mo>
<mml:mi mathvariant="normal">&#x2026;</mml:mi>
<mml:mo>&#x2062;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here, P(A| B) is a posterior probability, that is probability of hypothesis A on observed Event B. P(B| A) is Likelihood Probability, that is probability of evidence given that probability of hypothesis is true.</p>
</sec>
<sec id="S3.SS4.SSS7">
<title>3.4.7. Gradient boosting classifier</title>
<p>Gradient boosting is a machine learning method that improves weak learners by fixing the error of its predecessor. It uses residual errors from the predecessor as labels, unlike AdaBoost, which changes the training sample weight. Gradient Boosting involves three elements:</p>
<list list-type="simple">
<list-item>
<label>(i).</label>
<p>A loss Function to be optimized.</p>
</list-item>
<list-item>
<label>(ii).</label>
<p>A weak learner to make predictions.</p>
</list-item>
<list-item>
<label>(iii).</label>
<p>An Additive Model to add weak learners to minimize the loss function.</p>
</list-item>
</list>
</sec>
<sec id="S3.SS4.SSS8">
<title>3.4.8. Ensemble learning</title>
<p>Ensemble learning is a general meta-approach to machine learning that seeks better predictive performance by combining the prediction from multiples models as in <xref ref-type="fig" rid="F11">Figure 11</xref>. The reason why Ensemble Learning is efficient is that the machine learning model might work differently. Each model might perform well on some dataset and not on others, but when we ensemble the models, they cancel out each other&#x2019;s weakness. Ensemble learning helps in capturing most of the diverse signals, produces less incorrect predictions, reduces overfitting, and hence, helps increase performance.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption><p>Showing how ensemble learning technique increases performance.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g011.tif"/>
</fig>
</sec>
</sec>
<sec id="S3.SS5">
<title>3.5. Outputs of experiments</title>
<p>Sensitivity Calculation of the algorithms are shown in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<table-wrap position="float" id="T2">
<label>TABLE 2</label>
<caption><p>10-Fold sensitivity calculation of all classification algorithms.</p></caption>
<table cellspacing="5" cellpadding="5" frame="hsides" rules="groups">
<thead>
<tr>
<td valign="top" align="left">Algorithms</td>
<td valign="top" align="center">S1</td>
<td valign="top" align="center">S2</td>
<td valign="top" align="center">S3</td>
<td valign="top" align="center">S4</td>
<td valign="top" align="center">S5</td>
<td valign="top" align="center">S6</td>
<td valign="top" align="center">S7</td>
<td valign="top" align="center">S8</td>
<td valign="top" align="center">S9</td>
<td valign="top" align="center">S10</td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Logistic regression (LR)</td>
<td valign="top" align="center">0.425</td>
<td valign="top" align="center">0.5</td>
<td valign="top" align="center">0.6</td>
<td valign="top" align="center">0.5</td>
<td valign="top" align="center">0.5</td>
<td valign="top" align="center">0.45</td>
<td valign="top" align="center">0.6</td>
<td valign="top" align="center">0.675</td>
<td valign="top" align="center">0.743</td>
<td valign="top" align="center">0.461</td>
</tr>
<tr>
<td valign="top" align="left">SVM</td>
<td valign="top" align="center">0.475</td>
<td valign="top" align="center">0.475</td>
<td valign="top" align="center">0.6</td>
<td valign="top" align="center">0.5</td>
<td valign="top" align="center">0.45</td>
<td valign="top" align="center">0.475</td>
<td valign="top" align="center">0.575</td>
<td valign="top" align="center">0.675</td>
<td valign="top" align="center">0.718</td>
<td valign="top" align="center">0.461</td>
</tr>
<tr>
<td valign="top" align="left">KNN</td>
<td valign="top" align="center">0.875</td>
<td valign="top" align="center">0.925</td>
<td valign="top" align="center">0.9</td>
<td valign="top" align="center">0.925</td>
<td valign="top" align="center">0.85</td>
<td valign="top" align="center">1.0</td>
<td valign="top" align="center">0.975</td>
<td valign="top" align="center">0.95</td>
<td valign="top" align="center">0.949</td>
<td valign="top" align="center">0.846</td>
</tr>
<tr>
<td valign="top" align="left">Decision tree (DT)</td>
<td valign="top" align="center">0.9</td>
<td valign="top" align="center">0.975</td>
<td valign="top" align="center">0.975</td>
<td valign="top" align="center">0.925</td>
<td valign="top" align="center">0.9</td>
<td valign="top" align="center">1.0</td>
<td valign="top" align="center">0.975</td>
<td valign="top" align="center">0.925</td>
<td valign="top" align="center">0.872</td>
<td valign="top" align="center">0.872</td>
</tr>
<tr>
<td valign="top" align="left">Random Forest (RF)</td>
<td valign="top" align="center">0.9</td>
<td valign="top" align="center">0.975</td>
<td valign="top" align="center">0.975</td>
<td valign="top" align="center">0.975</td>
<td valign="top" align="center">0.875</td>
<td valign="top" align="center">1.0</td>
<td valign="top" align="center">0.975</td>
<td valign="top" align="center">0.95</td>
<td valign="top" align="center">1.0</td>
<td valign="top" align="center">0.846</td>
</tr>
<tr>
<td valign="top" align="left">Naive Bayes (NB)</td>
<td valign="top" align="center">0.5</td>
<td valign="top" align="center">0.55</td>
<td valign="top" align="center">0.675</td>
<td valign="top" align="center">0.625</td>
<td valign="top" align="center">0.55</td>
<td valign="top" align="center">0.55</td>
<td valign="top" align="center">0.675</td>
<td valign="top" align="center">0.7</td>
<td valign="top" align="center">0.821</td>
<td valign="top" align="center">0.513</td>
</tr>
<tr>
<td valign="top" align="left">Gradient boost (GB)</td>
<td valign="top" align="center">0.9</td>
<td valign="top" align="center">0.925</td>
<td valign="top" align="center">0.975</td>
<td valign="top" align="center">0.9</td>
<td valign="top" align="center">0.85</td>
<td valign="top" align="center">0.95</td>
<td valign="top" align="center">0.95</td>
<td valign="top" align="center">0.95</td>
<td valign="top" align="center">0.897</td>
<td valign="top" align="center">0.821</td>
</tr>
</tbody>
</table></table-wrap>
<p>Specificity Calculation of the algorithms are shown in <xref ref-type="table" rid="T3">Table 3</xref>.</p>
<table-wrap position="float" id="T3">
<label>TABLE 3</label>
<caption><p>10-Fold specificity calculation of all classification algorithms.</p></caption>
<table cellspacing="5" cellpadding="5" frame="hsides" rules="groups">
<thead>
<tr>
<td valign="top" align="left">Algorithms</td>
<td valign="top" align="center">SP1</td>
<td valign="top" align="center">SP2</td>
<td valign="top" align="center">SP3</td>
<td valign="top" align="center">SP4</td>
<td valign="top" align="center">SP5</td>
<td valign="top" align="center">SP6</td>
<td valign="top" align="center">SP7</td>
<td valign="top" align="center">SP8</td>
<td valign="top" align="center">SP9</td>
<td valign="top" align="center">SP10</td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Logistic regression (LR)</td>
<td valign="top" align="center">0.881</td>
<td valign="top" align="center">0.880</td>
<td valign="top" align="center">0.956</td>
<td valign="top" align="center">0.945</td>
<td valign="top" align="center">0.880</td>
<td valign="top" align="center">0.913</td>
<td valign="top" align="center">0.913</td>
<td valign="top" align="center">0.934</td>
<td valign="top" align="center">0.935</td>
<td valign="top" align="center">0.881</td>
</tr>
<tr>
<td valign="top" align="left">SVM</td>
<td valign="top" align="center">0.871</td>
<td valign="top" align="center">0.880</td>
<td valign="top" align="center">0.956</td>
<td valign="top" align="center">0.945</td>
<td valign="top" align="center">0.902</td>
<td valign="top" align="center">0.934</td>
<td valign="top" align="center">0.924</td>
<td valign="top" align="center">0.913</td>
<td valign="top" align="center">0.946</td>
<td valign="top" align="center">0.881</td>
</tr>
<tr>
<td valign="top" align="left">KNN</td>
<td valign="top" align="center">0.989</td>
<td valign="top" align="center">0.989</td>
<td valign="top" align="center">1.0</td>
<td valign="top" align="center">0.989</td>
<td valign="top" align="center">0.967</td>
<td valign="top" align="center">1.0</td>
<td valign="top" align="center">0.967</td>
<td valign="top" align="center">0.967</td>
<td valign="top" align="center">0.989</td>
<td valign="top" align="center">0.967</td>
</tr>
<tr>
<td valign="top" align="left">Decision tree (DT)</td>
<td valign="top" align="center">0.989</td>
<td valign="top" align="center">0.976</td>
<td valign="top" align="center">0.978</td>
<td valign="top" align="center">0.978</td>
<td valign="top" align="center">0.946</td>
<td valign="top" align="center">0.989</td>
<td valign="top" align="center">0.956</td>
<td valign="top" align="center">0.935</td>
<td valign="top" align="center">0.935</td>
<td valign="top" align="center">0.978</td>
</tr>
<tr>
<td valign="top" align="left">Random Forest (RF)</td>
<td valign="top" align="center">0.978</td>
<td valign="top" align="center">0.989</td>
<td valign="top" align="center">1.0</td>
<td valign="top" align="center">0.989</td>
<td valign="top" align="center">0.978</td>
<td valign="top" align="center">1.0</td>
<td valign="top" align="center">0.989</td>
<td valign="top" align="center">0.956</td>
<td valign="top" align="center">0.967</td>
<td valign="top" align="center">0.967</td>
</tr>
<tr>
<td valign="top" align="left">Naive Bayes (NB)</td>
<td valign="top" align="center">0.838</td>
<td valign="top" align="center">0.815</td>
<td valign="top" align="center">0.924</td>
<td valign="top" align="center">0.913</td>
<td valign="top" align="center">0.783</td>
<td valign="top" align="center">0.826</td>
<td valign="top" align="center">0.880</td>
<td valign="top" align="center">0.859</td>
<td valign="top" align="center">0.839</td>
<td valign="top" align="center">0.849</td>
</tr>
<tr>
<td valign="top" align="left">Gradient boost (GB)</td>
<td valign="top" align="center">0.978</td>
<td valign="top" align="center">0.978</td>
<td valign="top" align="center">1.0</td>
<td valign="top" align="center">0.989</td>
<td valign="top" align="center">0.935</td>
<td valign="top" align="center">1.0</td>
<td valign="top" align="center">0.978</td>
<td valign="top" align="center">0.935</td>
<td valign="top" align="center">0.989</td>
<td valign="top" align="center">0.957</td>
</tr>
</tbody>
</table></table-wrap>
</sec>
<sec id="S3.SS6">
<title>3.6. ROC-AUC curve showing performance of the algorithms</title>
<p>From <xref ref-type="fig" rid="F12">Figure 12</xref> it is observed that Decision Tree gives the maximum AUC value, which is equal to 0.939.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption><p>ROC-AUC Curve showing performance comparison of all the algorithms.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g012.tif"/>
</fig>
</sec>
<sec id="S3.SS7">
<title>3.7. Performance comparison of the algorithms</title>
<p>From <xref ref-type="table" rid="T4">Table 4</xref> it is observed that Ensemble Learning gives the maximum Accuracy, maximum F1 Score, and minimum L1-Loss value. The maximum ROC Score is given by Decision Tree, Maximum sensitivity score by Random Forest, and Maximum specificity value by KNN. <xref ref-type="fig" rid="F13">Figures 13</xref>&#x2013;<xref ref-type="fig" rid="F20">20</xref> show Learning Curves of the algorithms, which display Accuracy scores.</p>
<table-wrap position="float" id="T4">
<label>TABLE 4</label>
<caption><p>Performance metrics comparison for all classification algorithms.</p></caption>
<table cellspacing="5" cellpadding="5" frame="hsides" rules="groups">
<thead>
<tr>
<td valign="top" align="left">Algorithms</td>
<td valign="top" align="center">Accuracy</td>
<td valign="top" align="center">ROC Score</td>
<td valign="top" align="center">F1 score</td>
<td valign="top" align="center">Mean absolute loss (L1 Loss)</td>
<td valign="top" align="center">Sensitivity</td>
<td valign="top" align="center">Specificity</td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Logistic regression</td>
<td valign="top" align="center">0.737</td>
<td valign="top" align="center">0.684</td>
<td valign="top" align="center">0.576</td>
<td valign="top" align="center">0.263</td>
<td valign="top" align="center">0.545</td>
<td valign="top" align="center">0.912</td>
</tr>
<tr>
<td valign="top" align="left">SVM</td>
<td valign="top" align="center">0.743</td>
<td valign="top" align="center">0.683</td>
<td valign="top" align="center">0.568</td>
<td valign="top" align="center">0.257</td>
<td valign="top" align="center">0.540</td>
<td valign="top" align="center">0.916</td>
</tr>
<tr>
<td valign="top" align="left">KNN</td>
<td valign="top" align="center">0.951</td>
<td valign="top" align="center">0.936</td>
<td valign="top" align="center">0.928</td>
<td valign="top" align="center">0.048</td>
<td valign="top" align="center">0.919</td>
<td valign="top" align="center"><bold>0.983</bold></td>
</tr>
<tr>
<td valign="top" align="left">Decision tree (DT)</td>
<td valign="top" align="center">0.949</td>
<td valign="top" align="center"><bold>0.939</bold></td>
<td valign="top" align="center">0.926</td>
<td valign="top" align="center">0.051</td>
<td valign="top" align="center">0.932</td>
<td valign="top" align="center">0.965</td>
</tr>
<tr>
<td valign="top" align="left">Random forest (RF)</td>
<td valign="top" align="center">0.942</td>
<td valign="top" align="center">0.929</td>
<td valign="top" align="center">0.916</td>
<td valign="top" align="center">0.057</td>
<td valign="top" align="center"><bold>0.947</bold></td>
<td valign="top" align="center">0.982</td>
</tr>
<tr>
<td valign="top" align="left">Naive Bayes (NB)</td>
<td valign="top" align="center">0.716</td>
<td valign="top" align="center">0.687</td>
<td valign="top" align="center">0.595</td>
<td valign="top" align="center">0.284</td>
<td valign="top" align="center">0.616</td>
<td valign="top" align="center">0.853</td>
</tr>
<tr>
<td valign="top" align="left">Gradient boost (GB)</td>
<td valign="top" align="center">0.939</td>
<td valign="top" align="center">0.925</td>
<td valign="top" align="center">0.911</td>
<td valign="top" align="center">0.060</td>
<td valign="top" align="center">0.912</td>
<td valign="top" align="center">0.974</td>
</tr>
<tr>
<td valign="top" align="left">Ensemble learning (DT + RF + GB)</td>
<td valign="top" align="center"><bold>0.964</bold></td>
<td valign="top" align="center">&#x2014;</td>
<td valign="top" align="center"><bold>0.939</bold></td>
<td valign="top" align="center"><bold>0.037</bold></td>
<td valign="top" align="center">&#x2014;-</td>
<td valign="top" align="center">&#x2014;-</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn><p>Bold values indicates the good results.</p></fn>
</table-wrap-foot>
</table-wrap>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption><p>Training examples Vs. Accuracy Score Graph of LR model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g013.tif"/>
</fig>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption><p>Training examples Vs. Accuracy Score Graph of SVM model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g014.tif"/>
</fig>
<fig id="F15" position="float">
<label>FIGURE 15</label>
<caption><p>Training examples Vs. Accuracy Score Graph of KNN model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g015.tif"/>
</fig>
<fig id="F16" position="float">
<label>FIGURE 16</label>
<caption><p>Training examples Vs. Accuracy Score Graph of DT model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g016.tif"/>
</fig>
<fig id="F17" position="float">
<label>FIGURE 17</label>
<caption><p>Training examples Vs. Accuracy Score Graph of RF model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g017.tif"/>
</fig>
<fig id="F18" position="float">
<label>FIGURE 18</label>
<caption><p>Training examples Vs. Accuracy Score Graph of NB model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g018.tif"/>
</fig>
<fig id="F19" position="float">
<label>FIGURE 19</label>
<caption><p>Training examples Vs. Accuracy Score Graph of GB model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g019.tif"/>
</fig>
<fig id="F20" position="float">
<label>FIGURE 20</label>
<caption><p>Training examples Vs. Accuracy Score Graph of Ensemble model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g020.tif"/>
</fig>
</sec>
<sec id="S3.SS8">
<title>3.8. Learning curves of the algorithms showing accuracy scores</title>
</sec>
<sec id="S3.SS9">
<title>3.9. Learning curves of the algorithms showing L1-Loss values</title>
<p><xref ref-type="fig" rid="F21">Figures 21</xref>&#x2013;<xref ref-type="fig" rid="F28">28</xref> illustrates Learning Curves of the algorithms showing L1-Loss values.</p>
<fig id="F21" position="float">
<label>FIGURE 21</label>
<caption><p>Training examples Vs. L1-Loss Graph of LR model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g021.tif"/>
</fig>
<fig id="F22" position="float">
<label>FIGURE 22</label>
<caption><p>Training examples Vs. L1-Loss Graph of SVM model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g022.tif"/>
</fig>
<fig id="F23" position="float">
<label>FIGURE 23</label>
<caption><p>Training examples Vs. L1-Loss Graph of KNN model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g023.tif"/>
</fig>
<fig id="F24" position="float">
<label>FIGURE 24</label>
<caption><p>Training examples Vs. L1-Loss Graph of DT model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g024.tif"/>
</fig>
<fig id="F25" position="float">
<label>FIGURE 25</label>
<caption><p>Training examples Vs. L1-Loss Graph of RF model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g025.tif"/>
</fig>
<fig id="F26" position="float">
<label>FIGURE 26</label>
<caption><p>Training examples Vs. L1-Loss Graph of NB model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g026.tif"/>
</fig>
<fig id="F27" position="float">
<label>FIGURE 27</label>
<caption><p>Training examples Vs. L1-Loss Graph of GB model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g027.tif"/>
</fig>
<fig id="F28" position="float">
<label>FIGURE 28</label>
<caption><p>Training examples Vs. L1-Loss Graph of Ensemble model.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g028.tif"/>
</fig>
</sec>
<sec id="S3.SS10">
<title>3.10. Parameters considered for some algorithms</title>
<sec id="S3.SS10.SSS1">
<title>3.10.1. K nearest neighbors algorithm</title>
<p>For KNN algorithm, the value of <italic>K</italic> has been determined by iterating from 1 to 40 for optimal <italic>K</italic> value for which the loss value is minimum. We have found out that when <italic>K</italic> = 1, we have got the minimum error for this algorithm, that is 0.12. Here <italic>K</italic> cannot be equal to 0. <xref ref-type="fig" rid="F29">Figure 29</xref> illustrates <italic>K</italic> value Vs. Error rate graph for KNN Algorithm</p>
<fig id="F29" position="float">
<label>FIGURE 29</label>
<caption><p><italic>K</italic> value Vs. Error rate graph for K-Nearest Neighbors (KNN) Algorithm.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g029.tif"/>
</fig>
</sec>
<sec id="S3.SS10.SSS2">
<title>3.10.2. Gradient boost algorithm</title>
<p>For Gradient Boost algorithm, there are 2 parameters on which the algorithm&#x2019;s performance depends. They are the learning rate and <italic>n</italic>-estimators. We have kept the learning rate constant at 0.18 where maximum performance was obtained and iterated the <italic>n</italic>-estimators value from 10 to 200 for optimal value, i.e., for minimum error rate. It has been found that when the <italic>n</italic>-estimators value is equal to 180, the algorithm gives best performance, i.e., minimum error of 0.06. <xref ref-type="fig" rid="F30">Figure 30</xref> depicts n-estimators value Vs. error rate graph for GB Algorithm.</p>
<fig id="F30" position="float">
<label>FIGURE 30</label>
<caption><p><italic>n</italic>-estimators value Vs. error rate graph for Gradient boost (GB) Algorithm.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g030.tif"/>
</fig>
<p>Bar graphs comparing various performances of the algorithms.</p>
<p>From <xref ref-type="fig" rid="F31">Figure 31</xref> it is observed that Ensemble Learning gives the maximum Accuracy score, which is equal to 0.964.</p>
<fig id="F31" position="float">
<label>FIGURE 31</label>
<caption><p>Bar Graph showing Accuracy Score comparison of all the algorithms.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g031.tif"/>
</fig>
<p>From <xref ref-type="fig" rid="F32">Figure 32</xref> it is observed that Decision Tree gives the maximum ROC score, which is equal to 0.939.</p>
<fig id="F32" position="float">
<label>FIGURE 32</label>
<caption><p>Bar Graph showing ROC Score comparison of all the algorithms.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g032.tif"/>
</fig>
<p>From <xref ref-type="fig" rid="F33">Figure 33</xref> it is observed that Ensemble Learning gives the maximum F1 score, which is equal to 0.940.</p>
<fig id="F33" position="float">
<label>FIGURE 33</label>
<caption><p>Bar Graph showing F1-Score comparison of all the algorithms.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g033.tif"/>
</fig>
<p>From <xref ref-type="fig" rid="F34">Figure 34</xref> it is observed that Ensemble Learning gives the minimum L1-Loss value, which is equal to 0.035.</p>
<fig id="F34" position="float">
<label>FIGURE 34</label>
<caption><p>Bar Graph showing L1-Loss comparison of all the algorithms.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g034.tif"/>
</fig>
</sec>
</sec>
<sec id="S3.SS11">
<title>3.11. Our web app for prediction</title>
<p>Finally, we have created a web app that takes the data attributes and inputs and finally predicts the output as &#x201C;Diabetic&#x201D; or &#x201C;Non diabetic.&#x201D; The predictions are shown individually by the 7 different algorithms. <xref ref-type="fig" rid="F35">Figure 35</xref> shows the homepage of our web application. It takes the attributes as inputs to a form.</p>
<fig id="F35" position="float">
<label>FIGURE 35</label>
<caption><p>Screenshot showing the homepage of our web app.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g035.tif"/>
</fig>
<p>We have used HTML5, CSS3, and Bootstrap 4 for designing the frontend.</p>
<p>We have used Flask framework and Python3 language for designing the backend of our web app.</p>
<p>Our web app has been hosted on the Heroku platform.</p>
<p>The link to our web app:</p>

<p><ext-link ext-link-type="uri" xlink:href="https://dmdiagnosisusingml.herokuapp.com/">https://dmdiagnosisusingml.herokuapp.com/</ext-link></p>
<p><xref ref-type="fig" rid="F36">Figure 36</xref> demonstrates the Screenshot showing the prediction of a data point by the algorithms and Screenshot in <xref ref-type="fig" rid="F37">Figure 37</xref> showing the prediction of a data point by the algorithms.</p>
<fig id="F36" position="float">
<label>FIGURE 36</label>
<caption><p>Screenshot showing the prediction of a data point by the algorithms.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g036.tif"/>
</fig>
<fig id="F37" position="float">
<label>FIGURE 37</label>
<caption><p>Screenshot showing the prediction of a data point by the algorithms.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijiam-2024-22-g037.tif"/>
</fig>
</sec>
</sec>
<sec id="S4">
<title>4. Discussions</title>
<sec id="S4.SS1">
<title>4.1. Discussion about uncertainty</title>
<p>When measuring a<sub>0</sub> on a measured a&#x2208;(&#x2212;&#x221E;,&#x221E;) with true value a&#x002A;, the error e = |a&#x002A; &#x2013; a<sub>0</sub>| is often due to measurement inaccuracy. Uncertainty quantifies doubt about the measurement result, and can be known or unknown, resulting in an uncertain measurement.</p>
<sec id="S4.SS1.SSS1">
<title>4.1.1. Types of uncertainties</title>
<p>Uncertainty sources include subjective and objective types, subjective uncertainty being subjective and objective uncertainty being objective, which cannot be assessed. These two can be further divided as shown in the following section.</p>
</sec>
<sec id="S4.SS1.SSS2">
<title>4.1.2. Uncertainty</title>
<p>(I) Objective Uncertainty</p>
<list list-type="simple">
<list-item>
<label>&#x2022;</label>
<p>Epistemic: Uncertainty in estimated model parameters.</p>
</list-item>
<list-item>
<label>&#x2022;</label>
<p>Aleatoric: Noise in data measurement.</p>
</list-item>
</list>
<p>(II) Subjective Uncertainty</p>
<list list-type="simple">
<list-item>
<label>&#x2022;</label>
<p>Moral Uncertainty: Bias in Moral or evaluative matters.</p>
</list-item>
<list-item>
<label>&#x2022;</label>
<p>Rule Uncertainty: Treating the doubt about a rule.</p>
</list-item>
</list>
</sec>
<sec id="S4.SS1.SSS3">
<title>4.1.3. Sources of uncertainties</title>
<p>Uncertainty in machine learning in medical data can arise from various sources, including positional, value, data manipulation, and algorithms processing. Machines and sensors use machines and sensors, causing positional uncertainty, while measuring procedures create value uncertainty. Data manipulation and techniques transforming data into models contribute errors, incompleteness, and parameter uncertainty. Models cannot precisely map reality, introducing uncertainty, and their definitions cannot be full, further complicating the accuracy of machine learning in medical data analysis. Addressing these challenges is crucial for machine learning&#x2019;s usefulness in medical data analysis.</p>
</sec>
<sec id="S4.SS1.SSS4">
<title>4.1.4. Need for uncertainty measurement and its quantification</title>
<p>Because of its promising outcomes in decision-critical sectors, machine learning has gained popularity. However, safe procedures must account for the process&#x2019;s inherent ambiguity. ML models learn from data and generate predictions using extracted models, which are subject to noise and poor model inference. To establish trustworthy AI-based systems, it is critical to assess uncertainty in forecasts and avoid making judgements where there is a high degree of uncertainty.</p>
</sec>
</sec>
</sec>
<sec id="S5" sec-type="conclusion">
<title>5. Conclusion</title>
<p>This research uses seven machine learning algorithms and a specialized ensemble learning method to analyze illnesses like diabetes. On the PIMA Indian Dataset, simulations demonstrate that the ensemble learning approach performs better than individual classifiers. For the automated treatment of chronic diseases in the future, the simulation model can be expanded to different diseases. With deep learning tools like the Convolutional LSTM model and boosting methods like Adaptive Boosting and Extreme Gradient Boosting (XGBoost), the work may be further developed. Accuracy can be enhanced with ensemble learning customizations. The work may be applied to other datasets with various properties, and the dataset comprises medical data with uncertainty resulting from human interaction.</p>
</sec>
<sec id="S6" sec-type="author-contributions">
<title>Author contributions</title>
<p>All authors contributed to the article and approved the submitted version.</p>
</sec>
<sec id="S7">
<title>Dataset</title>
<p>Dataset: PIMA Indian Dataset <ext-link ext-link-type="uri" xlink:href="https://www.kaggle.com/uciml/pima-indians-diabetes-database">https://www.kaggle.com/uciml/pima-indians-diabetes-database</ext-link></p>
</sec>
</body>
<back>
<ref-list>
<title>References</title>
<ref id="B1"><label>1.</label><citation citation-type="journal"><collab>Healthline.</collab> <source><italic>What is Type 3 Diabetes?</italic></source> Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.healthline.com/health/type-3-diabetes#What-is-type-3-diabetes?">https://www.healthline.com/health/type-3-diabetes#What-is-type-3-diabetes?</ext-link></citation></ref>
<ref id="B2"><label>2.</label><citation citation-type="journal"><collab>World Health Organization.</collab> <source><italic>Global Report on Diabetes.</italic></source> <publisher-loc>Geneva</publisher-loc>: <publisher-name>World Health Organization</publisher-name> (<year>2016</year>).</citation></ref>
<ref id="B3"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Rahman</surname> <given-names>M</given-names></name> <name><surname>Islam</surname> <given-names>D</given-names></name> <name><surname>Mukti</surname> <given-names>R</given-names></name> <name><surname>Saha</surname> <given-names>I</given-names></name></person-group>. <article-title>A deep learning approach based on convolutional LSTM for detecting diabetes.</article-title> <source><italic>Comput Biol Chem.</italic></source> (<year>2020</year>) <volume>88</volume>:<issue>107329</issue>.</citation></ref>
<ref id="B4"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Reddy</surname> <given-names>DJ</given-names></name> <name><surname>Mounika</surname> <given-names>B</given-names></name> <name><surname>Sindhu</surname> <given-names>S</given-names></name> <name><surname>Pranayteja Reddy</surname> <given-names>T</given-names></name> <name><surname>Sagar Reddy</surname> <given-names>N</given-names></name> <name><surname>Jyothsna Sri</surname> <given-names>G</given-names></name><etal/></person-group> <article-title>Predictive machine learning model for early detection and analysis of diabetes.</article-title> <source><italic>Mater Today Proc.</italic></source> (<year>2020</year>).</citation></ref>
<ref id="B5"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lukmanto</surname> <given-names>RB</given-names></name> <name><surname>Nugroho</surname> <given-names>A</given-names></name> <name><surname>Akbar</surname> <given-names>H</given-names></name></person-group>. <article-title>Early detection of diabetes mellitus using feature selection and fuzzy support vector machine.</article-title> <source><italic>Procedia Comput Sci.</italic></source> (<year>2019</year>) <volume>157</volume>:<fpage>46</fpage>&#x2013;<lpage>54</lpage>.</citation></ref>
<ref id="B6"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gillmann</surname> <given-names>C</given-names></name> <name><surname>Saur</surname> <given-names>D</given-names></name> <name><surname>Scheuermann</surname> <given-names>G</given-names></name></person-group>. <article-title>How to deal with uncertainty in machine learning for medical imaging?</article-title> <source><italic>Proceedings of the 2021 IEEE Workshop on TRust and EXpertise in Visual Analytics (TREX).</italic></source> <publisher-loc>New Orleans, LA</publisher-loc>: <publisher-name>IEEE</publisher-name> (<year>2021</year>). p. <fpage>52</fpage>&#x2013;<lpage>8</lpage>.</citation></ref>
<ref id="B7"><label>7.</label><citation citation-type="journal"><collab>k2analytics.</collab> <source><italic>Introduction to Logistic Regression.</italic></source> Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.k2analytics.co.in/introduction-to-logistic-regression/">https://www.k2analytics.co.in/introduction-to-logistic-regression/</ext-link></citation></ref>
</ref-list>
</back>
</article>
