danielle2003 commited on
Commit
0ab3c67
·
0 Parent(s):

uploading Files

Browse files
.gitattributes ADDED
@@ -0,0 +1 @@
 
 
1
+ *.joblib filter=lfs diff=lfs merge=lfs -text
.ipynb_checkpoints/EDA-NOTEBOOK-checkpoint.ipynb ADDED
@@ -0,0 +1,664 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 3,
6
+ "id": "6219ac96",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "import numpy as np\n",
11
+ "import pandas as pd\n",
12
+ "from sklearn.preprocessing import StandardScaler\n",
13
+ "from sklearn.metrics import accuracy_score\n",
14
+ "from sklearn import svm\n",
15
+ "from sklearn.model_selection import train_test_split"
16
+ ]
17
+ },
18
+ {
19
+ "cell_type": "code",
20
+ "execution_count": 4,
21
+ "id": "16859c5b",
22
+ "metadata": {},
23
+ "outputs": [],
24
+ "source": [
25
+ "data = pd.read_csv('diabetes.csv')"
26
+ ]
27
+ },
28
+ {
29
+ "cell_type": "code",
30
+ "execution_count": 5,
31
+ "id": "69c54515",
32
+ "metadata": {},
33
+ "outputs": [
34
+ {
35
+ "data": {
36
+ "text/html": [
37
+ "<div>\n",
38
+ "<style scoped>\n",
39
+ " .dataframe tbody tr th:only-of-type {\n",
40
+ " vertical-align: middle;\n",
41
+ " }\n",
42
+ "\n",
43
+ " .dataframe tbody tr th {\n",
44
+ " vertical-align: top;\n",
45
+ " }\n",
46
+ "\n",
47
+ " .dataframe thead th {\n",
48
+ " text-align: right;\n",
49
+ " }\n",
50
+ "</style>\n",
51
+ "<table border=\"1\" class=\"dataframe\">\n",
52
+ " <thead>\n",
53
+ " <tr style=\"text-align: right;\">\n",
54
+ " <th></th>\n",
55
+ " <th>Pregnancies</th>\n",
56
+ " <th>Glucose</th>\n",
57
+ " <th>BloodPressure</th>\n",
58
+ " <th>SkinThickness</th>\n",
59
+ " <th>Insulin</th>\n",
60
+ " <th>BMI</th>\n",
61
+ " <th>DiabetesPedigreeFunction</th>\n",
62
+ " <th>Age</th>\n",
63
+ " <th>Outcome</th>\n",
64
+ " </tr>\n",
65
+ " </thead>\n",
66
+ " <tbody>\n",
67
+ " <tr>\n",
68
+ " <th>0</th>\n",
69
+ " <td>6</td>\n",
70
+ " <td>148</td>\n",
71
+ " <td>72</td>\n",
72
+ " <td>35</td>\n",
73
+ " <td>0</td>\n",
74
+ " <td>33.6</td>\n",
75
+ " <td>0.627</td>\n",
76
+ " <td>50</td>\n",
77
+ " <td>1</td>\n",
78
+ " </tr>\n",
79
+ " <tr>\n",
80
+ " <th>1</th>\n",
81
+ " <td>1</td>\n",
82
+ " <td>85</td>\n",
83
+ " <td>66</td>\n",
84
+ " <td>29</td>\n",
85
+ " <td>0</td>\n",
86
+ " <td>26.6</td>\n",
87
+ " <td>0.351</td>\n",
88
+ " <td>31</td>\n",
89
+ " <td>0</td>\n",
90
+ " </tr>\n",
91
+ " <tr>\n",
92
+ " <th>2</th>\n",
93
+ " <td>8</td>\n",
94
+ " <td>183</td>\n",
95
+ " <td>64</td>\n",
96
+ " <td>0</td>\n",
97
+ " <td>0</td>\n",
98
+ " <td>23.3</td>\n",
99
+ " <td>0.672</td>\n",
100
+ " <td>32</td>\n",
101
+ " <td>1</td>\n",
102
+ " </tr>\n",
103
+ " <tr>\n",
104
+ " <th>3</th>\n",
105
+ " <td>1</td>\n",
106
+ " <td>89</td>\n",
107
+ " <td>66</td>\n",
108
+ " <td>23</td>\n",
109
+ " <td>94</td>\n",
110
+ " <td>28.1</td>\n",
111
+ " <td>0.167</td>\n",
112
+ " <td>21</td>\n",
113
+ " <td>0</td>\n",
114
+ " </tr>\n",
115
+ " <tr>\n",
116
+ " <th>4</th>\n",
117
+ " <td>0</td>\n",
118
+ " <td>137</td>\n",
119
+ " <td>40</td>\n",
120
+ " <td>35</td>\n",
121
+ " <td>168</td>\n",
122
+ " <td>43.1</td>\n",
123
+ " <td>2.288</td>\n",
124
+ " <td>33</td>\n",
125
+ " <td>1</td>\n",
126
+ " </tr>\n",
127
+ " </tbody>\n",
128
+ "</table>\n",
129
+ "</div>"
130
+ ],
131
+ "text/plain": [
132
+ " Pregnancies Glucose BloodPressure SkinThickness Insulin BMI \\\n",
133
+ "0 6 148 72 35 0 33.6 \n",
134
+ "1 1 85 66 29 0 26.6 \n",
135
+ "2 8 183 64 0 0 23.3 \n",
136
+ "3 1 89 66 23 94 28.1 \n",
137
+ "4 0 137 40 35 168 43.1 \n",
138
+ "\n",
139
+ " DiabetesPedigreeFunction Age Outcome \n",
140
+ "0 0.627 50 1 \n",
141
+ "1 0.351 31 0 \n",
142
+ "2 0.672 32 1 \n",
143
+ "3 0.167 21 0 \n",
144
+ "4 2.288 33 1 "
145
+ ]
146
+ },
147
+ "execution_count": 5,
148
+ "metadata": {},
149
+ "output_type": "execute_result"
150
+ }
151
+ ],
152
+ "source": [
153
+ "data.head()"
154
+ ]
155
+ },
156
+ {
157
+ "cell_type": "code",
158
+ "execution_count": 11,
159
+ "id": "4dd13ad6",
160
+ "metadata": {},
161
+ "outputs": [],
162
+ "source": [
163
+ "x = data.drop(['Outcome'],axis=1)\n",
164
+ "y = data['Outcome']"
165
+ ]
166
+ },
167
+ {
168
+ "cell_type": "code",
169
+ "execution_count": 26,
170
+ "id": "f5945059",
171
+ "metadata": {},
172
+ "outputs": [],
173
+ "source": [
174
+ "scaler = StandardScaler(copy=True, with_mean=True, with_std=True)\n",
175
+ "scale_data = scaler.fit_transform(x)\n"
176
+ ]
177
+ },
178
+ {
179
+ "cell_type": "code",
180
+ "execution_count": 27,
181
+ "id": "583174fe",
182
+ "metadata": {},
183
+ "outputs": [],
184
+ "source": [
185
+ "import matplotlib.pyplot as plt"
186
+ ]
187
+ },
188
+ {
189
+ "cell_type": "code",
190
+ "execution_count": 29,
191
+ "id": "a93dffad",
192
+ "metadata": {},
193
+ "outputs": [],
194
+ "source": [
195
+ "x_train, x_test, y_train,y_test = train_test_split(x,y ,test_size=0.2, stratify=y, random_state=2)"
196
+ ]
197
+ },
198
+ {
199
+ "cell_type": "code",
200
+ "execution_count": 32,
201
+ "id": "bc4473ce",
202
+ "metadata": {},
203
+ "outputs": [
204
+ {
205
+ "data": {
206
+ "text/html": [
207
+ "<div>\n",
208
+ "<style scoped>\n",
209
+ " .dataframe tbody tr th:only-of-type {\n",
210
+ " vertical-align: middle;\n",
211
+ " }\n",
212
+ "\n",
213
+ " .dataframe tbody tr th {\n",
214
+ " vertical-align: top;\n",
215
+ " }\n",
216
+ "\n",
217
+ " .dataframe thead th {\n",
218
+ " text-align: right;\n",
219
+ " }\n",
220
+ "</style>\n",
221
+ "<table border=\"1\" class=\"dataframe\">\n",
222
+ " <thead>\n",
223
+ " <tr style=\"text-align: right;\">\n",
224
+ " <th></th>\n",
225
+ " <th>Pregnancies</th>\n",
226
+ " <th>Glucose</th>\n",
227
+ " <th>BloodPressure</th>\n",
228
+ " <th>SkinThickness</th>\n",
229
+ " <th>Insulin</th>\n",
230
+ " <th>BMI</th>\n",
231
+ " <th>DiabetesPedigreeFunction</th>\n",
232
+ " <th>Age</th>\n",
233
+ " </tr>\n",
234
+ " </thead>\n",
235
+ " <tbody>\n",
236
+ " <tr>\n",
237
+ " <th>619</th>\n",
238
+ " <td>0</td>\n",
239
+ " <td>119</td>\n",
240
+ " <td>0</td>\n",
241
+ " <td>0</td>\n",
242
+ " <td>0</td>\n",
243
+ " <td>32.4</td>\n",
244
+ " <td>0.141</td>\n",
245
+ " <td>24</td>\n",
246
+ " </tr>\n",
247
+ " <tr>\n",
248
+ " <th>329</th>\n",
249
+ " <td>6</td>\n",
250
+ " <td>105</td>\n",
251
+ " <td>70</td>\n",
252
+ " <td>32</td>\n",
253
+ " <td>68</td>\n",
254
+ " <td>30.8</td>\n",
255
+ " <td>0.122</td>\n",
256
+ " <td>37</td>\n",
257
+ " </tr>\n",
258
+ " <tr>\n",
259
+ " <th>13</th>\n",
260
+ " <td>1</td>\n",
261
+ " <td>189</td>\n",
262
+ " <td>60</td>\n",
263
+ " <td>23</td>\n",
264
+ " <td>846</td>\n",
265
+ " <td>30.1</td>\n",
266
+ " <td>0.398</td>\n",
267
+ " <td>59</td>\n",
268
+ " </tr>\n",
269
+ " <tr>\n",
270
+ " <th>476</th>\n",
271
+ " <td>2</td>\n",
272
+ " <td>105</td>\n",
273
+ " <td>80</td>\n",
274
+ " <td>45</td>\n",
275
+ " <td>191</td>\n",
276
+ " <td>33.7</td>\n",
277
+ " <td>0.711</td>\n",
278
+ " <td>29</td>\n",
279
+ " </tr>\n",
280
+ " <tr>\n",
281
+ " <th>45</th>\n",
282
+ " <td>0</td>\n",
283
+ " <td>180</td>\n",
284
+ " <td>66</td>\n",
285
+ " <td>39</td>\n",
286
+ " <td>0</td>\n",
287
+ " <td>42.0</td>\n",
288
+ " <td>1.893</td>\n",
289
+ " <td>25</td>\n",
290
+ " </tr>\n",
291
+ " <tr>\n",
292
+ " <th>...</th>\n",
293
+ " <td>...</td>\n",
294
+ " <td>...</td>\n",
295
+ " <td>...</td>\n",
296
+ " <td>...</td>\n",
297
+ " <td>...</td>\n",
298
+ " <td>...</td>\n",
299
+ " <td>...</td>\n",
300
+ " <td>...</td>\n",
301
+ " </tr>\n",
302
+ " <tr>\n",
303
+ " <th>303</th>\n",
304
+ " <td>5</td>\n",
305
+ " <td>115</td>\n",
306
+ " <td>98</td>\n",
307
+ " <td>0</td>\n",
308
+ " <td>0</td>\n",
309
+ " <td>52.9</td>\n",
310
+ " <td>0.209</td>\n",
311
+ " <td>28</td>\n",
312
+ " </tr>\n",
313
+ " <tr>\n",
314
+ " <th>592</th>\n",
315
+ " <td>3</td>\n",
316
+ " <td>132</td>\n",
317
+ " <td>80</td>\n",
318
+ " <td>0</td>\n",
319
+ " <td>0</td>\n",
320
+ " <td>34.4</td>\n",
321
+ " <td>0.402</td>\n",
322
+ " <td>44</td>\n",
323
+ " </tr>\n",
324
+ " <tr>\n",
325
+ " <th>559</th>\n",
326
+ " <td>11</td>\n",
327
+ " <td>85</td>\n",
328
+ " <td>74</td>\n",
329
+ " <td>0</td>\n",
330
+ " <td>0</td>\n",
331
+ " <td>30.1</td>\n",
332
+ " <td>0.300</td>\n",
333
+ " <td>35</td>\n",
334
+ " </tr>\n",
335
+ " <tr>\n",
336
+ " <th>725</th>\n",
337
+ " <td>4</td>\n",
338
+ " <td>112</td>\n",
339
+ " <td>78</td>\n",
340
+ " <td>40</td>\n",
341
+ " <td>0</td>\n",
342
+ " <td>39.4</td>\n",
343
+ " <td>0.236</td>\n",
344
+ " <td>38</td>\n",
345
+ " </tr>\n",
346
+ " <tr>\n",
347
+ " <th>253</th>\n",
348
+ " <td>0</td>\n",
349
+ " <td>86</td>\n",
350
+ " <td>68</td>\n",
351
+ " <td>32</td>\n",
352
+ " <td>0</td>\n",
353
+ " <td>35.8</td>\n",
354
+ " <td>0.238</td>\n",
355
+ " <td>25</td>\n",
356
+ " </tr>\n",
357
+ " </tbody>\n",
358
+ "</table>\n",
359
+ "<p>614 rows × 8 columns</p>\n",
360
+ "</div>"
361
+ ],
362
+ "text/plain": [
363
+ " Pregnancies Glucose BloodPressure SkinThickness Insulin BMI \\\n",
364
+ "619 0 119 0 0 0 32.4 \n",
365
+ "329 6 105 70 32 68 30.8 \n",
366
+ "13 1 189 60 23 846 30.1 \n",
367
+ "476 2 105 80 45 191 33.7 \n",
368
+ "45 0 180 66 39 0 42.0 \n",
369
+ ".. ... ... ... ... ... ... \n",
370
+ "303 5 115 98 0 0 52.9 \n",
371
+ "592 3 132 80 0 0 34.4 \n",
372
+ "559 11 85 74 0 0 30.1 \n",
373
+ "725 4 112 78 40 0 39.4 \n",
374
+ "253 0 86 68 32 0 35.8 \n",
375
+ "\n",
376
+ " DiabetesPedigreeFunction Age \n",
377
+ "619 0.141 24 \n",
378
+ "329 0.122 37 \n",
379
+ "13 0.398 59 \n",
380
+ "476 0.711 29 \n",
381
+ "45 1.893 25 \n",
382
+ ".. ... ... \n",
383
+ "303 0.209 28 \n",
384
+ "592 0.402 44 \n",
385
+ "559 0.300 35 \n",
386
+ "725 0.236 38 \n",
387
+ "253 0.238 25 \n",
388
+ "\n",
389
+ "[614 rows x 8 columns]"
390
+ ]
391
+ },
392
+ "execution_count": 32,
393
+ "metadata": {},
394
+ "output_type": "execute_result"
395
+ }
396
+ ],
397
+ "source": [
398
+ "x_train"
399
+ ]
400
+ },
401
+ {
402
+ "cell_type": "code",
403
+ "execution_count": 37,
404
+ "id": "abafb2c2",
405
+ "metadata": {},
406
+ "outputs": [
407
+ {
408
+ "data": {
409
+ "text/plain": [
410
+ "0.7833876221498371"
411
+ ]
412
+ },
413
+ "execution_count": 37,
414
+ "metadata": {},
415
+ "output_type": "execute_result"
416
+ }
417
+ ],
418
+ "source": [
419
+ "classifier = svm.SVC(kernel='linear')\n",
420
+ "classifier.fit(x_train,y_train)\n",
421
+ "y_predict = classifier.predict(x_train)\n",
422
+ "accuracy_score(y_predict, y_train)"
423
+ ]
424
+ },
425
+ {
426
+ "cell_type": "code",
427
+ "execution_count": 39,
428
+ "id": "9b013f42",
429
+ "metadata": {},
430
+ "outputs": [
431
+ {
432
+ "data": {
433
+ "text/plain": [
434
+ "0.7727272727272727"
435
+ ]
436
+ },
437
+ "execution_count": 39,
438
+ "metadata": {},
439
+ "output_type": "execute_result"
440
+ }
441
+ ],
442
+ "source": [
443
+ "y_test_pred = classifier.predict(x_test)\n",
444
+ "accuracy_score(y_test_pred, y_test)"
445
+ ]
446
+ },
447
+ {
448
+ "cell_type": "code",
449
+ "execution_count": 56,
450
+ "id": "55e83896",
451
+ "metadata": {},
452
+ "outputs": [
453
+ {
454
+ "name": "stdout",
455
+ "output_type": "stream",
456
+ "text": [
457
+ "[0]\n",
458
+ "0.0\n"
459
+ ]
460
+ },
461
+ {
462
+ "name": "stderr",
463
+ "output_type": "stream",
464
+ "text": [
465
+ "C:\\Users\\danielle.DESKTOP-EM4NRIV\\anaconda3\\lib\\site-packages\\sklearn\\base.py:450: UserWarning: X does not have valid feature names, but SVC was fitted with feature names\n",
466
+ " warnings.warn(\n"
467
+ ]
468
+ }
469
+ ],
470
+ "source": [
471
+ "input_data = np.asarray((7,107,74,0,0,29.6,0.254,31)).reshape(1,-1)\n",
472
+ "\n",
473
+ "predict = classifier.predict(input_data)\n",
474
+ "print(predict)\n",
475
+ "print(accuracy_score(predict,[1]))\n"
476
+ ]
477
+ },
478
+ {
479
+ "cell_type": "markdown",
480
+ "id": "9dab6b96",
481
+ "metadata": {},
482
+ "source": [
483
+ "# using knn"
484
+ ]
485
+ },
486
+ {
487
+ "cell_type": "code",
488
+ "execution_count": 63,
489
+ "id": "4438351c",
490
+ "metadata": {},
491
+ "outputs": [],
492
+ "source": [
493
+ "from sklearn.neighbors import KNeighborsClassifier\n",
494
+ "from sklearn.model_selection import GridSearchCV"
495
+ ]
496
+ },
497
+ {
498
+ "cell_type": "code",
499
+ "execution_count": 64,
500
+ "id": "277f89e6",
501
+ "metadata": {},
502
+ "outputs": [],
503
+ "source": [
504
+ "model = KNeighborsClassifier(n_neighbors=2)"
505
+ ]
506
+ },
507
+ {
508
+ "cell_type": "code",
509
+ "execution_count": 65,
510
+ "id": "b9916c2c",
511
+ "metadata": {},
512
+ "outputs": [
513
+ {
514
+ "data": {
515
+ "text/plain": [
516
+ "KNeighborsClassifier(n_neighbors=2)"
517
+ ]
518
+ },
519
+ "execution_count": 65,
520
+ "metadata": {},
521
+ "output_type": "execute_result"
522
+ }
523
+ ],
524
+ "source": [
525
+ "model.fit(x_train,y_train)"
526
+ ]
527
+ },
528
+ {
529
+ "cell_type": "code",
530
+ "execution_count": 66,
531
+ "id": "18a66aa2",
532
+ "metadata": {},
533
+ "outputs": [
534
+ {
535
+ "data": {
536
+ "text/plain": [
537
+ "0.8306188925081434"
538
+ ]
539
+ },
540
+ "execution_count": 66,
541
+ "metadata": {},
542
+ "output_type": "execute_result"
543
+ }
544
+ ],
545
+ "source": [
546
+ "model.score(x_train,y_train)"
547
+ ]
548
+ },
549
+ {
550
+ "cell_type": "code",
551
+ "execution_count": 71,
552
+ "id": "2c3a9475",
553
+ "metadata": {},
554
+ "outputs": [
555
+ {
556
+ "data": {
557
+ "text/plain": [
558
+ "GridSearchCV(cv=5, estimator=KNeighborsClassifier(n_neighbors=2),\n",
559
+ " param_grid={'n_neighbors': [3, 5, 7, 9, 11], 'p': [1, 2],\n",
560
+ " 'weights': ['uniform', 'distance']},\n",
561
+ " scoring='accuracy')"
562
+ ]
563
+ },
564
+ "execution_count": 71,
565
+ "metadata": {},
566
+ "output_type": "execute_result"
567
+ }
568
+ ],
569
+ "source": [
570
+ "param_grid_k = {\n",
571
+ " 'n_neighbors': [3, 5, 7, 9, 11], # Number of neighbors\n",
572
+ " 'weights': ['uniform', 'distance'],# Weight function\n",
573
+ " 'p': [1, 2] # Power parameter for Minkowski distance\n",
574
+ "}\n",
575
+ "grid_k = GridSearchCV(model, param_grid_k, cv=5)\n",
576
+ "grid = GridSearchCV(model, param_grid= param_grid_k,cv=5 ,scoring = 'accuracy' )\n",
577
+ "grid.fit(x_train, y_train)\n"
578
+ ]
579
+ },
580
+ {
581
+ "cell_type": "code",
582
+ "execution_count": 73,
583
+ "id": "204e8231",
584
+ "metadata": {},
585
+ "outputs": [
586
+ {
587
+ "data": {
588
+ "text/plain": [
589
+ "0.7361322137811541"
590
+ ]
591
+ },
592
+ "execution_count": 73,
593
+ "metadata": {},
594
+ "output_type": "execute_result"
595
+ }
596
+ ],
597
+ "source": [
598
+ "grid.best_score_"
599
+ ]
600
+ },
601
+ {
602
+ "cell_type": "code",
603
+ "execution_count": 77,
604
+ "id": "3e4634f6",
605
+ "metadata": {},
606
+ "outputs": [],
607
+ "source": [
608
+ "opt_model_k = KNeighborsClassifier(**grid.best_params_)\n",
609
+ "opt_model_k.fit(x_train,y_train)\n",
610
+ "opt_model_k.score(x_test,y_test)\n",
611
+ "y_pred = opt_model_k.predict(x_test)\n"
612
+ ]
613
+ },
614
+ {
615
+ "cell_type": "code",
616
+ "execution_count": 78,
617
+ "id": "103db5f7",
618
+ "metadata": {},
619
+ "outputs": [
620
+ {
621
+ "name": "stdout",
622
+ "output_type": "stream",
623
+ "text": [
624
+ "0.7467532467532467\n",
625
+ "0.7931596091205212\n"
626
+ ]
627
+ }
628
+ ],
629
+ "source": [
630
+ "print( accuracy_score(y_pred, y_test))\n",
631
+ "print(opt_model_k.score(x_train,y_train))"
632
+ ]
633
+ },
634
+ {
635
+ "cell_type": "code",
636
+ "execution_count": null,
637
+ "id": "6f2f62f5",
638
+ "metadata": {},
639
+ "outputs": [],
640
+ "source": []
641
+ }
642
+ ],
643
+ "metadata": {
644
+ "kernelspec": {
645
+ "display_name": "Python 3 (ipykernel)",
646
+ "language": "python",
647
+ "name": "python3"
648
+ },
649
+ "language_info": {
650
+ "codemirror_mode": {
651
+ "name": "ipython",
652
+ "version": 3
653
+ },
654
+ "file_extension": ".py",
655
+ "mimetype": "text/x-python",
656
+ "name": "python",
657
+ "nbconvert_exporter": "python",
658
+ "pygments_lexer": "ipython3",
659
+ "version": "3.9.12"
660
+ }
661
+ },
662
+ "nbformat": 4,
663
+ "nbformat_minor": 5
664
+ }
.ipynb_checkpoints/Untitled-checkpoint.ipynb ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [],
3
+ "metadata": {},
4
+ "nbformat": 4,
5
+ "nbformat_minor": 5
6
+ }
EDA-NOTEBOOK.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
Untitled.ipynb ADDED
@@ -0,0 +1,704 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "id": "6219ac96",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "import numpy as np\n",
11
+ "import pandas as pd\n",
12
+ "from sklearn.preprocessing import StandardScaler\n",
13
+ "\n",
14
+ "from sklearn.metrics import accuracy_score\n",
15
+ "from sklearn import svm\n",
16
+ "from sklearn.model_selection import train_test_split"
17
+ ]
18
+ },
19
+ {
20
+ "cell_type": "code",
21
+ "execution_count": 7,
22
+ "id": "e7b1cf66",
23
+ "metadata": {},
24
+ "outputs": [
25
+ {
26
+ "name": "stdout",
27
+ "output_type": "stream",
28
+ "text": [
29
+ "Model Accuracy: 72.07792207792207%\n"
30
+ ]
31
+ }
32
+ ],
33
+ "source": [
34
+ "!python train.py"
35
+ ]
36
+ },
37
+ {
38
+ "cell_type": "code",
39
+ "execution_count": 10,
40
+ "id": "a6a89418",
41
+ "metadata": {},
42
+ "outputs": [
43
+ {
44
+ "name": "stdout",
45
+ "output_type": "stream",
46
+ "text": [
47
+ " -V:3.13 * Python 3.13 (Store)\n",
48
+ " -V:3.10 Python 3.10 (64-bit)\n",
49
+ " -V:ContinuumAnalytics/Anaconda39-64 Anaconda 2022.05\n"
50
+ ]
51
+ }
52
+ ],
53
+ "source": [
54
+ "!py --list\n",
55
+ "\n"
56
+ ]
57
+ },
58
+ {
59
+ "cell_type": "code",
60
+ "execution_count": 4,
61
+ "id": "16859c5b",
62
+ "metadata": {},
63
+ "outputs": [],
64
+ "source": [
65
+ "data = pd.read_csv('diabetes.csv')"
66
+ ]
67
+ },
68
+ {
69
+ "cell_type": "code",
70
+ "execution_count": 5,
71
+ "id": "69c54515",
72
+ "metadata": {},
73
+ "outputs": [
74
+ {
75
+ "data": {
76
+ "text/html": [
77
+ "<div>\n",
78
+ "<style scoped>\n",
79
+ " .dataframe tbody tr th:only-of-type {\n",
80
+ " vertical-align: middle;\n",
81
+ " }\n",
82
+ "\n",
83
+ " .dataframe tbody tr th {\n",
84
+ " vertical-align: top;\n",
85
+ " }\n",
86
+ "\n",
87
+ " .dataframe thead th {\n",
88
+ " text-align: right;\n",
89
+ " }\n",
90
+ "</style>\n",
91
+ "<table border=\"1\" class=\"dataframe\">\n",
92
+ " <thead>\n",
93
+ " <tr style=\"text-align: right;\">\n",
94
+ " <th></th>\n",
95
+ " <th>Pregnancies</th>\n",
96
+ " <th>Glucose</th>\n",
97
+ " <th>BloodPressure</th>\n",
98
+ " <th>SkinThickness</th>\n",
99
+ " <th>Insulin</th>\n",
100
+ " <th>BMI</th>\n",
101
+ " <th>DiabetesPedigreeFunction</th>\n",
102
+ " <th>Age</th>\n",
103
+ " <th>Outcome</th>\n",
104
+ " </tr>\n",
105
+ " </thead>\n",
106
+ " <tbody>\n",
107
+ " <tr>\n",
108
+ " <th>0</th>\n",
109
+ " <td>6</td>\n",
110
+ " <td>148</td>\n",
111
+ " <td>72</td>\n",
112
+ " <td>35</td>\n",
113
+ " <td>0</td>\n",
114
+ " <td>33.6</td>\n",
115
+ " <td>0.627</td>\n",
116
+ " <td>50</td>\n",
117
+ " <td>1</td>\n",
118
+ " </tr>\n",
119
+ " <tr>\n",
120
+ " <th>1</th>\n",
121
+ " <td>1</td>\n",
122
+ " <td>85</td>\n",
123
+ " <td>66</td>\n",
124
+ " <td>29</td>\n",
125
+ " <td>0</td>\n",
126
+ " <td>26.6</td>\n",
127
+ " <td>0.351</td>\n",
128
+ " <td>31</td>\n",
129
+ " <td>0</td>\n",
130
+ " </tr>\n",
131
+ " <tr>\n",
132
+ " <th>2</th>\n",
133
+ " <td>8</td>\n",
134
+ " <td>183</td>\n",
135
+ " <td>64</td>\n",
136
+ " <td>0</td>\n",
137
+ " <td>0</td>\n",
138
+ " <td>23.3</td>\n",
139
+ " <td>0.672</td>\n",
140
+ " <td>32</td>\n",
141
+ " <td>1</td>\n",
142
+ " </tr>\n",
143
+ " <tr>\n",
144
+ " <th>3</th>\n",
145
+ " <td>1</td>\n",
146
+ " <td>89</td>\n",
147
+ " <td>66</td>\n",
148
+ " <td>23</td>\n",
149
+ " <td>94</td>\n",
150
+ " <td>28.1</td>\n",
151
+ " <td>0.167</td>\n",
152
+ " <td>21</td>\n",
153
+ " <td>0</td>\n",
154
+ " </tr>\n",
155
+ " <tr>\n",
156
+ " <th>4</th>\n",
157
+ " <td>0</td>\n",
158
+ " <td>137</td>\n",
159
+ " <td>40</td>\n",
160
+ " <td>35</td>\n",
161
+ " <td>168</td>\n",
162
+ " <td>43.1</td>\n",
163
+ " <td>2.288</td>\n",
164
+ " <td>33</td>\n",
165
+ " <td>1</td>\n",
166
+ " </tr>\n",
167
+ " </tbody>\n",
168
+ "</table>\n",
169
+ "</div>"
170
+ ],
171
+ "text/plain": [
172
+ " Pregnancies Glucose BloodPressure SkinThickness Insulin BMI \\\n",
173
+ "0 6 148 72 35 0 33.6 \n",
174
+ "1 1 85 66 29 0 26.6 \n",
175
+ "2 8 183 64 0 0 23.3 \n",
176
+ "3 1 89 66 23 94 28.1 \n",
177
+ "4 0 137 40 35 168 43.1 \n",
178
+ "\n",
179
+ " DiabetesPedigreeFunction Age Outcome \n",
180
+ "0 0.627 50 1 \n",
181
+ "1 0.351 31 0 \n",
182
+ "2 0.672 32 1 \n",
183
+ "3 0.167 21 0 \n",
184
+ "4 2.288 33 1 "
185
+ ]
186
+ },
187
+ "execution_count": 5,
188
+ "metadata": {},
189
+ "output_type": "execute_result"
190
+ }
191
+ ],
192
+ "source": [
193
+ "data.head()"
194
+ ]
195
+ },
196
+ {
197
+ "cell_type": "code",
198
+ "execution_count": 11,
199
+ "id": "4dd13ad6",
200
+ "metadata": {},
201
+ "outputs": [],
202
+ "source": [
203
+ "x = data.drop(['Outcome'],axis=1)\n",
204
+ "y = data['Outcome']"
205
+ ]
206
+ },
207
+ {
208
+ "cell_type": "code",
209
+ "execution_count": 26,
210
+ "id": "f5945059",
211
+ "metadata": {},
212
+ "outputs": [],
213
+ "source": [
214
+ "scaler = StandardScaler(copy=True, with_mean=True, with_std=True)\n",
215
+ "scale_data = scaler.fit_transform(x)\n"
216
+ ]
217
+ },
218
+ {
219
+ "cell_type": "code",
220
+ "execution_count": 27,
221
+ "id": "583174fe",
222
+ "metadata": {},
223
+ "outputs": [],
224
+ "source": [
225
+ "import matplotlib.pyplot as plt"
226
+ ]
227
+ },
228
+ {
229
+ "cell_type": "code",
230
+ "execution_count": 29,
231
+ "id": "a93dffad",
232
+ "metadata": {},
233
+ "outputs": [],
234
+ "source": [
235
+ "x_train, x_test, y_train,y_test = train_test_split(x,y ,test_size=0.2, stratify=y, random_state=2)"
236
+ ]
237
+ },
238
+ {
239
+ "cell_type": "code",
240
+ "execution_count": 32,
241
+ "id": "bc4473ce",
242
+ "metadata": {},
243
+ "outputs": [
244
+ {
245
+ "data": {
246
+ "text/html": [
247
+ "<div>\n",
248
+ "<style scoped>\n",
249
+ " .dataframe tbody tr th:only-of-type {\n",
250
+ " vertical-align: middle;\n",
251
+ " }\n",
252
+ "\n",
253
+ " .dataframe tbody tr th {\n",
254
+ " vertical-align: top;\n",
255
+ " }\n",
256
+ "\n",
257
+ " .dataframe thead th {\n",
258
+ " text-align: right;\n",
259
+ " }\n",
260
+ "</style>\n",
261
+ "<table border=\"1\" class=\"dataframe\">\n",
262
+ " <thead>\n",
263
+ " <tr style=\"text-align: right;\">\n",
264
+ " <th></th>\n",
265
+ " <th>Pregnancies</th>\n",
266
+ " <th>Glucose</th>\n",
267
+ " <th>BloodPressure</th>\n",
268
+ " <th>SkinThickness</th>\n",
269
+ " <th>Insulin</th>\n",
270
+ " <th>BMI</th>\n",
271
+ " <th>DiabetesPedigreeFunction</th>\n",
272
+ " <th>Age</th>\n",
273
+ " </tr>\n",
274
+ " </thead>\n",
275
+ " <tbody>\n",
276
+ " <tr>\n",
277
+ " <th>619</th>\n",
278
+ " <td>0</td>\n",
279
+ " <td>119</td>\n",
280
+ " <td>0</td>\n",
281
+ " <td>0</td>\n",
282
+ " <td>0</td>\n",
283
+ " <td>32.4</td>\n",
284
+ " <td>0.141</td>\n",
285
+ " <td>24</td>\n",
286
+ " </tr>\n",
287
+ " <tr>\n",
288
+ " <th>329</th>\n",
289
+ " <td>6</td>\n",
290
+ " <td>105</td>\n",
291
+ " <td>70</td>\n",
292
+ " <td>32</td>\n",
293
+ " <td>68</td>\n",
294
+ " <td>30.8</td>\n",
295
+ " <td>0.122</td>\n",
296
+ " <td>37</td>\n",
297
+ " </tr>\n",
298
+ " <tr>\n",
299
+ " <th>13</th>\n",
300
+ " <td>1</td>\n",
301
+ " <td>189</td>\n",
302
+ " <td>60</td>\n",
303
+ " <td>23</td>\n",
304
+ " <td>846</td>\n",
305
+ " <td>30.1</td>\n",
306
+ " <td>0.398</td>\n",
307
+ " <td>59</td>\n",
308
+ " </tr>\n",
309
+ " <tr>\n",
310
+ " <th>476</th>\n",
311
+ " <td>2</td>\n",
312
+ " <td>105</td>\n",
313
+ " <td>80</td>\n",
314
+ " <td>45</td>\n",
315
+ " <td>191</td>\n",
316
+ " <td>33.7</td>\n",
317
+ " <td>0.711</td>\n",
318
+ " <td>29</td>\n",
319
+ " </tr>\n",
320
+ " <tr>\n",
321
+ " <th>45</th>\n",
322
+ " <td>0</td>\n",
323
+ " <td>180</td>\n",
324
+ " <td>66</td>\n",
325
+ " <td>39</td>\n",
326
+ " <td>0</td>\n",
327
+ " <td>42.0</td>\n",
328
+ " <td>1.893</td>\n",
329
+ " <td>25</td>\n",
330
+ " </tr>\n",
331
+ " <tr>\n",
332
+ " <th>...</th>\n",
333
+ " <td>...</td>\n",
334
+ " <td>...</td>\n",
335
+ " <td>...</td>\n",
336
+ " <td>...</td>\n",
337
+ " <td>...</td>\n",
338
+ " <td>...</td>\n",
339
+ " <td>...</td>\n",
340
+ " <td>...</td>\n",
341
+ " </tr>\n",
342
+ " <tr>\n",
343
+ " <th>303</th>\n",
344
+ " <td>5</td>\n",
345
+ " <td>115</td>\n",
346
+ " <td>98</td>\n",
347
+ " <td>0</td>\n",
348
+ " <td>0</td>\n",
349
+ " <td>52.9</td>\n",
350
+ " <td>0.209</td>\n",
351
+ " <td>28</td>\n",
352
+ " </tr>\n",
353
+ " <tr>\n",
354
+ " <th>592</th>\n",
355
+ " <td>3</td>\n",
356
+ " <td>132</td>\n",
357
+ " <td>80</td>\n",
358
+ " <td>0</td>\n",
359
+ " <td>0</td>\n",
360
+ " <td>34.4</td>\n",
361
+ " <td>0.402</td>\n",
362
+ " <td>44</td>\n",
363
+ " </tr>\n",
364
+ " <tr>\n",
365
+ " <th>559</th>\n",
366
+ " <td>11</td>\n",
367
+ " <td>85</td>\n",
368
+ " <td>74</td>\n",
369
+ " <td>0</td>\n",
370
+ " <td>0</td>\n",
371
+ " <td>30.1</td>\n",
372
+ " <td>0.300</td>\n",
373
+ " <td>35</td>\n",
374
+ " </tr>\n",
375
+ " <tr>\n",
376
+ " <th>725</th>\n",
377
+ " <td>4</td>\n",
378
+ " <td>112</td>\n",
379
+ " <td>78</td>\n",
380
+ " <td>40</td>\n",
381
+ " <td>0</td>\n",
382
+ " <td>39.4</td>\n",
383
+ " <td>0.236</td>\n",
384
+ " <td>38</td>\n",
385
+ " </tr>\n",
386
+ " <tr>\n",
387
+ " <th>253</th>\n",
388
+ " <td>0</td>\n",
389
+ " <td>86</td>\n",
390
+ " <td>68</td>\n",
391
+ " <td>32</td>\n",
392
+ " <td>0</td>\n",
393
+ " <td>35.8</td>\n",
394
+ " <td>0.238</td>\n",
395
+ " <td>25</td>\n",
396
+ " </tr>\n",
397
+ " </tbody>\n",
398
+ "</table>\n",
399
+ "<p>614 rows × 8 columns</p>\n",
400
+ "</div>"
401
+ ],
402
+ "text/plain": [
403
+ " Pregnancies Glucose BloodPressure SkinThickness Insulin BMI \\\n",
404
+ "619 0 119 0 0 0 32.4 \n",
405
+ "329 6 105 70 32 68 30.8 \n",
406
+ "13 1 189 60 23 846 30.1 \n",
407
+ "476 2 105 80 45 191 33.7 \n",
408
+ "45 0 180 66 39 0 42.0 \n",
409
+ ".. ... ... ... ... ... ... \n",
410
+ "303 5 115 98 0 0 52.9 \n",
411
+ "592 3 132 80 0 0 34.4 \n",
412
+ "559 11 85 74 0 0 30.1 \n",
413
+ "725 4 112 78 40 0 39.4 \n",
414
+ "253 0 86 68 32 0 35.8 \n",
415
+ "\n",
416
+ " DiabetesPedigreeFunction Age \n",
417
+ "619 0.141 24 \n",
418
+ "329 0.122 37 \n",
419
+ "13 0.398 59 \n",
420
+ "476 0.711 29 \n",
421
+ "45 1.893 25 \n",
422
+ ".. ... ... \n",
423
+ "303 0.209 28 \n",
424
+ "592 0.402 44 \n",
425
+ "559 0.300 35 \n",
426
+ "725 0.236 38 \n",
427
+ "253 0.238 25 \n",
428
+ "\n",
429
+ "[614 rows x 8 columns]"
430
+ ]
431
+ },
432
+ "execution_count": 32,
433
+ "metadata": {},
434
+ "output_type": "execute_result"
435
+ }
436
+ ],
437
+ "source": [
438
+ "x_train"
439
+ ]
440
+ },
441
+ {
442
+ "cell_type": "code",
443
+ "execution_count": 37,
444
+ "id": "abafb2c2",
445
+ "metadata": {},
446
+ "outputs": [
447
+ {
448
+ "data": {
449
+ "text/plain": [
450
+ "0.7833876221498371"
451
+ ]
452
+ },
453
+ "execution_count": 37,
454
+ "metadata": {},
455
+ "output_type": "execute_result"
456
+ }
457
+ ],
458
+ "source": [
459
+ "classifier = svm.SVC(kernel='linear')\n",
460
+ "classifier.fit(x_train,y_train)\n",
461
+ "y_predict = classifier.predict(x_train)\n",
462
+ "accuracy_score(y_predict, y_train)"
463
+ ]
464
+ },
465
+ {
466
+ "cell_type": "code",
467
+ "execution_count": 39,
468
+ "id": "9b013f42",
469
+ "metadata": {},
470
+ "outputs": [
471
+ {
472
+ "data": {
473
+ "text/plain": [
474
+ "0.7727272727272727"
475
+ ]
476
+ },
477
+ "execution_count": 39,
478
+ "metadata": {},
479
+ "output_type": "execute_result"
480
+ }
481
+ ],
482
+ "source": [
483
+ "y_test_pred = classifier.predict(x_test)\n",
484
+ "accuracy_score(y_test_pred, y_test)"
485
+ ]
486
+ },
487
+ {
488
+ "cell_type": "code",
489
+ "execution_count": 56,
490
+ "id": "55e83896",
491
+ "metadata": {},
492
+ "outputs": [
493
+ {
494
+ "name": "stdout",
495
+ "output_type": "stream",
496
+ "text": [
497
+ "[0]\n",
498
+ "0.0\n"
499
+ ]
500
+ },
501
+ {
502
+ "name": "stderr",
503
+ "output_type": "stream",
504
+ "text": [
505
+ "C:\\Users\\danielle.DESKTOP-EM4NRIV\\anaconda3\\lib\\site-packages\\sklearn\\base.py:450: UserWarning: X does not have valid feature names, but SVC was fitted with feature names\n",
506
+ " warnings.warn(\n"
507
+ ]
508
+ }
509
+ ],
510
+ "source": [
511
+ "input_data = np.asarray((7,107,74,0,0,29.6,0.254,31)).reshape(1,-1)\n",
512
+ "\n",
513
+ "predict = classifier.predict(input_data)\n",
514
+ "print(predict)\n",
515
+ "print(accuracy_score(predict,[1]))\n"
516
+ ]
517
+ },
518
+ {
519
+ "cell_type": "markdown",
520
+ "id": "9dab6b96",
521
+ "metadata": {},
522
+ "source": [
523
+ "# using knn"
524
+ ]
525
+ },
526
+ {
527
+ "cell_type": "code",
528
+ "execution_count": 63,
529
+ "id": "4438351c",
530
+ "metadata": {},
531
+ "outputs": [],
532
+ "source": [
533
+ "from sklearn.neighbors import KNeighborsClassifier\n",
534
+ "from sklearn.model_selection import GridSearchCV"
535
+ ]
536
+ },
537
+ {
538
+ "cell_type": "code",
539
+ "execution_count": 64,
540
+ "id": "277f89e6",
541
+ "metadata": {},
542
+ "outputs": [],
543
+ "source": [
544
+ "model = KNeighborsClassifier(n_neighbors=2)"
545
+ ]
546
+ },
547
+ {
548
+ "cell_type": "code",
549
+ "execution_count": 65,
550
+ "id": "b9916c2c",
551
+ "metadata": {},
552
+ "outputs": [
553
+ {
554
+ "data": {
555
+ "text/plain": [
556
+ "KNeighborsClassifier(n_neighbors=2)"
557
+ ]
558
+ },
559
+ "execution_count": 65,
560
+ "metadata": {},
561
+ "output_type": "execute_result"
562
+ }
563
+ ],
564
+ "source": [
565
+ "model.fit(x_train,y_train)"
566
+ ]
567
+ },
568
+ {
569
+ "cell_type": "code",
570
+ "execution_count": 66,
571
+ "id": "18a66aa2",
572
+ "metadata": {},
573
+ "outputs": [
574
+ {
575
+ "data": {
576
+ "text/plain": [
577
+ "0.8306188925081434"
578
+ ]
579
+ },
580
+ "execution_count": 66,
581
+ "metadata": {},
582
+ "output_type": "execute_result"
583
+ }
584
+ ],
585
+ "source": [
586
+ "model.score(x_train,y_train)"
587
+ ]
588
+ },
589
+ {
590
+ "cell_type": "code",
591
+ "execution_count": 71,
592
+ "id": "2c3a9475",
593
+ "metadata": {},
594
+ "outputs": [
595
+ {
596
+ "data": {
597
+ "text/plain": [
598
+ "GridSearchCV(cv=5, estimator=KNeighborsClassifier(n_neighbors=2),\n",
599
+ " param_grid={'n_neighbors': [3, 5, 7, 9, 11], 'p': [1, 2],\n",
600
+ " 'weights': ['uniform', 'distance']},\n",
601
+ " scoring='accuracy')"
602
+ ]
603
+ },
604
+ "execution_count": 71,
605
+ "metadata": {},
606
+ "output_type": "execute_result"
607
+ }
608
+ ],
609
+ "source": [
610
+ "param_grid_k = {\n",
611
+ " 'n_neighbors': [3, 5, 7, 9, 11], # Number of neighbors\n",
612
+ " 'weights': ['uniform', 'distance'],# Weight function\n",
613
+ " 'p': [1, 2] # Power parameter for Minkowski distance\n",
614
+ "}\n",
615
+ "grid_k = GridSearchCV(model, param_grid_k, cv=5)\n",
616
+ "grid = GridSearchCV(model, param_grid= param_grid_k,cv=5 ,scoring = 'accuracy' )\n",
617
+ "grid.fit(x_train, y_train)\n"
618
+ ]
619
+ },
620
+ {
621
+ "cell_type": "code",
622
+ "execution_count": 73,
623
+ "id": "204e8231",
624
+ "metadata": {},
625
+ "outputs": [
626
+ {
627
+ "data": {
628
+ "text/plain": [
629
+ "0.7361322137811541"
630
+ ]
631
+ },
632
+ "execution_count": 73,
633
+ "metadata": {},
634
+ "output_type": "execute_result"
635
+ }
636
+ ],
637
+ "source": [
638
+ "grid.best_score_"
639
+ ]
640
+ },
641
+ {
642
+ "cell_type": "code",
643
+ "execution_count": 77,
644
+ "id": "3e4634f6",
645
+ "metadata": {},
646
+ "outputs": [],
647
+ "source": [
648
+ "opt_model_k = KNeighborsClassifier(**grid.best_params_)\n",
649
+ "opt_model_k.fit(x_train,y_train)\n",
650
+ "opt_model_k.score(x_test,y_test)\n",
651
+ "y_pred = opt_model_k.predict(x_test)\n"
652
+ ]
653
+ },
654
+ {
655
+ "cell_type": "code",
656
+ "execution_count": 78,
657
+ "id": "103db5f7",
658
+ "metadata": {},
659
+ "outputs": [
660
+ {
661
+ "name": "stdout",
662
+ "output_type": "stream",
663
+ "text": [
664
+ "0.7467532467532467\n",
665
+ "0.7931596091205212\n"
666
+ ]
667
+ }
668
+ ],
669
+ "source": [
670
+ "print( accuracy_score(y_pred, y_test))\n",
671
+ "print(opt_model_k.score(x_train,y_train))"
672
+ ]
673
+ },
674
+ {
675
+ "cell_type": "code",
676
+ "execution_count": null,
677
+ "id": "6f2f62f5",
678
+ "metadata": {},
679
+ "outputs": [],
680
+ "source": []
681
+ }
682
+ ],
683
+ "metadata": {
684
+ "kernelspec": {
685
+ "display_name": "Python 3 (ipykernel)",
686
+ "language": "python",
687
+ "name": "python3"
688
+ },
689
+ "language_info": {
690
+ "codemirror_mode": {
691
+ "name": "ipython",
692
+ "version": 3
693
+ },
694
+ "file_extension": ".py",
695
+ "mimetype": "text/x-python",
696
+ "name": "python",
697
+ "nbconvert_exporter": "python",
698
+ "pygments_lexer": "ipython3",
699
+ "version": "3.9.12"
700
+ }
701
+ },
702
+ "nbformat": 4,
703
+ "nbformat_minor": 5
704
+ }
app.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import joblib
3
+ import pandas as pd
4
+
5
+ # Load trained model
6
+ model = joblib.load("diabetes_model.joblib")
7
+
8
+ # Streamlit UI
9
+ st.title("Diabetes Prediction App")
10
+ st.write("Enter patient data to predict diabetes")
11
+
12
+ # Input fields
13
+ pregnancies = st.number_input("Pregnancies", min_value=0, max_value=20)
14
+ glucose = st.number_input("Glucose Level", min_value=0, max_value=200)
15
+ blood_pressure = st.number_input("Blood Pressure", min_value=0, max_value=200)
16
+ skin_thickness = st.number_input("Skin Thickness", min_value=0, max_value=100)
17
+ insulin = st.number_input("Insulin Level", min_value=0, max_value=900)
18
+ bmi = st.number_input("BMI", min_value=0.0, max_value=60.0)
19
+ dpf = st.number_input("Diabetes Pedigree Function", min_value=0.0, max_value=3.0)
20
+ age = st.number_input("Age", min_value=0, max_value=120)
21
+
22
+ # Prediction
23
+ if st.button("Predict"):
24
+ features = [[pregnancies, glucose, blood_pressure, skin_thickness, insulin, bmi, dpf, age]]
25
+ prediction = model.predict(features)[0]
26
+ result = "Diabetic" if prediction == 1 else "Not Diabetic"
27
+ st.write(f"Prediction: **{result}**")
diabetes.csv ADDED
@@ -0,0 +1,769 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Pregnancies,Glucose,BloodPressure,SkinThickness,Insulin,BMI,DiabetesPedigreeFunction,Age,Outcome
2
+ 6,148,72,35,0,33.6,0.627,50,1
3
+ 1,85,66,29,0,26.6,0.351,31,0
4
+ 8,183,64,0,0,23.3,0.672,32,1
5
+ 1,89,66,23,94,28.1,0.167,21,0
6
+ 0,137,40,35,168,43.1,2.288,33,1
7
+ 5,116,74,0,0,25.6,0.201,30,0
8
+ 3,78,50,32,88,31,0.248,26,1
9
+ 10,115,0,0,0,35.3,0.134,29,0
10
+ 2,197,70,45,543,30.5,0.158,53,1
11
+ 8,125,96,0,0,0,0.232,54,1
12
+ 4,110,92,0,0,37.6,0.191,30,0
13
+ 10,168,74,0,0,38,0.537,34,1
14
+ 10,139,80,0,0,27.1,1.441,57,0
15
+ 1,189,60,23,846,30.1,0.398,59,1
16
+ 5,166,72,19,175,25.8,0.587,51,1
17
+ 7,100,0,0,0,30,0.484,32,1
18
+ 0,118,84,47,230,45.8,0.551,31,1
19
+ 7,107,74,0,0,29.6,0.254,31,1
20
+ 1,103,30,38,83,43.3,0.183,33,0
21
+ 1,115,70,30,96,34.6,0.529,32,1
22
+ 3,126,88,41,235,39.3,0.704,27,0
23
+ 8,99,84,0,0,35.4,0.388,50,0
24
+ 7,196,90,0,0,39.8,0.451,41,1
25
+ 9,119,80,35,0,29,0.263,29,1
26
+ 11,143,94,33,146,36.6,0.254,51,1
27
+ 10,125,70,26,115,31.1,0.205,41,1
28
+ 7,147,76,0,0,39.4,0.257,43,1
29
+ 1,97,66,15,140,23.2,0.487,22,0
30
+ 13,145,82,19,110,22.2,0.245,57,0
31
+ 5,117,92,0,0,34.1,0.337,38,0
32
+ 5,109,75,26,0,36,0.546,60,0
33
+ 3,158,76,36,245,31.6,0.851,28,1
34
+ 3,88,58,11,54,24.8,0.267,22,0
35
+ 6,92,92,0,0,19.9,0.188,28,0
36
+ 10,122,78,31,0,27.6,0.512,45,0
37
+ 4,103,60,33,192,24,0.966,33,0
38
+ 11,138,76,0,0,33.2,0.42,35,0
39
+ 9,102,76,37,0,32.9,0.665,46,1
40
+ 2,90,68,42,0,38.2,0.503,27,1
41
+ 4,111,72,47,207,37.1,1.39,56,1
42
+ 3,180,64,25,70,34,0.271,26,0
43
+ 7,133,84,0,0,40.2,0.696,37,0
44
+ 7,106,92,18,0,22.7,0.235,48,0
45
+ 9,171,110,24,240,45.4,0.721,54,1
46
+ 7,159,64,0,0,27.4,0.294,40,0
47
+ 0,180,66,39,0,42,1.893,25,1
48
+ 1,146,56,0,0,29.7,0.564,29,0
49
+ 2,71,70,27,0,28,0.586,22,0
50
+ 7,103,66,32,0,39.1,0.344,31,1
51
+ 7,105,0,0,0,0,0.305,24,0
52
+ 1,103,80,11,82,19.4,0.491,22,0
53
+ 1,101,50,15,36,24.2,0.526,26,0
54
+ 5,88,66,21,23,24.4,0.342,30,0
55
+ 8,176,90,34,300,33.7,0.467,58,1
56
+ 7,150,66,42,342,34.7,0.718,42,0
57
+ 1,73,50,10,0,23,0.248,21,0
58
+ 7,187,68,39,304,37.7,0.254,41,1
59
+ 0,100,88,60,110,46.8,0.962,31,0
60
+ 0,146,82,0,0,40.5,1.781,44,0
61
+ 0,105,64,41,142,41.5,0.173,22,0
62
+ 2,84,0,0,0,0,0.304,21,0
63
+ 8,133,72,0,0,32.9,0.27,39,1
64
+ 5,44,62,0,0,25,0.587,36,0
65
+ 2,141,58,34,128,25.4,0.699,24,0
66
+ 7,114,66,0,0,32.8,0.258,42,1
67
+ 5,99,74,27,0,29,0.203,32,0
68
+ 0,109,88,30,0,32.5,0.855,38,1
69
+ 2,109,92,0,0,42.7,0.845,54,0
70
+ 1,95,66,13,38,19.6,0.334,25,0
71
+ 4,146,85,27,100,28.9,0.189,27,0
72
+ 2,100,66,20,90,32.9,0.867,28,1
73
+ 5,139,64,35,140,28.6,0.411,26,0
74
+ 13,126,90,0,0,43.4,0.583,42,1
75
+ 4,129,86,20,270,35.1,0.231,23,0
76
+ 1,79,75,30,0,32,0.396,22,0
77
+ 1,0,48,20,0,24.7,0.14,22,0
78
+ 7,62,78,0,0,32.6,0.391,41,0
79
+ 5,95,72,33,0,37.7,0.37,27,0
80
+ 0,131,0,0,0,43.2,0.27,26,1
81
+ 2,112,66,22,0,25,0.307,24,0
82
+ 3,113,44,13,0,22.4,0.14,22,0
83
+ 2,74,0,0,0,0,0.102,22,0
84
+ 7,83,78,26,71,29.3,0.767,36,0
85
+ 0,101,65,28,0,24.6,0.237,22,0
86
+ 5,137,108,0,0,48.8,0.227,37,1
87
+ 2,110,74,29,125,32.4,0.698,27,0
88
+ 13,106,72,54,0,36.6,0.178,45,0
89
+ 2,100,68,25,71,38.5,0.324,26,0
90
+ 15,136,70,32,110,37.1,0.153,43,1
91
+ 1,107,68,19,0,26.5,0.165,24,0
92
+ 1,80,55,0,0,19.1,0.258,21,0
93
+ 4,123,80,15,176,32,0.443,34,0
94
+ 7,81,78,40,48,46.7,0.261,42,0
95
+ 4,134,72,0,0,23.8,0.277,60,1
96
+ 2,142,82,18,64,24.7,0.761,21,0
97
+ 6,144,72,27,228,33.9,0.255,40,0
98
+ 2,92,62,28,0,31.6,0.13,24,0
99
+ 1,71,48,18,76,20.4,0.323,22,0
100
+ 6,93,50,30,64,28.7,0.356,23,0
101
+ 1,122,90,51,220,49.7,0.325,31,1
102
+ 1,163,72,0,0,39,1.222,33,1
103
+ 1,151,60,0,0,26.1,0.179,22,0
104
+ 0,125,96,0,0,22.5,0.262,21,0
105
+ 1,81,72,18,40,26.6,0.283,24,0
106
+ 2,85,65,0,0,39.6,0.93,27,0
107
+ 1,126,56,29,152,28.7,0.801,21,0
108
+ 1,96,122,0,0,22.4,0.207,27,0
109
+ 4,144,58,28,140,29.5,0.287,37,0
110
+ 3,83,58,31,18,34.3,0.336,25,0
111
+ 0,95,85,25,36,37.4,0.247,24,1
112
+ 3,171,72,33,135,33.3,0.199,24,1
113
+ 8,155,62,26,495,34,0.543,46,1
114
+ 1,89,76,34,37,31.2,0.192,23,0
115
+ 4,76,62,0,0,34,0.391,25,0
116
+ 7,160,54,32,175,30.5,0.588,39,1
117
+ 4,146,92,0,0,31.2,0.539,61,1
118
+ 5,124,74,0,0,34,0.22,38,1
119
+ 5,78,48,0,0,33.7,0.654,25,0
120
+ 4,97,60,23,0,28.2,0.443,22,0
121
+ 4,99,76,15,51,23.2,0.223,21,0
122
+ 0,162,76,56,100,53.2,0.759,25,1
123
+ 6,111,64,39,0,34.2,0.26,24,0
124
+ 2,107,74,30,100,33.6,0.404,23,0
125
+ 5,132,80,0,0,26.8,0.186,69,0
126
+ 0,113,76,0,0,33.3,0.278,23,1
127
+ 1,88,30,42,99,55,0.496,26,1
128
+ 3,120,70,30,135,42.9,0.452,30,0
129
+ 1,118,58,36,94,33.3,0.261,23,0
130
+ 1,117,88,24,145,34.5,0.403,40,1
131
+ 0,105,84,0,0,27.9,0.741,62,1
132
+ 4,173,70,14,168,29.7,0.361,33,1
133
+ 9,122,56,0,0,33.3,1.114,33,1
134
+ 3,170,64,37,225,34.5,0.356,30,1
135
+ 8,84,74,31,0,38.3,0.457,39,0
136
+ 2,96,68,13,49,21.1,0.647,26,0
137
+ 2,125,60,20,140,33.8,0.088,31,0
138
+ 0,100,70,26,50,30.8,0.597,21,0
139
+ 0,93,60,25,92,28.7,0.532,22,0
140
+ 0,129,80,0,0,31.2,0.703,29,0
141
+ 5,105,72,29,325,36.9,0.159,28,0
142
+ 3,128,78,0,0,21.1,0.268,55,0
143
+ 5,106,82,30,0,39.5,0.286,38,0
144
+ 2,108,52,26,63,32.5,0.318,22,0
145
+ 10,108,66,0,0,32.4,0.272,42,1
146
+ 4,154,62,31,284,32.8,0.237,23,0
147
+ 0,102,75,23,0,0,0.572,21,0
148
+ 9,57,80,37,0,32.8,0.096,41,0
149
+ 2,106,64,35,119,30.5,1.4,34,0
150
+ 5,147,78,0,0,33.7,0.218,65,0
151
+ 2,90,70,17,0,27.3,0.085,22,0
152
+ 1,136,74,50,204,37.4,0.399,24,0
153
+ 4,114,65,0,0,21.9,0.432,37,0
154
+ 9,156,86,28,155,34.3,1.189,42,1
155
+ 1,153,82,42,485,40.6,0.687,23,0
156
+ 8,188,78,0,0,47.9,0.137,43,1
157
+ 7,152,88,44,0,50,0.337,36,1
158
+ 2,99,52,15,94,24.6,0.637,21,0
159
+ 1,109,56,21,135,25.2,0.833,23,0
160
+ 2,88,74,19,53,29,0.229,22,0
161
+ 17,163,72,41,114,40.9,0.817,47,1
162
+ 4,151,90,38,0,29.7,0.294,36,0
163
+ 7,102,74,40,105,37.2,0.204,45,0
164
+ 0,114,80,34,285,44.2,0.167,27,0
165
+ 2,100,64,23,0,29.7,0.368,21,0
166
+ 0,131,88,0,0,31.6,0.743,32,1
167
+ 6,104,74,18,156,29.9,0.722,41,1
168
+ 3,148,66,25,0,32.5,0.256,22,0
169
+ 4,120,68,0,0,29.6,0.709,34,0
170
+ 4,110,66,0,0,31.9,0.471,29,0
171
+ 3,111,90,12,78,28.4,0.495,29,0
172
+ 6,102,82,0,0,30.8,0.18,36,1
173
+ 6,134,70,23,130,35.4,0.542,29,1
174
+ 2,87,0,23,0,28.9,0.773,25,0
175
+ 1,79,60,42,48,43.5,0.678,23,0
176
+ 2,75,64,24,55,29.7,0.37,33,0
177
+ 8,179,72,42,130,32.7,0.719,36,1
178
+ 6,85,78,0,0,31.2,0.382,42,0
179
+ 0,129,110,46,130,67.1,0.319,26,1
180
+ 5,143,78,0,0,45,0.19,47,0
181
+ 5,130,82,0,0,39.1,0.956,37,1
182
+ 6,87,80,0,0,23.2,0.084,32,0
183
+ 0,119,64,18,92,34.9,0.725,23,0
184
+ 1,0,74,20,23,27.7,0.299,21,0
185
+ 5,73,60,0,0,26.8,0.268,27,0
186
+ 4,141,74,0,0,27.6,0.244,40,0
187
+ 7,194,68,28,0,35.9,0.745,41,1
188
+ 8,181,68,36,495,30.1,0.615,60,1
189
+ 1,128,98,41,58,32,1.321,33,1
190
+ 8,109,76,39,114,27.9,0.64,31,1
191
+ 5,139,80,35,160,31.6,0.361,25,1
192
+ 3,111,62,0,0,22.6,0.142,21,0
193
+ 9,123,70,44,94,33.1,0.374,40,0
194
+ 7,159,66,0,0,30.4,0.383,36,1
195
+ 11,135,0,0,0,52.3,0.578,40,1
196
+ 8,85,55,20,0,24.4,0.136,42,0
197
+ 5,158,84,41,210,39.4,0.395,29,1
198
+ 1,105,58,0,0,24.3,0.187,21,0
199
+ 3,107,62,13,48,22.9,0.678,23,1
200
+ 4,109,64,44,99,34.8,0.905,26,1
201
+ 4,148,60,27,318,30.9,0.15,29,1
202
+ 0,113,80,16,0,31,0.874,21,0
203
+ 1,138,82,0,0,40.1,0.236,28,0
204
+ 0,108,68,20,0,27.3,0.787,32,0
205
+ 2,99,70,16,44,20.4,0.235,27,0
206
+ 6,103,72,32,190,37.7,0.324,55,0
207
+ 5,111,72,28,0,23.9,0.407,27,0
208
+ 8,196,76,29,280,37.5,0.605,57,1
209
+ 5,162,104,0,0,37.7,0.151,52,1
210
+ 1,96,64,27,87,33.2,0.289,21,0
211
+ 7,184,84,33,0,35.5,0.355,41,1
212
+ 2,81,60,22,0,27.7,0.29,25,0
213
+ 0,147,85,54,0,42.8,0.375,24,0
214
+ 7,179,95,31,0,34.2,0.164,60,0
215
+ 0,140,65,26,130,42.6,0.431,24,1
216
+ 9,112,82,32,175,34.2,0.26,36,1
217
+ 12,151,70,40,271,41.8,0.742,38,1
218
+ 5,109,62,41,129,35.8,0.514,25,1
219
+ 6,125,68,30,120,30,0.464,32,0
220
+ 5,85,74,22,0,29,1.224,32,1
221
+ 5,112,66,0,0,37.8,0.261,41,1
222
+ 0,177,60,29,478,34.6,1.072,21,1
223
+ 2,158,90,0,0,31.6,0.805,66,1
224
+ 7,119,0,0,0,25.2,0.209,37,0
225
+ 7,142,60,33,190,28.8,0.687,61,0
226
+ 1,100,66,15,56,23.6,0.666,26,0
227
+ 1,87,78,27,32,34.6,0.101,22,0
228
+ 0,101,76,0,0,35.7,0.198,26,0
229
+ 3,162,52,38,0,37.2,0.652,24,1
230
+ 4,197,70,39,744,36.7,2.329,31,0
231
+ 0,117,80,31,53,45.2,0.089,24,0
232
+ 4,142,86,0,0,44,0.645,22,1
233
+ 6,134,80,37,370,46.2,0.238,46,1
234
+ 1,79,80,25,37,25.4,0.583,22,0
235
+ 4,122,68,0,0,35,0.394,29,0
236
+ 3,74,68,28,45,29.7,0.293,23,0
237
+ 4,171,72,0,0,43.6,0.479,26,1
238
+ 7,181,84,21,192,35.9,0.586,51,1
239
+ 0,179,90,27,0,44.1,0.686,23,1
240
+ 9,164,84,21,0,30.8,0.831,32,1
241
+ 0,104,76,0,0,18.4,0.582,27,0
242
+ 1,91,64,24,0,29.2,0.192,21,0
243
+ 4,91,70,32,88,33.1,0.446,22,0
244
+ 3,139,54,0,0,25.6,0.402,22,1
245
+ 6,119,50,22,176,27.1,1.318,33,1
246
+ 2,146,76,35,194,38.2,0.329,29,0
247
+ 9,184,85,15,0,30,1.213,49,1
248
+ 10,122,68,0,0,31.2,0.258,41,0
249
+ 0,165,90,33,680,52.3,0.427,23,0
250
+ 9,124,70,33,402,35.4,0.282,34,0
251
+ 1,111,86,19,0,30.1,0.143,23,0
252
+ 9,106,52,0,0,31.2,0.38,42,0
253
+ 2,129,84,0,0,28,0.284,27,0
254
+ 2,90,80,14,55,24.4,0.249,24,0
255
+ 0,86,68,32,0,35.8,0.238,25,0
256
+ 12,92,62,7,258,27.6,0.926,44,1
257
+ 1,113,64,35,0,33.6,0.543,21,1
258
+ 3,111,56,39,0,30.1,0.557,30,0
259
+ 2,114,68,22,0,28.7,0.092,25,0
260
+ 1,193,50,16,375,25.9,0.655,24,0
261
+ 11,155,76,28,150,33.3,1.353,51,1
262
+ 3,191,68,15,130,30.9,0.299,34,0
263
+ 3,141,0,0,0,30,0.761,27,1
264
+ 4,95,70,32,0,32.1,0.612,24,0
265
+ 3,142,80,15,0,32.4,0.2,63,0
266
+ 4,123,62,0,0,32,0.226,35,1
267
+ 5,96,74,18,67,33.6,0.997,43,0
268
+ 0,138,0,0,0,36.3,0.933,25,1
269
+ 2,128,64,42,0,40,1.101,24,0
270
+ 0,102,52,0,0,25.1,0.078,21,0
271
+ 2,146,0,0,0,27.5,0.24,28,1
272
+ 10,101,86,37,0,45.6,1.136,38,1
273
+ 2,108,62,32,56,25.2,0.128,21,0
274
+ 3,122,78,0,0,23,0.254,40,0
275
+ 1,71,78,50,45,33.2,0.422,21,0
276
+ 13,106,70,0,0,34.2,0.251,52,0
277
+ 2,100,70,52,57,40.5,0.677,25,0
278
+ 7,106,60,24,0,26.5,0.296,29,1
279
+ 0,104,64,23,116,27.8,0.454,23,0
280
+ 5,114,74,0,0,24.9,0.744,57,0
281
+ 2,108,62,10,278,25.3,0.881,22,0
282
+ 0,146,70,0,0,37.9,0.334,28,1
283
+ 10,129,76,28,122,35.9,0.28,39,0
284
+ 7,133,88,15,155,32.4,0.262,37,0
285
+ 7,161,86,0,0,30.4,0.165,47,1
286
+ 2,108,80,0,0,27,0.259,52,1
287
+ 7,136,74,26,135,26,0.647,51,0
288
+ 5,155,84,44,545,38.7,0.619,34,0
289
+ 1,119,86,39,220,45.6,0.808,29,1
290
+ 4,96,56,17,49,20.8,0.34,26,0
291
+ 5,108,72,43,75,36.1,0.263,33,0
292
+ 0,78,88,29,40,36.9,0.434,21,0
293
+ 0,107,62,30,74,36.6,0.757,25,1
294
+ 2,128,78,37,182,43.3,1.224,31,1
295
+ 1,128,48,45,194,40.5,0.613,24,1
296
+ 0,161,50,0,0,21.9,0.254,65,0
297
+ 6,151,62,31,120,35.5,0.692,28,0
298
+ 2,146,70,38,360,28,0.337,29,1
299
+ 0,126,84,29,215,30.7,0.52,24,0
300
+ 14,100,78,25,184,36.6,0.412,46,1
301
+ 8,112,72,0,0,23.6,0.84,58,0
302
+ 0,167,0,0,0,32.3,0.839,30,1
303
+ 2,144,58,33,135,31.6,0.422,25,1
304
+ 5,77,82,41,42,35.8,0.156,35,0
305
+ 5,115,98,0,0,52.9,0.209,28,1
306
+ 3,150,76,0,0,21,0.207,37,0
307
+ 2,120,76,37,105,39.7,0.215,29,0
308
+ 10,161,68,23,132,25.5,0.326,47,1
309
+ 0,137,68,14,148,24.8,0.143,21,0
310
+ 0,128,68,19,180,30.5,1.391,25,1
311
+ 2,124,68,28,205,32.9,0.875,30,1
312
+ 6,80,66,30,0,26.2,0.313,41,0
313
+ 0,106,70,37,148,39.4,0.605,22,0
314
+ 2,155,74,17,96,26.6,0.433,27,1
315
+ 3,113,50,10,85,29.5,0.626,25,0
316
+ 7,109,80,31,0,35.9,1.127,43,1
317
+ 2,112,68,22,94,34.1,0.315,26,0
318
+ 3,99,80,11,64,19.3,0.284,30,0
319
+ 3,182,74,0,0,30.5,0.345,29,1
320
+ 3,115,66,39,140,38.1,0.15,28,0
321
+ 6,194,78,0,0,23.5,0.129,59,1
322
+ 4,129,60,12,231,27.5,0.527,31,0
323
+ 3,112,74,30,0,31.6,0.197,25,1
324
+ 0,124,70,20,0,27.4,0.254,36,1
325
+ 13,152,90,33,29,26.8,0.731,43,1
326
+ 2,112,75,32,0,35.7,0.148,21,0
327
+ 1,157,72,21,168,25.6,0.123,24,0
328
+ 1,122,64,32,156,35.1,0.692,30,1
329
+ 10,179,70,0,0,35.1,0.2,37,0
330
+ 2,102,86,36,120,45.5,0.127,23,1
331
+ 6,105,70,32,68,30.8,0.122,37,0
332
+ 8,118,72,19,0,23.1,1.476,46,0
333
+ 2,87,58,16,52,32.7,0.166,25,0
334
+ 1,180,0,0,0,43.3,0.282,41,1
335
+ 12,106,80,0,0,23.6,0.137,44,0
336
+ 1,95,60,18,58,23.9,0.26,22,0
337
+ 0,165,76,43,255,47.9,0.259,26,0
338
+ 0,117,0,0,0,33.8,0.932,44,0
339
+ 5,115,76,0,0,31.2,0.343,44,1
340
+ 9,152,78,34,171,34.2,0.893,33,1
341
+ 7,178,84,0,0,39.9,0.331,41,1
342
+ 1,130,70,13,105,25.9,0.472,22,0
343
+ 1,95,74,21,73,25.9,0.673,36,0
344
+ 1,0,68,35,0,32,0.389,22,0
345
+ 5,122,86,0,0,34.7,0.29,33,0
346
+ 8,95,72,0,0,36.8,0.485,57,0
347
+ 8,126,88,36,108,38.5,0.349,49,0
348
+ 1,139,46,19,83,28.7,0.654,22,0
349
+ 3,116,0,0,0,23.5,0.187,23,0
350
+ 3,99,62,19,74,21.8,0.279,26,0
351
+ 5,0,80,32,0,41,0.346,37,1
352
+ 4,92,80,0,0,42.2,0.237,29,0
353
+ 4,137,84,0,0,31.2,0.252,30,0
354
+ 3,61,82,28,0,34.4,0.243,46,0
355
+ 1,90,62,12,43,27.2,0.58,24,0
356
+ 3,90,78,0,0,42.7,0.559,21,0
357
+ 9,165,88,0,0,30.4,0.302,49,1
358
+ 1,125,50,40,167,33.3,0.962,28,1
359
+ 13,129,0,30,0,39.9,0.569,44,1
360
+ 12,88,74,40,54,35.3,0.378,48,0
361
+ 1,196,76,36,249,36.5,0.875,29,1
362
+ 5,189,64,33,325,31.2,0.583,29,1
363
+ 5,158,70,0,0,29.8,0.207,63,0
364
+ 5,103,108,37,0,39.2,0.305,65,0
365
+ 4,146,78,0,0,38.5,0.52,67,1
366
+ 4,147,74,25,293,34.9,0.385,30,0
367
+ 5,99,54,28,83,34,0.499,30,0
368
+ 6,124,72,0,0,27.6,0.368,29,1
369
+ 0,101,64,17,0,21,0.252,21,0
370
+ 3,81,86,16,66,27.5,0.306,22,0
371
+ 1,133,102,28,140,32.8,0.234,45,1
372
+ 3,173,82,48,465,38.4,2.137,25,1
373
+ 0,118,64,23,89,0,1.731,21,0
374
+ 0,84,64,22,66,35.8,0.545,21,0
375
+ 2,105,58,40,94,34.9,0.225,25,0
376
+ 2,122,52,43,158,36.2,0.816,28,0
377
+ 12,140,82,43,325,39.2,0.528,58,1
378
+ 0,98,82,15,84,25.2,0.299,22,0
379
+ 1,87,60,37,75,37.2,0.509,22,0
380
+ 4,156,75,0,0,48.3,0.238,32,1
381
+ 0,93,100,39,72,43.4,1.021,35,0
382
+ 1,107,72,30,82,30.8,0.821,24,0
383
+ 0,105,68,22,0,20,0.236,22,0
384
+ 1,109,60,8,182,25.4,0.947,21,0
385
+ 1,90,62,18,59,25.1,1.268,25,0
386
+ 1,125,70,24,110,24.3,0.221,25,0
387
+ 1,119,54,13,50,22.3,0.205,24,0
388
+ 5,116,74,29,0,32.3,0.66,35,1
389
+ 8,105,100,36,0,43.3,0.239,45,1
390
+ 5,144,82,26,285,32,0.452,58,1
391
+ 3,100,68,23,81,31.6,0.949,28,0
392
+ 1,100,66,29,196,32,0.444,42,0
393
+ 5,166,76,0,0,45.7,0.34,27,1
394
+ 1,131,64,14,415,23.7,0.389,21,0
395
+ 4,116,72,12,87,22.1,0.463,37,0
396
+ 4,158,78,0,0,32.9,0.803,31,1
397
+ 2,127,58,24,275,27.7,1.6,25,0
398
+ 3,96,56,34,115,24.7,0.944,39,0
399
+ 0,131,66,40,0,34.3,0.196,22,1
400
+ 3,82,70,0,0,21.1,0.389,25,0
401
+ 3,193,70,31,0,34.9,0.241,25,1
402
+ 4,95,64,0,0,32,0.161,31,1
403
+ 6,137,61,0,0,24.2,0.151,55,0
404
+ 5,136,84,41,88,35,0.286,35,1
405
+ 9,72,78,25,0,31.6,0.28,38,0
406
+ 5,168,64,0,0,32.9,0.135,41,1
407
+ 2,123,48,32,165,42.1,0.52,26,0
408
+ 4,115,72,0,0,28.9,0.376,46,1
409
+ 0,101,62,0,0,21.9,0.336,25,0
410
+ 8,197,74,0,0,25.9,1.191,39,1
411
+ 1,172,68,49,579,42.4,0.702,28,1
412
+ 6,102,90,39,0,35.7,0.674,28,0
413
+ 1,112,72,30,176,34.4,0.528,25,0
414
+ 1,143,84,23,310,42.4,1.076,22,0
415
+ 1,143,74,22,61,26.2,0.256,21,0
416
+ 0,138,60,35,167,34.6,0.534,21,1
417
+ 3,173,84,33,474,35.7,0.258,22,1
418
+ 1,97,68,21,0,27.2,1.095,22,0
419
+ 4,144,82,32,0,38.5,0.554,37,1
420
+ 1,83,68,0,0,18.2,0.624,27,0
421
+ 3,129,64,29,115,26.4,0.219,28,1
422
+ 1,119,88,41,170,45.3,0.507,26,0
423
+ 2,94,68,18,76,26,0.561,21,0
424
+ 0,102,64,46,78,40.6,0.496,21,0
425
+ 2,115,64,22,0,30.8,0.421,21,0
426
+ 8,151,78,32,210,42.9,0.516,36,1
427
+ 4,184,78,39,277,37,0.264,31,1
428
+ 0,94,0,0,0,0,0.256,25,0
429
+ 1,181,64,30,180,34.1,0.328,38,1
430
+ 0,135,94,46,145,40.6,0.284,26,0
431
+ 1,95,82,25,180,35,0.233,43,1
432
+ 2,99,0,0,0,22.2,0.108,23,0
433
+ 3,89,74,16,85,30.4,0.551,38,0
434
+ 1,80,74,11,60,30,0.527,22,0
435
+ 2,139,75,0,0,25.6,0.167,29,0
436
+ 1,90,68,8,0,24.5,1.138,36,0
437
+ 0,141,0,0,0,42.4,0.205,29,1
438
+ 12,140,85,33,0,37.4,0.244,41,0
439
+ 5,147,75,0,0,29.9,0.434,28,0
440
+ 1,97,70,15,0,18.2,0.147,21,0
441
+ 6,107,88,0,0,36.8,0.727,31,0
442
+ 0,189,104,25,0,34.3,0.435,41,1
443
+ 2,83,66,23,50,32.2,0.497,22,0
444
+ 4,117,64,27,120,33.2,0.23,24,0
445
+ 8,108,70,0,0,30.5,0.955,33,1
446
+ 4,117,62,12,0,29.7,0.38,30,1
447
+ 0,180,78,63,14,59.4,2.42,25,1
448
+ 1,100,72,12,70,25.3,0.658,28,0
449
+ 0,95,80,45,92,36.5,0.33,26,0
450
+ 0,104,64,37,64,33.6,0.51,22,1
451
+ 0,120,74,18,63,30.5,0.285,26,0
452
+ 1,82,64,13,95,21.2,0.415,23,0
453
+ 2,134,70,0,0,28.9,0.542,23,1
454
+ 0,91,68,32,210,39.9,0.381,25,0
455
+ 2,119,0,0,0,19.6,0.832,72,0
456
+ 2,100,54,28,105,37.8,0.498,24,0
457
+ 14,175,62,30,0,33.6,0.212,38,1
458
+ 1,135,54,0,0,26.7,0.687,62,0
459
+ 5,86,68,28,71,30.2,0.364,24,0
460
+ 10,148,84,48,237,37.6,1.001,51,1
461
+ 9,134,74,33,60,25.9,0.46,81,0
462
+ 9,120,72,22,56,20.8,0.733,48,0
463
+ 1,71,62,0,0,21.8,0.416,26,0
464
+ 8,74,70,40,49,35.3,0.705,39,0
465
+ 5,88,78,30,0,27.6,0.258,37,0
466
+ 10,115,98,0,0,24,1.022,34,0
467
+ 0,124,56,13,105,21.8,0.452,21,0
468
+ 0,74,52,10,36,27.8,0.269,22,0
469
+ 0,97,64,36,100,36.8,0.6,25,0
470
+ 8,120,0,0,0,30,0.183,38,1
471
+ 6,154,78,41,140,46.1,0.571,27,0
472
+ 1,144,82,40,0,41.3,0.607,28,0
473
+ 0,137,70,38,0,33.2,0.17,22,0
474
+ 0,119,66,27,0,38.8,0.259,22,0
475
+ 7,136,90,0,0,29.9,0.21,50,0
476
+ 4,114,64,0,0,28.9,0.126,24,0
477
+ 0,137,84,27,0,27.3,0.231,59,0
478
+ 2,105,80,45,191,33.7,0.711,29,1
479
+ 7,114,76,17,110,23.8,0.466,31,0
480
+ 8,126,74,38,75,25.9,0.162,39,0
481
+ 4,132,86,31,0,28,0.419,63,0
482
+ 3,158,70,30,328,35.5,0.344,35,1
483
+ 0,123,88,37,0,35.2,0.197,29,0
484
+ 4,85,58,22,49,27.8,0.306,28,0
485
+ 0,84,82,31,125,38.2,0.233,23,0
486
+ 0,145,0,0,0,44.2,0.63,31,1
487
+ 0,135,68,42,250,42.3,0.365,24,1
488
+ 1,139,62,41,480,40.7,0.536,21,0
489
+ 0,173,78,32,265,46.5,1.159,58,0
490
+ 4,99,72,17,0,25.6,0.294,28,0
491
+ 8,194,80,0,0,26.1,0.551,67,0
492
+ 2,83,65,28,66,36.8,0.629,24,0
493
+ 2,89,90,30,0,33.5,0.292,42,0
494
+ 4,99,68,38,0,32.8,0.145,33,0
495
+ 4,125,70,18,122,28.9,1.144,45,1
496
+ 3,80,0,0,0,0,0.174,22,0
497
+ 6,166,74,0,0,26.6,0.304,66,0
498
+ 5,110,68,0,0,26,0.292,30,0
499
+ 2,81,72,15,76,30.1,0.547,25,0
500
+ 7,195,70,33,145,25.1,0.163,55,1
501
+ 6,154,74,32,193,29.3,0.839,39,0
502
+ 2,117,90,19,71,25.2,0.313,21,0
503
+ 3,84,72,32,0,37.2,0.267,28,0
504
+ 6,0,68,41,0,39,0.727,41,1
505
+ 7,94,64,25,79,33.3,0.738,41,0
506
+ 3,96,78,39,0,37.3,0.238,40,0
507
+ 10,75,82,0,0,33.3,0.263,38,0
508
+ 0,180,90,26,90,36.5,0.314,35,1
509
+ 1,130,60,23,170,28.6,0.692,21,0
510
+ 2,84,50,23,76,30.4,0.968,21,0
511
+ 8,120,78,0,0,25,0.409,64,0
512
+ 12,84,72,31,0,29.7,0.297,46,1
513
+ 0,139,62,17,210,22.1,0.207,21,0
514
+ 9,91,68,0,0,24.2,0.2,58,0
515
+ 2,91,62,0,0,27.3,0.525,22,0
516
+ 3,99,54,19,86,25.6,0.154,24,0
517
+ 3,163,70,18,105,31.6,0.268,28,1
518
+ 9,145,88,34,165,30.3,0.771,53,1
519
+ 7,125,86,0,0,37.6,0.304,51,0
520
+ 13,76,60,0,0,32.8,0.18,41,0
521
+ 6,129,90,7,326,19.6,0.582,60,0
522
+ 2,68,70,32,66,25,0.187,25,0
523
+ 3,124,80,33,130,33.2,0.305,26,0
524
+ 6,114,0,0,0,0,0.189,26,0
525
+ 9,130,70,0,0,34.2,0.652,45,1
526
+ 3,125,58,0,0,31.6,0.151,24,0
527
+ 3,87,60,18,0,21.8,0.444,21,0
528
+ 1,97,64,19,82,18.2,0.299,21,0
529
+ 3,116,74,15,105,26.3,0.107,24,0
530
+ 0,117,66,31,188,30.8,0.493,22,0
531
+ 0,111,65,0,0,24.6,0.66,31,0
532
+ 2,122,60,18,106,29.8,0.717,22,0
533
+ 0,107,76,0,0,45.3,0.686,24,0
534
+ 1,86,66,52,65,41.3,0.917,29,0
535
+ 6,91,0,0,0,29.8,0.501,31,0
536
+ 1,77,56,30,56,33.3,1.251,24,0
537
+ 4,132,0,0,0,32.9,0.302,23,1
538
+ 0,105,90,0,0,29.6,0.197,46,0
539
+ 0,57,60,0,0,21.7,0.735,67,0
540
+ 0,127,80,37,210,36.3,0.804,23,0
541
+ 3,129,92,49,155,36.4,0.968,32,1
542
+ 8,100,74,40,215,39.4,0.661,43,1
543
+ 3,128,72,25,190,32.4,0.549,27,1
544
+ 10,90,85,32,0,34.9,0.825,56,1
545
+ 4,84,90,23,56,39.5,0.159,25,0
546
+ 1,88,78,29,76,32,0.365,29,0
547
+ 8,186,90,35,225,34.5,0.423,37,1
548
+ 5,187,76,27,207,43.6,1.034,53,1
549
+ 4,131,68,21,166,33.1,0.16,28,0
550
+ 1,164,82,43,67,32.8,0.341,50,0
551
+ 4,189,110,31,0,28.5,0.68,37,0
552
+ 1,116,70,28,0,27.4,0.204,21,0
553
+ 3,84,68,30,106,31.9,0.591,25,0
554
+ 6,114,88,0,0,27.8,0.247,66,0
555
+ 1,88,62,24,44,29.9,0.422,23,0
556
+ 1,84,64,23,115,36.9,0.471,28,0
557
+ 7,124,70,33,215,25.5,0.161,37,0
558
+ 1,97,70,40,0,38.1,0.218,30,0
559
+ 8,110,76,0,0,27.8,0.237,58,0
560
+ 11,103,68,40,0,46.2,0.126,42,0
561
+ 11,85,74,0,0,30.1,0.3,35,0
562
+ 6,125,76,0,0,33.8,0.121,54,1
563
+ 0,198,66,32,274,41.3,0.502,28,1
564
+ 1,87,68,34,77,37.6,0.401,24,0
565
+ 6,99,60,19,54,26.9,0.497,32,0
566
+ 0,91,80,0,0,32.4,0.601,27,0
567
+ 2,95,54,14,88,26.1,0.748,22,0
568
+ 1,99,72,30,18,38.6,0.412,21,0
569
+ 6,92,62,32,126,32,0.085,46,0
570
+ 4,154,72,29,126,31.3,0.338,37,0
571
+ 0,121,66,30,165,34.3,0.203,33,1
572
+ 3,78,70,0,0,32.5,0.27,39,0
573
+ 2,130,96,0,0,22.6,0.268,21,0
574
+ 3,111,58,31,44,29.5,0.43,22,0
575
+ 2,98,60,17,120,34.7,0.198,22,0
576
+ 1,143,86,30,330,30.1,0.892,23,0
577
+ 1,119,44,47,63,35.5,0.28,25,0
578
+ 6,108,44,20,130,24,0.813,35,0
579
+ 2,118,80,0,0,42.9,0.693,21,1
580
+ 10,133,68,0,0,27,0.245,36,0
581
+ 2,197,70,99,0,34.7,0.575,62,1
582
+ 0,151,90,46,0,42.1,0.371,21,1
583
+ 6,109,60,27,0,25,0.206,27,0
584
+ 12,121,78,17,0,26.5,0.259,62,0
585
+ 8,100,76,0,0,38.7,0.19,42,0
586
+ 8,124,76,24,600,28.7,0.687,52,1
587
+ 1,93,56,11,0,22.5,0.417,22,0
588
+ 8,143,66,0,0,34.9,0.129,41,1
589
+ 6,103,66,0,0,24.3,0.249,29,0
590
+ 3,176,86,27,156,33.3,1.154,52,1
591
+ 0,73,0,0,0,21.1,0.342,25,0
592
+ 11,111,84,40,0,46.8,0.925,45,1
593
+ 2,112,78,50,140,39.4,0.175,24,0
594
+ 3,132,80,0,0,34.4,0.402,44,1
595
+ 2,82,52,22,115,28.5,1.699,25,0
596
+ 6,123,72,45,230,33.6,0.733,34,0
597
+ 0,188,82,14,185,32,0.682,22,1
598
+ 0,67,76,0,0,45.3,0.194,46,0
599
+ 1,89,24,19,25,27.8,0.559,21,0
600
+ 1,173,74,0,0,36.8,0.088,38,1
601
+ 1,109,38,18,120,23.1,0.407,26,0
602
+ 1,108,88,19,0,27.1,0.4,24,0
603
+ 6,96,0,0,0,23.7,0.19,28,0
604
+ 1,124,74,36,0,27.8,0.1,30,0
605
+ 7,150,78,29,126,35.2,0.692,54,1
606
+ 4,183,0,0,0,28.4,0.212,36,1
607
+ 1,124,60,32,0,35.8,0.514,21,0
608
+ 1,181,78,42,293,40,1.258,22,1
609
+ 1,92,62,25,41,19.5,0.482,25,0
610
+ 0,152,82,39,272,41.5,0.27,27,0
611
+ 1,111,62,13,182,24,0.138,23,0
612
+ 3,106,54,21,158,30.9,0.292,24,0
613
+ 3,174,58,22,194,32.9,0.593,36,1
614
+ 7,168,88,42,321,38.2,0.787,40,1
615
+ 6,105,80,28,0,32.5,0.878,26,0
616
+ 11,138,74,26,144,36.1,0.557,50,1
617
+ 3,106,72,0,0,25.8,0.207,27,0
618
+ 6,117,96,0,0,28.7,0.157,30,0
619
+ 2,68,62,13,15,20.1,0.257,23,0
620
+ 9,112,82,24,0,28.2,1.282,50,1
621
+ 0,119,0,0,0,32.4,0.141,24,1
622
+ 2,112,86,42,160,38.4,0.246,28,0
623
+ 2,92,76,20,0,24.2,1.698,28,0
624
+ 6,183,94,0,0,40.8,1.461,45,0
625
+ 0,94,70,27,115,43.5,0.347,21,0
626
+ 2,108,64,0,0,30.8,0.158,21,0
627
+ 4,90,88,47,54,37.7,0.362,29,0
628
+ 0,125,68,0,0,24.7,0.206,21,0
629
+ 0,132,78,0,0,32.4,0.393,21,0
630
+ 5,128,80,0,0,34.6,0.144,45,0
631
+ 4,94,65,22,0,24.7,0.148,21,0
632
+ 7,114,64,0,0,27.4,0.732,34,1
633
+ 0,102,78,40,90,34.5,0.238,24,0
634
+ 2,111,60,0,0,26.2,0.343,23,0
635
+ 1,128,82,17,183,27.5,0.115,22,0
636
+ 10,92,62,0,0,25.9,0.167,31,0
637
+ 13,104,72,0,0,31.2,0.465,38,1
638
+ 5,104,74,0,0,28.8,0.153,48,0
639
+ 2,94,76,18,66,31.6,0.649,23,0
640
+ 7,97,76,32,91,40.9,0.871,32,1
641
+ 1,100,74,12,46,19.5,0.149,28,0
642
+ 0,102,86,17,105,29.3,0.695,27,0
643
+ 4,128,70,0,0,34.3,0.303,24,0
644
+ 6,147,80,0,0,29.5,0.178,50,1
645
+ 4,90,0,0,0,28,0.61,31,0
646
+ 3,103,72,30,152,27.6,0.73,27,0
647
+ 2,157,74,35,440,39.4,0.134,30,0
648
+ 1,167,74,17,144,23.4,0.447,33,1
649
+ 0,179,50,36,159,37.8,0.455,22,1
650
+ 11,136,84,35,130,28.3,0.26,42,1
651
+ 0,107,60,25,0,26.4,0.133,23,0
652
+ 1,91,54,25,100,25.2,0.234,23,0
653
+ 1,117,60,23,106,33.8,0.466,27,0
654
+ 5,123,74,40,77,34.1,0.269,28,0
655
+ 2,120,54,0,0,26.8,0.455,27,0
656
+ 1,106,70,28,135,34.2,0.142,22,0
657
+ 2,155,52,27,540,38.7,0.24,25,1
658
+ 2,101,58,35,90,21.8,0.155,22,0
659
+ 1,120,80,48,200,38.9,1.162,41,0
660
+ 11,127,106,0,0,39,0.19,51,0
661
+ 3,80,82,31,70,34.2,1.292,27,1
662
+ 10,162,84,0,0,27.7,0.182,54,0
663
+ 1,199,76,43,0,42.9,1.394,22,1
664
+ 8,167,106,46,231,37.6,0.165,43,1
665
+ 9,145,80,46,130,37.9,0.637,40,1
666
+ 6,115,60,39,0,33.7,0.245,40,1
667
+ 1,112,80,45,132,34.8,0.217,24,0
668
+ 4,145,82,18,0,32.5,0.235,70,1
669
+ 10,111,70,27,0,27.5,0.141,40,1
670
+ 6,98,58,33,190,34,0.43,43,0
671
+ 9,154,78,30,100,30.9,0.164,45,0
672
+ 6,165,68,26,168,33.6,0.631,49,0
673
+ 1,99,58,10,0,25.4,0.551,21,0
674
+ 10,68,106,23,49,35.5,0.285,47,0
675
+ 3,123,100,35,240,57.3,0.88,22,0
676
+ 8,91,82,0,0,35.6,0.587,68,0
677
+ 6,195,70,0,0,30.9,0.328,31,1
678
+ 9,156,86,0,0,24.8,0.23,53,1
679
+ 0,93,60,0,0,35.3,0.263,25,0
680
+ 3,121,52,0,0,36,0.127,25,1
681
+ 2,101,58,17,265,24.2,0.614,23,0
682
+ 2,56,56,28,45,24.2,0.332,22,0
683
+ 0,162,76,36,0,49.6,0.364,26,1
684
+ 0,95,64,39,105,44.6,0.366,22,0
685
+ 4,125,80,0,0,32.3,0.536,27,1
686
+ 5,136,82,0,0,0,0.64,69,0
687
+ 2,129,74,26,205,33.2,0.591,25,0
688
+ 3,130,64,0,0,23.1,0.314,22,0
689
+ 1,107,50,19,0,28.3,0.181,29,0
690
+ 1,140,74,26,180,24.1,0.828,23,0
691
+ 1,144,82,46,180,46.1,0.335,46,1
692
+ 8,107,80,0,0,24.6,0.856,34,0
693
+ 13,158,114,0,0,42.3,0.257,44,1
694
+ 2,121,70,32,95,39.1,0.886,23,0
695
+ 7,129,68,49,125,38.5,0.439,43,1
696
+ 2,90,60,0,0,23.5,0.191,25,0
697
+ 7,142,90,24,480,30.4,0.128,43,1
698
+ 3,169,74,19,125,29.9,0.268,31,1
699
+ 0,99,0,0,0,25,0.253,22,0
700
+ 4,127,88,11,155,34.5,0.598,28,0
701
+ 4,118,70,0,0,44.5,0.904,26,0
702
+ 2,122,76,27,200,35.9,0.483,26,0
703
+ 6,125,78,31,0,27.6,0.565,49,1
704
+ 1,168,88,29,0,35,0.905,52,1
705
+ 2,129,0,0,0,38.5,0.304,41,0
706
+ 4,110,76,20,100,28.4,0.118,27,0
707
+ 6,80,80,36,0,39.8,0.177,28,0
708
+ 10,115,0,0,0,0,0.261,30,1
709
+ 2,127,46,21,335,34.4,0.176,22,0
710
+ 9,164,78,0,0,32.8,0.148,45,1
711
+ 2,93,64,32,160,38,0.674,23,1
712
+ 3,158,64,13,387,31.2,0.295,24,0
713
+ 5,126,78,27,22,29.6,0.439,40,0
714
+ 10,129,62,36,0,41.2,0.441,38,1
715
+ 0,134,58,20,291,26.4,0.352,21,0
716
+ 3,102,74,0,0,29.5,0.121,32,0
717
+ 7,187,50,33,392,33.9,0.826,34,1
718
+ 3,173,78,39,185,33.8,0.97,31,1
719
+ 10,94,72,18,0,23.1,0.595,56,0
720
+ 1,108,60,46,178,35.5,0.415,24,0
721
+ 5,97,76,27,0,35.6,0.378,52,1
722
+ 4,83,86,19,0,29.3,0.317,34,0
723
+ 1,114,66,36,200,38.1,0.289,21,0
724
+ 1,149,68,29,127,29.3,0.349,42,1
725
+ 5,117,86,30,105,39.1,0.251,42,0
726
+ 1,111,94,0,0,32.8,0.265,45,0
727
+ 4,112,78,40,0,39.4,0.236,38,0
728
+ 1,116,78,29,180,36.1,0.496,25,0
729
+ 0,141,84,26,0,32.4,0.433,22,0
730
+ 2,175,88,0,0,22.9,0.326,22,0
731
+ 2,92,52,0,0,30.1,0.141,22,0
732
+ 3,130,78,23,79,28.4,0.323,34,1
733
+ 8,120,86,0,0,28.4,0.259,22,1
734
+ 2,174,88,37,120,44.5,0.646,24,1
735
+ 2,106,56,27,165,29,0.426,22,0
736
+ 2,105,75,0,0,23.3,0.56,53,0
737
+ 4,95,60,32,0,35.4,0.284,28,0
738
+ 0,126,86,27,120,27.4,0.515,21,0
739
+ 8,65,72,23,0,32,0.6,42,0
740
+ 2,99,60,17,160,36.6,0.453,21,0
741
+ 1,102,74,0,0,39.5,0.293,42,1
742
+ 11,120,80,37,150,42.3,0.785,48,1
743
+ 3,102,44,20,94,30.8,0.4,26,0
744
+ 1,109,58,18,116,28.5,0.219,22,0
745
+ 9,140,94,0,0,32.7,0.734,45,1
746
+ 13,153,88,37,140,40.6,1.174,39,0
747
+ 12,100,84,33,105,30,0.488,46,0
748
+ 1,147,94,41,0,49.3,0.358,27,1
749
+ 1,81,74,41,57,46.3,1.096,32,0
750
+ 3,187,70,22,200,36.4,0.408,36,1
751
+ 6,162,62,0,0,24.3,0.178,50,1
752
+ 4,136,70,0,0,31.2,1.182,22,1
753
+ 1,121,78,39,74,39,0.261,28,0
754
+ 3,108,62,24,0,26,0.223,25,0
755
+ 0,181,88,44,510,43.3,0.222,26,1
756
+ 8,154,78,32,0,32.4,0.443,45,1
757
+ 1,128,88,39,110,36.5,1.057,37,1
758
+ 7,137,90,41,0,32,0.391,39,0
759
+ 0,123,72,0,0,36.3,0.258,52,1
760
+ 1,106,76,0,0,37.5,0.197,26,0
761
+ 6,190,92,0,0,35.5,0.278,66,1
762
+ 2,88,58,26,16,28.4,0.766,22,0
763
+ 9,170,74,31,0,44,0.403,43,1
764
+ 9,89,62,0,0,22.5,0.142,33,0
765
+ 10,101,76,48,180,32.9,0.171,63,0
766
+ 2,122,70,27,0,36.8,0.34,27,0
767
+ 5,121,72,23,112,26.2,0.245,30,0
768
+ 1,126,60,0,0,30.1,0.349,47,1
769
+ 1,93,70,31,0,30.4,0.315,23,0
diabetes_model.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1816ee4fd6de54406f17caf645cfb44a8c20621ca751513739ebfdb154a29530
3
+ size 1709545
evaluation.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import joblib
2
+ import json
3
+ import pandas as pd
4
+ from sklearn.model_selection import train_test_split
5
+ from sklearn.metrics import accuracy_score
6
+
7
+ # Load dataset again (same as in train.py)
8
+ data = pd.read_csv("diabetes.csv")
9
+ X = data.drop('Outcome', axis=1)
10
+ y = data['Outcome']
11
+
12
+ # Split data (same as in train.py)
13
+ X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
14
+
15
+ # Load trained model
16
+ model = joblib.load('diabetes_model.joblib')
17
+
18
+ # Make predictions
19
+ y_pred = model.predict(X_test)
20
+
21
+ # Calculate accuracy
22
+ accuracy = accuracy_score(y_test, y_pred)
23
+
24
+ # Save accuracy to a JSON file
25
+ metrics = {"accuracy": accuracy * 100}
26
+ with open("metrics.json", "w") as f:
27
+ json.dump(metrics, f)
28
+
29
+ # Print accuracy (for debugging in GitHub Actions)
30
+ print(f"Model Accuracy: {accuracy * 100}%")
metrics.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"accuracy": 72.07792207792207}
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ streamlit
2
+ scikit-learn
3
+ pandas
4
+ joblib
train.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import joblib
2
+ import numpy as np
3
+ import pandas as pd
4
+ import json
5
+ from sklearn.model_selection import train_test_split
6
+ from sklearn.ensemble import RandomForestClassifier
7
+ from sklearn.metrics import accuracy_score
8
+
9
+ # Load dataset
10
+ data = pd.read_csv("diabetes.csv")
11
+ X = data.drop('Outcome', axis=1)
12
+ y = data['Outcome']
13
+ X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
14
+
15
+ # Train model
16
+ model = RandomForestClassifier(n_estimators=100, random_state=42)
17
+ model.fit(X_train, y_train)
18
+
19
+ # Evaluate
20
+ y_pred = model.predict(X_test)
21
+ accuracy = accuracy_score(y_test, y_pred)
22
+
23
+ # Save model
24
+ joblib.dump(model, 'diabetes_model.joblib')
25
+
26
+ # Save accuracy
27
+ with open("metrics.json", "w") as f:
28
+ json.dump({"accuracy": accuracy * 100}, f)
29
+
30
+ print(f"Model Accuracy: {accuracy * 100}%")