0% found this document useful (0 votes)
8 views25 pages

Diabetes Data Analysis and Prediction

Uploaded by

Anurag Kandari
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views25 pages

Diabetes Data Analysis and Prediction

Uploaded by

Anurag Kandari
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

#name Anurag kandari

#roll no 08
# PGDM-A
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from [Link] import accuracy_score, classification_report,
confusion_matrix
from sklearn.linear_model import LinearRegression
import [Link] as plt
import seaborn as sns

df = pd.read_csv('[Link]')

[Link]()

Pregnancies Glucose BloodPressure SkinThickness Insulin


BMI \
0 6 148 72 35 0 33.6

1 1 85 66 29 0 26.6

2 8 183 64 0 0 23.3

3 1 89 66 23 94 28.1

4 0 137 40 35 168 43.1

DiabetesPedigreeFunction Age Outcome


0 0.627 50 1
1 0.351 31 0
2 0.672 32 1
3 0.167 21 0
4 2.288 33 1

[Link]()

Pregnancies Glucose BloodPressure SkinThickness Insulin BMI


\
764 2 122 70 27 0 36.8

765 5 121 72 23 112 26.2

766 1 126 60 0 0 30.1

767 1 93 70 31 0 30.4

768 0 123 77 0 1 36.3


DiabetesPedigreeFunction Age Outcome
764 0.340 27 0
765 0.245 30 0
766 0.349 47 1
767 0.315 23 0
768 0.252 55 1

[Link]()

Pregnancies Glucose BloodPressure SkinThickness


Insulin \
count 769.000000 769.000000 769.000000 769.000000
769.000000
mean 3.840052 120.897269 69.115735 20.509753
79.697009
std 3.370237 31.951886 19.345296 15.959020
115.203999
min 0.000000 0.000000 0.000000 0.000000
0.000000
25% 1.000000 99.000000 62.000000 0.000000
0.000000
50% 3.000000 117.000000 72.000000 23.000000
29.000000
75% 6.000000 140.000000 80.000000 32.000000
127.000000
max 17.000000 199.000000 122.000000 99.000000
846.000000

BMI DiabetesPedigreeFunction Age Outcome


count 769.000000 769.000000 769.000000 769.000000
mean 31.998179 0.471590 33.269181 0.349805
std 7.880557 0.331208 11.778737 0.477219
min 0.000000 0.078000 21.000000 0.000000
25% 27.300000 0.244000 24.000000 0.000000
50% 32.000000 0.371000 29.000000 0.000000
75% 36.600000 0.626000 41.000000 1.000000
max 67.100000 2.420000 81.000000 1.000000

[Link]

(769, 9)

[Link]().sum()

Pregnancies 0
Glucose 0
BloodPressure 0
SkinThickness 0
Insulin 0
BMI 0
DiabetesPedigreeFunction 0
Age 0
Outcome 0
dtype: int64

[Link](x='Pregnancies',y='BloodPressure',data=df)

<[Link] at 0x14628ebf3b0>

[Link](x='DiabetesPedigreeFunction',y='BloodPressure',data=df)

<[Link] at 0x14628f7e390>
[Link](0, inplace=True)

print(df)

Pregnancies Glucose BloodPressure SkinThickness Insulin BMI


\
0 6 148 72 35 0 33.6

1 1 85 66 29 0 26.6

2 8 183 64 0 0 23.3

3 1 89 66 23 94 28.1

4 0 137 40 35 168 43.1

.. ... ... ... ... ... ...

764 2 122 70 27 0 36.8

765 5 121 72 23 112 26.2


766 1 126 60 0 0 30.1

767 1 93 70 31 0 30.4

768 0 123 77 0 1 36.3

DiabetesPedigreeFunction Age Outcome


0 0.627 50 1
1 0.351 31 0
2 0.672 32 1
3 0.167 21 0
4 2.288 33 1
.. ... ... ...
764 0.340 27 0
765 0.245 30 0
766 0.349 47 1
767 0.315 23 0
768 0.252 55 1

[769 rows x 9 columns]

train = [Link](['Pregnancies', 'Glucose', 'DiabetesPedigreeFunction',


'BloodPressure', 'SkinThickness', 'Insulin'], axis=1)
test = df['Insulin']

train

BMI Age Outcome


0 33.6 50 1
1 26.6 31 0
2 23.3 32 1
3 28.1 21 0
4 43.1 33 1
.. ... ... ...
764 36.8 27 0
765 26.2 30 0
766 30.1 47 1
767 30.4 23 0
768 36.3 55 1

[769 rows x 3 columns]

test

0 0
1 0
2 0
3 94
4 168
...
764 0
765 112
766 0
767 0
768 1
Name: Insulin, Length: 769, dtype: int64

X_train,X_test,y_train,y_test=train_test_split(train,test,test_size=0.
3,random_state=2)

X_train,X_test,y_train,y_test

( BMI Age Outcome


120 53.2 25 1
7 35.3 29 0
751 39.0 28 0
735 35.4 28 0
559 30.1 35 0
.. ... ... ...
534 33.3 24 0
584 28.7 52 1
493 28.9 45 1
527 26.3 24 0
168 31.9 29 0

[538 rows x 3 columns],


BMI Age Outcome
231 46.2 46 1
710 31.2 24 0
440 34.3 41 1
662 37.6 43 1
377 37.2 22 0
.. ... ... ...
495 26.6 66 0
236 35.9 51 1
130 29.7 33 1
225 34.6 22 0
388 32.0 58 1

[231 rows x 3 columns],


120 100
7 0
751 74
735 0
559 0
...
534 56
584 600
493 122
527 105
168 0
Name: Insulin, Length: 538, dtype: int64,
231 370
710 387
440 0
662 231
377 75
...
495 0
236 192
130 168
225 32
388 285
Name: Insulin, Length: 231, dtype: int64)

regression = LinearRegression()

regression

LinearRegression()

[Link](X_train,y_train)

LinearRegression()

predict = [Link](X_test)

predict

array([121.77350334, 78.10800424, 96.17867285, 102.9003638 ,


93.78428834, 81.74236627, 87.30403531, 134.18637683,
61.90647245, 65.36535226, 73.31302082, 61.73218918,
76.684759 , 47.47795137, 62.38814933, 73.20469325,
126.58907322, 71.51762522, 77.38548892, 115.40217735,
109.57009895, 2.35342173, 71.54060957, 82.4648816 ,
63.63651183, 91.02553897, 86.10044257, 1.74043292,
66.67907098, 95.77695157, 91.92353651, 43.4950228 ,
66.56954447, 71.95573128, 67.59885393, 106.18436088,
73.31302082, 101.73255638, 91.02553897, 116.12349372,
87.41476077, 59.0393955 , 93.48587918, 91.33951915,
68.97852835, 126.15156663, 86.21595618, 67.0742057 ,
114.06547427, 89.74199064, 87.63201538, 72.74480178,
66.7885975 , 82.31178426, 67.60065235, 55.82015519,
59.82606811, 64.88367538, 109.42478713, 47.26069676,
49.55775624, 65.94315523, 64.97141648, 97.74722992,
67.0742057 , 51.83482873, 89.87330256, 47.54450654,
76.44452004, 95.03983687, 97.24496657, 64.29247198,
96.33177019, 139.3976809 , 64.27068657, 82.61917788,
48.63797329, 107.43152443, 79.1015284 , 66.04489624,
39.466725 , 87.69797108, 81.26068939, 96.36815497,
68.40911036, 71.75846366, 89.51575157, 82.62576444,
64.62105153, 83.60371758, 64.51272396, 65.97834107,
117.10204634, 83.86634143, 99.48385586, 44.17396731,
62.73851429, 50.25848615, 91.93072254, 75.96224368,
74.03553615, 57.04553333, 102.28617605, 88.42887139,
101.07539728, 71.3663263 , 74.5837682 , 96.76927678,
79.18088452, 45.57362872, 97.76901533, 67.89224764,
70.37998818, 71.85458975, 100.03208792, 65.97834107,
61.75277564, 115.86086987, 84.26926166, 95.34603154,
91.04792385, 97.27333855, 76.44392056, 67.13956193,
58.14019902, 43.97669969, 113.58379739, 84.96100712,
72.3290806 , 61.0526452 , 99.06873415, 87.36939153,
83.52376198, 140.14258111, 62.1690963 , 90.98196815,
102.8266226 , 57.37411288, 90.98975366, 84.67659786,
48.55143113, 98.10478091, 92.9522465 , 92.05484843,
95.87187871, 99.08273405, 54.63774839, 99.89299048,
82.99132824, 80.41464765, 99.30178708, 75.97062866,
54.02475958, 104.30122416, 133.55220208, 60.19821847,
90.37736433, 67.5994534 , 78.9836169 , 102.746667 ,
63.26556041, 106.57769718, 38.34907495, 98.44795983,
65.6721464 , 89.64646402, 75.91867286, 97.64488944,
101.73914294, 71.4740544 , 127.22384744, 130.00498169,
89.85091768, 103.9290738 , 71.69310743, 65.34356685,
86.01210199, 108.74584262, 28.86983358, 81.26068939,
87.71975649, 55.64527244, 79.75688908, 82.03516051,
65.12451382, 75.59009331, 92.27390147, 67.40218578,
63.92032161, 78.78754822, 94.99686553, 64.05163354,
60.76883541, 108.81119885, 74.75984989, 90.114141 ,
96.63856433, 85.12129049, 97.29512395, 69.7004442 ,
113.60678174, 89.84373164, 72.48097898, 89.38384017,
76.90381204, 75.69961983, 100.7474172 , 75.02965978,
95.19293421, 99.54981156, 57.30815718, 87.6615863 ,
83.62550299, 79.53184896, 67.90564807, 117.48198221,
107.8254602 , 84.3921886 , 84.23849179, 89.29609906,
105.46184555, 94.12005393, 94.07768205, 49.07787777,
82.0933307 , 58.6878316 , 41.28390601, 93.90219984,
90.00401501, 87.52248887, 80.21857897])

[Link](X_test,y_test)

0.054992667713272936

pip install plotly

Requirement already satisfied: plotly in c:\users\anurag kandari\


anaconda3\lib\site-packages (5.22.0)
Requirement already satisfied: tenacity>=6.2.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from plotly) (8.2.2)
Requirement already satisfied: packaging in c:\users\anurag kandari\
anaconda3\lib\site-packages (from plotly) (23.2)
Note: you may need to restart the kernel to use updated packages.
pip install cufflinks

Requirement already satisfied: cufflinks in c:\users\anurag kandari\


anaconda3\lib\site-packages (0.17.3)Note: you may need to restart the
kernel to use updated packages.

Requirement already satisfied: numpy>=1.9.2 in c:\users\anurag


kandari\anaconda3\lib\site-packages (from cufflinks) (1.26.4)
Requirement already satisfied: pandas>=0.19.2 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from cufflinks) (2.2.2)
Requirement already satisfied: plotly>=4.1.1 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from cufflinks) (5.22.0)
Requirement already satisfied: six>=1.9.0 in c:\users\anurag kandari\
anaconda3\lib\site-packages (from cufflinks) (1.16.0)
Requirement already satisfied: colorlover>=0.2.1 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from cufflinks) (0.3.0)
Requirement already satisfied: setuptools>=34.4.1 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from cufflinks) (69.5.1)
Requirement already satisfied: ipython>=5.3.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from cufflinks) (8.25.0)
Requirement already satisfied: ipywidgets>=7.0.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from cufflinks) (7.8.1)
Requirement already satisfied: decorator in c:\users\anurag kandari\
anaconda3\lib\site-packages (from ipython>=5.3.0->cufflinks) (5.1.1)
Requirement already satisfied: jedi>=0.16 in c:\users\anurag kandari\
anaconda3\lib\site-packages (from ipython>=5.3.0->cufflinks) (0.18.1)
Requirement already satisfied: matplotlib-inline in c:\users\anurag
kandari\anaconda3\lib\site-packages (from ipython>=5.3.0->cufflinks)
(0.1.6)
Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in c:\
users\anurag kandari\anaconda3\lib\site-packages (from ipython>=5.3.0-
>cufflinks) (3.0.43)
Requirement already satisfied: pygments>=2.4.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from ipython>=5.3.0->cufflinks)
(2.15.1)
Requirement already satisfied: stack-data in c:\users\anurag kandari\
anaconda3\lib\site-packages (from ipython>=5.3.0->cufflinks) (0.2.0)
Requirement already satisfied: traitlets>=5.13.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from ipython>=5.3.0->cufflinks)
(5.14.3)
Requirement already satisfied: colorama in c:\users\anurag kandari\
anaconda3\lib\site-packages (from ipython>=5.3.0->cufflinks) (0.4.6)
Requirement already satisfied: comm>=0.1.3 in c:\users\anurag kandari\
anaconda3\lib\site-packages (from ipywidgets>=7.0.0->cufflinks)
(0.2.1)
Requirement already satisfied: ipython-genutils~=0.2.0 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from ipywidgets>=7.0.0-
>cufflinks) (0.2.0)
Requirement already satisfied: widgetsnbextension~=3.6.6 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from ipywidgets>=7.0.0-
>cufflinks) (3.6.6)
Requirement already satisfied: jupyterlab-widgets<3,>=1.0.0 in c:\
users\anurag kandari\anaconda3\lib\site-packages (from
ipywidgets>=7.0.0->cufflinks) (1.0.0)
Requirement already satisfied: python-dateutil>=2.8.2 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from pandas>=0.19.2-
>cufflinks) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from pandas>=0.19.2->cufflinks)
(2024.1)
Requirement already satisfied: tzdata>=2022.7 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from pandas>=0.19.2->cufflinks)
(2023.3)
Requirement already satisfied: tenacity>=6.2.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from plotly>=4.1.1->cufflinks)
(8.2.2)
Requirement already satisfied: packaging in c:\users\anurag kandari\
anaconda3\lib\site-packages (from plotly>=4.1.1->cufflinks) (23.2)
Requirement already satisfied: parso<0.9.0,>=0.8.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jedi>=0.16->ipython>=5.3.0-
>cufflinks) (0.8.3)
Requirement already satisfied: wcwidth in c:\users\anurag kandari\
anaconda3\lib\site-packages (from prompt-toolkit<3.1.0,>=3.0.41-
>ipython>=5.3.0->cufflinks) (0.2.5)
Requirement already satisfied: notebook>=4.4.1 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (7.0.8)
Requirement already satisfied: executing in c:\users\anurag kandari\
anaconda3\lib\site-packages (from stack-data->ipython>=5.3.0-
>cufflinks) (0.8.3)
Requirement already satisfied: asttokens in c:\users\anurag kandari\
anaconda3\lib\site-packages (from stack-data->ipython>=5.3.0-
>cufflinks) (2.0.5)
Requirement already satisfied: pure-eval in c:\users\anurag kandari\
anaconda3\lib\site-packages (from stack-data->ipython>=5.3.0-
>cufflinks) (0.2.2)
Requirement already satisfied: jupyter-server<3,>=2.4.0 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (2.14.1)
Requirement already satisfied: jupyterlab-server<3,>=2.22.1 in c:\
users\anurag kandari\anaconda3\lib\site-packages (from
notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (2.25.1)
Requirement already satisfied: jupyterlab<4.1,>=4.0.2 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (4.0.11)
Requirement already satisfied: notebook-shim<0.3,>=0.2 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (0.2.3)
Requirement already satisfied: tornado>=6.2.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (6.4.1)
Requirement already satisfied: anyio>=3.1.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (4.2.0)
Requirement already satisfied: argon2-cffi>=21.1 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (21.3.0)
Requirement already satisfied: jinja2>=3.0.3 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (3.1.4)
Requirement already satisfied: jupyter-client>=7.4.4 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (8.6.0)
Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (5.7.2)
Requirement already satisfied: jupyter-events>=0.9.0 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (0.10.0)
Requirement already satisfied: jupyter-server-terminals>=0.4.4 in c:\
users\anurag kandari\anaconda3\lib\site-packages (from jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (0.4.4)
Requirement already satisfied: nbconvert>=6.4.4 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (7.10.0)
Requirement already satisfied: nbformat>=5.3.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (5.9.2)
Requirement already satisfied: overrides>=5.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (7.4.0)
Requirement already satisfied: prometheus-client>=0.9 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (0.14.1)
Requirement already satisfied: pywinpty>=2.0.1 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (2.0.10)
Requirement already satisfied: pyzmq>=24 in c:\users\anurag kandari\
anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (25.1.2)
Requirement already satisfied: send2trash>=1.8.2 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (1.8.2)
Requirement already satisfied: terminado>=0.8.3 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (0.17.1)
Requirement already satisfied: websocket-client>=1.7 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (1.8.0)
Requirement already satisfied: async-lru>=1.0.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyterlab<4.1,>=4.0.2-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (2.0.4)
Requirement already satisfied: ipykernel in c:\users\anurag kandari\
anaconda3\lib\site-packages (from jupyterlab<4.1,>=4.0.2-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (6.28.0)
Requirement already satisfied: jupyter-lsp>=2.0.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyterlab<4.1,>=4.0.2-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (2.2.0)
Requirement already satisfied: babel>=2.10 in c:\users\anurag kandari\
anaconda3\lib\site-packages (from jupyterlab-server<3,>=2.22.1-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (2.11.0)
Requirement already satisfied: json5>=0.9.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyterlab-
server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (0.9.6)
Requirement already satisfied: jsonschema>=4.18.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyterlab-
server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (4.19.2)
Requirement already satisfied: requests>=2.31 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyterlab-
server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (2.32.2)
Requirement already satisfied: idna>=2.8 in c:\users\anurag kandari\
anaconda3\lib\site-packages (from anyio>=3.1.0->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (3.7)
Requirement already satisfied: sniffio>=1.1 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from anyio>=3.1.0->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (1.3.0)
Requirement already satisfied: argon2-cffi-bindings in c:\users\anurag
kandari\anaconda3\lib\site-packages (from argon2-cffi>=21.1->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (21.2.0)
Requirement already satisfied: MarkupSafe>=2.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jinja2>=3.0.3->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (2.1.3)
Requirement already satisfied: attrs>=22.2.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jsonschema>=4.18.0-
>jupyterlab-server<3,>=2.22.1->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (23.1.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in
c:\users\anurag kandari\anaconda3\lib\site-packages (from
jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (2023.7.1)
Requirement already satisfied: referencing>=0.28.4 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jsonschema>=4.18.0-
>jupyterlab-server<3,>=2.22.1->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (0.30.2)
Requirement already satisfied: rpds-py>=0.7.1 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jsonschema>=4.18.0-
>jupyterlab-server<3,>=2.22.1->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (0.10.6)
Requirement already satisfied: platformdirs>=2.5 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyter-core!=5.0.*,>=4.12-
>jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (3.10.0)
Requirement already satisfied: pywin32>=300 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyter-core!=5.0.*,>=4.12-
>jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (305.1)
Requirement already satisfied: python-json-logger>=2.0.4 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from jupyter-
events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (2.0.7)
Requirement already satisfied: pyyaml>=5.3 in c:\users\anurag kandari\
anaconda3\lib\site-packages (from jupyter-events>=0.9.0->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (6.0.1)
Requirement already satisfied: rfc3339-validator in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jupyter-events>=0.9.0-
>jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (0.1.4)
Requirement already satisfied: rfc3986-validator>=0.1.1 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from jupyter-
events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (0.1.1)
Requirement already satisfied: beautifulsoup4 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (4.12.3)
Requirement already satisfied: bleach!=5.0.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (4.1.0)
Requirement already satisfied: defusedxml in c:\users\anurag kandari\
anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in c:\users\anurag
kandari\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (0.1.2)
Requirement already satisfied: mistune<4,>=2.0.3 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (2.0.4)
Requirement already satisfied: nbclient>=0.5.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (0.8.0)
Requirement already satisfied: pandocfilters>=1.4.1 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (1.5.0)
Requirement already satisfied: tinycss2 in c:\users\anurag kandari\
anaconda3\lib\site-packages (from nbconvert>=6.4.4->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (1.2.1)
Requirement already satisfied: fastjsonschema in c:\users\anurag
kandari\anaconda3\lib\site-packages (from nbformat>=5.3.0->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (2.16.2)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from requests>=2.31-
>jupyterlab-server<3,>=2.22.1->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (2.0.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from requests>=2.31->jupyterlab-
server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from requests>=2.31->jupyterlab-
server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (2024.7.4)
Requirement already satisfied: debugpy>=1.6.5 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from ipykernel-
>jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (1.6.7)
Requirement already satisfied: nest-asyncio in c:\users\anurag
kandari\anaconda3\lib\site-packages (from ipykernel-
>jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (1.6.0)
Requirement already satisfied: psutil in c:\users\anurag kandari\
anaconda3\lib\site-packages (from ipykernel->jupyterlab<4.1,>=4.0.2-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (5.9.0)
Requirement already satisfied: webencodings in c:\users\anurag
kandari\anaconda3\lib\site-packages (from bleach!=5.0.0-
>nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (0.5.1)
Requirement already satisfied: fqdn in c:\users\anurag kandari\
anaconda3\lib\site-packages (from jsonschema[format-nongpl]>=4.18.0-
>jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (1.5.1)
Requirement already satisfied: isoduration in c:\users\anurag kandari\
anaconda3\lib\site-packages (from jsonschema[format-nongpl]>=4.18.0-
>jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (20.11.0)
Requirement already satisfied: jsonpointer>1.13 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jsonschema[format-
nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (2.1)
Requirement already satisfied: uri-template in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jsonschema[format-
nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (1.3.0)
Requirement already satisfied: webcolors>=1.11 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from jsonschema[format-
nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0-
>notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0-
>cufflinks) (24.11.1)
Requirement already satisfied: cffi>=1.0.1 in c:\users\anurag kandari\
anaconda3\lib\site-packages (from argon2-cffi-bindings->argon2-
cffi>=21.1->jupyter-server<3,>=2.4.0->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (1.16.0)
Requirement already satisfied: soupsieve>1.2 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from beautifulsoup4-
>nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (2.5)
Requirement already satisfied: pycparser in c:\users\anurag kandari\
anaconda3\lib\site-packages (from cffi>=1.0.1->argon2-cffi-bindings-
>argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->notebook>=4.4.1-
>widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->cufflinks) (2.21)
Requirement already satisfied: arrow>=0.15.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from isoduration-
>jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-
server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6-
>ipywidgets>=7.0.0->cufflinks) (1.2.3)

import cufflinks as cf

from [Link] import


download_plotlyjs,init_notebook_mode,plot,iplot

init_notebook_mode(connected=True)

cf.go_offline()

pip install chart_studio

Requirement already satisfied: chart_studio in c:\users\anurag


kandari\anaconda3\lib\site-packages (1.1.0)
Requirement already satisfied: plotly in c:\users\anurag kandari\
anaconda3\lib\site-packages (from chart_studio) (5.22.0)
Requirement already satisfied: requests in c:\users\anurag kandari\
anaconda3\lib\site-packages (from chart_studio) (2.32.2)
Requirement already satisfied: retrying>=1.3.3 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from chart_studio) (1.3.4)
Requirement already satisfied: six in c:\users\anurag kandari\
anaconda3\lib\site-packages (from chart_studio) (1.16.0)
Requirement already satisfied: tenacity>=6.2.0 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from plotly->chart_studio)
(8.2.2)
Requirement already satisfied: packaging in c:\users\anurag kandari\
anaconda3\lib\site-packages (from plotly->chart_studio) (23.2)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\
anurag kandari\anaconda3\lib\site-packages (from requests-
>chart_studio) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from requests->chart_studio)
(3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from requests->chart_studio)
(2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\anurag
kandari\anaconda3\lib\site-packages (from requests->chart_studio)
(2024.7.4)
Note: you may need to restart the kernel to use updated packages.
import chart_studio.plotly as py
import plotly.graph_objs as go

[Link]()

<Axes: >

[Link]()

[Link](kind='bar', x='BloodPressure', y='DiabetesPedigreeFunction')

<Axes: xlabel='BloodPressure'>
[Link](kind='bar')

[Link]().iplot(kind='bar')
[Link]().iplot(kind='bar')

[Link](kind='box')

df['Pregnancies'].iplot(kind='hist',bins=25)
[Link](kind='hist')

[Link](kind='scatter',x='Pregnancies',y='BloodPressure',mode='marker
s',size=20)

[Link](kind='bubble',x='Pregnancies',y='BloodPressure',size='Outcome
')
df.scatter_matrix()

from sklearn.linear_model import LogisticRegression


from [Link] import accuracy_score, f1_score, precision_score,
recall_score, classification_report, confusion_matrix

x = [Link][:, :-1]
y = [Link][:, 6]

Pregnancies Glucose BloodPressure SkinThickness Insulin BMI


\
0 6 148 72 35 0 33.6

1 1 85 66 29 0 26.6

2 8 183 64 0 0 23.3

3 1 89 66 23 94 28.1

4 0 137 40 35 168 43.1

.. ... ... ... ... ... ...


764 2 122 70 27 0 36.8

765 5 121 72 23 112 26.2

766 1 126 60 0 0 30.1

767 1 93 70 31 0 30.4

768 0 123 77 0 1 36.3

DiabetesPedigreeFunction Age
0 0.627 50
1 0.351 31
2 0.672 32
3 0.167 21
4 2.288 33
.. ... ...
764 0.340 27
765 0.245 30
766 0.349 47
767 0.315 23
768 0.252 55

[769 rows x 8 columns]

0 0.627
1 0.351
2 0.672
3 0.167
4 2.288
...
764 0.340
765 0.245
766 0.349
767 0.315
768 0.252
Name: DiabetesPedigreeFunction, Length: 769, dtype: float64

[Link]()

Pregnancies Glucose BloodPressure SkinThickness Insulin


BMI \
0 6 148 72 35 0 33.6

1 1 85 66 29 0 26.6

2 8 183 64 0 0 23.3
3 1 89 66 23 94 28.1

4 0 137 40 35 168 43.1

DiabetesPedigreeFunction Age
0 0.627 50
1 0.351 31
2 0.672 32
3 0.167 21
4 2.288 33

x = pd.get_dummies(x, prefix_sep='_', drop_first=True)

Pregnancies Glucose BloodPressure SkinThickness Insulin BMI


\
0 6 148 72 35 0 33.6

1 1 85 66 29 0 26.6

2 8 183 64 0 0 23.3

3 1 89 66 23 94 28.1

4 0 137 40 35 168 43.1

.. ... ... ... ... ... ...

764 2 122 70 27 0 36.8

765 5 121 72 23 112 26.2

766 1 126 60 0 0 30.1

767 1 93 70 31 0 30.4

768 0 123 77 0 1 36.3

DiabetesPedigreeFunction Age
0 0.627 50
1 0.351 31
2 0.672 32
3 0.167 21
4 2.288 33
.. ... ...
764 0.340 27
765 0.245 30
766 0.349 47
767 0.315 23
768 0.252 55

[769 rows x 8 columns]

[Link]()

count 769.000000
mean 0.471590
std 0.331208
min 0.078000
25% 0.244000
50% 0.371000
75% 0.626000
max 2.420000
Name: DiabetesPedigreeFunction, dtype: float64

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size =


0.25, random_state = 0)

from sklearn.linear_model import LogisticRegression


from [Link] import accuracy_score, f1_score, precision_score,
recall_score, classification_report, confusion_matrix

data = {

"Pregnancies": [2.3, 1.8, 3.1, 2.5, 1.9, 3.6, 2.2, 3.4],


"BloodPressure ": [1.5, 2.3, 1.9, 2.8, 2.1, 3.2, 1.8, 3.0],

"Insulin": [1, 0, 1, 1, 0, 1, 0, 1],


}

df = [Link](data)

X = df[["Pregnancies", "Insulin"]]
y = df["Insulin"]

X_train, X_test, y_train, y_test = train_test_split(X, y,


test_size=0.3, random_state=42)

model = LogisticRegression()
[Link](X_train, y_train)

LogisticRegression()

y_pred = [Link](X_test)

print("Accuracy:", accuracy_score(y_test, y_pred))


print("\nConfusion Matrix:\n", confusion_matrix(y_test, y_pred))
print("\nClassification Report:\n", classification_report(y_test,
y_pred))

Accuracy: 1.0

Confusion Matrix:
[[1 0]
[0 2]]

Classification Report:
precision recall f1-score support

0 1.00 1.00 1.00 1


1 1.00 1.00 1.00 2

accuracy 1.00 3
macro avg 1.00 1.00 1.00 3
weighted avg 1.00 1.00 1.00 3

print("\nIntercept:", model.intercept_)
print("Coefficients:", model.coef_)

Intercept: [-1.83267869]
Coefficients: [[0.69083358 0.79529279]]

Common questions

Powered by AI

Logistic regression is applied by using features from the dataset such as 'Pregnancies', 'BloodPressure', 'Insulin', and 'BMI' to predict the 'Outcome', which represents diabetes presence or absence. The data is first split into training and test sets using 'train_test_split'. A 'LogisticRegression' model is then fit to the training data. Afterwards, predictions on the test data are made and evaluated using metrics like accuracy, precision, recall, and the confusion matrix, which reveal the predictive performance of the model .

Feature selection is critical in enhancing model performance as it reduces overfitting, improves training times, and simplifies the model. In the analyses, features like 'Pregnancies', 'BloodPressure', and 'Insulin' are considered due to their predictive power. By selecting important features and excluding redundant ones, a model can focus on relevant data patterns, leading to more accurate and robust predictions. The choice of features is guided by domain knowledge and exploratory data analysis, such as using visualizations to detect correlations .

Using dummies or one-hot encoding affects the implementation of logistic regression by converting categorical variables into a numerical format that the algorithm can understand. In the dataset, it's used to encode the feature set without introducing a false ordinal relationship between categories. This preprocessing step helps the regression model interpret the data correctly and make accurate predictions without bias introduced by categorical coding .

The 'Confusion Matrix' provides a detailed account of the number of true vs. predicted classes, helping to visualize how well a model performs in distinguishing between different outcome categories. The 'Classification Report' offers additional metrics such as precision, recall, and F1-score, which give insights into the model's accuracy and relevance across classes. Together, these tools help assess the model's strengths and weaknesses in classifying data, guiding decisions on model improvement strategies .

The 'DiabetesPedigreeFunction' is a measure that indicates the likelihood of diabetes based on family history and genetics. It is used as a feature in predictive models within the dataset to assess its impact on the diabetes outcome. Statistical summaries of this column show its range and distribution, which can influence the model's accuracy in predicting diabetes risk .

Linear regression in the dataset is used to examine the relationships between continuous variables, though its direct application for classification tasks like predicting diabetes might not be straightforward as logistic regression. Instead, linear regression could be used to assess the impact of independent variables on a continuous dependent variable, if such were identified, or as a means to understand baseline relationships before choosing a classification model .

The observed accuracy of the logistic regression model for predicting 'Insulin' is 1.0, which suggests that the model is highly effective for this prediction task, at least on the provided test data. This high accuracy could indicate overfitting if the test data is not representative or sufficient in size, or it might suggest that 'Insulin' is strongly predictable given the features used in the model .

Splitting the dataset into training and testing sets is crucial for evaluating a machine learning model's performance on unseen data. It allows the model to be trained on one subset and validated on another to avoid overfitting. In the document, the 'train_test_split' function from 'sklearn' is used to divide the data, ensuring that the training and testing sets are representative and that the model's generalization capability is tested .

The dataset indicates a necessity to handle missing values by highlighting that columns like 'SkinThickness' and 'Insulin' have entries with zero values, which likely represent missing information. The strategy employed in the document involves filling missing values with zeroes using 'df.fillna(0, inplace=True)', although better methods such as imputing with the mean or median could be considered .

Data visualization using seaborn plots is crucial as it allows for a visual understanding of potential relationships between diabetes-related features like 'Pregnancies' and 'BloodPressure'. Such plots can reveal patterns or correlations that are not immediately obvious from raw data, helping to identify trends or anomalies that could affect the predictive model's performance. Visualizations serve as a diagnostic tool to ensure data integrity and guide further data processing or feature selection .

You might also like