Azarthehulk commited on
Commit
cda380d
·
1 Parent(s): e150e1a

Upload sklearn_practice.ipynb (#1)

Browse files

- Upload sklearn_practice.ipynb (822deaf6b31ea7394d34188eade0caf7a4adb694)

Files changed (1) hide show
  1. sklearn_practice.ipynb +633 -0
sklearn_practice.ipynb ADDED
@@ -0,0 +1,633 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 2,
6
+ "id": "6452ab53",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "import pandas as pd\n",
11
+ "df=pd.read_csv(\"Advertising.csv\")"
12
+ ]
13
+ },
14
+ {
15
+ "cell_type": "code",
16
+ "execution_count": 3,
17
+ "id": "5533bf4b",
18
+ "metadata": {},
19
+ "outputs": [
20
+ {
21
+ "data": {
22
+ "text/html": [
23
+ "<div>\n",
24
+ "<style scoped>\n",
25
+ " .dataframe tbody tr th:only-of-type {\n",
26
+ " vertical-align: middle;\n",
27
+ " }\n",
28
+ "\n",
29
+ " .dataframe tbody tr th {\n",
30
+ " vertical-align: top;\n",
31
+ " }\n",
32
+ "\n",
33
+ " .dataframe thead th {\n",
34
+ " text-align: right;\n",
35
+ " }\n",
36
+ "</style>\n",
37
+ "<table border=\"1\" class=\"dataframe\">\n",
38
+ " <thead>\n",
39
+ " <tr style=\"text-align: right;\">\n",
40
+ " <th></th>\n",
41
+ " <th>Unnamed: 0</th>\n",
42
+ " <th>TV</th>\n",
43
+ " <th>radio</th>\n",
44
+ " <th>newspaper</th>\n",
45
+ " <th>sales</th>\n",
46
+ " </tr>\n",
47
+ " </thead>\n",
48
+ " <tbody>\n",
49
+ " <tr>\n",
50
+ " <th>0</th>\n",
51
+ " <td>1</td>\n",
52
+ " <td>230.1</td>\n",
53
+ " <td>37.8</td>\n",
54
+ " <td>69.2</td>\n",
55
+ " <td>22.1</td>\n",
56
+ " </tr>\n",
57
+ " <tr>\n",
58
+ " <th>1</th>\n",
59
+ " <td>2</td>\n",
60
+ " <td>44.5</td>\n",
61
+ " <td>39.3</td>\n",
62
+ " <td>45.1</td>\n",
63
+ " <td>10.4</td>\n",
64
+ " </tr>\n",
65
+ " <tr>\n",
66
+ " <th>2</th>\n",
67
+ " <td>3</td>\n",
68
+ " <td>17.2</td>\n",
69
+ " <td>45.9</td>\n",
70
+ " <td>69.3</td>\n",
71
+ " <td>9.3</td>\n",
72
+ " </tr>\n",
73
+ " <tr>\n",
74
+ " <th>3</th>\n",
75
+ " <td>4</td>\n",
76
+ " <td>151.5</td>\n",
77
+ " <td>41.3</td>\n",
78
+ " <td>58.5</td>\n",
79
+ " <td>18.5</td>\n",
80
+ " </tr>\n",
81
+ " <tr>\n",
82
+ " <th>4</th>\n",
83
+ " <td>5</td>\n",
84
+ " <td>180.8</td>\n",
85
+ " <td>10.8</td>\n",
86
+ " <td>58.4</td>\n",
87
+ " <td>12.9</td>\n",
88
+ " </tr>\n",
89
+ " </tbody>\n",
90
+ "</table>\n",
91
+ "</div>"
92
+ ],
93
+ "text/plain": [
94
+ " Unnamed: 0 TV radio newspaper sales\n",
95
+ "0 1 230.1 37.8 69.2 22.1\n",
96
+ "1 2 44.5 39.3 45.1 10.4\n",
97
+ "2 3 17.2 45.9 69.3 9.3\n",
98
+ "3 4 151.5 41.3 58.5 18.5\n",
99
+ "4 5 180.8 10.8 58.4 12.9"
100
+ ]
101
+ },
102
+ "execution_count": 3,
103
+ "metadata": {},
104
+ "output_type": "execute_result"
105
+ }
106
+ ],
107
+ "source": [
108
+ "df.head()"
109
+ ]
110
+ },
111
+ {
112
+ "cell_type": "code",
113
+ "execution_count": 4,
114
+ "id": "5f2f38b5",
115
+ "metadata": {},
116
+ "outputs": [
117
+ {
118
+ "data": {
119
+ "text/plain": [
120
+ "Unnamed: 0 0\n",
121
+ "TV 0\n",
122
+ "radio 0\n",
123
+ "newspaper 0\n",
124
+ "sales 0\n",
125
+ "dtype: int64"
126
+ ]
127
+ },
128
+ "execution_count": 4,
129
+ "metadata": {},
130
+ "output_type": "execute_result"
131
+ }
132
+ ],
133
+ "source": [
134
+ "df.isnull().sum()"
135
+ ]
136
+ },
137
+ {
138
+ "cell_type": "code",
139
+ "execution_count": 6,
140
+ "id": "a3c652b1",
141
+ "metadata": {},
142
+ "outputs": [
143
+ {
144
+ "data": {
145
+ "text/plain": [
146
+ "(200, 5)"
147
+ ]
148
+ },
149
+ "execution_count": 6,
150
+ "metadata": {},
151
+ "output_type": "execute_result"
152
+ }
153
+ ],
154
+ "source": [
155
+ "df.shape"
156
+ ]
157
+ },
158
+ {
159
+ "cell_type": "code",
160
+ "execution_count": 8,
161
+ "id": "c80ca9d4",
162
+ "metadata": {},
163
+ "outputs": [],
164
+ "source": [
165
+ "from sklearn.tree import DecisionTreeRegressor"
166
+ ]
167
+ },
168
+ {
169
+ "cell_type": "code",
170
+ "execution_count": 15,
171
+ "id": "64f6ec0f",
172
+ "metadata": {},
173
+ "outputs": [],
174
+ "source": [
175
+ "df_features=df.columns\n",
176
+ "y=df.sales\n",
177
+ "X=df[df_features]"
178
+ ]
179
+ },
180
+ {
181
+ "cell_type": "code",
182
+ "execution_count": 16,
183
+ "id": "f863cb72",
184
+ "metadata": {},
185
+ "outputs": [
186
+ {
187
+ "name": "stdout",
188
+ "output_type": "stream",
189
+ "text": [
190
+ "Index(['Unnamed: 0', 'TV', 'radio', 'newspaper', 'sales'], dtype='object')\n"
191
+ ]
192
+ }
193
+ ],
194
+ "source": [
195
+ "print(df_features)"
196
+ ]
197
+ },
198
+ {
199
+ "cell_type": "code",
200
+ "execution_count": 17,
201
+ "id": "6cbf836d",
202
+ "metadata": {},
203
+ "outputs": [
204
+ {
205
+ "name": "stdout",
206
+ "output_type": "stream",
207
+ "text": [
208
+ "0 22.1\n",
209
+ "1 10.4\n",
210
+ "2 9.3\n",
211
+ "3 18.5\n",
212
+ "4 12.9\n",
213
+ " ... \n",
214
+ "195 7.6\n",
215
+ "196 9.7\n",
216
+ "197 12.8\n",
217
+ "198 25.5\n",
218
+ "199 13.4\n",
219
+ "Name: sales, Length: 200, dtype: float64\n"
220
+ ]
221
+ }
222
+ ],
223
+ "source": [
224
+ "print(y)"
225
+ ]
226
+ },
227
+ {
228
+ "cell_type": "code",
229
+ "execution_count": 18,
230
+ "id": "889e08ad",
231
+ "metadata": {},
232
+ "outputs": [
233
+ {
234
+ "name": "stdout",
235
+ "output_type": "stream",
236
+ "text": [
237
+ " Unnamed: 0 TV radio newspaper sales\n",
238
+ "0 1 230.1 37.8 69.2 22.1\n",
239
+ "1 2 44.5 39.3 45.1 10.4\n",
240
+ "2 3 17.2 45.9 69.3 9.3\n",
241
+ "3 4 151.5 41.3 58.5 18.5\n",
242
+ "4 5 180.8 10.8 58.4 12.9\n",
243
+ ".. ... ... ... ... ...\n",
244
+ "195 196 38.2 3.7 13.8 7.6\n",
245
+ "196 197 94.2 4.9 8.1 9.7\n",
246
+ "197 198 177.0 9.3 6.4 12.8\n",
247
+ "198 199 283.6 42.0 66.2 25.5\n",
248
+ "199 200 232.1 8.6 8.7 13.4\n",
249
+ "\n",
250
+ "[200 rows x 5 columns]\n"
251
+ ]
252
+ }
253
+ ],
254
+ "source": [
255
+ "print(X)"
256
+ ]
257
+ },
258
+ {
259
+ "cell_type": "code",
260
+ "execution_count": 9,
261
+ "id": "e486a41a",
262
+ "metadata": {},
263
+ "outputs": [],
264
+ "source": [
265
+ "#model cretaed\n",
266
+ "df_model=DecisionTreeRegressor()"
267
+ ]
268
+ },
269
+ {
270
+ "cell_type": "code",
271
+ "execution_count": 10,
272
+ "id": "c7070799",
273
+ "metadata": {},
274
+ "outputs": [
275
+ {
276
+ "data": {
277
+ "text/plain": [
278
+ "DecisionTreeRegressor()"
279
+ ]
280
+ },
281
+ "execution_count": 10,
282
+ "metadata": {},
283
+ "output_type": "execute_result"
284
+ }
285
+ ],
286
+ "source": [
287
+ "df_model"
288
+ ]
289
+ },
290
+ {
291
+ "cell_type": "code",
292
+ "execution_count": 19,
293
+ "id": "b796e14e",
294
+ "metadata": {},
295
+ "outputs": [
296
+ {
297
+ "data": {
298
+ "text/plain": [
299
+ "DecisionTreeRegressor()"
300
+ ]
301
+ },
302
+ "execution_count": 19,
303
+ "metadata": {},
304
+ "output_type": "execute_result"
305
+ }
306
+ ],
307
+ "source": [
308
+ "#fit model\n",
309
+ "df_model.fit(X,y)"
310
+ ]
311
+ },
312
+ {
313
+ "cell_type": "code",
314
+ "execution_count": 22,
315
+ "id": "650afd98",
316
+ "metadata": {},
317
+ "outputs": [],
318
+ "source": [
319
+ "#calculateing the MAE\n",
320
+ "from sklearn.metrics import mean_absolute_error"
321
+ ]
322
+ },
323
+ {
324
+ "cell_type": "code",
325
+ "execution_count": 23,
326
+ "id": "b8292980",
327
+ "metadata": {},
328
+ "outputs": [],
329
+ "source": [
330
+ "predicted_sales=df_model.predict(X)"
331
+ ]
332
+ },
333
+ {
334
+ "cell_type": "code",
335
+ "execution_count": 28,
336
+ "id": "776ea1bb",
337
+ "metadata": {},
338
+ "outputs": [
339
+ {
340
+ "data": {
341
+ "text/plain": [
342
+ "array([22.1, 10.4, 9.3, 18.5, 12.9, 7.2, 11.8, 13.2, 4.8, 10.6, 8.6,\n",
343
+ " 17.4, 9.2, 9.7, 19. , 22.4, 12.5, 24.4, 11.3, 14.6, 18. , 12.5,\n",
344
+ " 5.6, 15.5, 9.7, 12. , 15. , 15.9, 18.9, 10.5, 21.4, 11.9, 9.6,\n",
345
+ " 17.4, 9.5, 12.8, 25.4, 14.7, 10.1, 21.5, 16.6, 17.1, 20.7, 12.9,\n",
346
+ " 8.5, 14.9, 10.6, 23.2, 14.8, 9.7, 11.4, 10.7, 22.6, 21.2, 20.2,\n",
347
+ " 23.7, 5.5, 13.2, 23.8, 18.4, 8.1, 24.2, 15.7, 14. , 18. , 9.3,\n",
348
+ " 9.5, 13.4, 18.9, 22.3, 18.3, 12.4, 8.8, 11. , 17. , 8.7, 6.9,\n",
349
+ " 14.2, 5.3, 11. , 11.8, 12.3, 11.3, 13.6, 21.7, 15.2, 12. , 16. ,\n",
350
+ " 12.9, 16.7, 11.2, 7.3, 19.4, 22.2, 11.5, 16.9, 11.7, 15.5, 25.4,\n",
351
+ " 17.2, 11.7, 23.8, 14.8, 14.7, 20.7, 19.2, 7.2, 8.7, 5.3, 19.8,\n",
352
+ " 13.4, 21.8, 14.1, 15.9, 14.6, 12.6, 12.2, 9.4, 15.9, 6.6, 15.5,\n",
353
+ " 7. , 11.6, 15.2, 19.7, 10.6, 6.6, 8.8, 24.7, 9.7, 1.6, 12.7,\n",
354
+ " 5.7, 19.6, 10.8, 11.6, 9.5, 20.8, 9.6, 20.7, 10.9, 19.2, 20.1,\n",
355
+ " 10.4, 11.4, 10.3, 13.2, 25.4, 10.9, 10.1, 16.1, 11.6, 16.6, 19. ,\n",
356
+ " 15.6, 3.2, 15.3, 10.1, 7.3, 12.9, 14.4, 13.3, 14.9, 18. , 11.9,\n",
357
+ " 11.9, 8. , 12.2, 17.1, 15. , 8.4, 14.5, 7.6, 11.7, 11.5, 27. ,\n",
358
+ " 20.2, 11.7, 11.8, 12.6, 10.5, 12.2, 8.7, 26.2, 17.6, 22.6, 10.3,\n",
359
+ " 17.3, 15.9, 6.7, 10.8, 9.9, 5.9, 19.6, 17.3, 7.6, 9.7, 12.8,\n",
360
+ " 25.5, 13.4])"
361
+ ]
362
+ },
363
+ "execution_count": 28,
364
+ "metadata": {},
365
+ "output_type": "execute_result"
366
+ }
367
+ ],
368
+ "source": [
369
+ "predicted_sales"
370
+ ]
371
+ },
372
+ {
373
+ "cell_type": "code",
374
+ "execution_count": 29,
375
+ "id": "785db183",
376
+ "metadata": {},
377
+ "outputs": [
378
+ {
379
+ "data": {
380
+ "text/plain": [
381
+ "5.329070518200751e-17"
382
+ ]
383
+ },
384
+ "execution_count": 29,
385
+ "metadata": {},
386
+ "output_type": "execute_result"
387
+ }
388
+ ],
389
+ "source": [
390
+ "mean_absolute_error(y,predicted_sales)"
391
+ ]
392
+ },
393
+ {
394
+ "cell_type": "markdown",
395
+ "id": "7c56805f",
396
+ "metadata": {},
397
+ "source": [
398
+ "# splitting the data"
399
+ ]
400
+ },
401
+ {
402
+ "cell_type": "code",
403
+ "execution_count": 55,
404
+ "id": "c9a97954",
405
+ "metadata": {},
406
+ "outputs": [],
407
+ "source": []
408
+ },
409
+ {
410
+ "cell_type": "code",
411
+ "execution_count": 35,
412
+ "id": "592afda8",
413
+ "metadata": {},
414
+ "outputs": [],
415
+ "source": [
416
+ "#split the data and make ordiction on the slaes\n",
417
+ "from sklearn.model_selection import train_test_split\n",
418
+ "train_X, value_X, train_y, value_y = train_test_split(X,y,random_state=0)"
419
+ ]
420
+ },
421
+ {
422
+ "cell_type": "code",
423
+ "execution_count": 37,
424
+ "id": "9b16c96b",
425
+ "metadata": {},
426
+ "outputs": [
427
+ {
428
+ "name": "stdout",
429
+ "output_type": "stream",
430
+ "text": [
431
+ " Unnamed: 0 TV radio newspaper sales\n",
432
+ "71 72 109.8 14.3 31.7 12.4\n",
433
+ "124 125 229.5 32.3 74.2 19.7\n",
434
+ "184 185 253.8 21.3 30.0 17.6\n",
435
+ "97 98 184.9 21.0 22.0 15.5\n",
436
+ "149 150 44.7 25.8 20.6 10.1\n"
437
+ ]
438
+ }
439
+ ],
440
+ "source": [
441
+ "#model defining for the splitted data\n",
442
+ "print(train_X.head())"
443
+ ]
444
+ },
445
+ {
446
+ "cell_type": "code",
447
+ "execution_count": 42,
448
+ "id": "ccb49d15",
449
+ "metadata": {},
450
+ "outputs": [
451
+ {
452
+ "name": "stdout",
453
+ "output_type": "stream",
454
+ "text": [
455
+ " Unnamed: 0 TV radio newspaper sales\n",
456
+ "18 19 69.2 20.5 18.3 11.3\n",
457
+ "170 171 50.0 11.6 18.4 8.4\n",
458
+ "107 108 90.4 0.3 23.2 8.7\n",
459
+ "98 99 289.7 42.3 51.2 25.4\n",
460
+ "177 178 170.2 7.8 35.2 11.7\n"
461
+ ]
462
+ }
463
+ ],
464
+ "source": [
465
+ "print(value_X.head())"
466
+ ]
467
+ },
468
+ {
469
+ "cell_type": "code",
470
+ "execution_count": 38,
471
+ "id": "1cf49a81",
472
+ "metadata": {},
473
+ "outputs": [
474
+ {
475
+ "name": "stdout",
476
+ "output_type": "stream",
477
+ "text": [
478
+ "71 12.4\n",
479
+ "124 19.7\n",
480
+ "184 17.6\n",
481
+ "97 15.5\n",
482
+ "149 10.1\n",
483
+ "Name: sales, dtype: float64\n"
484
+ ]
485
+ }
486
+ ],
487
+ "source": [
488
+ "print(train_y.head())"
489
+ ]
490
+ },
491
+ {
492
+ "cell_type": "code",
493
+ "execution_count": 43,
494
+ "id": "2a43ddbe",
495
+ "metadata": {},
496
+ "outputs": [
497
+ {
498
+ "name": "stdout",
499
+ "output_type": "stream",
500
+ "text": [
501
+ "18 11.3\n",
502
+ "170 8.4\n",
503
+ "107 8.7\n",
504
+ "98 25.4\n",
505
+ "177 11.7\n",
506
+ "Name: sales, dtype: float64\n"
507
+ ]
508
+ }
509
+ ],
510
+ "source": [
511
+ "print(value_y.head())"
512
+ ]
513
+ },
514
+ {
515
+ "cell_type": "code",
516
+ "execution_count": 44,
517
+ "id": "1d693cd4",
518
+ "metadata": {},
519
+ "outputs": [],
520
+ "source": [
521
+ "model_df2=DecisionTreeRegressor()"
522
+ ]
523
+ },
524
+ {
525
+ "cell_type": "code",
526
+ "execution_count": 54,
527
+ "id": "1c9fa0e3",
528
+ "metadata": {},
529
+ "outputs": [
530
+ {
531
+ "data": {
532
+ "text/plain": [
533
+ "DecisionTreeRegressor()"
534
+ ]
535
+ },
536
+ "execution_count": 54,
537
+ "metadata": {},
538
+ "output_type": "execute_result"
539
+ }
540
+ ],
541
+ "source": [
542
+ "model_df2.fit(train_X,train_y)"
543
+ ]
544
+ },
545
+ {
546
+ "cell_type": "code",
547
+ "execution_count": 48,
548
+ "id": "281c1e58",
549
+ "metadata": {},
550
+ "outputs": [],
551
+ "source": [
552
+ "df2_predict=model_df2.predict(value_X)"
553
+ ]
554
+ },
555
+ {
556
+ "cell_type": "code",
557
+ "execution_count": 49,
558
+ "id": "91b05122",
559
+ "metadata": {},
560
+ "outputs": [
561
+ {
562
+ "data": {
563
+ "text/plain": [
564
+ "array([11.3, 8.6, 8.6, 25.5, 11.7, 8.6, 7.3, 13.4, 9.3, 16.9, 24.4,\n",
565
+ " 10.9, 11. , 15.7, 11.8, 13.2, 17.6, 3.2, 14.7, 16.7, 25.4, 10.3,\n",
566
+ " 15.2, 12.9, 8.6, 15.3, 12.5, 22.6, 11.6, 8.6, 12.6, 23.8, 15.9,\n",
567
+ " 21.5, 5.5, 6.6, 9.7, 12.9, 13.2, 7.3, 10.9, 9.5, 15.2, 15.9,\n",
568
+ " 17.4, 14.2, 5.3, 8. , 16. , 11. ])"
569
+ ]
570
+ },
571
+ "execution_count": 49,
572
+ "metadata": {},
573
+ "output_type": "execute_result"
574
+ }
575
+ ],
576
+ "source": [
577
+ "df2_predict"
578
+ ]
579
+ },
580
+ {
581
+ "cell_type": "code",
582
+ "execution_count": 51,
583
+ "id": "22a076e6",
584
+ "metadata": {},
585
+ "outputs": [],
586
+ "source": [
587
+ "mae=mean_absolute_error(value_y,df2_predict)"
588
+ ]
589
+ },
590
+ {
591
+ "cell_type": "code",
592
+ "execution_count": 52,
593
+ "id": "4584d26d",
594
+ "metadata": {},
595
+ "outputs": [
596
+ {
597
+ "data": {
598
+ "text/plain": [
599
+ "0.20800000000000002"
600
+ ]
601
+ },
602
+ "execution_count": 52,
603
+ "metadata": {},
604
+ "output_type": "execute_result"
605
+ }
606
+ ],
607
+ "source": [
608
+ "mae"
609
+ ]
610
+ }
611
+ ],
612
+ "metadata": {
613
+ "kernelspec": {
614
+ "display_name": "Python 3 (ipykernel)",
615
+ "language": "python",
616
+ "name": "python3"
617
+ },
618
+ "language_info": {
619
+ "codemirror_mode": {
620
+ "name": "ipython",
621
+ "version": 3
622
+ },
623
+ "file_extension": ".py",
624
+ "mimetype": "text/x-python",
625
+ "name": "python",
626
+ "nbconvert_exporter": "python",
627
+ "pygments_lexer": "ipython3",
628
+ "version": "3.9.12"
629
+ }
630
+ },
631
+ "nbformat": 4,
632
+ "nbformat_minor": 5
633
+ }