├── 1
├── README.md
└── DMBI_Pract_1.ipynb
├── A 3
└── README.md
├── README.md
└── weather-prediction-model-precision-comparison.ipynb
/1/README.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/A 3/README.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Weather-Forecasting-Using-ML
2 | The aim of this project to see to do the prediction of the weather using the different types of machine learning model like Decision Tree Regressor, Random Forest Regressor and Extreme Gradient Boosting.
3 |
--------------------------------------------------------------------------------
/weather-prediction-model-precision-comparison.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "id": "e1f99117",
6 | "metadata": {
7 | "papermill": {
8 | "duration": 0.018583,
9 | "end_time": "2022-01-17T18:28:23.555057",
10 | "exception": false,
11 | "start_time": "2022-01-17T18:28:23.536474",
12 | "status": "completed"
13 | },
14 | "tags": []
15 | },
16 | "source": [
17 | "# **Weather Forecasting**\n",
18 | "\n",
19 | "Importing some important utilities!"
20 | ]
21 | },
22 | {
23 | "cell_type": "code",
24 | "execution_count": 1,
25 | "id": "7f3b5a08",
26 | "metadata": {
27 | "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19",
28 | "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5",
29 | "execution": {
30 | "iopub.execute_input": "2022-01-17T18:28:23.593738Z",
31 | "iopub.status.busy": "2022-01-17T18:28:23.592438Z",
32 | "iopub.status.idle": "2022-01-17T18:28:24.680688Z",
33 | "shell.execute_reply": "2022-01-17T18:28:24.679970Z",
34 | "shell.execute_reply.started": "2022-01-17T18:26:27.782932Z"
35 | },
36 | "papermill": {
37 | "duration": 1.10893,
38 | "end_time": "2022-01-17T18:28:24.680910",
39 | "exception": false,
40 | "start_time": "2022-01-17T18:28:23.571980",
41 | "status": "completed"
42 | },
43 | "tags": []
44 | },
45 | "outputs": [
46 | {
47 | "name": "stdout",
48 | "output_type": "stream",
49 | "text": [
50 | "/kaggle/input/weather-prediction/seattle-weather.csv\n"
51 | ]
52 | }
53 | ],
54 | "source": [
55 | "import numpy as np \n",
56 | "import pandas as pd \n",
57 | "import matplotlib.pyplot as plt\n",
58 | "import seaborn as sns\n",
59 | "\n",
60 | "\n",
61 | "import os\n",
62 | "for dirname, _, filenames in os.walk('/kaggle/input'):\n",
63 | " for filename in filenames:\n",
64 | " print(os.path.join(dirname, filename))"
65 | ]
66 | },
67 | {
68 | "cell_type": "code",
69 | "execution_count": 2,
70 | "id": "a0a15ca8",
71 | "metadata": {
72 | "execution": {
73 | "iopub.execute_input": "2022-01-17T18:28:24.720626Z",
74 | "iopub.status.busy": "2022-01-17T18:28:24.719926Z",
75 | "iopub.status.idle": "2022-01-17T18:28:24.738484Z",
76 | "shell.execute_reply": "2022-01-17T18:28:24.737856Z",
77 | "shell.execute_reply.started": "2022-01-17T18:26:28.020077Z"
78 | },
79 | "papermill": {
80 | "duration": 0.040304,
81 | "end_time": "2022-01-17T18:28:24.738646",
82 | "exception": false,
83 | "start_time": "2022-01-17T18:28:24.698342",
84 | "status": "completed"
85 | },
86 | "tags": []
87 | },
88 | "outputs": [],
89 | "source": [
90 | "df=pd.read_csv(\"../input/weather-prediction/seattle-weather.csv\")"
91 | ]
92 | },
93 | {
94 | "cell_type": "markdown",
95 | "id": "22850560",
96 | "metadata": {
97 | "papermill": {
98 | "duration": 0.0164,
99 | "end_time": "2022-01-17T18:28:24.771982",
100 | "exception": false,
101 | "start_time": "2022-01-17T18:28:24.755582",
102 | "status": "completed"
103 | },
104 | "tags": []
105 | },
106 | "source": [
107 | "Checking whether the dataset got imported to the notebook."
108 | ]
109 | },
110 | {
111 | "cell_type": "code",
112 | "execution_count": 3,
113 | "id": "8338073a",
114 | "metadata": {
115 | "execution": {
116 | "iopub.execute_input": "2022-01-17T18:28:24.809039Z",
117 | "iopub.status.busy": "2022-01-17T18:28:24.808356Z",
118 | "iopub.status.idle": "2022-01-17T18:28:24.815963Z",
119 | "shell.execute_reply": "2022-01-17T18:28:24.816486Z",
120 | "shell.execute_reply.started": "2022-01-17T18:26:28.431264Z"
121 | },
122 | "papermill": {
123 | "duration": 0.027906,
124 | "end_time": "2022-01-17T18:28:24.816651",
125 | "exception": false,
126 | "start_time": "2022-01-17T18:28:24.788745",
127 | "status": "completed"
128 | },
129 | "tags": []
130 | },
131 | "outputs": [
132 | {
133 | "data": {
134 | "text/plain": [
135 | "(1461, 6)"
136 | ]
137 | },
138 | "execution_count": 3,
139 | "metadata": {},
140 | "output_type": "execute_result"
141 | }
142 | ],
143 | "source": [
144 | "df.shape"
145 | ]
146 | },
147 | {
148 | "cell_type": "code",
149 | "execution_count": 4,
150 | "id": "3b296fa7",
151 | "metadata": {
152 | "execution": {
153 | "iopub.execute_input": "2022-01-17T18:28:24.854271Z",
154 | "iopub.status.busy": "2022-01-17T18:28:24.853574Z",
155 | "iopub.status.idle": "2022-01-17T18:28:24.873794Z",
156 | "shell.execute_reply": "2022-01-17T18:28:24.874328Z",
157 | "shell.execute_reply.started": "2022-01-17T18:26:28.655704Z"
158 | },
159 | "papermill": {
160 | "duration": 0.040555,
161 | "end_time": "2022-01-17T18:28:24.874504",
162 | "exception": false,
163 | "start_time": "2022-01-17T18:28:24.833949",
164 | "status": "completed"
165 | },
166 | "tags": []
167 | },
168 | "outputs": [
169 | {
170 | "data": {
171 | "text/html": [
172 | "
\n",
173 | "\n",
186 | "
\n",
187 | " \n",
188 | " \n",
189 | " | \n",
190 | " date | \n",
191 | " precipitation | \n",
192 | " temp_max | \n",
193 | " temp_min | \n",
194 | " wind | \n",
195 | " weather | \n",
196 | "
\n",
197 | " \n",
198 | " \n",
199 | " \n",
200 | " | 0 | \n",
201 | " 2012-01-01 | \n",
202 | " 0.0 | \n",
203 | " 12.8 | \n",
204 | " 5.0 | \n",
205 | " 4.7 | \n",
206 | " drizzle | \n",
207 | "
\n",
208 | " \n",
209 | " | 1 | \n",
210 | " 2012-01-02 | \n",
211 | " 10.9 | \n",
212 | " 10.6 | \n",
213 | " 2.8 | \n",
214 | " 4.5 | \n",
215 | " rain | \n",
216 | "
\n",
217 | " \n",
218 | " | 2 | \n",
219 | " 2012-01-03 | \n",
220 | " 0.8 | \n",
221 | " 11.7 | \n",
222 | " 7.2 | \n",
223 | " 2.3 | \n",
224 | " rain | \n",
225 | "
\n",
226 | " \n",
227 | " | 3 | \n",
228 | " 2012-01-04 | \n",
229 | " 20.3 | \n",
230 | " 12.2 | \n",
231 | " 5.6 | \n",
232 | " 4.7 | \n",
233 | " rain | \n",
234 | "
\n",
235 | " \n",
236 | " | 4 | \n",
237 | " 2012-01-05 | \n",
238 | " 1.3 | \n",
239 | " 8.9 | \n",
240 | " 2.8 | \n",
241 | " 6.1 | \n",
242 | " rain | \n",
243 | "
\n",
244 | " \n",
245 | "
\n",
246 | "
"
247 | ],
248 | "text/plain": [
249 | " date precipitation temp_max temp_min wind weather\n",
250 | "0 2012-01-01 0.0 12.8 5.0 4.7 drizzle\n",
251 | "1 2012-01-02 10.9 10.6 2.8 4.5 rain\n",
252 | "2 2012-01-03 0.8 11.7 7.2 2.3 rain\n",
253 | "3 2012-01-04 20.3 12.2 5.6 4.7 rain\n",
254 | "4 2012-01-05 1.3 8.9 2.8 6.1 rain"
255 | ]
256 | },
257 | "execution_count": 4,
258 | "metadata": {},
259 | "output_type": "execute_result"
260 | }
261 | ],
262 | "source": [
263 | "df.head()"
264 | ]
265 | },
266 | {
267 | "cell_type": "code",
268 | "execution_count": 5,
269 | "id": "9e31c1ae",
270 | "metadata": {
271 | "execution": {
272 | "iopub.execute_input": "2022-01-17T18:28:24.915262Z",
273 | "iopub.status.busy": "2022-01-17T18:28:24.914568Z",
274 | "iopub.status.idle": "2022-01-17T18:28:24.945122Z",
275 | "shell.execute_reply": "2022-01-17T18:28:24.945644Z",
276 | "shell.execute_reply.started": "2022-01-17T18:26:28.863043Z"
277 | },
278 | "papermill": {
279 | "duration": 0.052648,
280 | "end_time": "2022-01-17T18:28:24.945844",
281 | "exception": false,
282 | "start_time": "2022-01-17T18:28:24.893196",
283 | "status": "completed"
284 | },
285 | "tags": []
286 | },
287 | "outputs": [
288 | {
289 | "data": {
290 | "text/html": [
291 | "\n",
292 | "\n",
305 | "
\n",
306 | " \n",
307 | " \n",
308 | " | \n",
309 | " precipitation | \n",
310 | " temp_max | \n",
311 | " temp_min | \n",
312 | " wind | \n",
313 | "
\n",
314 | " \n",
315 | " \n",
316 | " \n",
317 | " | count | \n",
318 | " 1461.000000 | \n",
319 | " 1461.000000 | \n",
320 | " 1461.000000 | \n",
321 | " 1461.000000 | \n",
322 | "
\n",
323 | " \n",
324 | " | mean | \n",
325 | " 3.029432 | \n",
326 | " 16.439083 | \n",
327 | " 8.234771 | \n",
328 | " 3.241136 | \n",
329 | "
\n",
330 | " \n",
331 | " | std | \n",
332 | " 6.680194 | \n",
333 | " 7.349758 | \n",
334 | " 5.023004 | \n",
335 | " 1.437825 | \n",
336 | "
\n",
337 | " \n",
338 | " | min | \n",
339 | " 0.000000 | \n",
340 | " -1.600000 | \n",
341 | " -7.100000 | \n",
342 | " 0.400000 | \n",
343 | "
\n",
344 | " \n",
345 | " | 25% | \n",
346 | " 0.000000 | \n",
347 | " 10.600000 | \n",
348 | " 4.400000 | \n",
349 | " 2.200000 | \n",
350 | "
\n",
351 | " \n",
352 | " | 50% | \n",
353 | " 0.000000 | \n",
354 | " 15.600000 | \n",
355 | " 8.300000 | \n",
356 | " 3.000000 | \n",
357 | "
\n",
358 | " \n",
359 | " | 75% | \n",
360 | " 2.800000 | \n",
361 | " 22.200000 | \n",
362 | " 12.200000 | \n",
363 | " 4.000000 | \n",
364 | "
\n",
365 | " \n",
366 | " | max | \n",
367 | " 55.900000 | \n",
368 | " 35.600000 | \n",
369 | " 18.300000 | \n",
370 | " 9.500000 | \n",
371 | "
\n",
372 | " \n",
373 | "
\n",
374 | "
"
375 | ],
376 | "text/plain": [
377 | " precipitation temp_max temp_min wind\n",
378 | "count 1461.000000 1461.000000 1461.000000 1461.000000\n",
379 | "mean 3.029432 16.439083 8.234771 3.241136\n",
380 | "std 6.680194 7.349758 5.023004 1.437825\n",
381 | "min 0.000000 -1.600000 -7.100000 0.400000\n",
382 | "25% 0.000000 10.600000 4.400000 2.200000\n",
383 | "50% 0.000000 15.600000 8.300000 3.000000\n",
384 | "75% 2.800000 22.200000 12.200000 4.000000\n",
385 | "max 55.900000 35.600000 18.300000 9.500000"
386 | ]
387 | },
388 | "execution_count": 5,
389 | "metadata": {},
390 | "output_type": "execute_result"
391 | }
392 | ],
393 | "source": [
394 | "df.describe()"
395 | ]
396 | },
397 | {
398 | "cell_type": "code",
399 | "execution_count": 6,
400 | "id": "e9199357",
401 | "metadata": {
402 | "execution": {
403 | "iopub.execute_input": "2022-01-17T18:28:24.986316Z",
404 | "iopub.status.busy": "2022-01-17T18:28:24.985541Z",
405 | "iopub.status.idle": "2022-01-17T18:28:25.001327Z",
406 | "shell.execute_reply": "2022-01-17T18:28:25.001911Z",
407 | "shell.execute_reply.started": "2022-01-17T18:26:29.075592Z"
408 | },
409 | "papermill": {
410 | "duration": 0.037571,
411 | "end_time": "2022-01-17T18:28:25.002095",
412 | "exception": false,
413 | "start_time": "2022-01-17T18:28:24.964524",
414 | "status": "completed"
415 | },
416 | "tags": []
417 | },
418 | "outputs": [
419 | {
420 | "name": "stdout",
421 | "output_type": "stream",
422 | "text": [
423 | "\n",
424 | "RangeIndex: 1461 entries, 0 to 1460\n",
425 | "Data columns (total 6 columns):\n",
426 | " # Column Non-Null Count Dtype \n",
427 | "--- ------ -------------- ----- \n",
428 | " 0 date 1461 non-null object \n",
429 | " 1 precipitation 1461 non-null float64\n",
430 | " 2 temp_max 1461 non-null float64\n",
431 | " 3 temp_min 1461 non-null float64\n",
432 | " 4 wind 1461 non-null float64\n",
433 | " 5 weather 1461 non-null object \n",
434 | "dtypes: float64(4), object(2)\n",
435 | "memory usage: 68.6+ KB\n"
436 | ]
437 | }
438 | ],
439 | "source": [
440 | "df.info()"
441 | ]
442 | },
443 | {
444 | "cell_type": "code",
445 | "execution_count": 7,
446 | "id": "7170b5b1",
447 | "metadata": {
448 | "execution": {
449 | "iopub.execute_input": "2022-01-17T18:28:25.042985Z",
450 | "iopub.status.busy": "2022-01-17T18:28:25.042234Z",
451 | "iopub.status.idle": "2022-01-17T18:28:25.050362Z",
452 | "shell.execute_reply": "2022-01-17T18:28:25.051172Z",
453 | "shell.execute_reply.started": "2022-01-17T18:26:29.270323Z"
454 | },
455 | "papermill": {
456 | "duration": 0.030259,
457 | "end_time": "2022-01-17T18:28:25.051393",
458 | "exception": false,
459 | "start_time": "2022-01-17T18:28:25.021134",
460 | "status": "completed"
461 | },
462 | "tags": []
463 | },
464 | "outputs": [
465 | {
466 | "data": {
467 | "text/plain": [
468 | "date 0\n",
469 | "precipitation 0\n",
470 | "temp_max 0\n",
471 | "temp_min 0\n",
472 | "wind 0\n",
473 | "weather 0\n",
474 | "dtype: int64"
475 | ]
476 | },
477 | "execution_count": 7,
478 | "metadata": {},
479 | "output_type": "execute_result"
480 | }
481 | ],
482 | "source": [
483 | "df.isnull().sum()"
484 | ]
485 | },
486 | {
487 | "cell_type": "markdown",
488 | "id": "c5033ab6",
489 | "metadata": {
490 | "papermill": {
491 | "duration": 0.01838,
492 | "end_time": "2022-01-17T18:28:25.089311",
493 | "exception": false,
494 | "start_time": "2022-01-17T18:28:25.070931",
495 | "status": "completed"
496 | },
497 | "tags": []
498 | },
499 | "source": [
500 | "There are no null values in the data set."
501 | ]
502 | },
503 | {
504 | "cell_type": "markdown",
505 | "id": "d7abbe40",
506 | "metadata": {
507 | "papermill": {
508 | "duration": 0.018787,
509 | "end_time": "2022-01-17T18:28:25.127355",
510 | "exception": false,
511 | "start_time": "2022-01-17T18:28:25.108568",
512 | "status": "completed"
513 | },
514 | "tags": []
515 | },
516 | "source": [
517 | "# Data Pre-Processing:\n",
518 | "The column weather contains the data value in the string form and we need to predict the weather data so for that we need to process the data."
519 | ]
520 | },
521 | {
522 | "cell_type": "code",
523 | "execution_count": 8,
524 | "id": "c9c58d80",
525 | "metadata": {
526 | "execution": {
527 | "iopub.execute_input": "2022-01-17T18:28:25.169436Z",
528 | "iopub.status.busy": "2022-01-17T18:28:25.168474Z",
529 | "iopub.status.idle": "2022-01-17T18:28:25.313363Z",
530 | "shell.execute_reply": "2022-01-17T18:28:25.312694Z",
531 | "shell.execute_reply.started": "2022-01-17T18:26:29.864666Z"
532 | },
533 | "papermill": {
534 | "duration": 0.167064,
535 | "end_time": "2022-01-17T18:28:25.313519",
536 | "exception": false,
537 | "start_time": "2022-01-17T18:28:25.146455",
538 | "status": "completed"
539 | },
540 | "tags": []
541 | },
542 | "outputs": [],
543 | "source": [
544 | "from sklearn.preprocessing import LabelEncoder\n",
545 | "\n",
546 | "df['weather']=LabelEncoder().fit_transform(df['weather'])"
547 | ]
548 | },
549 | {
550 | "cell_type": "markdown",
551 | "id": "d0e6fb39",
552 | "metadata": {
553 | "papermill": {
554 | "duration": 0.018578,
555 | "end_time": "2022-01-17T18:28:25.352428",
556 | "exception": false,
557 | "start_time": "2022-01-17T18:28:25.333850",
558 | "status": "completed"
559 | },
560 | "tags": []
561 | },
562 | "source": [
563 | "# Data Visualization:"
564 | ]
565 | },
566 | {
567 | "cell_type": "code",
568 | "execution_count": 9,
569 | "id": "6838e1f5",
570 | "metadata": {
571 | "execution": {
572 | "iopub.execute_input": "2022-01-17T18:28:25.399815Z",
573 | "iopub.status.busy": "2022-01-17T18:28:25.399116Z",
574 | "iopub.status.idle": "2022-01-17T18:28:25.720028Z",
575 | "shell.execute_reply": "2022-01-17T18:28:25.719453Z",
576 | "shell.execute_reply.started": "2022-01-17T18:26:30.270184Z"
577 | },
578 | "papermill": {
579 | "duration": 0.348987,
580 | "end_time": "2022-01-17T18:28:25.720179",
581 | "exception": false,
582 | "start_time": "2022-01-17T18:28:25.371192",
583 | "status": "completed"
584 | },
585 | "tags": []
586 | },
587 | "outputs": [
588 | {
589 | "data": {
590 | "text/plain": [
591 | ""
592 | ]
593 | },
594 | "execution_count": 9,
595 | "metadata": {},
596 | "output_type": "execute_result"
597 | },
598 | {
599 | "data": {
600 | "image/png": "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\n",
601 | "text/plain": [
602 | ""
603 | ]
604 | },
605 | "metadata": {
606 | "needs_background": "light"
607 | },
608 | "output_type": "display_data"
609 | }
610 | ],
611 | "source": [
612 | "fig, axes=plt.subplots(figsize=(8, 6))\n",
613 | "sns.heatmap(df.corr(), ax=axes)"
614 | ]
615 | },
616 | {
617 | "cell_type": "markdown",
618 | "id": "b54b4bc5",
619 | "metadata": {
620 | "papermill": {
621 | "duration": 0.019975,
622 | "end_time": "2022-01-17T18:28:25.760945",
623 | "exception": false,
624 | "start_time": "2022-01-17T18:28:25.740970",
625 | "status": "completed"
626 | },
627 | "tags": []
628 | },
629 | "source": [
630 | "We can observe that wind and preception are weakly co-related.temp_max and wind are negatively correlated means they move in the opposite direction."
631 | ]
632 | },
633 | {
634 | "cell_type": "markdown",
635 | "id": "6199b721",
636 | "metadata": {
637 | "papermill": {
638 | "duration": 0.020226,
639 | "end_time": "2022-01-17T18:28:25.801083",
640 | "exception": false,
641 | "start_time": "2022-01-17T18:28:25.780857",
642 | "status": "completed"
643 | },
644 | "tags": []
645 | },
646 | "source": [
647 | "# Machine Learning Model for Prediction of Weather..."
648 | ]
649 | },
650 | {
651 | "cell_type": "code",
652 | "execution_count": 10,
653 | "id": "e03df9e9",
654 | "metadata": {
655 | "execution": {
656 | "iopub.execute_input": "2022-01-17T18:28:25.849813Z",
657 | "iopub.status.busy": "2022-01-17T18:28:25.849110Z",
658 | "iopub.status.idle": "2022-01-17T18:28:25.909728Z",
659 | "shell.execute_reply": "2022-01-17T18:28:25.910319Z",
660 | "shell.execute_reply.started": "2022-01-17T18:26:30.871953Z"
661 | },
662 | "papermill": {
663 | "duration": 0.087338,
664 | "end_time": "2022-01-17T18:28:25.910505",
665 | "exception": false,
666 | "start_time": "2022-01-17T18:28:25.823167",
667 | "status": "completed"
668 | },
669 | "tags": []
670 | },
671 | "outputs": [],
672 | "source": [
673 | "from sklearn.model_selection import train_test_split\n",
674 | "features=[\"precipitation\", \"temp_max\", \"temp_min\", \"wind\"]\n",
675 | "X=df[features]\n",
676 | "y=df.weather\n",
677 | "train_X, test_X, train_y, test_y = train_test_split(X, y,random_state = 0)"
678 | ]
679 | },
680 | {
681 | "cell_type": "markdown",
682 | "id": "3412f643",
683 | "metadata": {
684 | "papermill": {
685 | "duration": 0.020598,
686 | "end_time": "2022-01-17T18:28:25.952976",
687 | "exception": false,
688 | "start_time": "2022-01-17T18:28:25.932378",
689 | "status": "completed"
690 | },
691 | "tags": []
692 | },
693 | "source": [
694 | "# Decision Tree Regressor:"
695 | ]
696 | },
697 | {
698 | "cell_type": "code",
699 | "execution_count": 11,
700 | "id": "b6ada6af",
701 | "metadata": {
702 | "execution": {
703 | "iopub.execute_input": "2022-01-17T18:28:25.999213Z",
704 | "iopub.status.busy": "2022-01-17T18:28:25.998361Z",
705 | "iopub.status.idle": "2022-01-17T18:28:26.183378Z",
706 | "shell.execute_reply": "2022-01-17T18:28:26.183960Z",
707 | "shell.execute_reply.started": "2022-01-17T18:27:52.558428Z"
708 | },
709 | "papermill": {
710 | "duration": 0.211343,
711 | "end_time": "2022-01-17T18:28:26.184155",
712 | "exception": false,
713 | "start_time": "2022-01-17T18:28:25.972812",
714 | "status": "completed"
715 | },
716 | "tags": []
717 | },
718 | "outputs": [
719 | {
720 | "name": "stdout",
721 | "output_type": "stream",
722 | "text": [
723 | "Mean Absolute Error: 0.713115\n"
724 | ]
725 | }
726 | ],
727 | "source": [
728 | "from sklearn.tree import DecisionTreeRegressor\n",
729 | "from sklearn.metrics import mean_absolute_error\n",
730 | "\n",
731 | "model1=DecisionTreeRegressor(random_state=1)\n",
732 | "model1.fit(train_X, train_y)\n",
733 | "pred1=model1.predict(test_X)\n",
734 | "print(\"Mean Absolute Error: %f\" %(mean_absolute_error(test_y, pred1)))"
735 | ]
736 | },
737 | {
738 | "cell_type": "markdown",
739 | "id": "8cdfc40b",
740 | "metadata": {
741 | "papermill": {
742 | "duration": 0.020228,
743 | "end_time": "2022-01-17T18:28:26.224737",
744 | "exception": false,
745 | "start_time": "2022-01-17T18:28:26.204509",
746 | "status": "completed"
747 | },
748 | "tags": []
749 | },
750 | "source": [
751 | "# Random Forest Regressor:"
752 | ]
753 | },
754 | {
755 | "cell_type": "code",
756 | "execution_count": 12,
757 | "id": "8762a4b2",
758 | "metadata": {
759 | "execution": {
760 | "iopub.execute_input": "2022-01-17T18:28:26.271563Z",
761 | "iopub.status.busy": "2022-01-17T18:28:26.269644Z",
762 | "iopub.status.idle": "2022-01-17T18:28:26.603478Z",
763 | "shell.execute_reply": "2022-01-17T18:28:26.602952Z",
764 | "shell.execute_reply.started": "2022-01-17T18:27:54.071643Z"
765 | },
766 | "papermill": {
767 | "duration": 0.357538,
768 | "end_time": "2022-01-17T18:28:26.603623",
769 | "exception": false,
770 | "start_time": "2022-01-17T18:28:26.246085",
771 | "status": "completed"
772 | },
773 | "tags": []
774 | },
775 | "outputs": [
776 | {
777 | "name": "stdout",
778 | "output_type": "stream",
779 | "text": [
780 | "Mean Absolute Error: 0.694026\n"
781 | ]
782 | }
783 | ],
784 | "source": [
785 | "from sklearn.ensemble import RandomForestRegressor\n",
786 | "\n",
787 | "model2=RandomForestRegressor(random_state=1)\n",
788 | "model2.fit(train_X, train_y)\n",
789 | "pred2=model2.predict(test_X)\n",
790 | "print(\"Mean Absolute Error: %f\" %(mean_absolute_error(test_y, pred2)))\n",
791 | " "
792 | ]
793 | },
794 | {
795 | "cell_type": "markdown",
796 | "id": "491907bf",
797 | "metadata": {
798 | "papermill": {
799 | "duration": 0.020355,
800 | "end_time": "2022-01-17T18:28:26.644903",
801 | "exception": false,
802 | "start_time": "2022-01-17T18:28:26.624548",
803 | "status": "completed"
804 | },
805 | "tags": []
806 | },
807 | "source": [
808 | "# Extreme Gradient Regressor:"
809 | ]
810 | },
811 | {
812 | "cell_type": "code",
813 | "execution_count": 13,
814 | "id": "6b4aa12e",
815 | "metadata": {
816 | "execution": {
817 | "iopub.execute_input": "2022-01-17T18:28:26.693123Z",
818 | "iopub.status.busy": "2022-01-17T18:28:26.692193Z",
819 | "iopub.status.idle": "2022-01-17T18:28:27.094277Z",
820 | "shell.execute_reply": "2022-01-17T18:28:27.094978Z",
821 | "shell.execute_reply.started": "2022-01-17T18:26:36.390565Z"
822 | },
823 | "papermill": {
824 | "duration": 0.429633,
825 | "end_time": "2022-01-17T18:28:27.095173",
826 | "exception": false,
827 | "start_time": "2022-01-17T18:28:26.665540",
828 | "status": "completed"
829 | },
830 | "tags": []
831 | },
832 | "outputs": [
833 | {
834 | "name": "stdout",
835 | "output_type": "stream",
836 | "text": [
837 | "Mean Absolute Error: 0.682803\n"
838 | ]
839 | }
840 | ],
841 | "source": [
842 | "from xgboost import XGBRegressor\n",
843 | "\n",
844 | "model3= XGBRegressor(n_estimators=100, learning_rate=0.04)\n",
845 | "model3.fit(train_X, train_y)\n",
846 | "pred3=model3.predict(test_X)\n",
847 | "print(\"Mean Absolute Error: %f\" %(mean_absolute_error(test_y, pred3)))"
848 | ]
849 | },
850 | {
851 | "cell_type": "markdown",
852 | "id": "3854c2ff",
853 | "metadata": {
854 | "papermill": {
855 | "duration": 0.020554,
856 | "end_time": "2022-01-17T18:28:27.138278",
857 | "exception": false,
858 | "start_time": "2022-01-17T18:28:27.117724",
859 | "status": "completed"
860 | },
861 | "tags": []
862 | },
863 | "source": [
864 | "The least mean absolute error we got is of the XGB Regressor Model. "
865 | ]
866 | }
867 | ],
868 | "metadata": {
869 | "kernelspec": {
870 | "display_name": "Python 3",
871 | "language": "python",
872 | "name": "python3"
873 | },
874 | "language_info": {
875 | "codemirror_mode": {
876 | "name": "ipython",
877 | "version": 3
878 | },
879 | "file_extension": ".py",
880 | "mimetype": "text/x-python",
881 | "name": "python",
882 | "nbconvert_exporter": "python",
883 | "pygments_lexer": "ipython3",
884 | "version": "3.7.12"
885 | },
886 | "papermill": {
887 | "default_parameters": {},
888 | "duration": 15.101768,
889 | "end_time": "2022-01-17T18:28:27.871289",
890 | "environment_variables": {},
891 | "exception": null,
892 | "input_path": "__notebook__.ipynb",
893 | "output_path": "__notebook__.ipynb",
894 | "parameters": {},
895 | "start_time": "2022-01-17T18:28:12.769521",
896 | "version": "2.3.3"
897 | }
898 | },
899 | "nbformat": 4,
900 | "nbformat_minor": 5
901 | }
902 |
--------------------------------------------------------------------------------
/1/DMBI_Pract_1.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "colab": {
6 | "provenance": []
7 | },
8 | "kernelspec": {
9 | "name": "python3",
10 | "display_name": "Python 3"
11 | },
12 | "language_info": {
13 | "name": "python"
14 | }
15 | },
16 | "cells": [
17 | {
18 | "cell_type": "code",
19 | "execution_count": null,
20 | "metadata": {
21 | "colab": {
22 | "base_uri": "https://localhost:8080/",
23 | "height": 73
24 | },
25 | "id": "bojUzwbBRO3g",
26 | "outputId": "9a689748-863b-4e97-af9b-f2da9de416ae"
27 | },
28 | "outputs": [
29 | {
30 | "output_type": "display_data",
31 | "data": {
32 | "text/plain": [
33 | ""
34 | ],
35 | "text/html": [
36 | "\n",
37 | " \n",
39 | " \n",
43 | " "
219 | ]
220 | },
221 | "metadata": {}
222 | },
223 | {
224 | "output_type": "stream",
225 | "name": "stdout",
226 | "text": [
227 | "Saving rainfall.csv to rainfall (1).csv\n"
228 | ]
229 | }
230 | ],
231 | "source": [
232 | "from google.colab import files\n",
233 | "uploaded=files.upload()"
234 | ]
235 | },
236 | {
237 | "cell_type": "code",
238 | "source": [
239 | "import pandas as pd\n",
240 | "import seaborn as sns\n",
241 | "import numpy as np\n",
242 | "import matplotlib.pyplot as plt"
243 | ],
244 | "metadata": {
245 | "id": "Y8z_21JyTgzT"
246 | },
247 | "execution_count": null,
248 | "outputs": []
249 | },
250 | {
251 | "cell_type": "code",
252 | "source": [
253 | "df=pd.read_csv('rainfall.csv')"
254 | ],
255 | "metadata": {
256 | "id": "naFx0tx-Towz"
257 | },
258 | "execution_count": null,
259 | "outputs": []
260 | },
261 | {
262 | "cell_type": "code",
263 | "source": [
264 | "df.head()"
265 | ],
266 | "metadata": {
267 | "colab": {
268 | "base_uri": "https://localhost:8080/",
269 | "height": 206
270 | },
271 | "id": "DqFRanxxTtOy",
272 | "outputId": "294768af-b6a4-423a-a357-c57e5f939b3b"
273 | },
274 | "execution_count": null,
275 | "outputs": [
276 | {
277 | "output_type": "execute_result",
278 | "data": {
279 | "text/plain": [
280 | " datetime temp dew humidity sealevelpressure winddir \\\n",
281 | "0 01-01-2016 28.4 11.9 37.8 1016.4 147.5 \n",
282 | "1 02-01-2016 26.8 13.0 44.8 1017.2 110.3 \n",
283 | "2 03-01-2016 25.5 14.6 52.8 1015.7 145.3 \n",
284 | "3 04-01-2016 26.4 13.1 46.6 1015.3 126.9 \n",
285 | "4 05-01-2016 27.1 13.5 44.9 1014.4 125.5 \n",
286 | "\n",
287 | " solarradiation windspeed precipprob preciptype \n",
288 | "0 216.1 16.6 0 0 \n",
289 | "1 215.7 16.6 0 0 \n",
290 | "2 221.1 18.4 0 0 \n",
291 | "3 216.2 16.6 0 0 \n",
292 | "4 208.1 16.6 0 0 "
293 | ],
294 | "text/html": [
295 | "\n",
296 | " \n",
297 | "
\n",
298 | "
\n",
299 | "\n",
312 | "
\n",
313 | " \n",
314 | " \n",
315 | " | \n",
316 | " datetime | \n",
317 | " temp | \n",
318 | " dew | \n",
319 | " humidity | \n",
320 | " sealevelpressure | \n",
321 | " winddir | \n",
322 | " solarradiation | \n",
323 | " windspeed | \n",
324 | " precipprob | \n",
325 | " preciptype | \n",
326 | "
\n",
327 | " \n",
328 | " \n",
329 | " \n",
330 | " | 0 | \n",
331 | " 01-01-2016 | \n",
332 | " 28.4 | \n",
333 | " 11.9 | \n",
334 | " 37.8 | \n",
335 | " 1016.4 | \n",
336 | " 147.5 | \n",
337 | " 216.1 | \n",
338 | " 16.6 | \n",
339 | " 0 | \n",
340 | " 0 | \n",
341 | "
\n",
342 | " \n",
343 | " | 1 | \n",
344 | " 02-01-2016 | \n",
345 | " 26.8 | \n",
346 | " 13.0 | \n",
347 | " 44.8 | \n",
348 | " 1017.2 | \n",
349 | " 110.3 | \n",
350 | " 215.7 | \n",
351 | " 16.6 | \n",
352 | " 0 | \n",
353 | " 0 | \n",
354 | "
\n",
355 | " \n",
356 | " | 2 | \n",
357 | " 03-01-2016 | \n",
358 | " 25.5 | \n",
359 | " 14.6 | \n",
360 | " 52.8 | \n",
361 | " 1015.7 | \n",
362 | " 145.3 | \n",
363 | " 221.1 | \n",
364 | " 18.4 | \n",
365 | " 0 | \n",
366 | " 0 | \n",
367 | "
\n",
368 | " \n",
369 | " | 3 | \n",
370 | " 04-01-2016 | \n",
371 | " 26.4 | \n",
372 | " 13.1 | \n",
373 | " 46.6 | \n",
374 | " 1015.3 | \n",
375 | " 126.9 | \n",
376 | " 216.2 | \n",
377 | " 16.6 | \n",
378 | " 0 | \n",
379 | " 0 | \n",
380 | "
\n",
381 | " \n",
382 | " | 4 | \n",
383 | " 05-01-2016 | \n",
384 | " 27.1 | \n",
385 | " 13.5 | \n",
386 | " 44.9 | \n",
387 | " 1014.4 | \n",
388 | " 125.5 | \n",
389 | " 208.1 | \n",
390 | " 16.6 | \n",
391 | " 0 | \n",
392 | " 0 | \n",
393 | "
\n",
394 | " \n",
395 | "
\n",
396 | "
\n",
397 | "
\n",
407 | " \n",
408 | " \n",
445 | "\n",
446 | " \n",
470 | "
\n",
471 | "
\n",
472 | " "
473 | ]
474 | },
475 | "metadata": {},
476 | "execution_count": 9
477 | }
478 | ]
479 | },
480 | {
481 | "cell_type": "code",
482 | "source": [
483 | "sns.boxplot(x=df['temp'])"
484 | ],
485 | "metadata": {
486 | "colab": {
487 | "base_uri": "https://localhost:8080/",
488 | "height": 296
489 | },
490 | "id": "fiAy3_0gTU-r",
491 | "outputId": "71aa023c-df4a-4f6d-ece5-5faac7a1f713"
492 | },
493 | "execution_count": null,
494 | "outputs": [
495 | {
496 | "output_type": "execute_result",
497 | "data": {
498 | "text/plain": [
499 | ""
500 | ]
501 | },
502 | "metadata": {},
503 | "execution_count": 10
504 | },
505 | {
506 | "output_type": "display_data",
507 | "data": {
508 | "text/plain": [
509 | ""
510 | ],
511 | "image/png": "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\n"
512 | },
513 | "metadata": {
514 | "needs_background": "light"
515 | }
516 | }
517 | ]
518 | },
519 | {
520 | "cell_type": "code",
521 | "source": [
522 | "Q1 = df.temp.quantile(0.25)\n",
523 | "Q3 = df.temp.quantile(0.75)\n",
524 | "print(Q1,Q3)"
525 | ],
526 | "metadata": {
527 | "id": "klPgx10KTx8H",
528 | "colab": {
529 | "base_uri": "https://localhost:8080/"
530 | },
531 | "outputId": "d995e8a7-4a1b-4b7e-d9ff-424bfa48b930"
532 | },
533 | "execution_count": null,
534 | "outputs": [
535 | {
536 | "output_type": "stream",
537 | "name": "stdout",
538 | "text": [
539 | "27.2 29.7\n"
540 | ]
541 | }
542 | ]
543 | },
544 | {
545 | "cell_type": "code",
546 | "source": [
547 | "IQR=Q3-Q1"
548 | ],
549 | "metadata": {
550 | "id": "riilxh6pUfWl"
551 | },
552 | "execution_count": null,
553 | "outputs": []
554 | },
555 | {
556 | "cell_type": "code",
557 | "source": [
558 | "min=Q1-1.5*IQR\n",
559 | "max=Q3+1.5*IQR\n",
560 | "l=[min, max]\n",
561 | "print(l)"
562 | ],
563 | "metadata": {
564 | "colab": {
565 | "base_uri": "https://localhost:8080/"
566 | },
567 | "id": "BqliEnemUmKS",
568 | "outputId": "0995939c-0944-4dd5-aec3-5f7e0dc821ae"
569 | },
570 | "execution_count": null,
571 | "outputs": [
572 | {
573 | "output_type": "stream",
574 | "name": "stdout",
575 | "text": [
576 | "[23.45, 33.45]\n"
577 | ]
578 | }
579 | ]
580 | },
581 | {
582 | "cell_type": "code",
583 | "source": [
584 | "df2=df[(df.temp>=min)&(df.temp\n",
628 | " \n",
629 | "
\n",
630 | "\n",
643 | "
\n",
644 | " \n",
645 | " \n",
646 | " | \n",
647 | " datetime | \n",
648 | " temp | \n",
649 | " dew | \n",
650 | " humidity | \n",
651 | " sealevelpressure | \n",
652 | " winddir | \n",
653 | " solarradiation | \n",
654 | " windspeed | \n",
655 | " precipprob | \n",
656 | " preciptype | \n",
657 | "
\n",
658 | " \n",
659 | " \n",
660 | " \n",
661 | " | 0 | \n",
662 | " 01-01-2016 | \n",
663 | " 28.4 | \n",
664 | " 11.9 | \n",
665 | " 37.8 | \n",
666 | " 1016.4 | \n",
667 | " 147.5 | \n",
668 | " 216.1 | \n",
669 | " 16.6 | \n",
670 | " 0 | \n",
671 | " 0 | \n",
672 | "
\n",
673 | " \n",
674 | " | 1 | \n",
675 | " 02-01-2016 | \n",
676 | " 26.8 | \n",
677 | " 13.0 | \n",
678 | " 44.8 | \n",
679 | " 1017.2 | \n",
680 | " 110.3 | \n",
681 | " 215.7 | \n",
682 | " 16.6 | \n",
683 | " 0 | \n",
684 | " 0 | \n",
685 | "
\n",
686 | " \n",
687 | " | 2 | \n",
688 | " 03-01-2016 | \n",
689 | " 25.5 | \n",
690 | " 14.6 | \n",
691 | " 52.8 | \n",
692 | " 1015.7 | \n",
693 | " 145.3 | \n",
694 | " 221.1 | \n",
695 | " 18.4 | \n",
696 | " 0 | \n",
697 | " 0 | \n",
698 | "
\n",
699 | " \n",
700 | " | 3 | \n",
701 | " 04-01-2016 | \n",
702 | " 26.4 | \n",
703 | " 13.1 | \n",
704 | " 46.6 | \n",
705 | " 1015.3 | \n",
706 | " 126.9 | \n",
707 | " 216.2 | \n",
708 | " 16.6 | \n",
709 | " 0 | \n",
710 | " 0 | \n",
711 | "
\n",
712 | " \n",
713 | " | 4 | \n",
714 | " 05-01-2016 | \n",
715 | " 27.1 | \n",
716 | " 13.5 | \n",
717 | " 44.9 | \n",
718 | " 1014.4 | \n",
719 | " 125.5 | \n",
720 | " 208.1 | \n",
721 | " 16.6 | \n",
722 | " 0 | \n",
723 | " 0 | \n",
724 | "
\n",
725 | " \n",
726 | "
\n",
727 | "
\n",
728 | "
\n",
738 | " \n",
739 | " \n",
776 | "\n",
777 | " \n",
801 | "
\n",
802 | " \n",
803 | " "
804 | ]
805 | },
806 | "metadata": {},
807 | "execution_count": 22
808 | }
809 | ]
810 | },
811 | {
812 | "cell_type": "code",
813 | "source": [
814 | "sns.boxplot(x=df2['temp'])"
815 | ],
816 | "metadata": {
817 | "colab": {
818 | "base_uri": "https://localhost:8080/",
819 | "height": 296
820 | },
821 | "id": "buPtDIXrU_qT",
822 | "outputId": "2b8de94f-53a2-4f6b-ab49-c00fdc811dc4"
823 | },
824 | "execution_count": null,
825 | "outputs": [
826 | {
827 | "output_type": "execute_result",
828 | "data": {
829 | "text/plain": [
830 | ""
831 | ]
832 | },
833 | "metadata": {},
834 | "execution_count": 23
835 | },
836 | {
837 | "output_type": "display_data",
838 | "data": {
839 | "text/plain": [
840 | ""
841 | ],
842 | "image/png": "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\n"
843 | },
844 | "metadata": {
845 | "needs_background": "light"
846 | }
847 | }
848 | ]
849 | },
850 | {
851 | "cell_type": "code",
852 | "source": [
853 | "sns.boxplot(data=df2, orient='h')"
854 | ],
855 | "metadata": {
856 | "colab": {
857 | "base_uri": "https://localhost:8080/",
858 | "height": 282
859 | },
860 | "id": "JncY6hHUVFOz",
861 | "outputId": "4e8dc5bb-f268-4adf-83f0-b171ce60a003"
862 | },
863 | "execution_count": null,
864 | "outputs": [
865 | {
866 | "output_type": "execute_result",
867 | "data": {
868 | "text/plain": [
869 | ""
870 | ]
871 | },
872 | "metadata": {},
873 | "execution_count": 31
874 | },
875 | {
876 | "output_type": "display_data",
877 | "data": {
878 | "text/plain": [
879 | ""
880 | ],
881 | "image/png": "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\n"
882 | },
883 | "metadata": {
884 | "needs_background": "light"
885 | }
886 | }
887 | ]
888 | },
889 | {
890 | "cell_type": "code",
891 | "source": [],
892 | "metadata": {
893 | "id": "ZzUURhC9WiAx"
894 | },
895 | "execution_count": null,
896 | "outputs": []
897 | }
898 | ]
899 | }
--------------------------------------------------------------------------------