├── 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 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | "
dateprecipitationtemp_maxtemp_minwindweather
02012-01-010.012.85.04.7drizzle
12012-01-0210.910.62.84.5rain
22012-01-030.811.77.22.3rain
32012-01-0420.312.25.64.7rain
42012-01-051.38.92.86.1rain
\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 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | "
precipitationtemp_maxtemp_minwind
count1461.0000001461.0000001461.0000001461.000000
mean3.02943216.4390838.2347713.241136
std6.6801947.3497585.0230041.437825
min0.000000-1.600000-7.1000000.400000
25%0.00000010.6000004.4000002.200000
50%0.00000015.6000008.3000003.000000
75%2.80000022.20000012.2000004.000000
max55.90000035.60000018.3000009.500000
\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", 40 | " Upload widget is only available when the cell has been executed in the\n", 41 | " current browser session. Please rerun this cell to enable.\n", 42 | " \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 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | "
datetimetempdewhumiditysealevelpressurewinddirsolarradiationwindspeedprecipprobpreciptype
001-01-201628.411.937.81016.4147.5216.116.600
102-01-201626.813.044.81017.2110.3215.716.600
203-01-201625.514.652.81015.7145.3221.118.400
304-01-201626.413.146.61015.3126.9216.216.600
405-01-201627.113.544.91014.4125.5208.116.600
\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 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | "
datetimetempdewhumiditysealevelpressurewinddirsolarradiationwindspeedprecipprobpreciptype
001-01-201628.411.937.81016.4147.5216.116.600
102-01-201626.813.044.81017.2110.3215.716.600
203-01-201625.514.652.81015.7145.3221.118.400
304-01-201626.413.146.61015.3126.9216.216.600
405-01-201627.113.544.91014.4125.5208.116.600
\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 | } --------------------------------------------------------------------------------