File size: 62,582 Bytes
9ab7cc3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd \n",
    "import numpy as np "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset = pd.read_csv('111.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MoisturePercentage</th>\n",
       "      <th>Humidity</th>\n",
       "      <th>Heatcelcius</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.6491</td>\n",
       "      <td>0.617</td>\n",
       "      <td>35.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.6999</td>\n",
       "      <td>0.628</td>\n",
       "      <td>35.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.6999</td>\n",
       "      <td>0.631</td>\n",
       "      <td>35.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.7019</td>\n",
       "      <td>0.646</td>\n",
       "      <td>35.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.7009</td>\n",
       "      <td>0.648</td>\n",
       "      <td>35.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.7028</td>\n",
       "      <td>0.647</td>\n",
       "      <td>35.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.7087</td>\n",
       "      <td>0.643</td>\n",
       "      <td>35.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.7058</td>\n",
       "      <td>0.643</td>\n",
       "      <td>35.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0.5445</td>\n",
       "      <td>0.658</td>\n",
       "      <td>34.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.4907</td>\n",
       "      <td>0.656</td>\n",
       "      <td>34.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0.4848</td>\n",
       "      <td>0.649</td>\n",
       "      <td>34.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0.4868</td>\n",
       "      <td>0.652</td>\n",
       "      <td>34.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0.4966</td>\n",
       "      <td>0.658</td>\n",
       "      <td>34.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0.5210</td>\n",
       "      <td>0.659</td>\n",
       "      <td>34.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0.6393</td>\n",
       "      <td>0.676</td>\n",
       "      <td>34.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>0.6256</td>\n",
       "      <td>0.689</td>\n",
       "      <td>34.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0.6276</td>\n",
       "      <td>0.678</td>\n",
       "      <td>34.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>0.6149</td>\n",
       "      <td>0.656</td>\n",
       "      <td>34.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>0.6022</td>\n",
       "      <td>0.644</td>\n",
       "      <td>34.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>0.5386</td>\n",
       "      <td>0.678</td>\n",
       "      <td>34.8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    MoisturePercentage  Humidity  Heatcelcius\n",
       "0               0.6491     0.617         35.1\n",
       "1               0.6999     0.628         35.1\n",
       "2               0.6999     0.631         35.1\n",
       "3               0.7019     0.646         35.1\n",
       "4               0.7009     0.648         35.1\n",
       "5               0.7028     0.647         35.1\n",
       "6               0.7087     0.643         35.1\n",
       "7               0.7058     0.643         35.1\n",
       "8               0.5445     0.658         34.9\n",
       "9               0.4907     0.656         34.8\n",
       "10              0.4848     0.649         34.8\n",
       "11              0.4868     0.652         34.8\n",
       "12              0.4966     0.658         34.8\n",
       "13              0.5210     0.659         34.8\n",
       "14              0.6393     0.676         34.8\n",
       "15              0.6256     0.689         34.8\n",
       "16              0.6276     0.678         34.7\n",
       "17              0.6149     0.656         34.8\n",
       "18              0.6022     0.644         34.7\n",
       "19              0.5386     0.678         34.8"
      ]
     },
     "execution_count": 149,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset.head(20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(93, 3)"
      ]
     },
     "execution_count": 150,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset.shape "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MoisturePercentage</th>\n",
       "      <th>Humidity</th>\n",
       "      <th>Heatcelcius</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>93.000000</td>\n",
       "      <td>93.00000</td>\n",
       "      <td>93.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>0.560731</td>\n",
       "      <td>0.68272</td>\n",
       "      <td>34.973118</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.099847</td>\n",
       "      <td>0.04892</td>\n",
       "      <td>0.187744</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.450600</td>\n",
       "      <td>0.60100</td>\n",
       "      <td>34.600000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>0.477000</td>\n",
       "      <td>0.64400</td>\n",
       "      <td>34.800000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>0.530800</td>\n",
       "      <td>0.66200</td>\n",
       "      <td>35.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>0.639300</td>\n",
       "      <td>0.72000</td>\n",
       "      <td>35.100000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>0.741900</td>\n",
       "      <td>0.79300</td>\n",
       "      <td>35.300000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       MoisturePercentage  Humidity  Heatcelcius\n",
       "count           93.000000  93.00000    93.000000\n",
       "mean             0.560731   0.68272    34.973118\n",
       "std              0.099847   0.04892     0.187744\n",
       "min              0.450600   0.60100    34.600000\n",
       "25%              0.477000   0.64400    34.800000\n",
       "50%              0.530800   0.66200    35.000000\n",
       "75%              0.639300   0.72000    35.100000\n",
       "max              0.741900   0.79300    35.300000"
      ]
     },
     "execution_count": 151,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset.describe() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = dataset.iloc[:, 1:3].values\n",
    "y = dataset.iloc[:, 0].values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "sc = StandardScaler()  \n",
    "X_train = sc.fit_transform(X_train)  \n",
    "X_test = sc.transform(X_test) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# #RANDOM FOREST RREGRESSION -->>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.ensemble import RandomForestRegressor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [],
   "source": [
    "regressor = RandomForestRegressor(n_estimators=20, random_state=0) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [],
   "source": [
    "regressor.fit(X_train, y_train)\n",
    "y_pred = regressor.predict(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean Absolute Error: 0.03562699999999996\n",
      "Mean Squared Error: 0.002372652967447369\n",
      "Root Mean Squared Error: 0.04870988572607586\n"
     ]
    }
   ],
   "source": [
    "from sklearn import metrics\n",
    "\n",
    "print('Mean Absolute Error:', metrics.mean_absolute_error(y_test, y_pred))  \n",
    "print('Mean Squared Error:', metrics.mean_squared_error(y_test, y_pred))  \n",
    "print('Root Mean Squared Error:', np.sqrt(metrics.mean_squared_error(y_test, y_pred)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Actual</th>\n",
       "      <th>Predicted</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.6999</td>\n",
       "      <td>0.624340</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.4751</td>\n",
       "      <td>0.461087</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.7400</td>\n",
       "      <td>0.730610</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.6276</td>\n",
       "      <td>0.493520</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.5210</td>\n",
       "      <td>0.492900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.7312</td>\n",
       "      <td>0.738840</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.5777</td>\n",
       "      <td>0.556808</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.4633</td>\n",
       "      <td>0.461275</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0.4604</td>\n",
       "      <td>0.494765</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.4741</td>\n",
       "      <td>0.479550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0.4907</td>\n",
       "      <td>0.549770</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0.7058</td>\n",
       "      <td>0.627280</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0.7361</td>\n",
       "      <td>0.726175</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0.5601</td>\n",
       "      <td>0.536235</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0.4673</td>\n",
       "      <td>0.506260</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>0.7204</td>\n",
       "      <td>0.736460</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0.5445</td>\n",
       "      <td>0.493245</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>0.4790</td>\n",
       "      <td>0.541065</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>0.5601</td>\n",
       "      <td>0.565778</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Actual  Predicted\n",
       "0   0.6999   0.624340\n",
       "1   0.4751   0.461087\n",
       "2   0.7400   0.730610\n",
       "3   0.6276   0.493520\n",
       "4   0.5210   0.492900\n",
       "5   0.7312   0.738840\n",
       "6   0.5777   0.556808\n",
       "7   0.4633   0.461275\n",
       "8   0.4604   0.494765\n",
       "9   0.4741   0.479550\n",
       "10  0.4907   0.549770\n",
       "11  0.7058   0.627280\n",
       "12  0.7361   0.726175\n",
       "13  0.5601   0.536235\n",
       "14  0.4673   0.506260\n",
       "15  0.7204   0.736460\n",
       "16  0.5445   0.493245\n",
       "17  0.4790   0.541065\n",
       "18  0.5601   0.565778"
      ]
     },
     "execution_count": 159,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})  \n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training Accuracy =  0.9079439562021038\n",
      "Test Accuracy =  0.7869089491512246\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import confusion_matrix, accuracy_score\n",
    "\n",
    "print(\"Training Accuracy = \", regressor.score(X_train, y_train))\n",
    "print(\"Test Accuracy = \", regressor.score(X_test, y_test))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# LINEAR REGRESION -->>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
       "         normalize=False)"
      ]
     },
     "execution_count": 161,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression  \n",
    "regressor = LinearRegression()  \n",
    "regressor.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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/elPgSDn8s4773Daaacxc+ZM3nrrLSCoE/rrX7OPWp1+bO+++y6HHHIITU1NzZ9V6lhSubnp06c3zx8zZgx33313c91PQ0ND8/4rybghtdxyzgBqa6oRUFtTzS3nDEjkYp7tolmKeoNovQUEdRyp32uu4x83pJb///xBef/es10bvBI+4AlJKOkf5aGHHspVV13Vav7kyZOpr69n4MCBTJo0iXvvvbfVMhMnTmTAgAEcd9xxjBo1ikGDBnHKKaewfPny5sr2c889l82bNzN48GB++tOfcuSRR8bG0bNnT+655x4mTJjQXMH/2muvZYx7jz32YObMmXzjG99g0KBBDB48uLkSPd1tt93G008/zYABAxg6dCjLli3jmGOO4eabb+b0009n4MCBjB49urmyPpPx48czbdo0hgwZwqpVq7jpppsYPnw4o0eP5qijjmpe7gc/+AG33norJ5xwAm+++Sb7778/AKeffjoXXnghJ554IgMGDOC8885rkTBVknFDalkw6VTWTD2LBZNOTSxHEHcxTZet3qDYF9xC6y3a8nvPtCzglfChinlme11dnaU/2OrVV1/l6KOPLlFELmnbtm2juroaSUyfPp0HH3yQRx99NO/1/fxom2iflUxXDQFrpp7Var24IrhCbtT6TpoTG0Pc/pMycuq82CKv2ppqFkw6tUNiKAZJi8ysLveSmXkdieu0Fi1axJVXXomZUVNTw913313qkCrauCG7WmhluojGFYEl0SO+HOotvBJ+Fy/acp3Wxz/+cZYuXcpLL73Es88+y0c+8pFSh9RltKVOMYkLbtJ1mvkoxw6apVLxCUmlFN254vLzojBtqWNI4oLbkQ0NMimHxKxcVHTRVvfu3dm0aRMHHXSQj/bqmqWeR9K9e/dSh9KpxI3rlU9dQFLNlKNFbaWQ2rcPAFnhle3+hESXiT8hsW0KrTD3EXfLVzEq2ys6IXHOFUeltFByrXmrLedch6jUFkqeUyoOT0ic60Lae+Esh+a2xebPJimeim+15ZwLFDIceiW2UPJRfYvHExLnuohCLpzl0Ny22Cq1uK4UvGjLuS6i0AtnqZvbFlslFteViudIHOCPEu0KvCd2S5VYXFcqnpA4f5RoF+EXzpYqsbiuVLxoyyUyqJ4rP94Tu7VKK64rFU9IXGw5cbb5rvPyC6dLgickrvkxpel2064ezfk+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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "dataset.plot(x='Humidity', y='MoisturePercentage', style='o')  \n",
    "plt.title('Humidity vs MoisturePercentage')  \n",
    "plt.xlabel('Humidity')  \n",
    "plt.ylabel('MoisturePercentage')  \n",
    "plt.show()  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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jBix8xara6+9lmHDhrF06VJ++tOfcsEFu04XP336dObNm8eSJUuYO3cunTp1Yvr06ZxzzjksXryYc845J+vrr1y5kgsuuIBFixax5557cv311/PXv/6Vl19+mcrKSm666aZd9vnjH//I4MGDqa+v59vf/jYPPfQQ1dXVXHjhhfzoRzunON+8eTN///vf+f73v89ll13Gsccey5IlS3j55ZcZNGgQr776KrNnz+bZZ59l8eLFlJWVcf/99wPw0UcfMXLkSJYsWcLo0aO54447OOaYYxg3bhwzZsxg8eLFfO5zn+P0009n4cKFLFmyhIEDB/K//xvUxF9++eVcfvnlLFy4kJ49ezbE9MQTT/DGG2/w0ksvsXjxYqqrq3n66aeb9p+WQ8kMJOica5r1GdpkMpU3xZAhQ1i7di0zZ87klFNOabTumWee4eGHHwbghBNOYOPGjbz//vuNthk1ahSTJ0/m7LPP5vTTT2/y6x944IGMHDkSgBdeeIEVK1YwatQoAD799FOOPvrohm3PO+88ysvL6devH7/61a9YuXIly5YtY8yYMQBs376dAw44oGH75ET15JNP8rvf/Q6AsrIy9tlnH+69916qq6s56qijAKirq2P//fcHoFOnTg1tN0ceeSTz589PG/+yZcu4+uqr2bx5M1u2bGHs2LEAPP/888yZE9yffO6553LFFVcAQbJ44oknGDYsGDFpy5YtvPHGG4wePbrJ5y4TTxbOtVM9u5anbcTv2bW8VY4/btw4rrjiChYsWMDGjRsbytNNuJbarfO2227jxRdf5LHHHmPo0KEsXrx4l3122223Ru0RyXet77nnno1eb8yYMcycmX40ofvvv5/KysqG5c2bNzNo0CCef/75tNsnHzsdM2PSpEnccMMNu6zr2LFjw3stKyvL2O4xefJk5syZQ0VFBXfffTcLFizI+ZpTp07lm9/8ZtbtWsKroVy7l+mPoNT/OKaMHUB5x7JGZeUdy5gydkCrHP/CCy/kmmuuYfDgwY3KR48e3VAts2DBArp3787ee+/daJvVq1czYsQIpk+fTvfu3Vm3bh1dunThww8/bNimX79+vPzyywC8/PLLvPnmm2njGDlyJM8++2xDe8TWrVt5/fXXM8Y9YMAANmzY0JAs6uvrWb58edptTzzxRG699VYguAL54IMPOPHEE3nooYd49913gaCN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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "dataset.plot(x='Heatcelcius', y='MoisturePercentage', style='o')  \n",
    "plt.title('Heat-Air temperature  vs  MoisturePercentage')  \n",
    "plt.xlabel('Heat in Celcius')  \n",
    "plt.ylabel('MoisturePercentage')  \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 165,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.5555905405405406\n"
     ]
    }
   ],
   "source": [
    "print(regressor.intercept_) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.04628089 0.00197808]\n"
     ]
    }
   ],
   "source": [
    "print(regressor.coef_) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_pred = regressor.predict(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 168,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Actual</th>\n",
       "      <th>Predicted</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.6999</td>\n",
       "      <td>0.506906</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.4751</td>\n",
       "      <td>0.526563</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.7400</td>\n",
       "      <td>0.632289</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.6276</td>\n",
       "      <td>0.548861</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.5210</td>\n",
       "      <td>0.531265</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.7312</td>\n",
       "      <td>0.603859</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.5777</td>\n",
       "      <td>0.647093</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.4633</td>\n",
       "      <td>0.531514</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0.4604</td>\n",
       "      <td>0.504015</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.4741</td>\n",
       "      <td>0.512689</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0.4907</td>\n",
       "      <td>0.516610</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0.7058</td>\n",
       "      <td>0.518670</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0.7361</td>\n",
       "      <td>0.640131</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0.5601</td>\n",
       "      <td>0.583322</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0.4673</td>\n",
       "      <td>0.506026</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>0.7204</td>\n",
       "      <td>0.600918</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0.5445</td>\n",
       "      <td>0.531315</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>0.4790</td>\n",
       "      <td>0.525483</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>0.5601</td>\n",
       "      <td>0.654886</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Actual  Predicted\n",
       "0   0.6999   0.506906\n",
       "1   0.4751   0.526563\n",
       "2   0.7400   0.632289\n",
       "3   0.6276   0.548861\n",
       "4   0.5210   0.531265\n",
       "5   0.7312   0.603859\n",
       "6   0.5777   0.647093\n",
       "7   0.4633   0.531514\n",
       "8   0.4604   0.504015\n",
       "9   0.4741   0.512689\n",
       "10  0.4907   0.516610\n",
       "11  0.7058   0.518670\n",
       "12  0.7361   0.640131\n",
       "13  0.5601   0.583322\n",
       "14  0.4673   0.506026\n",
       "15  0.7204   0.600918\n",
       "16  0.5445   0.531315\n",
       "17  0.4790   0.525483\n",
       "18  0.5601   0.654886"
      ]
     },
     "execution_count": 168,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})  \n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 169,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training Accuracy =  0.22373924747047869\n",
      "Test Accuracy =  0.24648312674488848\n"
     ]
    }
   ],
   "source": [
    "print(\"Training Accuracy = \", regressor.score(X_train, y_train))\n",
    "print(\"Test Accuracy = \", regressor.score(X_test, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    " "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}