-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcodigofinal
1052 lines (1052 loc) · 173 KB
/
codigofinal
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
989
990
991
992
993
994
995
996
997
998
999
1000
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Untitled4.ipynb",
"version": "0.3.2",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/github/astrodatos/proyecto_ps2/blob/master/codigofinal\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "GMK3SffZnnW2",
"colab_type": "code",
"outputId": "cce9da5f-8f9d-4cfa-9802-368a32cf76c3",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 392
}
},
"source": [
"import numpy as np\n",
"import os\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"import sklearn as sk\n",
"import pandas as pd\n",
"from math import *\n",
"import random\n",
"from astropy.constants import G\n",
"import seaborn as sb\n",
"from sklearn.cluster import KMeans\n",
"from sklearn import datasets\n",
"from sklearn import metrics\n",
"from sklearn.metrics import pairwise_distances_argmin_min\n",
"from sklearn.datasets.samples_generator import make_blobs\n",
"!pip install astroquery"
],
"execution_count": 97,
"outputs": [
{
"output_type": "stream",
"text": [
"Requirement already satisfied: astroquery in /usr/local/lib/python3.6/dist-packages (0.3.9)\n",
"Requirement already satisfied: html5lib>=0.999 in /usr/local/lib/python3.6/dist-packages (from astroquery) (1.0.1)\n",
"Requirement already satisfied: astropy>=1.0 in /usr/local/lib/python3.6/dist-packages (from astroquery) (3.0.5)\n",
"Requirement already satisfied: beautifulsoup4>=4.3.2 in /usr/local/lib/python3.6/dist-packages (from astroquery) (4.6.3)\n",
"Requirement already satisfied: requests>=2.4.3 in /usr/local/lib/python3.6/dist-packages (from astroquery) (2.21.0)\n",
"Requirement already satisfied: keyring>=4.0 in /usr/local/lib/python3.6/dist-packages (from astroquery) (19.0.2)\n",
"Requirement already satisfied: webencodings in /usr/local/lib/python3.6/dist-packages (from html5lib>=0.999->astroquery) (0.5.1)\n",
"Requirement already satisfied: six>=1.9 in /usr/local/lib/python3.6/dist-packages (from html5lib>=0.999->astroquery) (1.12.0)\n",
"Requirement already satisfied: numpy>=1.10.0 in /usr/local/lib/python3.6/dist-packages (from astropy>=1.0->astroquery) (1.16.4)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests>=2.4.3->astroquery) (2019.6.16)\n",
"Requirement already satisfied: idna<2.9,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests>=2.4.3->astroquery) (2.8)\n",
"Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests>=2.4.3->astroquery) (1.24.3)\n",
"Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests>=2.4.3->astroquery) (3.0.4)\n",
"Requirement already satisfied: secretstorage; sys_platform == \"linux\" in /usr/local/lib/python3.6/dist-packages (from keyring>=4.0->astroquery) (3.1.1)\n",
"Requirement already satisfied: entrypoints in /usr/local/lib/python3.6/dist-packages (from keyring>=4.0->astroquery) (0.3)\n",
"Requirement already satisfied: jeepney in /usr/local/lib/python3.6/dist-packages (from secretstorage; sys_platform == \"linux\"->keyring>=4.0->astroquery) (0.4)\n",
"Requirement already satisfied: cryptography in /usr/local/lib/python3.6/dist-packages (from secretstorage; sys_platform == \"linux\"->keyring>=4.0->astroquery) (2.7)\n",
"Requirement already satisfied: asn1crypto>=0.21.0 in /usr/local/lib/python3.6/dist-packages (from cryptography->secretstorage; sys_platform == \"linux\"->keyring>=4.0->astroquery) (0.24.0)\n",
"Requirement already satisfied: cffi!=1.11.3,>=1.8 in /usr/local/lib/python3.6/dist-packages (from cryptography->secretstorage; sys_platform == \"linux\"->keyring>=4.0->astroquery) (1.12.3)\n",
"Requirement already satisfied: pycparser in /usr/local/lib/python3.6/dist-packages (from cffi!=1.11.3,>=1.8->cryptography->secretstorage; sys_platform == \"linux\"->keyring>=4.0->astroquery) (2.19)\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "CKcfKArinnxy",
"colab_type": "code",
"colab": {}
},
"source": [
"planetas=pd.read_csv(\"https://raw.githubusercontent.com/astrodatos/proyecto_ps2/master/compositepars_2019.07.07_14.34.43.csv\", comment = '#')\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "dqOW0tVNnn18",
"colab_type": "code",
"outputId": "5ceb7e27-06b4-4061-b303-ddfe5529df25",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"planetas = pd.DataFrame(planetas)\n",
"Ts = 5700 #K\n",
"ai = 2.7619 * 10**(-5)\n",
"bi = 3.8095 * 10**(-9)\n",
"ao = 1.3786 * 10**(-4)\n",
"bo = 1.4286 * 10**(-9)\n",
"ris = 0.72\n",
"ros = 1.77\n",
"planetas = planetas.filter(['fpl_orbper','fpl_bmasse','fst_mass','fst_teff','fst_lum'], axis=1)\n",
"planetas = planetas.dropna()\n",
"Teff = planetas['fst_teff']\n",
"lum = 10**(planetas['fst_lum'])\n",
"T = planetas['fpl_orbper']\n",
"m = planetas['fpl_bmasse']\n",
"M = planetas['fst_mass']\n",
"suma = M + m\n",
"r = np.array(((G*suma*(T)**2)/(4*(pi)**2))**(1/3))\n",
"resta = Teff - Ts\n",
"\n",
"#Distancia del borde más lejano de la zona habitable a la estrella, en UA\n",
"Ri = (ris - ai*resta - bi*(resta)**2)/np.sqrt(lum)\n",
"#Distancia del borde más cercano de la zona habitable a la estrella, en UA\n",
"Ro = (ros - ao*resta - bo*(resta)**2)/np.sqrt(lum)\n",
"#índice de habitabilidad \n",
"resta1 = Ro - Ri\n",
"resta2 = 2*r - Ro - Ri\n",
"HDZ = resta2/resta1\n",
"\n",
"\n",
"planetas['HDZ'] = HDZ\n",
"mask_1 = -1<=planetas['HDZ'] \n",
"mask_2 = planetas['HDZ'] <= 1\n",
"booleanos = np.logical_and(mask_1, mask_2)\n",
"booleanos = booleanos.astype(int)\n",
"planetas['Habitabilidad'] = booleanos\n",
"print(planetas)\n",
"\n",
"habitables = planetas[(-1<=(planetas['HDZ']))|((planetas['HDZ'])<=1)]\n"
],
"execution_count": 107,
"outputs": [
{
"output_type": "stream",
"text": [
" fpl_orbper fpl_bmasse fst_mass ... fst_lum HDZ Habitabilidad\n",
"0 326.030000 6165.6000 2.70 ... 2.243 0.081433 1\n",
"1 516.219970 4684.8142 2.78 ... 2.430 1.218163 0\n",
"2 185.840000 1525.5000 2.20 ... 1.763 -1.698284 0\n",
"3 1773.400020 1481.0878 0.90 ... -0.151 -2.031467 0\n",
"4 798.500000 565.7374 1.08 ... 0.100 -2.193690 0\n",
"5 993.300000 3273.5000 2.30 ... 1.602 -0.335040 1\n",
"7 30.350600 289.2253 0.99 ... 1.774 -2.193579 0\n",
"8 452.800000 632.4600 1.54 ... 1.164 -1.903594 0\n",
"9 883.000000 273.3200 1.54 ... 1.164 -1.828770 0\n",
"14 416.000000 603.8770 0.48 ... 0.168 -2.498228 0\n",
"15 7336.500000 6657.4800 0.08 ... -3.480 -2.038969 0\n",
"17 335.100010 4392.4106 1.93 ... 0.381 -2.131232 0\n",
"18 269.300000 2256.5000 1.23 ... 2.062 -1.082408 0\n",
"19 479.100000 1233.1300 0.98 ... 2.155 -0.701225 1\n",
"20 1078.000000 804.0800 1.03 ... 0.216 -2.098526 0\n",
"21 2391.000000 171.6210 1.03 ... 0.216 -2.093300 0\n",
"22 14002.000000 521.2200 1.03 ... 0.216 -0.999808 1\n",
"23 14965.000000 635.6600 1.75 ... 0.850 1.213543 0\n",
"24 4.230785 146.2018 1.12 ... 0.147 -2.376171 0\n",
"25 14.651520 263.9785 0.91 ... -0.235 -2.318893 0\n",
"26 44.417500 54.4738 0.91 ... -0.235 -2.317356 0\n",
"27 4825.000000 1232.4930 0.91 ... -0.235 -1.821997 0\n",
"28 0.736539 8.0800 0.91 ... -0.235 -2.324933 0\n",
"29 262.000000 44.8120 0.91 ... -0.235 -2.301152 0\n",
"30 934.300000 638.8383 1.44 ... 1.156 -1.647317 0\n",
"31 4.215000 5.1000 0.94 ... -0.095 -2.359223 0\n",
"32 38.021000 18.2000 0.94 ... -0.095 -2.354104 0\n",
"33 123.010000 22.9000 0.94 ... -0.095 -2.345883 0\n",
"34 796.000000 781.8618 1.52 ... 1.053 -1.737634 0\n",
"35 116.688000 2380.4500 1.09 ... 0.487 -2.228586 0\n",
"... ... ... ... ... ... ... ...\n",
"3978 522.300000 1938.7000 1.40 ... 2.730 1.406043 0\n",
"3979 417.900000 2129.4610 1.70 ... 2.235 -0.375297 1\n",
"3980 2502.000000 492.6365 0.83 ... -0.419 -2.127230 0\n",
"3981 594.900000 2415.4060 2.70 ... 1.987 -0.342632 1\n",
"3982 428.500000 2790.4300 1.23 ... 2.510 0.599863 1\n",
"3983 903.300000 587.9600 1.40 ... 1.073 -1.728955 0\n",
"3984 415.200000 324.1866 1.47 ... 1.850 -1.622509 0\n",
"3985 964.600000 1455.6614 1.47 ... 1.850 -0.359142 1\n",
"3986 511.098000 2803.1000 1.05 ... 1.820 -0.787242 1\n",
"3988 1285.000000 689.6911 1.50 ... 1.105 -1.517941 0\n",
"3989 357.800000 762.8000 1.50 ... 1.797 -1.528930 0\n",
"3990 530.320000 7627.9200 3.04 ... 2.090 0.698708 1\n",
"3991 3186.000000 8581.4100 3.04 ... 2.090 8.007972 0\n",
"3992 277.020000 540.3000 2.17 ... 1.850 -1.684241 0\n",
"3993 187.830000 476.7450 2.13 ... 1.709 -1.906081 0\n",
"3994 1630.000000 1303.1030 3.09 ... 2.140 1.519886 0\n",
"3995 6.267900 4.8200 1.09 ... 0.160 -2.400387 0\n",
"3996 3117.000000 486.2799 1.19 ... 0.326 -1.832218 0\n",
"3997 39.845800 332.1000 0.89 ... 0.232 -2.340971 0\n",
"3998 102.540000 25.0000 0.89 ... 0.232 -2.345692 0\n",
"3999 3.312457 1891.0000 1.34 ... 0.535 -2.422463 0\n",
"4000 162.870000 3.9300 0.78 ... -0.305 -2.328021 0\n",
"4001 636.130000 3.9300 0.78 ... -0.305 -2.316672 0\n",
"4002 20.000000 1.7500 0.78 ... -0.305 -2.334149 0\n",
"4003 49.410000 1.8300 0.78 ... -0.305 -2.332846 0\n",
"4004 305.500000 6547.0000 2.30 ... 2.519 0.815107 1\n",
"4005 4.617033 218.5310 1.30 ... 0.561 -2.407725 0\n",
"4006 241.258000 629.5950 1.30 ... 0.561 -2.263873 0\n",
"4007 1276.460000 1313.2200 1.30 ... 0.561 -1.827901 0\n",
"4008 136.750000 890.0000 2.20 ... 1.839 -1.848394 0\n",
"\n",
"[3849 rows x 7 columns]\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "yLrWP2Mmnn4o",
"colab_type": "code",
"outputId": "675d8a7c-1649-479e-cfe2-7af28ac4d3ad",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 638
}
},
"source": [
"#Hisotgrama de índice de habitabilidad \n",
"plt.figure(figsize = (10,10))\n",
"plt.hist(planetas['HDZ'])\n",
"plt.xlabel('índice de habitabilidad')\n",
"plt.ylabel('Cantidad de planetas')\n",
"plt.title('Planetas y su habitabilidad')"
],
"execution_count": 94,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Planetas y su habitabilidad')"
]
},
"metadata": {
"tags": []
},
"execution_count": 94
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nJPQRoXAAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "EzCEXR2pnn67",
"colab_type": "code",
"outputId": "3b78ae48-0b9b-4b71-9129-21a49d9f264a",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 638
}
},
"source": [
"#Histograma de los planetas habitables\n",
"plt.figure(figsize = (10,10))\n",
"plt.hist(booleanos)\n",
"plt.xlabel('índice de habitabilidad')\n",
"plt.ylabel('Cantidad de planetas')\n",
"plt.title('Planetas habitables')"
],
"execution_count": 102,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Planetas habitables')"
]
},
"metadata": {
"tags": []
},
"execution_count": 102
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAm4AAAJcCAYAAABAGii1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xm0ZWV95vHvI6PKqJQEAS1UDEGj\nQCqAQ6dVFAEHNBoDcUBDixpM1FY7aGs7xW7NoL1IFIMLBI2RoMZQQQghiBA7QSgEERBCySAUU8lQ\nokZa8Nd/nLfSh1t3OOA9596X+/2sddbd593v3ud3zl6Uj+/e796pKiRJkrT4PWShC5AkSdJoDG6S\nJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJnTC4SRqrJF9P8l8Wuo4HKslrk3zjAW77rCQ3zLL+\nU0ne+wvUVkmeMMO6B1y3pMXL4CbpF5bk2iT/nuRHSW5JckKSLRaghudO8jN/UVX1xqr6EMwd8iQJ\nDG6S5s+LqmoLYC9gBfCeBa5Hkh50DG6S5lVVrQFOB548dV2Sxyf5WpLbkvwgyeeTbDO0/tok70hy\nSZJ1Sf4myeZD61+Y5OIkdyb5lyRPae2fAx4D/H0b9ftvrf2LSW5u+zo3yZOG9nVQksuT3JVkTZJ3\nzPa9kvxpkjuSXJPkwKH21yX5btvP1UneMM22727f99okrxxqPyHJHyV5ePvNHt3q/1GSRyfZO8m/\ntu97U5K/SLLplN0f1D73B0n+JMm0/64n2S3JmUluT3Jlklc80N9C0sIxuEmaV0l2Bg4CLppuNfC/\ngEcDvwLsDLx/Sp9XAAcAuwBPAV7b9rsncDzwBuCRwF8CK5NsVlWvBr5PG/Wrqj9u+zod2BV4FPAt\n4PNDn3Mc8Iaq2pJByPzaLF9rH+BKYDvgj4HjkqStuxV4IbAV8Drg40n2Gtr2l9p2OwKHAccm+eXh\nnVfVj4EDgRtb/VtU1Y3AvcDb2vZPA/YDfm9KbS9lMMK5F3Aw8LtTi2/B8Ezgr9tvcQjwySS7P4Df\nQtICMrhJmi9/l+RO4BvAOcD/nNqhqlZX1ZlVdXdVrQU+BvznKd2Orqobq+p24O+BPVr7EcBfVtU3\nq+reqjoRuBvYd6aCqur4qrqrqu5mEBCfmmTrtvpnwO5JtqqqO6rqW7N8t+uq6tNVdS9wIrADsH37\njK9W1fdq4BzgH4H/NGX797bvfA7wVQbhdE5VdWFVnVdV91TVtQzC6tTf66NVdXtVfR/438Ch0+zq\nhcC1VfWZtq+LgC8Dv/UAfgtJC8jgJmm+vKSqtqmqx1bV71XVv0/tkGT7JCe103E/BP6KwWjSsJuH\nln8CrJ/k8Fjg7e204Z0tJO7MYPRuA0k2SvKRJN9rn3VtW7X+817GYGTwuiTnJHnaLN/tP2qqqp+0\nxS3a5xyY5Lx2CvLOts/h73RHG1Fb77qZap7mOzwxyantdO8PGYThqb/X9SPs+7HAPlN+u1cyGA2E\n+/dbSFpABjdJk/Q/gQJ+taq2Al7F4PTpKK4HPtzC4frXw6rqC219Ten/OwxOHT4X2BpY3toDUFUX\nVNXBDE4d/h1w8v39Mkk2YzBy9afA9lW1DXDalO+0bTtVud5jgBun2d3U+gGOAa4Adm2/17vZ8Pfa\neYR9Xw+cM+W326Kq3gTz81tImgyDm6RJ2hL4EbAuyY7AO+/Htp8G3phknww8PMkLkmzZ1t8CPG7K\nZ90N3AY8jKFTt0k2TfLKJFtX1c+AHwI/fwDfZ1NgM2AtcE+btLD/NP0+0D7zPzE4bfnFafrcAjxy\n6FTu+u/wQ+BHSXYD3jTNdu9Msm27tvAtwN9M0+dU4IlJXp1kk/b69SS/Mo+/haQJMLhJmqQPMLiI\nfh2Da73+dtQNq2oV8HrgL4A7gNW0iQvN/wLe004FvgP4LINTh2uAy4Hzpuzy1cC17RTkGxmcOrxf\nquou4A8YjFDdwWCUb+WUbje3dTcymBzxxqq6Ypp9XQF8Abi6fYdHA+9o+7yLQXCdLpSdAlwIXMzg\nNz1uhjr3ZzAp4cZW00cZhE6Yh99C0mSkarrReUmSJC02jrhJkiR1wuAmSZLUCYObJElSJwxukiRJ\nndh4oQsYh+22266WL1++0GVIkiTN6cILL/xBVS0bpe+DMrgtX76cVatWLXQZkiRJc0py3ah9PVUq\nSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5sk\nSVInDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIk\nSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJkiR1YuOFLqBny4/66kKXMG+u/cgLFroESZI0\nB0fcJEmSOmFwkyRJ6oTBTZIkqRMGN0mSpE4Y3CRJkjphcJMkSeqEwU2SJKkTBjdJkqROGNwkSZI6\nYXCTJEnqhMFNkiSpEwY3SZKkThjcJEmSOmFwkyRJ6oTBTZIkqRMGN0mSpE4Y3CRJkjphcJMkSeqE\nwU2SJKkTBjdJkqROGNwkSZI6YXCTJEnqhMFNkiSpEwY3SZKkThjcJEmSOmFwkyRJ6oTBTZIkqRMG\nN0mSpE4Y3CRJkjphcJMkSeqEwU2SJKkTBjdJkqROGNwkSZI6YXCTJEnqhMFNkiSpEwY3SZKkThjc\nJEmSOjG24JZk8yTnJ/l2ksuSfKC1n5DkmiQXt9cerT1Jjk6yOsklSfYa2tdhSa5qr8PGVbMkSdJi\ntvEY93038Jyq+lGSTYBvJDm9rXtnVX1pSv8DgV3bax/gGGCfJI8A3gesAAq4MMnKqrpjjLVLkiQt\nOmMbcauBH7W3m7RXzbLJwcBn23bnAdsk2QF4PnBmVd3ewtqZwAHjqluSJGmxGus1bkk2SnIxcCuD\n8PXNturD7XTox5Ns1tp2BK4f2vyG1jZT+9TPOiLJqiSr1q5dO+/fRZIkaaGNNbhV1b1VtQewE7B3\nkicD7wJ2A34deATwh/P0WcdW1YqqWrFs2bL52KUkSdKiMpFZpVV1J3A2cEBV3dROh94NfAbYu3Vb\nA+w8tNlOrW2mdkmSpCVlnLNKlyXZpi0/FHgecEW7bo0kAV4CXNo2WQm8ps0u3RdYV1U3AWcA+yfZ\nNsm2wP6tTZIkaUkZ56zSHYATk2zEICCeXFWnJvlakmVAgIuBN7b+pwEHAauBnwCvA6iq25N8CLig\n9ftgVd0+xrolSZIWpbEFt6q6BNhzmvbnzNC/gCNnWHc8cPy8FihJktQZn5wgSZLUCYObJElSJwxu\nkiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJ\nkiR1wuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJ\nktQJg5skSVInDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJ\nUicMbpIkSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJ\nnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJkiR1\nwuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJ\ng5skSVInDG6SJEmdGFtwS7J5kvOTfDvJZUk+0Np3SfLNJKuT/E2STVv7Zu396rZ++dC+3tXar0zy\n/HHVLEmStJiNc8TtbuA5VfVUYA/ggCT7Ah8FPl5VTwDuAA5v/Q8H7mjtH2/9SLI7cAjwJOAA4JNJ\nNhpj3ZIkSYvS2IJbDfyovd2kvQp4DvCl1n4i8JK2fHB7T1u/X5K09pOq6u6qugZYDew9rrolSZIW\nq7Fe45ZkoyQXA7cCZwLfA+6sqntalxuAHdvyjsD1AG39OuCRw+3TbDP8WUckWZVk1dq1a8fxdSRJ\nkhbUWINbVd1bVXsAOzEYJdttjJ91bFWtqKoVy5YtG9fHSJIkLZiJzCqtqjuBs4GnAdsk2bit2glY\n05bXADsDtPVbA7cNt0+zjSRJ0pIxzlmly5Js05YfCjwP+C6DAPfy1u0w4JS2vLK9p63/WlVVaz+k\nzTrdBdgVOH9cdUuSJC1WG8/d5QHbATixzQB9CHByVZ2a5HLgpCR/BFwEHNf6Hwd8Lslq4HYGM0mp\nqsuSnAxcDtwDHFlV946xbkmSpEVpbMGtqi4B9pym/WqmmRVaVT8FfmuGfX0Y+PB81yhJktQTn5wg\nSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5sk\nSVInDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIk\nSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJnTC4SZIk\ndcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJkiR1wuAmSZLU\nCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5skSVIn\nDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0w\nuEmSJHXC4CZJktQJg5skSVInDG6SJEmdGFtwS7JzkrOTXJ7ksiRvae3vT7ImycXtddDQNu9KsjrJ\nlUmeP9R+QGtbneSocdUsSZK0mG08xn3fA7y9qr6VZEvgwiRntnUfr6o/He6cZHfgEOBJwKOBf0ry\nxLb6E8DzgBuAC5KsrKrLx1i7JEnSojO24FZVNwE3teW7knwX2HGWTQ4GTqqqu4FrkqwG9m7rVlfV\n1QBJTmp9DW6SJGlJmcg1bkmWA3sC32xNb05ySZLjk2zb2nYErh/a7IbWNlP71M84IsmqJKvWrl07\nz99AkiRp4Y09uCXZAvgy8Naq+iFwDPB4YA8GI3J/Nh+fU1XHVtWKqlqxbNmy+dilJEnSojLOa9xI\nsgmD0Pb5qvpbgKq6ZWj9p4FT29s1wM5Dm+/U2pilXZIkackY56zSAMcB362qjw217zDU7aXApW15\nJXBIks2S7ALsCpwPXADsmmSXJJsymMCwclx1S5IkLVbjHHF7BvBq4DtJLm5t7wYOTbIHUMC1wBsA\nquqyJCczmHRwD3BkVd0LkOTNwBnARsDxVXXZGOuWJElalMY5q/QbQKZZddos23wY+PA07afNtp0k\nSdJS4JMTJEmSOmFwkyRJ6oTBTZIkqRMGN0mSpE4Y3CRJkjphcJMkSeqEwU2SJKkTBjdJkqROGNwk\nSZI6YXCTJEnqhMFNkiSpE/cruCXZNslTxlWMJEmSZjZncEvy9SRbJXkE8C3g00k+Nv7SJEmSNGyU\nEbetq+qHwG8Cn62qfYDnjrcsSZIkTTVKcNs4yQ7AK4BTx1yPJEmSZjBKcPsgcAawuqouSPI44Krx\nliVJkqSpNp6rQ1V9Efji0PurgZeNsyhJkiRtaM7glmRz4HDgScDm69ur6nfHWJckSZKmGOVU6eeA\nXwKeD5wD7ATcNc6iJEmStKFRgtsTquq9wI+r6kTgBcA+4y1LkiRJU40S3H7W/t6Z5MnA1sCjxleS\nJEmSpjPnNW7AsUm2Bd4DrAS2AN471qokSZK0gVGC21lVdQdwLvA4gCS7jLUqSZIkbWCUU6Vfnqbt\nS/NdiCRJkmY344hbkt0Y3AJk6yS/ObRqK4ZuCyJJkqTJmO1U6S8DLwS2AV401H4X8PpxFiVJkqQN\nzRjcquoU4JQkT6uqf51gTZIkSZrGKNe43ZbkrCSXAiR5SpL3jLkuSZIkTTFKcPs08C7a/dyq6hLg\nkHEWJUmSpA2NEtweVlXnT2m7ZxzFSJIkaWajBLcfJHk8UABJXg7cNNaqJEmStIFRbsB7JHAssFuS\nNcA1wKvGWpUkSZI2MGdwq6qrgecmeTjwkKq6a/xlSZIkaao5g1uSzYCXAcuBjZMAUFUfHGtlkiRJ\nuo9RTpWeAqwDLgTuHm85kiRJmskowW2nqjpg7JVIkiRpVqPMKv2XJL869kokSZI0q1FG3J4JvDbJ\nNQxOlQaoqnrKWCuTJEnSfYwS3A4cexWSJEma0yi3A7kOIMmjgM3HXpEkSZKmNec1bklenOQqBjfe\nPQe4Fjh9zHVJkiRpilEmJ3wI2Bf4t6raBdgPOG+sVUmSJGkDowS3n1XVbcBDkjykqs4GVoy5LkmS\nJE0xyuSEO5NsAZwLfD7JrcCPx1uWJEmSphplxO1g4N+BtwH/AHwPeNE4i5IkSdKGRplVOjy6duIY\na5EkSdIsZgxuSe4CaripvV9/A96txlybJEmShswY3Kpqy0kWIkmSpNmNMjmBJHsxePRVAd+oqovG\nWpUkSZI2MMoNeP8Hg2vbHglsB5yQ5D3jLkySJEn3NcqI2yuBp1bVTwGSfAS4GPijcRYmSZKk+xrl\ndiA3ct9nlG4GrBlPOZIkSZrJKCNu64DLkpzJ4Bq35wHnJzkaoKr+YIz1SZIkqRkluH2lvdb7+nhK\nkSRJ0mxGuQGvN92VJElaBEa5xk2SJEmLgMFNkiSpEyMHtyQPG2chkiRJmt0oN+B9epLLgSva+6cm\n+eTYK5MkSdJ9jDLi9nHg+cBtAFX1beA35tooyc5Jzk5yeZLLkryltT8iyZlJrmp/t23tSXJ0ktVJ\nLmmP2Vq/r8Na/6uSHPZAvqgkSVLvRjpVWlXXT2m6d4TN7gHeXlW7A/sCRybZHTgKOKuqdgXOau8B\nDgR2ba8jgGNgEPSA9wH7AHsD71sf9iRJkpaSUYLb9UmeDlSSTZK8A/juXBtV1U1V9a22fFfbZkfg\nYAbPPqX9fUlbPhj4bA2cB2yTZAcGo31nVtXtVXUHcCZwwOhfUZIk6cFhlOD2RuBIBqFrDbBHez+y\nJMuBPYFvAttX1U1t1c3A9m15R2B4ZO+G1jZT+9TPOCLJqiSr1q5de3/KkyRJ6sIoN+D9AYMHzT8g\nSbYAvgy8tap+mGR435WkHui+h1XVscCxACtWrJiXfUqSJC0mMwa3JH/O4Nmk0xrlGaVJNmEQ2j5f\nVX/bmm9JskNV3dROhd7a2tcAOw9tvlNrWwM8a0r71+f6bEmSpAeb2U6VrgIuBDYH9gKuaq89gE3n\n2nEGQ2vHAd+tqo8NrVoJrJ8ZehhwylD7a9rs0n2Bde2U6hnA/km2bZMS9m9tkiRJS8qMI27rn1Ga\n5E3AM6vqnvb+U8A/j7DvZwCvBr6T5OLW9m7gI8DJSQ4HrgNe0dadBhwErAZ+Aryu1XF7kg8BF7R+\nH6yq20f+hpIkSQ8Sc17jBmwLbAWsD0tbtLZZVdU3gMywer9p+hczTHqoquOB40eoVZIk6UFrlOD2\nEeCiJGczCGK/Abx/nEVJkiRpQ6PMKv1MktMZ3AAX4A+r6ubxliVJkqSpRhlxowW1U+bsKEmSpLEZ\n6ZFXkiRJWngGN0mSpE7MdgPeR8y2obfkkCRJmqzZrnG7kMGTEwI8BrijLW8DfB/YZezVSZIk6T/M\neKq0qnapqscB/wS8qKq2q6pHAi8E/nFSBUqSJGlglGvc9q2q09a/qarTgaePryRJkiRNZ5TbgdyY\n5D3AX7X3rwRuHF9JkiRJms4oI26HAsuAr7TXo1qbJEmSJmiUJyfcDrxlArVIkiRpFnMGtyTLgP8G\nPAnYfH17VT1njHVJkiRpilFOlX4euILB7T8+AFwLXDDGmiRJkjSNUYLbI6vqOOBnVXVOVf0u4Gib\nJEnShI0yq/Rn7e9NSV7AYEbprE9VkCRJ0vwbJbj9UZKtgbcDfw5sBbxtrFVJkiRpA6PMKj21La4D\nnj3eciRJkjST2R4y/+cMnlU6rar6g7FUJEmSpGnNNjlhFYMHzW8O7AVc1V57AJuOvzRJkiQNm3HE\nrapOBEjyJuCZVXVPe/8p4J8nU54kSZLWG+V2INsymJCw3hatTZIkSRM0yqzSjwAXJTkbCPAbwPvH\nWZQkSZI2NMqs0s8kOR3YpzX9YVXdPN6yJEmSNNWMp0qT7Nb+7gU8Gri+vR7d2iRJkjRBs424/Vfg\nCODPpllX+NgrSZKkiZptVukRbfHAqvrp8Lokm4+1KkmSJG1glFml/zJimyRJksZoticn/BKwI/DQ\nJHsymFEKg1uDPGwCtUmSJGnIbNe4PR94LbAT8LGh9ruAd4+xJkmSJE1jricnnJjkZVX15QnWJEmS\npGmMcgPeU5P8DrB8uH9VfXBcRUmSJGlDowS3U4B1DB44f/d4y5EkSdJMRgluO1XVAWOvRJIkSbMa\n6XYgSX517JVIkiRpVqOMuD0TeG2SaxicKg1QVfWUsVYmSZKk+xgluB049iokSZI0pzmDW1VdB5Dk\nUYCPupIkSVogc17jluTFSa4CrgHOAa4FTh9zXZIkSZpilMkJHwL2Bf6tqnYB9gPOG2tVkiRJ2sAo\nwe1nVXUb8JAkD6mqs4EVY65LkiRJU4wyOeHOJFsA5wKfT3Ir8OPxliVJkqSpRhlxOxj4CfA24B+A\n7wEvGmdRkiRJ2tCMwS3JE5I8o6p+XFU/r6p72oPnvwVsM7kSJUmSBLOPuP1v4IfTtK9r6yRJkjRB\nswW37avqO1MbW9vysVUkSZKkac0W3GY7HfrQ+S5EkiRJs5stuK1K8vqpjUn+C3Dh+EqSJEnSdGa7\nHchbga8keSX/P6itADYFXjruwiRJknRfMwa3qroFeHqSZwNPbs1fraqvTaQySZIk3ccoD5k/Gzh7\nArVIkiRpFqPcgFeSJEmLgMFNkiSpEwY3SZKkThjcJEmSOmFwkyRJ6oTBTZIkqRMGN0mSpE4Y3CRJ\nkjoxtuCW5Pgktya5dKjt/UnWJLm4vQ4aWveuJKuTXJnk+UPtB7S21UmOGle9kiRJi904R9xOAA6Y\npv3jVbVHe50GkGR34BDgSW2bTybZKMlGwCeAA4HdgUNbX0mSpCVnzkdePVBVdW6S5SN2Pxg4qaru\nBq5JshrYu61bXVVXAyQ5qfW9fJ7LlSRJWvQW4hq3Nye5pJ1K3ba17QhcP9TnhtY2U/sGkhyRZFWS\nVWvXrh1H3ZIkSQtq0sHtGODxwB7ATcCfzdeOq+rYqlpRVSuWLVs2X7uVJElaNMZ2qnQ6VXXL+uUk\nnwZObW/XADsPdd2ptTFLuyRJ0pIy0RG3JDsMvX0psH7G6UrgkCSbJdkF2BU4H7gA2DXJLkk2ZTCB\nYeUka5YkSVosxjbiluQLwLOA7ZLcALwPeFaSPYACrgXeAFBVlyU5mcGkg3uAI6vq3rafNwNnABsB\nx1fVZeOqWZIkaTEb56zSQ6dpPm6W/h8GPjxN+2nAafNYmiRJUpd8coIkSVInDG6SJEmdMLhJkiR1\nwuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJ\ng5skSVInDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicM\nbpIkSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJnTC4\nSZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJkiR1wuAm\nSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5sk\nSVInDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIk\nSZ0wuEmSJHXC4CZJktSJsQW3JMcnuTXJpUNtj0hyZpKr2t9tW3uSHJ1kdZJLkuw1tM1hrf9VSQ4b\nV72SJEmL3ThH3E4ADpjSdhRwVlXtCpzV3gMcCOzaXkcAx8Ag6AHvA/YB9gbetz7sSZIkLTVjC25V\ndS5w+5Tmg4ET2/KJwEuG2j9bA+cB2yTZAXg+cGZV3V5VdwBnsmEYlCRJWhImfY3b9lV1U1u+Gdi+\nLe8IXD/U74bWNlP7BpIckWRVklVr166d36olSZIWgQWbnFBVBdQ87u/YqlpRVSuWLVs2X7uVJEla\nNCYd3G5pp0Bpf29t7WuAnYf67dTaZmqXJElaciYd3FYC62eGHgacMtT+mja7dF9gXTulegawf5Jt\n26SE/VubJEnSkrPxuHac5AvAs4DtktzAYHboR4CTkxwOXAe8onU/DTgIWA38BHgdQFXdnuRDwAWt\n3werauqEB0mSpCVhbMGtqg6dYdV+0/Qt4MgZ9nM8cPw8liZJktQln5wgSZLUCYObJElSJwxukiRJ\nnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJkiR1\nwuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJ\ng5skSVInDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicM\nbpIkSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJnTC4\nSZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJkiR1wuAm\nSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5sk\nSVInDG6SJEmdWJDgluTaJN9JcnGSVa3tEUnOTHJV+7tta0+So5OsTnJJkr0WomZJkqSFtpAjbs+u\nqj2qakV7fxRwVlXtCpzV3gN5CDbOAAALOElEQVQcCOzaXkcAx0y8UkmSpEVgMZ0qPRg4sS2fCLxk\nqP2zNXAesE2SHRaiQEmSpIW0UMGtgH9McmGSI1rb9lV1U1u+Gdi+Le8IXD+07Q2t7T6SHJFkVZJV\na9euHVfdkiRJC2bjBfrcZ1bVmiSPAs5McsXwyqqqJHV/dlhVxwLHAqxYseJ+bStJktSDBRlxq6o1\n7e+twFeAvYFb1p8CbX9vbd3XADsPbb5Ta5MkSVpSJh7ckjw8yZbrl4H9gUuBlcBhrdthwClteSXw\nmja7dF9g3dApVUmSpCVjIU6Vbg98Jcn6z//rqvqHJBcAJyc5HLgOeEXrfxpwELAa+AnwusmXLEmS\ntPAmHtyq6mrgqdO03wbsN017AUdOoDRJkqRFbTHdDkSSJEmzMLhJkiR1wuAmSZLUCYObJElSJwxu\nkiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJ\nkiR1wuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJ\nktQJg5skSVInDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1AmDmyRJ\nUicMbpIkSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJkiR1wuAmSZLUCYObJElSJwxukiRJ\nnTC4SZIkdcLgJkmS1AmDmyRJUicMbpIkSZ0wuEmSJHXC4CZJktQJg5skSVInDG6SJEmdMLhJkiR1\nwuAmSZLUCYObJElSJwxukiRJnTC4SZIkdcLgJkmS1ImNF7oASZL04LL8qK8udAnz5tqPvGChS7gP\nR9wkSZI6YXCTJEnqhMFNkiSpE90EtyQHJLkyyeokRy10PZIkSZPWRXBLshHwCeBAYHfg0CS7L2xV\nkiRJk9VFcAP2BlZX1dVV9X+Bk4CDF7gmSZKkierldiA7AtcPvb8B2Ge4Q5IjgCPa2x8luXICdW0H\n/GACnzN2+ehCVzBvHjTH5EHG47L4eEwWJ4/LIpOPTuSYPHbUjr0EtzlV1bHAsZP8zCSrqmrFJD9T\ns/OYLE4el8XHY7I4eVwWn8V2THo5VboG2Hno/U6tTZIkacnoJbhdAOyaZJckmwKHACsXuCZJkqSJ\n6uJUaVXdk+TNwBnARsDxVXXZApcFEz41q5F4TBYnj8vi4zFZnDwui8+iOiapqoWuQZIkSSPo5VSp\nJEnSkmdwkyRJ6oTBbQRzPW4ryWZJ/qat/2aS5ZOvcmkZ4Zj81ySXJ7kkyVlJRr5Hjh6YUR9Ll+Rl\nSSrJople/2A2ynFJ8or238tlSf560jUuNSP8+/WYJGcnuaj9G3bQQtS5lCQ5PsmtSS6dYX2SHN2O\n2SVJ9pp0jesZ3OYw4uO2DgfuqKonAB8HHjy3s12ERjwmFwErquopwJeAP55slUvLqI+lS7Il8Bbg\nm5OtcGka5bgk2RV4F/CMqnoS8NaJF7qEjPjfynuAk6tqTwZ3UfjkZKtckk4ADphl/YHAru11BHDM\nBGqalsFtbqM8butg4MS2/CVgvySZYI1LzZzHpKrOrqqftLfnMbj3n8Zn1MfSfYjB/7H56SSLW8JG\nOS6vBz5RVXcAVNWtE65xqRnlmBSwVVveGrhxgvUtSVV1LnD7LF0OBj5bA+cB2yTZYTLV3ZfBbW7T\nPW5rx5n6VNU9wDrgkROpbmka5ZgMOxw4fawVac5j0k4t7FxVX51kYUvcKP+tPBF4YpL/k+S8JLON\nOugXN8oxeT/wqiQ3AKcBvz+Z0jSL+/u/O2PTxX3cpAcqyauAFcB/XuhalrIkDwE+Brx2gUvRhjZm\ncPrnWQxGps9N8qtVdeeCVrW0HQqcUFV/luRpwOeSPLmqfr7QhWnhOeI2t1Eet/UffZJszGBo+7aJ\nVLc0jfQItCTPBf478OKquntCtS1Vcx2TLYEnA19Pci2wL7DSCQpjN8p/KzcAK6vqZ1V1DfBvDIKc\nxmOUY3I4cDJAVf0rsDmDh89r4SyaR28a3OY2yuO2VgKHteWXA18r72w8TnMekyR7An/JILR5zc74\nzXpMqmpdVW1XVcurajmD6w5fXFWrFqbcJWOUf7/+jsFoG0m2Y3Dq9OpJFrnEjHJMvg/sB5DkVxgE\nt7UTrVJTrQRe02aX7gusq6qbFqIQT5XOYabHbSX5ILCqqlYCxzEYyl7N4OLGQxau4ge/EY/JnwBb\nAF9s80S+X1UvXrCiH+RGPCaasBGPyxnA/kkuB+4F3llVnjEYkxGPyduBTyd5G4OJCq91MGC8knyB\nwf+B2a5dW/g+YBOAqvoUg2sNDwJWAz8BXrcwlfrIK0mSpG54qlSSJKkTBjdJkqROGNwkSZI6YXCT\nJEnqhMFN0rxJskmSt7bnMUqS5pnBTdJ8+iBwc1XdO0rnJM9KcmpbfnGSo+azmOH9j6N/2+br091I\nePj7JHnJNA8Sn25fJyR5+TTtK5Ic3ZZfm+Qv2vIbk7xmmv7Lk1x6P7/HtJ8taXHxPm6S5kWShwKX\nVtVJD2T7dv+qB8393qZ8n5cApwKXP8B9rQI2uFlxu7+UpCXEETdJ86Kq/p3B0yrWj1x9PcmXklyR\n5PNpd0JOckBr+xbwm+u3nzKStH2SryT5dns9vbW/Ksn5SS5O8pfTnZKdZf8PT3J82/6iJAfP8FW2\nmKHu/5HkgiSXJjl2fXvz6lbTpUn2Hv4+rfYXA3/S+jw+yevbvr6d5MtJHja0r+cmWZXk35K8cOj3\n3GAkMMn7k7yjLf/a+t8LOHKoz/Ik/5zkW+21/rdMq+/KJP8EPGqG30PSImJwkzQuewJvBXYHHgc8\nI8nmwKeBFwG/BvzSDNseDZxTVU8F9gIuy+DRP78NPKOq9mBwl/9XDm80x/7/O4PH0e0NPJtBkHr4\nKHW39r+oql+vqicDDwVeOLTNw1pNvwccP7yzqvoXBiNv76yqParqe8Dftn09Ffgug2dTrrcc2Bt4\nAfCp9p1G8Rng99s+h90KPK+q9mLw+x3d2l8K/HL7nq8Bnj7i50haQAY3SeNyflXdUFU/By5mEEh2\nA66pqqvaI3z+aoZtnwMcA1BV91bVOgbPbvw14IIkF7f3j5uy3Wz73x84qm37dQbPf3zMiHUDPDvJ\nN5N8p9X3pKFtvtBqPRfYKsk2s/wuAE9uo2DfYRA+h/d1clX9vKquYvDM0N3m2Bft87Zpnw/wuaHV\nmzB4fNJ3gC8yCGoAvwF8of2+NwJfm+tzJC08r3GTNC53Dy3fyy/+702AE6vqXb/A9i+rqivn6LdB\n3W3U65PAiqq6Psn7GQS/9aY+O3CuZwmeALykqr6d5LW0h7w/wH3N5W3ALcBTGfyf9Z/+gvuTtIAc\ncZM0SVcAy5M8vr0/dIZ+ZwFvAkiyUZKtW9vLkzyqtT8iyWPvx/7PAH5/6Jq1Pe9H3etD2g+SbAFM\nnX35222fzwTWtRHCYXcBWw693xK4KckmTDndC/xWkoe07/A4YK6gSVXdCdzZPp8p+9wauKmNIL6a\nwYPNAc4Ffrv9vjswOH0saZEzuEmamKr6KXAE8NU2eeDWGbq+hcGpye8AFwK7V9XlwHuAf0xyCXAm\nsMP92P+HGJw2vCTJZe39qHXfyeDauUsZBMALpnT5aZKLgE9x3+vV1jsJeGebFPF44L3AN4H/wyBs\nDvs+cD5wOvDG9p1G8TrgE+1U8PDEiU8Ch7VJC7sBP27tXwGuYjDT9bPAv474OZIWUAaXgUiSJGmx\nc8RNkiSpEwY3SZKkThjcJEmSOmFwkyRJ6oTBTZIkqRMGN0mSpE4Y3CRJkjrx/wC4zdB5jcYIwQAA\nAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "VUDb3PtoshTJ",
"colab_type": "code",
"colab": {}
},
"source": [
"planetaslimpio=planetas.dropna()\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "sqE852XPcLjO",
"colab_type": "code",
"colab": {}
},
"source": [
"#Acá empieza ml KNN\n",
"X = np.array(planetas.iloc[:,:-1])\n",
"y = np.array(planetas[\"Habitabilidad\"])\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "mnuoZjj3D3CT",
"colab_type": "code",
"colab": {}
},
"source": [
"from sklearn.model_selection import train_test_split\n",
"rs = 1800 #Guardamos la semilla \n",
"train_X, test_X, train_y, test_y = train_test_split(X, y, test_size = 0.3, random_state = rs)\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "z-OiprCZD7Sn",
"colab_type": "code",
"colab": {}
},
"source": [
"from sklearn.neighbors import KNeighborsClassifier\n",
"knn_clf = KNeighborsClassifier(n_neighbors=3)\n",
"knn_clf.fit(train_X,train_y)\n",
"pred_test = knn_clf.predict(test_X)\n",
"pred_test.sum()\n",
"clases = planetas[\"Habitabilidad\"].unique()\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "dDSSmXWrD98d",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"outputId": "1e4557e0-9f69-4204-e715-ae90b1b345a5"
},
"source": [
"from sklearn.metrics import confusion_matrix\n",
"pred_test.sum()"
],
"execution_count": 111,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"14"
]
},
"metadata": {
"tags": []
},
"execution_count": 111
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "SC6siM6XC0vW",
"colab_type": "code",
"colab": {}
},
"source": [
"confusion_matrix(test_y, pred_test)\n",
"from sklearn.utils.multiclass import unique_labels\n",
"\n",
"\n",
"def plot_confusion_matrix(y_true, y_pred, classes,\n",
" normalize=False,\n",
" title=None,\n",
" cmap=plt.cm.Blues):\n",
" \"\"\"\n",
" This function prints and plots the confusion matrix.\n",
" Normalization can be applied by setting `normalize=True`.\n",
" \"\"\"\n",
" if not title:\n",
" if normalize:\n",
" title = 'Matriz de confusion normalizada'\n",
" else:\n",
" title = 'Matriz de confusion, sin normalizacion'\n",
"\n",
" # Compute confusion matrix\n",
" cm = confusion_matrix(y_true, y_pred)\n",
" # Only use the labels that appear in the data\n",
" classes = classes[unique_labels(y_true, y_pred)]\n",
" if normalize:\n",
" cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n",
" print(\"Matriz de confusion normalizada\")\n",
" else:\n",
" print('Matriz de confusion, sin normalizacion')\n",
"\n",
" print(cm)\n",
"\n",
" fig, ax = plt.subplots(figsize = (8,8))\n",
" im = ax.imshow(cm, interpolation='nearest', cmap=cmap)\n",
" ax.figure.colorbar(im, ax=ax)\n",
" # We want to show all ticks...\n",
" ax.set(xticks=np.arange(cm.shape[1]),\n",
" yticks=np.arange(cm.shape[0]),\n",
" # ... and label them with the respective list entries\n",
" xticklabels=classes, yticklabels=classes,\n",
" title=title,\n",
" ylabel='Etiqueta Real',\n",
" xlabel='Etiqueta Predicha')\n",
" \n",
" # Rotate the tick labels and set their alignment.\n",
" plt.setp(ax.get_xticklabels(), rotation=45, ha=\"right\",\n",
" rotation_mode=\"anchor\", fontsize=20)\n",
"\n",
" # Loop over data dimensions and create text annotations.\n",
" fmt = '.2f' if normalize else 'd'\n",
" thresh = cm.max() / 2.\n",
" for i in range(cm.shape[0]):\n",
" for j in range(cm.shape[1]):\n",
" ax.text(j, i, format(cm[i, j], fmt), fontsize=20,\n",
" ha=\"center\", va=\"center\",\n",
" color=\"white\" if cm[i, j] > thresh else \"black\")\n",
" \n",
" ax.grid(False)\n",
" fig.tight_layout()\n",
" return ax\n",
"np.set_printoptions(precision=2)\n",
"\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "ZLxCMtwgJOGJ",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 654
},
"outputId": "271f8d3a-53b0-4bf4-c642-5649bb11d768"
},
"source": [
"# Plot non-normalized confusion matrix\n",
"plot_confusion_matrix(test_y, pred_test, classes=clases,\n",
" title='Matriz de confusion, sin normalizacion')\n",
"\n"
],
"execution_count": 113,
"outputs": [
{
"output_type": "stream",
"text": [
"Matriz de confusion, sin normalizacion\n",
"[[1137 5]\n",
" [ 4 9]]\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f21564de9e8>"
]
},
"metadata": {
"tags": []
},
"execution_count": 113
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n/j/ptnwG8JbYEgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 576x576 with 2 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "3R6DtJIYJOMp",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 654
},
"outputId": "420d1239-518b-4e4b-c0ad-bc1519bed9b0"
},
"source": [
"plot_confusion_matrix(test_y, pred_test, classes=clases, normalize = True,\n",
" title='Matriz de confusion, con normalizacion')"
],
"execution_count": 114,
"outputs": [
{
"output_type": "stream",
"text": [
"Matriz de confusion normalizada\n",
"[[1. 0. ]\n",
" [0.31 0.69]]\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f21559beda0>"
]
},
"metadata": {
"tags": []
},
"execution_count": 114
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhsAAAI3CAYAAAAySZnwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xe8HHW9//HXJwnpDRICpAdIqNIM\noQvhBwiIoF6RqqKAgIIichGVZr2KXUAFEb0gCFjg5kqHG3pLaKGlkJCQRkkPqST5/v7YOXHPyWnZ\nZM5u9ryePvbh7szsd76zWc75nPd85zuRUkKSJCkvbcrdAUmSVN0sNiRJUq4sNiRJUq4sNiRJUq4s\nNiRJUq4sNiRJUq4sNiRJUq4sNiRJUq4sNiRJUq7albsDkiS1dm27D0pp1bIW2Vda9t59KaUjW2Rn\nGYsNSZLKLK1aRocdPtMi+1r+4jW9W2RHRTyNIkmScmWyIUlS2QVE9f79X71HJkmSKoLJhiRJ5RZA\nRLl7kRuTDUmSlCuTDUmSKoFjNiRJkkpjsiFJUiVwzIYkSVJpTDYkSSo759mQJEkqmcmGJEmVwDEb\nkiRJpTHZkCSp3ALHbEiSJJXKYkOSJOXK0yiSJJVdOEBUkiSpVCYbkiRVAgeISpIklcZkQ5KkSuCY\nDUmSpNKYbEiSVHbeiE2SJKlkJhuSJJVb4JgNSZKkUplsSJJUCRyzIUmSVBqTDUmSys6rUSRJkkpm\nsSFJknLlaRRJkipBGy99lSRJKonJhiRJ5RY4QFSSJKlUJhuSJFUCpyuXJEkqjcmGJEll56RekiRJ\nJTPZkCSpEjhmQ5IkqTQmG5IkVQLHbEiSJJXGZEOSpHKLcMyGJElSqSw21KIi4pSIuH8jtPPniPjB\nxujTxhARnSLifyNiYUT8bQPa2SifjxoXEYMjIkVEu+z1PRHx+Zz2NTAi3o+Itnm0ryoSbVrmUQYW\nGyIipkbEyojoXWf5C9kP5MHNaKPWD++GpJRuTikdsWE9rkifBrYCeqWUji+1kSr+fCpaSumolNJ/\n59T2Wymlriml1Xm0L20KLDZU403gpJoXEfEhoPPG3EFThcgmbhAwMaW0qtwdqUZV/t2Rqp7Fhmrc\nBHyu6PXngRuLN4iIj2Vpx6KImB4RVxStfjT7/wVZZLxfRJwWEU9ExC8jYi5wRbbs8ay9i7Jtax4f\n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\neDqF9wAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 576x576 with 2 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "s512jCf7OGqC",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 70
},
"outputId": "b2f7e5a7-8ab4-497a-bed2-05d16574a617"
},
"source": [
"# Ahora con sklearn\n",
"from sklearn.metrics import precision_score, recall_score, accuracy_score\n",
"\n",
"# Debemos usar las opciones \"average='binary'\" y \"pos_label=0\" para obtener los resultados correctos\n",
"precision_sk = precision_score(test_y, pred_test, average='binary', pos_label=0)\n",
"recall_sk = recall_score(test_y, pred_test, average='binary', pos_label=0)\n",
"\n",
"accuracy_sk = accuracy_score(test_y, pred_test)\n",
"\n",
"print('Precision (sklearn): ', format(precision_sk, '.3f'))\n",
"print('Recall (sklearn): ', format(recall_sk, '.3f'))\n",
"print('Accuracy (sklearn): ', format(accuracy_sk, '.3f'))\n"
],
"execution_count": 115,
"outputs": [
{
"output_type": "stream",
"text": [
"Precision (sklearn): 0.996\n",
"Recall (sklearn): 0.996\n",
"Accuracy (sklearn): 0.992\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "yFZ0FLp2OZdP",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 176
},
"outputId": "eacd26bf-0e2a-48eb-9ca6-6a28a8b443f6"
},
"source": [
"from sklearn.metrics import classification_report\n",
"print(classification_report(test_y, pred_test, target_names=[\"No Habitable\",\"Habitable\"]))\n",
"\n"
],
"execution_count": 116,
"outputs": [
{
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
"No Habitable 1.00 1.00 1.00 1142\n",
" Habitable 0.64 0.69 0.67 13\n",
"\n",
" accuracy 0.99 1155\n",
" macro avg 0.82 0.84 0.83 1155\n",
"weighted avg 0.99 0.99 0.99 1155\n",
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "4BOry5EkObCo",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 52
},
"outputId": "1d452107-694b-4f28-804e-386f825caf48"
},
"source": [
"from sklearn.model_selection import cross_val_score\n",
"\n",
"# Creamos un nuevo clasificador para hacer las pruebas de cross-validation\n",
"cv_knn_clf = KNeighborsClassifier(n_neighbors=25)\n",
"\n",
"# Calculamos el puntaje tomando 10 subconjuntos del conjunto de entrenamiento\n",
"# Usamos el accuracy como métrica\n",
"scores = cross_val_score(cv_knn_clf, train_X, train_y, cv=10, scoring=None)\n",
"\n",
"print('Cross validation promedio: ', format(scores.mean(), '.3f'))\n",
"print('Cross validation std: ', format(scores.std(), '.3f'))\n",
"# Primer ejemplo, iterando\n",
"neighbors = np.arange(1,25,1)\n",
"scores = np.zeros(np.shape(neighbors))\n",
"stds = np.zeros(np.shape(neighbors))\n",
"\n",
"\n"
],
"execution_count": 117,
"outputs": [
{
"output_type": "stream",
"text": [
"Cross validation promedio: 0.987\n",
"Cross validation std: 0.002\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "iwicuF6POdpA",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 312
},
"outputId": "d9ae0332-6d4c-42a8-98c2-61fcfe4da52b"
},
"source": [
"for s, n in enumerate(neighbors):\n",
" clf = KNeighborsClassifier(n_neighbors=n)\n",
" cv_scores = cross_val_score(clf, train_X, train_y, cv=10, scoring=\"accuracy\")\n",
" scores[s] = cv_scores.mean()\n",
" stds[s] = cv_scores.std()\n",
"import matplotlib.pyplot as plt\n",
"\n",
"plt.fill_between(neighbors, scores-stds, scores+stds, alpha=0.3)\n",
"plt.plot(neighbors, scores)\n",
"plt.xlabel('Número de vecinos')\n",
"plt.ylabel('Puntaje de Cross-Validation')\n",
"plt.title('Puntaje en función del número de vecinos')\n",
"from sklearn.svm import SVC\n",
"scores.max()"
],
"execution_count": 118,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.9870149664728813"
]
},
"metadata": {
"tags": []
},
"execution_count": 118
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ckkzMO72cLmZ",
"colab_type": "code",
"colab": {}
},
"source": [
"#Acá viene el random forest\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.tree import DecisionTreeClassifier\n",
"import sklearn.metrics\n",
"from sklearn.ensemble import ExtraTreesClassifier\n",
"\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.63, random_state=9) "
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "B1Kln6hpOocj",
"colab_type": "code",
"outputId": "74600733-1a4f-4ed0-8b5c-ff6d89540ece",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 52
}
},
"source": [
"from sklearn.ensemble import RandomForestClassifier\n",
"\n",
"regressor = RandomForestClassifier() \n",
"regressor.fit(X_train, y_train) \n",
"y_pred = regressor.predict(X_test)\n"
],
"execution_count": 120,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/sklearn/ensemble/forest.py:245: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n",
" \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n"
],
"name": "stderr"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "BmsA6RmqOsWA",
"colab_type": "code",
"outputId": "83bcc77c-95fb-431e-992e-5dae861dc4ec",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 70
}
},
"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))) "
],
"execution_count": 121,
"outputs": [
{
"output_type": "stream",
"text": [
"Mean Absolute Error: 0.004123711340206186\n",
"Mean Squared Error: 0.004123711340206186\n",
"Root Mean Squared Error: 0.06421612990679355\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "OzzC7D0dR1kO",
"colab_type": "code",
"outputId": "e71bfa54-78da-409a-dd05-b7d4faa9dc93",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 52
}
},
"source": [
"from sklearn.metrics import confusion_matrix\n",
"\n",
"confusion_matrix(y_test,y_pred)"
],
"execution_count": 122,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[2383, 10],\n",
" [ 0, 32]])"
]
},
"metadata": {
"tags": []
},
"execution_count": 122
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "sEE24TZUebv8",
"colab_type": "code",
"colab": {}
},
"source": [
"\n",
"from sklearn.utils.multiclass import unique_labels\n",
"\n",
"\n",
"def plot_confusion_matrix(y_true, y_pred, classes,\n",
" normalize=False,\n",
" title=None,\n",
" cmap=plt.cm.Blues):\n",
" \"\"\"\n",
" This function prints and plots the confusion matrix.\n",
" Normalization can be applied by setting `normalize=True`.\n",
" \"\"\"\n",
" if not title:\n",
" if normalize:\n",
" title = 'Matriz de confusion normalizada'\n",
" else:\n",
" title = 'Matriz de confusion, sin normalizacion'\n",
"\n",
" # Compute confusion matrix\n",
" cm = confusion_matrix(y_true, y_pred)\n",
" # Only use the labels that appear in the data\n",
" classes = classes[unique_labels(y_true, y_pred)]\n",
" if normalize:\n",
" cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n",
" print(\"Matriz de confusion normalizada\")\n",
" else:\n",
" print('Matriz de confusion, sin normalizacion')\n",
"\n",
" print(cm)\n",
"\n",
" fig, ax = plt.subplots(figsize = (8,8))\n",
" im = ax.imshow(cm, interpolation='nearest', cmap=cmap)\n",
" ax.figure.colorbar(im, ax=ax)\n",
" # We want to show all ticks...\n",
" ax.set(xticks=np.arange(cm.shape[1]),\n",
" yticks=np.arange(cm.shape[0]),\n",
" # ... and label them with the respective list entries\n",
" xticklabels=classes, yticklabels=classes,\n",
" title=title,\n",
" ylabel='Etiqueta Real',\n",
" xlabel=\"Etiqueta Predicha\")\n",
"\n",
" # Rotate the tick labels and set their alignment.\n",
" plt.setp(ax.get_xticklabels(), rotation=45, ha=\"right\",\n",
" rotation_mode=\"anchor\", fontsize=15)\n",
"\n",
" # Loop over data dimensions and create text annotations.\n",
" fmt = '.2f' if normalize else 'd'\n",
" thresh = cm.max() / 2.\n",
" for i in range(cm.shape[0]):\n",
" for j in range(cm.shape[1]):\n",
" ax.text(j, i, format(cm[i, j], fmt), fontsize=25,\n",
" ha=\"center\", va=\"center\",\n",
" color=\"white\" if cm[i, j] > thresh else \"black\")\n",
" \n",
" ax.grid(False)\n",
" fig.tight_layout()\n",
" return ax\n",
"\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "IOueJdk4eibJ",
"colab_type": "code",
"outputId": "0137087d-bfe8-4204-d516-5848d4fc9ab8",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 655
}
},
"source": [
"np.set_printoptions(precision=2)\n",
"\n",
"# Plot non-normalized confusion matrix\n",
"plot_confusion_matrix(y_test, y_pred, classes=planetas[\"Habitabilidad\"],\n",
" title='Matriz de confusion, sin normalizacion')"
],
"execution_count": 124,
"outputs": [
{
"output_type": "stream",
"text": [
"Matriz de confusion, sin normalizacion\n",
"[[2383 10]\n",
" [ 0 32]]\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f21551e4fd0>"
]
},
"metadata": {
"tags": []
},
"execution_count": 124
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nuSfwsYN+yPSZcxY5/5vH793YIfnddffw80tv59U3phERDPnIBvz8659hx60+xNlfO5h7R43hsWfG\nL3L+3Q89y50PPMP9j73Ii+PfYOasuUAl/Tl0v6Gc9dVhDNqgL9edewJDP/cTMrNN3kNpRVlzzTUZ\nsuVWDBmyJUO23IpvfuNrTH7ttaWeN23aND5z0IG8+eabfPjDH+GSy69k662HMm/ePC679GL+39e/\nxp133M43/udULvjVb2rwSqT6sVOyEtvnhAu4Z+QLS5S/Mmkq//3DPzF/wUJO+OxOHHHAtpxx4XAm\nTH678Zg//e3hJq/5zux5/OlvDzN5ynT+9tuT6bfWanxy549y7W0jFznuyAO2BeCekS9w2tnXN5Zn\nJo89M55Pn/I7xvz9LHr37MbBe265RKfkwj/9s8n6p057h99e+y/mzpvPr793OJtu1J/tPzaIBx5/\nqTVviVQXO+60MxMnv7lI2fe++61WnXv+uecw+bXX6N69OzcPv4UNBw0CoEuXLnzpyycxY/p0zvje\nd7jskos5+SunMnjjjVd4+1V/gXNKwLtvVmpNdUiqXXHz/Y3bW206cJmu/fCTYxu31++3xhL71+27\nOgCjnn6lyfOnz5zDC+Mqwy69enRdpror9b83ZNRU/VKZdOzYcekHNeNPV18FwGcPObSxQ1Ltyyd9\nhV69erFgwQKuvebq5a5HWhnYKVmFzZk3v3G7Y8dl+6PeccuNGrdfmjBlif0vT6yUbbnJgCbPX61X\nNwZ/YB0AHm2m49Jy/R9qsX5pVfD8c881TojdZ5/9mjymV69efHynnQG4684RNWubai2IqM2jzOyU\nrMJ2GTq4cfs/L7y61OO7dO7EwP59+NKhu3DpWUcDMOaV17nlX/9Z4tiLb7gXgF232ZjzTj+E9dZe\nvXHfkI9swE0XfInePbvx4OMvcc0tTQ8VLa5b185sNHBtvvGFvTn7awcD8O9HX2g2jZFWdk8/9d7f\nrU03+2izx2226WYAPPvM023eJqme2mxOSURcBhwAvJ6Zzf9tU5tYvVd3vvGFvQG4d9SYxqGUprz1\n4Hl069p5ifL7H3uRY799OfPenb/Evt9ddw/rr7MGpx69B186dBe+dOgujXffdO3SmUlvTOPnl93B\nTy66jYULm5+k2m+t3oy986dN7vvbv57kxO9ftbSXKq20Jk167z8L662/frPHNeybPn06M2fOpFev\n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\nAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 576x576 with 2 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",