├── .gitattributes
├── README.md
├── datos
├── apple.csv
├── ave.jpg
├── cancer.csv
├── cancer_desbalance.csv
├── cancer_prueba.csv
├── carros.csv
├── carros_usados.csv
├── casas.csv
├── clientes.csv
├── creditos.csv
├── datos_paises.csv
├── datos_personas.csv
├── diabetes.csv
├── dialogos_simpsons.csv
├── electricidad.csv
├── ingreso.csv
├── ingresos.csv
├── linces.csv
├── pacientes.csv
├── pasajeros.csv
├── personas.csv
├── piedra_papel_tijera.zip
├── problemas_del_corazon.csv
├── propiedades.csv
├── salario.csv
├── salarios.csv
├── serie_de_tiempo_australianos.csv
├── serie_de_tiempo_electricidad.csv
├── serie_de_tiempo_nacimientos.csv
├── series_de_tiempo_GOOGLE_diario.csv
├── series_de_tiempo_GOOGLE_mensual.csv
├── series_de_tiempo_GOOGLE_semanal.csv
├── series_de_tiempo_casas.csv
├── series_de_tiempo_pasajeros.csv
├── venta_propiedades.csv
├── ventas.csv
├── ventas_anuales.xlsx
├── ventas_con_basura.csv
├── ventas_con_simbolo.csv
└── ventas_sin_encabezado.csv
├── estadistica_ciencia_de_datos
├── Curtosis_kurtosis.ipynb
├── apriori.ipynb
├── asimetria_skewness.ipynb
├── bootstrapping_tecnica.ipynb
├── categoricas_medidas_de_tendencia_central.ipynb
├── centralidad_grafos.ipynb
├── correlacion_de_kendall.ipynb
├── correlacion_de_spearman.ipynb
├── cuantiles.ipynb
├── distribucion_normal.ipynb
├── distribucion_normal_estandar_puntuaciones_z.ipynb
├── divergencia_kullback_leibler.ipynb
├── estadisticamente_significativo.ipynb
├── graficas_retardo_autocorrelacion.ipynb
├── graficos_cuantil_cuantil.ipynb
├── grafos.ipynb
├── intervalo_de_confianza.ipynb
├── medidas_dispersion.ipynb
├── metodos_pronostico_simple.ipynb
├── muestreo.ipynb
├── nube_de_palabras.ipynb
├── pruebas_de_normalidad.ipynb
├── regresion_cuantilica.ipynb
├── suavizacion_exponencial_simple.ipynb
├── teorema_del_limite_central.ipynb
└── v_de_cramer.ipynb
├── extraccion_datos
└── automatizacionpdf.ipynb
├── imagenes
├── estrella1.png
└── estrella2.png
├── machine_learning_python
├── DBSCAN.ipynb
├── PCA.ipynb
├── Word2VecSimpsons.ipynb
├── ajustar_hiperparametros_rejilla.ipynb
├── arboles_de_decision.ipynb
├── aumentacion_de_datos.ipynb
├── backpropagation_paso_a_paso.ipynb
├── bagging.ipynb
├── bosques_aleatorios.ipynb
├── bosques_de_aislamiento.ipynb
├── clases_desbalanceadas_muestreo.ipynb
├── clases_desbalanceadas_pesos.ipynb
├── clasificador_imagenes_papelpiedratijera.ipynb
├── clustering_jerarquico.ipynb
├── conjuntos_de_datos.ipynb
├── cross_validation.ipynb
├── datos_categoricos.ipynb
├── datos_categoricos_ordinales.ipynb
├── discretizacion.ipynb
├── distancias_machine_learning.ipynb
├── entropia.ipynb
├── escala_normaliza_estandariza.ipynb
├── gradiente_descendente.ipynb
├── impureza_GINI.ipynb
├── informacion_mutua.ipynb
├── k-medias.ipynb
├── knn.ipynb
├── knn_imputer.ipynb
├── lematizacion_vs_stemmer.ipynb
├── maldicion_de_la_dimensionalidad.ipynb
├── matriz_de_covarianza.ipynb
├── metricas_clasificadores.ipynb
├── metricas_clustering.ipynb
├── metricas_regresion.ipynb
├── perceptron.ipynb
├── propagacion_de_afinidad.ipynb
├── redes_convolucionales.ipynb
├── regresion_knn.ipynb
├── regresion_lineal.ipynb
├── regresion_logistica.ipynb
├── separacion_datos.ipynb
├── similitud_coseno.ipynb
└── sub_y_sobreajuste.ipynb
├── manejo_de_datos_pandas
├── cargar_datos_excel_pandas.ipynb
├── dataframes_de_pandas.ipynb
├── datos_categoricos.ipynb
├── datos_faltantes.ipynb
├── filtrar_datos_dataframes.ipynb
├── matriz_de_correlacion.ipynb
└── series_de_pandas.ipynb
├── numpy
├── arrays_de_numpy.py
├── busqueda_y_filtrado_numpy.py
├── ejes_de_arrays_numpy.py
├── funciones_universales.py
└── union_separacion_arrays_numpy.py
├── piedra_papel_tijera_originales.zip
├── probabilidad_python
└── ley_de_los_grandes_numeros.ipynb
├── programacion_desde_cero_con_python
├── alcance_de_variables.py
├── atributos_de_clase.py
├── busqueda_binaria.py
├── conjuntos.py
├── creación_e_importacion_de_modulos.py
├── diccionarios.py
├── encapsulamiento_de_objetos.py
├── estructura_condicional_if.py
├── estructuras_ciclicas_while_for.py
├── excepciones.py
├── funciones.py
├── funciones_lambda_anonimas.py
├── herencia_y_polimorfismo.py
├── lectura_y_escritura_de_archivos.py
├── listas.py
├── manejo_archivos.py
├── parametros_por_referencia_y_valor.py
├── programacion_orientada_a_objetos.py
├── recursividad.py
├── tuplas.py
└── variables_y_tipos_de_datos.py
├── programacion_objetos
├── atributos_de_clase.py
├── encapsulamiento_de_objetos.py
├── herencia_y_polimorfismo.py
└── programacion_orientada_a_objetos.py
├── recursividad
├── busqueda_binaria.py
└── recursividad.py
└── visualizacion_datos
├── datos_anormales_y_boxplots.ipynb
├── distribucion_de_datos_e_histogramas.ipynb
├── graficas_con_matplotlib.ipynb
├── imagenes
├── IRQmejorado.png
└── empirical_rule.png
├── matriz_de_correlacion.ipynb
├── seaborn_graficas_categoricas.ipynb
└── seaborn_graficas_relacionales.ipynb
/.gitattributes:
--------------------------------------------------------------------------------
1 | piedra_papel_tijera_originales.zip filter=lfs diff=lfs merge=lfs -text
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | - 👋 En @CodigoMaquina nuestra misión es compartir conocimientos sobre:
2 |
3 | - 👀 Inteligencia Artificial,
4 |
5 | - 👀 Ciencia de Datos y
6 |
7 | - 👀 Programación.
8 |
9 | Aquí se encuentra todo el código explicado en el canal de YouTube Código Máquina https://www.youtube.com/c/CodigoMaquina/
10 |
--------------------------------------------------------------------------------
/datos/apple.csv:
--------------------------------------------------------------------------------
1 | fecha,valor
2 | 2023-05-01,169.58
3 | 2023-05-02,168.53
4 | 2023-05-03,167.44
5 | 2023-05-04,165.78
6 | 2023-05-05,173.57
7 | 2023-05-08,173.50
8 | 2023-05-09,171.77
9 | 2023-05-10,173.55
10 | 2023-05-11,173.75
11 | 2023-05-12,172.57
12 | 2023-05-15,172.07
13 | 2023-05-16,172.07
14 | 2023-05-17,172.69
15 | 2023-05-18,175.05
16 | 2023-05-19,175.16
17 | 2023-05-22,174.19
18 | 2023-05-23,171.55
19 | 2023-05-24,171.83
20 | 2023-05-25,172.99
21 | 2023-05-26,175.42
22 | 2023-05-30,177.30
23 | 2023-05-31,177.25
--------------------------------------------------------------------------------
/datos/ave.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodigoMaquina/code/c3d50b2d354da9cc383548c2ab6743547a1d0be6/datos/ave.jpg
--------------------------------------------------------------------------------
/datos/cancer_prueba.csv:
--------------------------------------------------------------------------------
1 | 0.6585,0.5008,0.6290,0.4876,0.3509,0.3934,0.2385,0.4609,0.3316,0.1113,0.1916,0.1230,0.1934,0.1226,0.2241,0.1614,0.0600,0.2768,0.0946,0.0349,0.5827,0.4822,0.5518,0.3920,0.4179,0.2310,0.2158,0.6724,0.3201,0.1300,1.0000
2 | 0.6468,0.7104,0.6283,0.4626,0.4191,0.6193,0.3995,0.7490,0.4843,0.2137,0.3550,0.3385,0.3561,0.1808,0.3353,0.4272,0.1491,0.4804,0.5308,0.1172,0.5784,0.7322,0.5458,0.3652,0.3846,0.3452,0.2958,0.8198,0.5233,0.2260,1.0000
3 | 0.7206,0.3129,0.6786,0.5949,0.3720,0.2781,0.2843,0.5012,0.3904,0.0000,0.4498,0.1527,0.3899,0.4059,0.1922,0.0851,0.0529,0.2267,0.0595,0.0314,0.8118,0.4845,0.7425,0.7269,0.4424,0.1488,0.2285,0.6933,0.2897,0.1042,1.0000
4 | 0.7353,0.5058,0.7226,0.5678,0.4845,0.7389,0.5959,0.8887,0.4540,0.2402,0.3681,0.0751,0.3803,0.2305,0.1129,0.2492,0.0903,0.2787,0.1086,0.1002,0.7019,0.4630,0.7201,0.5018,0.3955,0.3967,0.3799,0.9265,0.3607,0.3269,1.0000
5 | 0.4584,0.5635,0.4557,0.2956,0.4044,0.5471,0.4408,0.5194,0.6625,0.2575,0.1313,0.1463,0.1238,0.0723,0.1955,0.3545,0.1533,0.3137,0.4320,0.1102,0.4073,0.6388,0.3929,0.2408,0.4777,0.4823,0.5661,0.8564,1.0000,0.4383,1.0000
6 | 0.7040,0.2237,0.6814,0.5270,0.4285,0.5546,0.4703,0.7430,0.5425,0.2497,0.0944,0.2097,0.0922,0.0603,0.1353,0.2352,0.0868,0.2544,0.1389,0.1200,0.5251,0.3300,0.5064,0.3317,0.3262,0.2819,0.3214,0.7490,0.3573,0.3368,1.0000
7 | 0.6683,0.3170,0.6359,0.5054,0.3776,0.3703,0.3717,0.5294,0.3036,0.0938,0.2062,0.0657,0.1879,0.1312,0.2243,0.1603,0.0677,0.2334,0.0620,0.0282,0.6204,0.3747,0.5797,0.4328,0.5775,0.3055,0.3322,0.8046,0.3447,0.1643,1.0000
8 | 0.2005,0.3784,0.2062,0.0925,0.6226,0.8229,0.4111,0.3770,0.6750,0.6406,0.0410,0.1474,0.0538,0.0134,0.2838,0.4152,0.1159,0.2536,0.1510,0.1223,0.1889,0.6989,0.2059,0.0794,1.0000,1.0000,0.6711,0.9615,0.7944,0.9111,1.0000
9 | 0.3728,0.5635,0.3506,0.2211,0.3087,0.1972,0.2042,0.3121,0.3369,0.0801,0.1249,0.2800,0.1205,0.0490,0.3290,0.1456,0.0856,0.2985,0.1514,0.0683,0.2796,0.6616,0.2579,0.1408,0.4077,0.1437,0.2137,0.5177,0.2796,0.1408,1.0000
10 | 0.6150,0.5602,0.5947,0.4371,0.4367,0.4719,0.4518,0.6045,0.5520,0.1836,0.2050,0.5472,0.2585,0.1182,0.4750,0.3718,0.1886,0.6518,0.3494,0.1847,0.4586,0.6190,0.4561,0.2772,0.3663,0.2351,0.3058,0.6952,0.3100,0.2228,1.0000
11 | 0.1314,0.3643,0.1237,0.0618,0.3325,0.1813,0.0718,0.0896,0.6999,0.3006,0.1093,0.2188,0.1013,0.0297,0.2886,0.1694,0.0685,0.1872,0.1938,0.1043,0.1142,0.4570,0.1019,0.0492,0.3548,0.1394,0.1020,0.2499,0.4936,0.3216,0.0000
12 | 0.2475,0.7647,0.2310,0.1300,0.3150,0.1705,0.0576,0.1407,0.4718,0.1424,0.2031,0.5045,0.1868,0.0713,0.2894,0.1277,0.0370,0.2241,0.2105,0.1032,0.2017,0.7161,0.1834,0.0940,0.2237,0.0768,0.0441,0.2113,0.2572,0.1197,0.0000
13 | 0.3884,0.2166,0.3680,0.2305,0.2559,0.2775,0.1348,0.1907,0.3725,0.1360,0.0546,0.0162,0.0597,0.0308,0.0777,0.1483,0.0583,0.1591,0.0374,0.0513,0.3291,0.2083,0.3067,0.1773,0.2400,0.2765,0.2517,0.4370,0.3444,0.2947,0.0000
14 | 0.2588,0.8407,0.2350,0.1365,0.2199,0.0613,0.0000,0.0000,0.3809,0.2004,0.1371,0.7264,0.1189,0.0529,0.2805,0.0575,0.0000,0.0000,0.4212,0.0774,0.1964,0.8747,0.1727,0.0918,0.1566,0.0273,0.0000,0.0000,0.2587,0.1308,0.0000
15 | 0.1908,0.2452,0.1860,0.0914,0.4340,0.3674,0.1245,0.0930,0.4759,0.3944,0.0151,0.0393,0.0304,0.0052,0.1377,0.2754,0.0696,0.1267,0.0497,0.1305,0.1427,0.2463,0.1513,0.0609,0.4213,0.3981,0.2688,0.3035,0.3115,0.5653,0.0000
16 | 0.2862,0.2498,0.2732,0.1541,0.3410,0.2658,0.1420,0.1822,0.3832,0.1900,0.0158,0.0281,0.0245,0.0090,0.1576,0.1508,0.0838,0.1584,0.1246,0.0482,0.2191,0.2463,0.2132,0.1034,0.4172,0.2567,0.2776,0.3727,0.4420,0.2442,0.0000
17 | 0.3532,0.4490,0.3397,0.2014,0.3311,0.3838,0.1232,0.1811,0.2650,0.2112,0.0970,0.1454,0.1113,0.0452,0.1194,0.2941,0.0712,0.2557,0.1264,0.0639,0.3031,0.5121,0.3072,0.1581,0.2997,0.3466,0.2006,0.5101,0.2971,0.2502,0.0000
18 | 0.3385,0.2867,0.3157,0.1934,0.1413,0.1419,0.0541,0.0793,0.4474,0.1066,0.0181,0.0477,0.0355,0.0135,0.0795,0.1046,0.0250,0.0915,0.0697,0.0415,0.2565,0.3286,0.2530,0.1312,0.1540,0.1903,0.1105,0.2370,0.3416,0.2331,0.0000
19 | 0.2206,0.2025,0.2110,0.1109,0.4692,0.2640,0.1292,0.1166,0.4272,0.3362,0.0377,0.1781,0.0453,0.0141,0.1617,0.1814,0.1049,0.1523,0.1712,0.0939,0.1590,0.3320,0.1575,0.0694,0.4349,0.1908,0.2073,0.2831,0.4220,0.3918,0.0000
20 | 0.2534,0.3452,0.2411,0.1323,0.3452,0.2477,0.0710,0.0904,0.2400,0.2721,0.0443,0.1834,0.0515,0.0177,0.1594,0.1383,0.0353,0.0978,0.0963,0.0333,0.1925,0.5326,0.1913,0.0890,0.3371,0.2203,0.1294,0.2168,0.2578,0.2364,0.0000
--------------------------------------------------------------------------------
/datos/carros.csv:
--------------------------------------------------------------------------------
1 | kms,precio
2 | 6048,1385956
3 | 11825,1297582
4 | 20000,1000000
5 | 21048,1284844
6 | 21549,685300
7 | 21613,1342000
8 | 24184,1207484
9 | 25000,1005000
10 | 27027,655402
11 | 27863,814000
12 | 27863,814000
13 | 29189,914936
14 | 29197,712074
15 | 34340,840400
16 | 34340,840400
17 | 41827,1227600
18 | 43613,600424
19 | 47356,857736
20 | 48312,626098
21 | 48312,626098
22 | 54050,921800
23 | 54050,921800
24 | 62501,704861
25 | 65004,635000
26 | 75969,509718
27 | 79060,565158
28 | 79234,637758
29 | 79743,560846
30 | 86529,747076
31 | 91919,681758
32 | 91919,681758
33 | 100741,647812
34 | 103098,515768
35 | 117084,755014
36 | 120001,600041
37 | 130075,721534
38 | 131757,791560
39 | 133417,741560
40 | 136184,695002
41 |
--------------------------------------------------------------------------------
/datos/carros_usados.csv:
--------------------------------------------------------------------------------
1 | 0.0373,1.0000
2 | 0.0801,0.9025
3 | 0.1405,0.5740
4 | 0.1775,0.7396
5 | 0.1627,0.6292
6 | 0.1553,0.6623
7 | 0.1997,0.6071
8 | 0.2145,0.6954
9 | 0.1258,0.7837
10 | 0.1405,0.7727
11 | 0.2885,0.1325
12 | 0.2515,0.1876
13 | 0.2737,0.1601
14 | 0.3107,0.2980
15 | 0.2959,0.3311
16 | 0.2885,0.2760
17 | 0.0333,0.6623
18 | 0.1483,0.8884
19 | 0.1520,0.2266
20 | 0.4364,0.3532
21 | 0.4216,0.3863
22 | 0.4290,0.3643
23 | 0.1525,0.9515
24 | 0.1715,0.8030
25 | 0.1775,0.5795
26 | 0.1925,0.1936
27 | 0.1987,0.3687
28 | 0.1987,0.3687
29 | 0.2085,0.4801
30 | 0.2086,0.2562
31 | 0.2466,0.3978
32 | 0.2466,0.3978
33 | 0.3020,0.8252
34 | 0.3152,0.1329
35 | 0.3429,0.4169
36 | 0.3500,0.1613
37 | 0.3500,0.1613
38 | 0.3924,0.4877
39 | 0.2466,0.3978
40 | 0.2466,0.3978
41 | 0.2466,0.3978
42 | 0.3020,0.8252
43 | 0.3152,0.1329
44 | 0.3429,0.4169
45 | 0.3500,0.1613
46 | 0.3500,0.1613
47 | 0.3924,0.4877
48 | 0.2466,0.3978
49 | 0.2466,0.3978
50 | 0.3020,0.8252
51 | 0.3152,0.1329
52 | 0.3429,0.4169
53 | 0.3500,0.1613
54 | 0.3500,0.1613
55 | 0.3924,0.4877
56 | 0.3924,0.4877
57 | 0.4549,0.2482
58 | 0.4735,0.1711
59 | 0.5546,0.0328
60 | 0.5774,0.0940
61 | 0.5787,0.1741
62 | 0.5825,0.0892
63 | 0.6327,0.2948
64 | 0.0355,0.0552
65 | 0.6726,0.2227
66 | 0.6726,0.2227
67 | 0.7378,0.1852
68 | 0.7553,0.0395
69 | 0.8587,0.3036
70 | 0.8803,0.1325
71 | 0.9548,0.2666
72 | 0.9673,0.3439
73 | 0.9795,0.2887
74 | 1.0000,0.2373
75 | 1.0000,0.1373
76 | 0.0000,0.9999
77 | 0.0100,0.9099
78 | 0.9099,0.9025
--------------------------------------------------------------------------------
/datos/casas.csv:
--------------------------------------------------------------------------------
1 | 1,6
2 | 1,10
3 | 1,17
4 | 1,23
5 | 1,24
6 | 1,26
7 | 1,27
8 | 2,4
9 | 2,5
10 | 2,7
11 | 2,12
12 | 2,14
13 | 2,17
14 | 2,19
15 | 2,22
16 | 2,23
17 | 2,24
18 | 2,25
19 | 2,26
20 | 2,27
21 | 3,4
22 | 3,5
23 | 3,8
24 | 3,13
25 | 3,16
26 | 3,21
27 | 3,22
28 | 3,23
29 | 3,24
30 | 3,25
31 | 3,26
32 | 3,27
33 | 4,4
34 | 4,5
35 | 4,6
36 | 4,7
37 | 4,9
38 | 4,15
39 | 4,20
40 | 4,21
41 | 4,22
42 | 4,23
43 | 4,24
44 | 4,25
45 | 4,26
46 | 4,27
47 | 5,4
48 | 5,5
49 | 5,6
50 | 5,7
51 | 5,8
52 | 5,10
53 | 5,12
54 | 5,16
55 | 5,19
56 | 5,20
57 | 5,21
58 | 5,22
59 | 5,23
60 | 5,24
61 | 5,25
62 | 5,26
63 | 6,4
64 | 6,5
65 | 6,6
66 | 6,7
67 | 6,8
68 | 6,9
69 | 6,10
70 | 6,18
71 | 6,19
72 | 6,20
73 | 6,21
74 | 6,22
75 | 6,23
76 | 6,24
77 | 6,25
78 | 6,26
79 | 6,27
80 | 7,5
81 | 7,6
82 | 7,7
83 | 7,8
84 | 7,9
85 | 7,11
86 | 7,13
87 | 7,17
88 | 7,18
89 | 7,19
90 | 7,20
91 | 7,21
92 | 7,22
93 | 7,23
94 | 7,24
95 | 7,25
96 | 7,26
97 | 8,6
98 | 8,7
99 | 8,8
100 | 8,9
101 | 8,10
102 | 8,11
103 | 8,12
104 | 8,17
105 | 8,18
106 | 8,19
107 | 8,20
108 | 8,21
109 | 8,22
110 | 8,23
111 | 8,24
112 | 8,25
113 | 8,26
114 | 8,27
115 | 9,6
116 | 9,7
117 | 9,8
118 | 9,9
119 | 9,10
120 | 9,17
121 | 9,18
122 | 9,19
123 | 9,20
124 | 9,21
125 | 9,22
126 | 9,23
127 | 9,24
128 | 9,25
129 | 9,26
130 | 10,4
131 | 10,8
132 | 10,9
133 | 10,10
134 | 10,15
135 | 10,16
136 | 10,17
137 | 10,18
138 | 10,19
139 | 10,20
140 | 10,21
141 | 10,22
142 | 10,23
143 | 10,24
144 | 10,25
145 | 11,5
146 | 11,8
147 | 11,9
148 | 11,14
149 | 11,15
150 | 11,16
151 | 11,17
152 | 11,18
153 | 11,19
154 | 11,20
155 | 11,21
156 | 11,22
157 | 11,23
158 | 11,24
159 | 11,25
160 | 12,11
161 | 12,13
162 | 12,15
163 | 12,16
164 | 12,17
165 | 12,18
166 | 12,19
167 | 12,20
168 | 12,21
169 | 12,22
170 | 12,23
171 | 12,26
172 | 13,6
173 | 13,8
174 | 13,13
175 | 13,14
176 | 13,15
177 | 13,16
178 | 13,17
179 | 13,18
180 | 13,19
181 | 13,20
182 | 13,21
183 | 13,23
184 | 14,8
185 | 14,11
186 | 14,12
187 | 14,13
188 | 14,14
189 | 14,15
190 | 14,16
191 | 14,17
192 | 14,18
193 | 14,19
194 | 14,21
195 | 14,25
196 | 15,10
197 | 15,11
198 | 15,12
199 | 15,13
200 | 15,14
201 | 15,15
202 | 15,16
203 | 15,17
204 | 15,23
205 | 16,4
206 | 16,9
207 | 16,10
208 | 16,11
209 | 16,12
210 | 16,13
211 | 16,14
212 | 16,15
213 | 16,16
214 | 16,19
215 | 16,24
216 | 17,5
217 | 17,8
218 | 17,9
219 | 17,10
220 | 17,11
221 | 17,12
222 | 17,13
223 | 17,14
224 | 17,15
225 | 17,16
226 | 17,18
227 | 17,21
228 | 18,4
229 | 18,9
230 | 18,10
231 | 18,11
232 | 18,12
233 | 18,13
234 | 18,20
235 | 18,21
236 | 18,22
237 | 18,26
238 | 19,4
239 | 19,5
240 | 19,7
241 | 19,8
242 | 19,9
243 | 19,10
244 | 19,11
245 | 19,12
246 | 19,14
247 | 19,18
248 | 19,19
249 | 19,20
250 | 19,21
251 | 19,22
252 | 19,23
253 | 19,24
254 | 20,7
255 | 20,8
256 | 20,9
257 | 20,10
258 | 20,11
259 | 20,13
260 | 20,16
261 | 20,17
262 | 20,18
263 | 20,19
264 | 20,20
265 | 20,21
266 | 20,22
267 | 20,23
268 | 20,24
269 | 20,27
270 | 21,6
271 | 21,7
272 | 21,8
273 | 21,16
274 | 21,17
275 | 21,18
276 | 21,19
277 | 21,20
278 | 21,21
279 | 21,22
280 | 21,23
281 | 21,24
282 | 22,5
283 | 22,6
284 | 22,7
285 | 22,12
286 | 22,17
287 | 22,18
288 | 22,19
289 | 22,20
290 | 22,21
291 | 22,22
292 | 22,23
293 | 22,24
294 | 22,26
295 | 23,4
296 | 23,5
297 | 23,6
298 | 23,13
299 | 23,17
300 | 23,19
301 | 23,20
302 | 23,21
303 | 23,24
304 | 24,14
305 | 24,18
306 | 24,22
307 | 25,20
308 |
--------------------------------------------------------------------------------
/datos/clientes.csv:
--------------------------------------------------------------------------------
1 | nombre,edad,ingreso
2 | Juan,35,15800.00
3 | Luisa,25,17000.00
4 | ,70,20000.00
5 | Carmen,49,22000.00
6 | ,,
7 | Mario,30,15800.00
8 | Pedro,,17400.00
9 | Gustavo,27,
10 | Carlos,,
--------------------------------------------------------------------------------
/datos/creditos.csv:
--------------------------------------------------------------------------------
1 | edad,credito,cumplio
2 | 18,363112,0
3 | 19,477965,1
4 | 20,239072,0
5 | 22,195265,0
6 | 22,482174,0
7 | 23,468815,0
8 | 23,583565,1
9 | 24,100000,1
10 | 24,199272,1
11 | 24,246195,0
12 | 24,433444,0
13 | 25,100000,0
14 | 25,161474,0
15 | 25,195341,1
16 | 25,478193,1
17 | 25,495793,1
18 | 26,100000,1
19 | 26,208607,1
20 | 26,266805,1
21 | 26,276709,1
22 | 26,291895,1
23 | 26,407631,1
24 | 26,445160,1
25 | 27,207623,1
26 | 27,218257,1
27 | 27,398762,1
28 | 27,547383,1
29 | 28,100000,1
30 | 28,118958,1
31 | 28,119397,1
32 | 28,153643,1
33 | 28,187467,1
34 | 28,243406,1
35 | 28,259973,1
36 | 28,273124,1
37 | 28,274833,1
38 | 28,289173,1
39 | 28,308992,1
40 | 28,357345,1
41 | 28,424449,1
42 | 28,432323,0
43 | 28,433044,1
44 | 28,439877,1
45 | 28,482278,1
46 | 28,528097,1
47 | 29,100000,1
48 | 29,100000,1
49 | 29,217582,1
50 | 29,265994,1
51 | 29,305338,1
52 | 29,362614,1
53 | 29,381219,1
54 | 29,393918,1
55 | 29,590394,0
56 | 29,595997,0
57 | 30,152192,1
58 | 30,157157,0
59 | 30,219067,1
60 | 30,331027,1
61 | 30,370532,1
62 | 30,428457,1
63 | 30,436650,1
64 | 31,100000,1
65 | 31,100716,1
66 | 31,173752,0
67 | 31,177504,1
68 | 31,303876,1
69 | 31,304800,1
70 | 31,392033,1
71 | 31,412794,1
72 | 32,100000,1
73 | 32,165130,1
74 | 32,173328,1
75 | 32,191508,1
76 | 32,195311,1
77 | 32,230214,1
78 | 32,332027,1
79 | 32,345623,1
80 | 32,588455,0
81 | 33,100968,1
82 | 33,140533,1
83 | 33,189763,1
84 | 33,357116,1
85 | 33,406955,1
86 | 34,196285,1
87 | 34,256538,1
88 | 34,274558,1
89 | 34,357923,1
90 | 34,367047,1
91 | 35,100000,1
92 | 35,170985,1
93 | 35,177721,1
94 | 35,299771,1
95 | 35,521187,0
96 | 36,100000,1
97 | 36,108389,1
98 | 36,238729,1
99 | 36,568053,0
100 | 37,299154,0
101 | 37,388676,1
102 | 38,100000,1
103 | 38,171882,1
104 | 38,177209,1
105 | 38,269784,1
106 | 38,279332,1
107 | 38,337662,1
108 | 38,479766,1
109 | 39,159176,1
110 | 39,169230,1
111 | 39,200101,1
112 | 39,303944,1
113 | 39,379241,1
114 | 40,100000,1
115 | 40,100000,0
116 | 40,130215,1
117 | 40,143372,1
118 | 40,302985,1
119 | 40,369197,1
120 | 40,459974,0
121 | 41,111600,1
122 | 41,112201,1
123 | 41,149010,1
124 | 41,227105,1
125 | 41,267009,1
126 | 41,392966,1
127 | 42,100000,1
128 | 42,109044,1
129 | 42,120819,1
130 | 42,163400,1
131 | 42,358947,1
132 | 42,372481,1
133 | 42,520795,1
134 | 42,553716,1
135 | 43,375658,1
136 | 43,415694,1
137 | 43,498315,0
138 | 44,100000,1
139 | 44,177378,1
140 | 44,190960,1
141 | 44,237074,1
142 | 44,257662,1
143 | 44,268203,1
144 | 44,270403,1
145 | 44,292182,1
146 | 44,309115,1
147 | 44,389438,1
148 | 44,486320,0
149 | 45,100000,1
150 | 45,100000,1
151 | 45,111178,0
152 | 45,154890,1
153 | 45,280269,1
154 | 46,119917,1
155 | 46,222271,1
156 | 46,283137,1
157 | 46,308299,1
158 | 46,422824,1
159 | 46,460678,1
160 | 46,472188,1
161 | 46,589297,1
162 | 46,596771,0
163 | 47,147937,1
164 | 47,158765,1
165 | 47,236111,1
166 | 47,236934,1
167 | 47,252143,1
168 | 47,279902,1
169 | 47,280254,1
170 | 47,314922,1
171 | 47,544233,1
172 | 48,198296,1
173 | 48,270482,1
174 | 48,312077,1
175 | 48,421507,1
176 | 49,193316,1
177 | 49,239760,1
178 | 49,396653,1
179 | 49,405787,1
180 | 49,419385,1
181 | 50,100000,1
182 | 50,130652,1
183 | 50,251501,1
184 | 50,330426,1
185 | 50,349182,1
186 | 50,413133,1
187 | 50,414624,0
188 | 50,442449,1
189 | 51,354045,1
190 | 51,379188,1
191 | 51,396544,1
192 | 52,100000,1
193 | 52,341763,0
194 | 53,130475,1
195 | 53,383222,0
196 | 54,275759,0
197 | 55,100000,0
198 | 55,523144,0
199 | 55,543771,0
200 | 56,285288,0
201 | 57,422969,0
202 |
--------------------------------------------------------------------------------
/datos/datos_paises.csv:
--------------------------------------------------------------------------------
1 | pais,continente,km2,poblacion_miles
2 | China,Asia,9600000,1409517
3 | India,Asia,3287263,1339180
4 | United States of America,America,9833517,324460
5 | Indonesia,Asia,1910931,263991
6 | Brazil,America,8515767,209288
7 | Pakistan,Asia,796095,197016
8 | Nigeria,Africa,923768,190886
9 | Bangladesh,Asia,147570,164670
10 | Russian Federation,Europa,17098246,143990
11 | Mexico,America,1964375,129163
12 | Japan,Asia,377930,127484
13 | Ethiopia,Africa,1104300,104957
14 | Philippines,Asia,300000,104918
15 | Egypt,Africa,1002000,97553
16 | Viet Nam,Asia,330967,95541
17 | Germany,Europa,357376,82114
18 | Democratic Republic of the Congo,Africa,2344858,81340
19 | Iran (Islamic Republic of),Asia,1628750,81163
20 | Turkey,Asia,783562,80745
21 | Thailand,Asia,513120,69038
22 | United Kingdom,Europa,242495,66182
23 | France,Europa,551500,64980
24 | Italy,Europa,302073,59360
25 | United Republic of Tanzania,Africa,947303,57310
26 | South Africa,Africa,1221037,56717
27 | Myanmar,Asia,676577,53371
28 | Republic of Korea,Asia,100284,50982
29 | Kenya,Africa,591958,49700
30 | Colombia,America,1141748,49066
31 | Spain,Europa,505944,46354
32 | Argentina,America,2780400,44271
33 | Ukraine,Europa,603500,44223
34 | Uganda,Africa,241550,42863
35 | Algeria,Africa,2381741,41318
36 | Sudan,Africa,,40533
37 | Iraq,Asia,435052,38275
38 | Poland,Europa,312679,38171
39 | Canada,America,9984670,36624
40 | Morocco,Africa,446550,35740
41 | Afghanistan,Asia,652864,35530
42 | Saudi Arabia,Asia,2206714,32938
43 | Peru,America,1285216,32166
44 | Venezuela (Bolivarian Republic of),America,912050,31977
45 | Uzbekistan,Asia,448969,31911
46 | Malaysia,Asia,330323,31624
47 | Angola,Africa,1246700,29784
48 | Mozambique,Africa,799380,29669
49 | Nepal,Asia,147181,29305
50 | Ghana,Africa,238537,28834
51 | Yemen,Asia,527968,28250
52 | Madagascar,Africa,587295,25571
53 | Democratic People's Republic of Korea,Asia,120538,25491
54 | Australia,Oceania,7692060,24451
55 | Cameroon,Africa,475650,24054
56 | Niger,Africa,1267000,21477
57 | Sri Lanka,Asia,65610,20877
58 | Romania,Europa,238391,19679
59 | Burkina Faso,Africa,272967,19193
60 | Malawi,Africa,118484,18622
61 | Mali,Africa,1240192,18542
62 | Syrian Arab Republic,Asia,185180,18270
63 | Kazakhstan,Asia,2724902,18204
64 | Chile,America,756102,18055
65 | Zambia,Africa,752612,17094
66 | Netherlands,Europa,41542,17036
67 | Guatemala,America,108889,16914
68 | Ecuador,America,257217,16625
69 | Zimbabwe,Africa,390757,16530
70 | Cambodia,Asia,181035,16005
71 | Senegal,Africa,196712,15851
72 | Chad,Africa,1284000,14900
73 | Somalia,Africa,637657,14742
74 | Guinea,Africa,245857,12717
75 | South Sudan,Africa,658841,12576
76 | Rwanda,Africa,26338,12208
77 | Tunisia,Africa,163610,11532
78 | Cuba,America,109884,11485
79 | Belgium,Europa,30528,11429
80 | Benin,Africa,114763,11176
81 | Greece,Europa,131957,11160
82 | Bolivia (Plurinational State of),America,1098581,11052
83 | Haiti,America,27750,10981
84 | Burundi,Africa,27830,10864
85 | Dominican Republic,America,48671,10767
86 | Czechia,Europa,78868,10618
87 | Portugal,Europa,92226,10330
88 | Sweden,Europa,438574,9911
89 | Azerbaijan,Asia,86600,9828
90 | Hungary,Europa,93024,9722
91 | Jordan,Asia,89318,9702
92 | Belarus,Europa,207600,9468
93 | United Arab Emirates,Asia,83600,9400
94 | Honduras,America,112492,9265
95 | Tajikistan,Asia,142600,8921
96 | Serbia,Europa,88499,8791
97 | Austria,Europa,83871,8736
98 | Switzerland,Europa,41291,8476
99 | Israel,Asia,22072,8322
100 | Papua New Guinea,Oceania,462840,8251
101 | Togo,Africa,56785,7798
102 | Sierra Leone,Africa,72300,7557
103 | "China, Hong Kong SAR",Asia,1106,7365
104 | Bulgaria,Europa,111002,7085
105 | Lao People's Democratic Republic,Asia,236800,6858
106 | Paraguay,America,406752,6811
107 | El Salvador,America,21041,6378
108 | Libya,Africa,1676198,6375
109 | Nicaragua,America,130373,6218
110 | Lebanon,Asia,10452,6082
111 | Kyrgyzstan,Asia,199949,6045
112 | Turkmenistan,Asia,488100,5758
113 | Denmark,Europa,42921,5734
114 | Singapore,Asia,719,5709
115 | Finland,Europa,338440,5523
116 | Slovakia,Europa,49035,5448
117 | Norway,Europa,386194,5305
118 | Congo,Africa,342000,5261
119 | Eritrea,Africa,117600,5069
120 | State of Palestine,Asia,6020,4921
121 | Costa Rica,America,51100,4906
122 | Ireland,Europa,69797,4762
123 | Liberia,Africa,111369,4732
124 | New Zealand,Oceania,268107,4706
125 | Central African Republic,Africa,622984,4659
126 | Oman,Asia,309500,4636
127 | Mauritania,Africa,1030700,4420
128 | Croatia,Europa,56594,4189
129 | Kuwait,Asia,17818,4136
130 | Panama,America,75320,4099
131 | Republic of Moldova,Europa,33846,4051
132 | Georgia,Asia,69700,3912
133 | Puerto Rico,America,8868,3663
134 | Bosnia and Herzegovina,Europa,51209,3507
135 | Uruguay,America,173626,3457
136 | Mongolia,Asia,1564116,3076
137 | Albania,Europa,28748,2930
138 | Armenia,Asia,29743,2930
139 | Jamaica,America,10990,2890
140 | Lithuania,Europa,65286,2890
141 | Qatar,Asia,11607,2639
142 | Namibia,Africa,824116,2534
143 | Botswana,Africa,582000,2292
144 | Lesotho,Africa,30355,2233
145 | Gambia,Africa,11295,2101
146 | The former Yugoslav Republic of Macedonia,Europa,25713,2083
147 | Slovenia,Europa,20273,2080
148 | Gabon,Africa,267668,2025
149 | Latvia,Europa,64573,1950
150 | Guinea-Bissau,Africa,36125,1861
151 | Bahrain,Asia,771,1493
152 | Trinidad and Tobago,America,5127,1369
153 | Swaziland,Africa,17363,1367
154 | Estonia,Europa,45227,1310
155 | Timor-Leste,Asia,14919,1296
156 | Equatorial Guinea,Africa,28052,1268
157 | Mauritius,Africa,1969,1265
158 | Cyprus,Asia,9251,1180
159 | Djibouti,Africa,23200,957
160 | Fiji,Oceania,18272,906
161 | Comoros,Africa,2235,814
162 | Bhutan,Asia,38394,808
163 | Guyana,America,214969,778
164 | Montenegro,Europa,13812,629
165 | "China, Macao SAR",Asia,30,623
166 | Solomon Islands,Oceania,28896,611
167 | Luxembourg,Europa,2586,584
168 | Suriname,America,163820,563
169 | Western Sahara,Africa,266000,553
170 | Cabo Verde,Africa,4033,546
171 | Guadeloupe,America,1705,450
172 | Maldives,Asia,300,436
173 | Malta,Europa,315,431
174 | Brunei Darussalam,Asia,5765,429
175 | Bahamas,America,13940,395
176 | Martinique,America,1128,385
177 | Belize,America,22966,375
178 | Iceland,Europa,103000,335
179 | Barbados,America,431,286
180 | French Guiana,America,83534,283
181 | French Oceania,Oceania,4000,283
182 | New Caledonia,Oceania,18575,276
183 | Vanuatu,Oceania,12189,276
184 | Mayotte,Africa,374,253
185 | Sao Tome and Principe,Africa,964,204
186 | Samoa,Oceania,2842,196
187 | Saint Lucia,America,539,179
188 | Channel Islands,Europa,180,165
189 | Guam,Oceania,549,164
190 | Kiribati,Oceania,726,116
191 | Saint Vincent and the Grenadines,America,389,110
192 | Grenada,America,345,108
193 | Tonga,Oceania,747,108
194 | Oceania (Federated States of),Oceania,702,106
195 | Aruba,America,180,105
196 | United States Virgin Islands,America,347,105
197 | Antigua and Barbuda,America,442,102
198 | Seychelles,Africa,457,95
199 | Isle of Man,Europa,572,84
200 | Andorra,Europa,468,77
201 | Dominica,America,750,74
202 | Cayman Islands,America,264,62
203 | Bermuda,America,53,61
204 | American Samoa,Oceania,199,56
205 | Greenland,America,2166086,56
206 | Northern Mariana Islands,Oceania,457,55
207 | Saint Kitts and Nevis,America,261,55
208 | Marshall Islands,Oceania,181,53
209 | Faroe Islands,Europa,1393,49
210 | Sint Maarten (Dutch part),America,34,40
211 | Monaco,Europa,2,39
212 | Liechtenstein,Europa,160,38
213 | Gibraltar,Europa,6,35
214 | Turks and Caicos Islands,America,948,35
215 | San Marino,Europa,61,33
216 | British Virgin Islands,America,151,31
217 | "Bonaire, Sint Eustatius and Saba",America,1,25
218 | Palau,Oceania,459,22
219 | Cook Islands,Oceania,236,17
220 | Anguilla,America,91,15
221 | Wallis and Futuna Islands,Oceania,142,12
222 | Nauru,Oceania,21,11
223 | Tuvalu,Oceania,26,11
224 | Saint Pierre and Miquelon,America,242,6
225 | Montserrat,America,103,5
226 | Saint Helena,Africa,308,4
227 | Falkland Islands (Malvinas),America,12173,3
228 | Niue,Oceania,260,2
229 | Holy See,Europa,1,1
230 | Tokelau,Oceania,12,1
231 |
--------------------------------------------------------------------------------
/datos/diabetes.csv:
--------------------------------------------------------------------------------
1 | imc,glucosa
2 | 33.6,148
3 | 26.6,85
4 | 23.3,183
5 | 28.1,89
6 | 43.1,137
7 | 25.6,116
8 | 31.0,78
9 | 35.3,115
10 | 30.5,197
11 | 0.0,125
12 | 37.6,110
13 | 38.0,168
14 | 27.1,139
15 | 30.1,189
16 | 25.8,166
17 | 30.0,100
18 | 45.8,118
19 | 29.6,107
20 | 43.3,103
21 | 34.6,115
22 | 39.3,126
23 | 35.4,99
24 | 39.8,196
25 | 29.0,119
26 | 36.6,143
27 | 31.1,125
28 | 39.4,147
29 | 23.2,97
30 | 22.2,145
31 | 34.1,117
32 | 36.0,109
33 | 31.6,158
34 | 24.8,88
35 | 19.9,92
36 | 27.6,122
37 | 24.0,103
38 | 33.2,138
39 | 32.9,102
40 | 38.2,90
41 | 37.1,111
42 | 34.0,180
43 | 40.2,133
44 | 22.7,106
45 | 45.4,171
46 | 27.4,159
47 | 42.0,180
48 | 29.7,146
49 | 28.0,71
50 | 39.1,103
51 | 0.0,105
52 | 19.4,103
53 | 24.2,101
54 | 24.4,88
55 | 33.7,176
56 | 34.7,150
57 | 23.0,73
58 | 37.7,187
59 | 46.8,100
60 | 40.5,146
61 | 41.5,105
62 | 0.0,84
63 | 32.9,133
64 | 25.0,44
65 | 25.4,141
66 | 32.8,114
67 | 29.0,99
68 | 32.5,109
69 | 42.7,109
70 | 19.6,95
71 | 28.9,146
72 | 32.9,100
73 | 28.6,139
74 | 43.4,126
75 | 35.1,129
76 | 32.0,79
77 | 24.7,0
78 | 32.6,62
79 | 37.7,95
80 | 43.2,131
81 | 25.0,112
82 | 22.4,113
83 | 0.0,74
84 | 29.3,83
85 | 24.6,101
86 | 48.8,137
87 | 32.4,110
88 | 36.6,106
89 | 38.5,100
90 | 37.1,136
91 | 26.5,107
92 | 19.1,80
93 | 32.0,123
94 | 46.7,81
95 | 23.8,134
96 | 24.7,142
97 | 33.9,144
98 | 31.6,92
99 | 20.4,71
100 | 28.7,93
101 | 49.7,122
102 | 39.0,163
103 | 26.1,151
104 | 22.5,125
105 | 26.6,81
106 | 39.6,85
107 | 28.7,126
108 | 22.4,96
109 | 29.5,144
110 | 34.3,83
111 | 37.4,95
112 | 33.3,171
113 | 34.0,155
114 | 31.2,89
115 | 34.0,76
116 | 30.5,160
117 | 31.2,146
118 | 34.0,124
119 | 33.7,78
120 | 28.2,97
121 | 23.2,99
122 | 53.2,162
123 | 34.2,111
124 | 33.6,107
125 | 26.8,132
126 | 33.3,113
127 | 55.0,88
128 | 42.9,120
129 | 33.3,118
130 | 34.5,117
131 | 27.9,105
132 | 29.7,173
133 | 33.3,122
134 | 34.5,170
135 | 38.3,84
136 | 21.1,96
137 | 33.8,125
138 | 30.8,100
139 | 28.7,93
140 | 31.2,129
141 | 36.9,105
142 | 21.1,128
143 | 39.5,106
144 | 32.5,108
145 | 32.4,108
146 | 32.8,154
147 | 0.0,102
148 | 32.8,57
149 | 30.5,106
150 | 33.7,147
151 | 27.3,90
152 | 37.4,136
153 | 21.9,114
154 | 34.3,156
155 | 40.6,153
156 | 47.9,188
157 | 50.0,152
158 | 24.6,99
159 | 25.2,109
160 | 29.0,88
161 | 40.9,163
162 | 29.7,151
163 | 37.2,102
164 | 44.2,114
165 | 29.7,100
166 | 31.6,131
167 | 29.9,104
168 | 32.5,148
169 | 29.6,120
170 | 31.9,110
171 | 28.4,111
172 | 30.8,102
173 | 35.4,134
174 | 28.9,87
175 | 43.5,79
176 | 29.7,75
177 | 32.7,179
178 | 31.2,85
179 | 67.1,129
180 | 45.0,143
181 | 39.1,130
182 | 23.2,87
183 | 34.9,119
184 | 27.7,0
185 | 26.8,73
186 | 27.6,141
187 | 35.9,194
188 | 30.1,181
189 | 32.0,128
190 | 27.9,109
191 | 31.6,139
192 | 22.6,111
193 | 33.1,123
194 | 30.4,159
195 | 52.3,135
196 | 24.4,85
197 | 39.4,158
198 | 24.3,105
199 | 22.9,107
200 | 34.8,109
201 | 30.9,148
202 | 31.0,113
203 | 40.1,138
204 | 27.3,108
205 | 20.4,99
206 | 37.7,103
207 | 23.9,111
208 | 37.5,196
209 | 37.7,162
210 | 33.2,96
211 | 35.5,184
212 | 27.7,81
213 | 42.8,147
214 | 34.2,179
215 | 42.6,140
216 | 34.2,112
217 | 41.8,151
218 | 35.8,109
219 | 30.0,125
220 | 29.0,85
221 | 37.8,112
222 | 34.6,177
223 | 31.6,158
224 | 25.2,119
225 | 28.8,142
226 | 23.6,100
227 | 34.6,87
228 | 35.7,101
229 | 37.2,162
230 | 36.7,197
231 | 45.2,117
232 | 44.0,142
233 | 46.2,134
234 | 25.4,79
235 | 35.0,122
236 | 29.7,74
237 | 43.6,171
238 | 35.9,181
239 | 44.1,179
240 | 30.8,164
241 | 18.4,104
242 | 29.2,91
243 | 33.1,91
244 | 25.6,139
245 | 27.1,119
246 | 38.2,146
247 | 30.0,184
248 | 31.2,122
249 | 52.3,165
250 | 35.4,124
251 | 30.1,111
252 | 31.2,106
253 | 28.0,129
254 | 24.4,90
255 | 35.8,86
256 | 27.6,92
257 | 33.6,113
258 | 30.1,111
259 | 28.7,114
260 | 25.9,193
261 | 33.3,155
262 | 30.9,191
263 | 30.0,141
264 | 32.1,95
265 | 32.4,142
266 | 32.0,123
267 | 33.6,96
268 | 36.3,138
269 | 40.0,128
270 | 25.1,102
271 | 27.5,146
272 | 45.6,101
273 | 25.2,108
274 | 23.0,122
275 | 33.2,71
276 | 34.2,106
277 | 40.5,100
278 | 26.5,106
279 | 27.8,104
280 | 24.9,114
281 | 25.3,108
282 | 37.9,146
283 | 35.9,129
284 | 32.4,133
285 | 30.4,161
286 | 27.0,108
287 | 26.0,136
288 | 38.7,155
289 | 45.6,119
290 | 20.8,96
291 | 36.1,108
292 | 36.9,78
293 | 36.6,107
294 | 43.3,128
295 | 40.5,128
296 | 21.9,161
297 | 35.5,151
298 | 28.0,146
299 | 30.7,126
300 | 36.6,100
301 | 23.6,112
302 | 32.3,167
303 | 31.6,144
304 | 35.8,77
305 | 52.9,115
306 | 21.0,150
307 | 39.7,120
308 | 25.5,161
309 | 24.8,137
310 | 30.5,128
311 | 32.9,124
312 | 26.2,80
313 | 39.4,106
314 | 26.6,155
315 | 29.5,113
316 | 35.9,109
317 | 34.1,112
318 | 19.3,99
319 | 30.5,182
320 | 38.1,115
321 | 23.5,194
322 | 27.5,129
323 | 31.6,112
324 | 27.4,124
325 | 26.8,152
326 | 35.7,112
327 | 25.6,157
328 | 35.1,122
329 | 35.1,179
330 | 45.5,102
331 | 30.8,105
332 | 23.1,118
333 | 32.7,87
334 | 43.3,180
335 | 23.6,106
336 | 23.9,95
337 | 47.9,165
338 | 33.8,117
339 | 31.2,115
340 | 34.2,152
341 | 39.9,178
342 | 25.9,130
343 | 25.9,95
344 | 32.0,0
345 | 34.7,122
346 | 36.8,95
347 | 38.5,126
348 | 28.7,139
349 | 23.5,116
350 | 21.8,99
351 | 41.0,0
352 | 42.2,92
353 | 31.2,137
354 | 34.4,61
355 | 27.2,90
356 | 42.7,90
357 | 30.4,165
358 | 33.3,125
359 | 39.9,129
360 | 35.3,88
361 | 36.5,196
362 | 31.2,189
363 | 29.8,158
364 | 39.2,103
365 | 38.5,146
366 | 34.9,147
367 | 34.0,99
368 | 27.6,124
369 | 21.0,101
370 | 27.5,81
371 | 32.8,133
372 | 38.4,173
373 | 0.0,118
374 | 35.8,84
375 | 34.9,105
376 | 36.2,122
377 | 39.2,140
378 | 25.2,98
379 | 37.2,87
380 | 48.3,156
381 | 43.4,93
382 | 30.8,107
383 | 20.0,105
384 | 25.4,109
385 | 25.1,90
386 | 24.3,125
387 | 22.3,119
388 | 32.3,116
389 | 43.3,105
390 | 32.0,144
391 | 31.6,100
392 | 32.0,100
393 | 45.7,166
394 | 23.7,131
395 | 22.1,116
396 | 32.9,158
397 | 27.7,127
398 | 24.7,96
399 | 34.3,131
400 | 21.1,82
401 | 34.9,193
402 | 32.0,95
403 | 24.2,137
404 | 35.0,136
405 | 31.6,72
406 | 32.9,168
407 | 42.1,123
408 | 28.9,115
409 | 21.9,101
410 | 25.9,197
411 | 42.4,172
412 | 35.7,102
413 | 34.4,112
414 | 42.4,143
415 | 26.2,143
416 | 34.6,138
417 | 35.7,173
418 | 27.2,97
419 | 38.5,144
420 | 18.2,83
421 | 26.4,129
422 | 45.3,119
423 | 26.0,94
424 | 40.6,102
425 | 30.8,115
426 | 42.9,151
427 | 37.0,184
428 | 0.0,94
429 | 34.1,181
430 | 40.6,135
431 | 35.0,95
432 | 22.2,99
433 | 30.4,89
434 | 30.0,80
435 | 25.6,139
436 | 24.5,90
437 | 42.4,141
438 | 37.4,140
439 | 29.9,147
440 | 18.2,97
441 | 36.8,107
442 | 34.3,189
443 | 32.2,83
444 | 33.2,117
445 | 30.5,108
446 | 29.7,117
447 | 59.4,180
448 | 25.3,100
449 | 36.5,95
450 | 33.6,104
451 | 30.5,120
452 | 21.2,82
453 | 28.9,134
454 | 39.9,91
455 | 19.6,119
456 | 37.8,100
457 | 33.6,175
458 | 26.7,135
459 | 30.2,86
460 | 37.6,148
461 | 25.9,134
462 | 20.8,120
463 | 21.8,71
464 | 35.3,74
465 | 27.6,88
466 | 24.0,115
467 | 21.8,124
468 | 27.8,74
469 | 36.8,97
470 | 30.0,120
471 | 46.1,154
472 | 41.3,144
473 | 33.2,137
474 | 38.8,119
475 | 29.9,136
476 | 28.9,114
477 | 27.3,137
478 | 33.7,105
479 | 23.8,114
480 | 25.9,126
481 | 28.0,132
482 | 35.5,158
483 | 35.2,123
484 | 27.8,85
485 | 38.2,84
486 | 44.2,145
487 | 42.3,135
488 | 40.7,139
489 | 46.5,173
490 | 25.6,99
491 | 26.1,194
492 | 36.8,83
493 | 33.5,89
494 | 32.8,99
495 | 28.9,125
496 | 0.0,80
497 | 26.6,166
498 | 26.0,110
499 | 30.1,81
500 | 25.1,195
501 | 29.3,154
502 | 25.2,117
503 | 37.2,84
504 | 39.0,0
505 | 33.3,94
506 | 37.3,96
507 | 33.3,75
508 | 36.5,180
509 | 28.6,130
510 | 30.4,84
511 | 25.0,120
512 | 29.7,84
513 | 22.1,139
514 | 24.2,91
515 | 27.3,91
516 | 25.6,99
517 | 31.6,163
518 | 30.3,145
519 | 37.6,125
520 | 32.8,76
521 | 19.6,129
522 | 25.0,68
523 | 33.2,124
524 | 0.0,114
525 | 34.2,130
526 | 31.6,125
527 | 21.8,87
528 | 18.2,97
529 | 26.3,116
530 | 30.8,117
531 | 24.6,111
532 | 29.8,122
533 | 45.3,107
534 | 41.3,86
535 | 29.8,91
536 | 33.3,77
537 | 32.9,132
538 | 29.6,105
539 | 21.7,57
540 | 36.3,127
541 | 36.4,129
542 | 39.4,100
543 | 32.4,128
544 | 34.9,90
545 | 39.5,84
546 | 32.0,88
547 | 34.5,186
548 | 43.6,187
549 | 33.1,131
550 | 32.8,164
551 | 28.5,189
552 | 27.4,116
553 | 31.9,84
554 | 27.8,114
555 | 29.9,88
556 | 36.9,84
557 | 25.5,124
558 | 38.1,97
559 | 27.8,110
560 | 46.2,103
561 | 30.1,85
562 | 33.8,125
563 | 41.3,198
564 | 37.6,87
565 | 26.9,99
566 | 32.4,91
567 | 26.1,95
568 | 38.6,99
569 | 32.0,92
570 | 31.3,154
571 | 34.3,121
572 | 32.5,78
573 | 22.6,130
574 | 29.5,111
575 | 34.7,98
576 | 30.1,143
577 | 35.5,119
578 | 24.0,108
579 | 42.9,118
580 | 27.0,133
581 | 34.7,197
582 | 42.1,151
583 | 25.0,109
584 | 26.5,121
585 | 38.7,100
586 | 28.7,124
587 | 22.5,93
588 | 34.9,143
589 | 24.3,103
590 | 33.3,176
591 | 21.1,73
592 | 46.8,111
593 | 39.4,112
594 | 34.4,132
595 | 28.5,82
596 | 33.6,123
597 | 32.0,188
598 | 45.3,67
599 | 27.8,89
600 | 36.8,173
601 | 23.1,109
602 | 27.1,108
603 | 23.7,96
604 | 27.8,124
605 | 35.2,150
606 | 28.4,183
607 | 35.8,124
608 | 40.0,181
609 | 19.5,92
610 | 41.5,152
611 | 24.0,111
612 | 30.9,106
613 | 32.9,174
614 | 38.2,168
615 | 32.5,105
616 | 36.1,138
617 | 25.8,106
618 | 28.7,117
619 | 20.1,68
620 | 28.2,112
621 | 32.4,119
622 | 38.4,112
623 | 24.2,92
624 | 40.8,183
625 | 43.5,94
626 | 30.8,108
627 | 37.7,90
628 | 24.7,125
629 | 32.4,132
630 | 34.6,128
631 | 24.7,94
632 | 27.4,114
633 | 34.5,102
634 | 26.2,111
635 | 27.5,128
636 | 25.9,92
637 | 31.2,104
638 | 28.8,104
639 | 31.6,94
640 | 40.9,97
641 | 19.5,100
642 | 29.3,102
643 | 34.3,128
644 | 29.5,147
645 | 28.0,90
646 | 27.6,103
647 | 39.4,157
648 | 23.4,167
649 | 37.8,179
650 | 28.3,136
651 | 26.4,107
652 | 25.2,91
653 | 33.8,117
654 | 34.1,123
655 | 26.8,120
656 | 34.2,106
657 | 38.7,155
658 | 21.8,101
659 | 38.9,120
660 | 39.0,127
661 | 34.2,80
662 | 27.7,162
663 | 42.9,199
664 | 37.6,167
665 | 37.9,145
666 | 33.7,115
667 | 34.8,112
668 | 32.5,145
669 | 27.5,111
670 | 34.0,98
671 | 30.9,154
672 | 33.6,165
673 | 25.4,99
674 | 35.5,68
675 | 57.3,123
676 | 35.6,91
677 | 30.9,195
678 | 24.8,156
679 | 35.3,93
680 | 36.0,121
681 | 24.2,101
682 | 24.2,56
683 | 49.6,162
684 | 44.6,95
685 | 32.3,125
686 | 0.0,136
687 | 33.2,129
688 | 23.1,130
689 | 28.3,107
690 | 24.1,140
691 | 46.1,144
692 | 24.6,107
693 | 42.3,158
694 | 39.1,121
695 | 38.5,129
696 | 23.5,90
697 | 30.4,142
698 | 29.9,169
699 | 25.0,99
700 | 34.5,127
701 | 44.5,118
702 | 35.9,122
703 | 27.6,125
704 | 35.0,168
705 | 38.5,129
706 | 28.4,110
707 | 39.8,80
708 | 0.0,115
709 | 34.4,127
710 | 32.8,164
711 | 38.0,93
712 | 31.2,158
713 | 29.6,126
714 | 41.2,129
715 | 26.4,134
716 | 29.5,102
717 | 33.9,187
718 | 33.8,173
719 | 23.1,94
720 | 35.5,108
721 | 35.6,97
722 | 29.3,83
723 | 38.1,114
724 | 29.3,149
725 | 39.1,117
726 | 32.8,111
727 | 39.4,112
728 | 36.1,116
729 | 32.4,141
730 | 22.9,175
731 | 30.1,92
732 | 28.4,130
733 | 28.4,120
734 | 44.5,174
735 | 29.0,106
736 | 23.3,105
737 | 35.4,95
738 | 27.4,126
739 | 32.0,65
740 | 36.6,99
741 | 39.5,102
742 | 42.3,120
743 | 30.8,102
744 | 28.5,109
745 | 32.7,140
746 | 40.6,153
747 | 30.0,100
748 | 49.3,147
749 | 46.3,81
750 | 36.4,187
751 | 24.3,162
752 | 31.2,136
753 | 39.0,121
754 | 26.0,108
755 | 43.3,181
756 | 32.4,154
757 | 36.5,128
758 | 32.0,137
759 | 36.3,123
760 | 37.5,106
761 | 35.5,190
762 | 28.4,88
763 | 44.0,170
764 | 22.5,89
765 | 32.9,101
766 | 36.8,122
767 | 26.2,121
768 | 30.1,126
769 | 30.4,93
770 |
--------------------------------------------------------------------------------
/datos/ingresos.csv:
--------------------------------------------------------------------------------
1 | edad,estudio,genero,tipo_trabajo,horas,ingreso
2 | 27,9,0,0,40,0
3 | 30,9,0,0,40,0
4 | 34,8,0,0,40,0
5 | 26,13,0,0,50,0
6 | 23,4,1,0,25,0
7 | 20,10,1,0,40,0
8 | 21,10,0,0,15,0
9 | 42,9,1,0,40,1
10 | 68,9,1,1,25,0
11 | 41,10,1,0,40,1
12 | 49,3,0,0,20,0
13 | 31,10,1,0,40,0
14 | 66,11,0,0,30,0
15 | 58,9,0,0,40,0
16 | 34,13,1,1,55,0
17 | 63,13,1,1,40,0
18 | 80,9,1,1,30,0
19 | 67,16,1,0,60,1
20 | 17,8,1,0,15,0
21 | 31,13,1,0,40,1
22 | 58,4,1,1,40,0
23 | 25,10,1,1,40,0
24 | 59,9,1,1,40,0
25 | 70,5,0,0,40,0
26 | 35,13,1,1,60,0
27 | 28,9,1,0,50,0
28 | 28,9,1,0,45,1
29 | 21,10,1,0,25,0
30 | 30,9,1,1,60,0
31 | 59,10,0,1,40,0
32 | 20,9,1,0,40,0
33 | 45,4,1,0,10,0
34 | 76,4,0,0,12,0
35 | 30,6,1,0,55,0
36 | 54,9,1,1,40,1
37 | 19,10,0,1,30,0
38 | 44,16,1,0,50,1
39 | 31,10,1,0,40,0
40 | 47,9,1,0,40,0
41 | 37,9,1,1,40,0
42 | 59,13,1,0,40,1
43 | 27,7,1,1,40,0
44 | 24,9,1,0,40,0
45 | 49,10,1,0,44,1
46 | 36,14,1,0,60,1
47 | 54,13,1,1,40,1
48 | 44,10,0,0,32,0
49 | 35,10,1,0,60,0
50 | 19,9,0,1,35,0
51 | 71,9,1,0,45,1
52 | 20,10,0,0,40,0
53 | 62,9,0,1,30,0
54 | 35,9,1,1,60,0
55 | 64,5,1,1,40,0
56 | 53,1,1,0,40,0
57 | 30,10,0,0,40,0
58 | 34,13,0,0,39,0
59 | 62,13,1,0,1,1
60 | 21,10,0,1,40,0
61 | 42,9,1,0,40,0
62 | 26,10,1,0,52,1
63 | 43,10,0,0,35,0
64 | 28,13,0,0,35,0
65 | 23,13,0,0,30,0
66 | 56,9,1,1,50,0
67 | 19,10,1,1,24,0
68 | 21,9,0,0,40,0
69 | 30,14,1,0,30,0
70 | 58,13,1,0,40,0
71 | 40,9,0,0,40,0
72 | 21,10,1,0,50,0
73 | 25,5,1,0,40,0
74 | 63,14,1,1,40,1
75 | 50,14,1,1,45,0
76 | 29,9,1,1,45,0
77 | 50,9,1,1,40,0
78 | 27,14,0,0,40,0
79 | 19,5,1,0,40,0
80 | 52,16,1,1,70,1
81 | 33,9,0,1,55,0
82 | 38,10,0,1,50,0
83 | 34,10,0,1,72,0
84 | 49,9,1,0,40,0
85 | 36,10,1,0,55,1
86 | 66,7,1,0,40,0
87 | 46,10,0,1,50,0
88 | 21,9,0,0,44,0
89 | 32,13,1,0,45,0
90 | 24,3,1,0,60,0
91 | 53,9,1,1,40,1
92 | 59,9,0,0,35,0
93 | 20,9,1,1,40,0
94 | 32,9,1,0,48,0
95 | 47,15,1,0,40,1
96 | 37,5,1,0,50,1
97 | 32,13,1,0,55,1
98 | 20,10,0,0,25,0
99 | 46,3,0,0,40,0
100 | 37,9,1,0,45,0
101 | 47,9,1,0,12,0
102 |
--------------------------------------------------------------------------------
/datos/linces.csv:
--------------------------------------------------------------------------------
1 | fecha,linces
2 | 1821,269
3 | 1822,321
4 | 1823,585
5 | 1824,871
6 | 1825,1475
7 | 1826,2821
8 | 1827,3928
9 | 1828,5943
10 | 1829,4950
11 | 1830,2577
12 | 1831,523
13 | 1832,98
14 | 1833,184
15 | 1834,279
16 | 1835,409
17 | 1836,2285
18 | 1837,2685
19 | 1838,3409
20 | 1839,1824
21 | 1840,409
22 | 1841,151
23 | 1842,45
24 | 1843,68
25 | 1844,213
26 | 1845,546
27 | 1846,1033
28 | 1847,2129
29 | 1848,2536
30 | 1849,957
31 | 1850,361
32 | 1851,377
33 | 1852,225
34 | 1853,360
35 | 1854,731
36 | 1855,1638
37 | 1856,2725
38 | 1857,2871
39 | 1858,2119
40 | 1859,684
41 | 1860,299
42 | 1861,236
43 | 1862,245
44 | 1863,552
45 | 1864,1623
46 | 1865,3311
47 | 1866,6721
48 | 1867,4254
49 | 1868,687
50 | 1869,255
51 | 1870,473
52 | 1871,358
53 | 1872,784
54 | 1873,1594
55 | 1874,1676
56 | 1875,2251
57 | 1876,1426
58 | 1877,756
59 | 1878,299
60 | 1879,201
61 | 1880,229
62 | 1881,469
63 | 1882,736
64 | 1883,2042
65 | 1884,2811
66 | 1885,4431
67 | 1886,2511
68 | 1887,389
69 | 1888,73
70 | 1889,39
71 | 1890,49
72 | 1891,59
73 | 1892,188
74 | 1893,377
75 | 1894,1292
76 | 1895,4031
77 | 1896,3495
78 | 1897,587
79 | 1898,105
80 | 1899,153
81 | 1900,387
82 | 1901,758
83 | 1902,1307
84 | 1903,3465
85 | 1904,6991
86 | 1905,6313
87 | 1906,3794
88 | 1907,1836
89 | 1908,345
90 | 1909,382
91 | 1910,808
92 | 1911,1388
93 | 1912,2713
94 | 1913,3800
95 | 1914,3091
96 | 1915,2985
97 | 1916,3790
98 | 1917,674
99 | 1918,81
100 | 1919,80
101 | 1920,108
--------------------------------------------------------------------------------
/datos/pacientes.csv:
--------------------------------------------------------------------------------
1 | edad,colesterol,problema_cardiaco
2 | 63,233,1
3 | 37,250,1
4 | 41,204,1
5 | 56,236,1
6 | 57,354,1
7 | 57,192,1
8 | 56,294,1
9 | 44,263,1
10 | 52,199,1
11 | 57,168,1
12 | 54,239,1
13 | 48,275,1
14 | 49,266,1
15 | 64,211,1
16 | 58,283,1
17 | 50,219,1
18 | 58,340,1
19 | 66,226,1
20 | 43,247,1
21 | 69,239,1
22 | 59,234,1
23 | 44,233,1
24 | 42,226,1
25 | 61,243,1
26 | 40,199,1
27 | 71,302,1
28 | 59,212,1
29 | 51,175,1
30 | 65,417,1
31 | 53,197,1
32 | 41,198,1
33 | 65,177,1
34 | 44,219,1
35 | 54,273,1
36 | 51,213,1
37 | 46,177,1
38 | 54,304,1
39 | 54,232,1
40 | 65,269,1
41 | 65,360,1
42 | 51,308,1
43 | 48,245,1
44 | 45,208,1
45 | 53,264,1
46 | 39,321,1
47 | 52,325,1
48 | 44,235,1
49 | 47,257,1
50 | 53,216,1
51 | 53,234,1
52 | 51,256,1
53 | 66,302,1
54 | 62,231,1
55 | 44,141,1
56 | 63,252,1
57 | 52,201,1
58 | 48,222,1
59 | 45,260,1
60 | 34,182,1
61 | 57,303,1
62 | 71,265,1
63 | 54,309,1
64 | 52,186,1
65 | 41,203,1
66 | 58,211,1
67 | 35,183,1
68 | 51,222,1
69 | 45,234,1
70 | 44,220,1
71 | 62,209,1
72 | 54,258,1
73 | 51,227,1
74 | 29,204,1
75 | 51,261,1
76 | 43,213,1
77 | 55,250,1
78 | 51,245,1
79 | 59,221,1
80 | 52,205,1
81 | 58,240,1
82 | 41,250,1
83 | 45,308,1
84 | 60,318,1
85 | 52,298,1
86 | 42,265,1
87 | 67,564,1
88 | 68,277,1
89 | 46,197,1
90 | 54,214,1
91 | 58,248,1
92 | 48,255,1
93 | 57,207,1
94 | 52,223,1
95 | 54,288,1
96 | 45,160,1
97 | 53,226,1
98 | 62,394,1
99 | 52,233,1
100 | 43,315,1
101 | 53,246,1
102 | 42,244,1
103 | 59,270,1
104 | 63,195,1
105 | 42,240,1
106 | 50,196,1
107 | 68,211,1
108 | 69,234,1
109 | 45,236,1
110 | 50,244,1
111 | 50,254,1
112 | 64,325,1
113 | 57,126,1
114 | 64,313,1
115 | 43,211,1
116 | 55,262,1
117 | 37,215,1
118 | 41,214,1
119 | 56,193,1
120 | 46,204,1
121 | 46,243,1
122 | 64,303,1
123 | 59,271,1
124 | 41,268,1
125 | 54,267,1
126 | 39,199,1
127 | 34,210,1
128 | 47,204,1
129 | 67,277,1
130 | 52,196,1
131 | 74,269,1
132 | 54,201,1
133 | 49,271,1
134 | 42,295,1
135 | 41,235,1
136 | 41,306,1
137 | 49,269,1
138 | 60,178,1
139 | 62,208,1
140 | 57,201,1
141 | 64,263,1
142 | 51,295,1
143 | 43,303,1
144 | 42,209,1
145 | 67,223,1
146 | 76,197,1
147 | 70,245,1
148 | 44,242,1
149 | 60,240,1
150 | 44,226,1
151 | 42,180,1
152 | 66,228,1
153 | 71,149,1
154 | 64,227,1
155 | 66,278,1
156 | 39,220,1
157 | 58,197,1
158 | 47,253,1
159 | 35,192,1
160 | 58,220,1
161 | 56,221,1
162 | 56,240,1
163 | 55,342,1
164 | 41,157,1
165 | 38,175,1
166 | 38,175,1
167 | 67,286,0
168 | 67,229,0
169 | 62,268,0
170 | 63,254,0
171 | 53,203,0
172 | 56,256,0
173 | 48,229,0
174 | 58,284,0
175 | 58,224,0
176 | 60,206,0
177 | 40,167,0
178 | 60,230,0
179 | 64,335,0
180 | 43,177,0
181 | 57,276,0
182 | 55,353,0
183 | 65,225,0
184 | 61,330,0
185 | 58,230,0
186 | 50,243,0
187 | 44,290,0
188 | 60,253,0
189 | 54,266,0
190 | 50,233,0
191 | 41,172,0
192 | 51,305,0
193 | 58,216,0
194 | 54,188,0
195 | 60,282,0
196 | 60,185,0
197 | 59,326,0
198 | 46,231,0
199 | 67,254,0
200 | 62,267,0
201 | 65,248,0
202 | 44,197,0
203 | 60,258,0
204 | 58,270,0
205 | 68,274,0
206 | 62,164,0
207 | 52,255,0
208 | 59,239,0
209 | 60,258,0
210 | 49,188,0
211 | 59,177,0
212 | 57,229,0
213 | 61,260,0
214 | 39,219,0
215 | 61,307,0
216 | 56,249,0
217 | 43,341,0
218 | 62,263,0
219 | 63,330,0
220 | 65,254,0
221 | 48,256,0
222 | 63,407,0
223 | 55,217,0
224 | 65,282,0
225 | 56,288,0
226 | 54,239,0
227 | 70,174,0
228 | 62,281,0
229 | 35,198,0
230 | 59,288,0
231 | 64,309,0
232 | 47,243,0
233 | 57,289,0
234 | 55,289,0
235 | 64,246,0
236 | 70,322,0
237 | 51,299,0
238 | 58,300,0
239 | 60,293,0
240 | 77,304,0
241 | 35,282,0
242 | 70,269,0
243 | 59,249,0
244 | 64,212,0
245 | 57,274,0
246 | 56,184,0
247 | 48,274,0
248 | 56,409,0
249 | 66,246,0
250 | 54,283,0
251 | 69,254,0
252 | 51,298,0
253 | 43,247,0
254 | 62,294,0
255 | 67,299,0
256 | 59,273,0
257 | 45,309,0
258 | 58,259,0
259 | 50,200,0
260 | 62,244,0
261 | 38,231,0
262 | 66,228,0
263 | 52,230,0
264 | 53,282,0
265 | 63,269,0
266 | 54,206,0
267 | 66,212,0
268 | 55,327,0
269 | 49,149,0
270 | 54,286,0
271 | 56,283,0
272 | 46,249,0
273 | 61,234,0
274 | 67,237,0
275 | 58,234,0
276 | 47,275,0
277 | 52,212,0
278 | 58,218,0
279 | 57,261,0
280 | 58,319,0
281 | 61,166,0
282 | 42,315,0
283 | 52,204,0
284 | 59,218,0
285 | 40,223,0
286 | 61,207,0
287 | 46,311,0
288 | 59,204,0
289 | 57,232,0
290 | 57,335,0
291 | 55,205,0
292 | 61,203,0
293 | 58,318,0
294 | 58,225,0
295 | 67,212,0
296 | 44,169,0
297 | 63,187,0
298 | 63,197,0
299 | 59,176,0
300 | 57,241,0
301 | 45,264,0
302 |
--------------------------------------------------------------------------------
/datos/pasajeros.csv:
--------------------------------------------------------------------------------
1 | mes,pasajeros
2 | 2011-01,112
3 | 2011-02,118
4 | 2011-03,132
5 | 2011-04,129
6 | 2011-05,121
7 | 2011-06,135
8 | 2011-07,148
9 | 2011-08,148
10 | 2011-09,136
11 | 2011-10,119
12 | 2011-11,104
13 | 2011-12,118
14 | 2012-01,115
15 | 2012-02,126
16 | 2012-03,141
17 | 2012-04,135
18 | 2012-05,125
19 | 2012-06,149
20 | 2012-07,170
21 | 2012-08,170
22 | 2012-09,158
23 | 2012-10,133
24 | 2012-11,114
25 | 2012-12,140
26 | 2013-01,145
27 | 2013-02,150
28 | 2013-03,178
29 | 2013-04,163
30 | 2013-05,172
31 | 2013-06,178
32 | 2013-07,199
33 | 2013-08,199
34 | 2013-09,184
35 | 2013-10,162
36 | 2013-11,146
37 | 2013-12,166
38 | 2014-01,171
39 | 2014-02,180
40 | 2014-03,193
41 | 2014-04,181
42 | 2014-05,183
43 | 2014-06,218
44 | 2014-07,230
45 | 2014-08,242
46 | 2014-09,209
47 | 2014-10,191
48 | 2014-11,172
49 | 2014-12,194
50 | 2015-01,196
51 | 2015-02,196
52 | 2015-03,236
53 | 2015-04,235
54 | 2015-05,229
55 | 2015-06,243
56 | 2015-07,264
57 | 2015-08,272
58 | 2015-09,237
59 | 2015-10,211
60 | 2015-11,180
61 | 2015-12,201
62 | 2016-01,204
63 | 2016-02,188
64 | 2016-03,235
65 | 2016-04,227
66 | 2016-05,234
67 | 2016-06,264
68 | 2016-07,302
69 | 2016-08,293
70 | 2016-09,259
71 | 2016-10,229
72 | 2016-11,203
73 | 2016-12,229
74 | 2017-01,242
75 | 2017-02,233
76 | 2017-03,267
77 | 2017-04,269
78 | 2017-05,270
79 | 2017-06,315
80 | 2017-07,364
81 | 2017-08,347
82 | 2017-09,312
83 | 2017-10,274
84 | 2017-11,237
85 | 2017-12,278
86 | 2018-01,284
87 | 2018-02,277
88 | 2018-03,317
89 | 2018-04,313
90 | 2018-05,318
91 | 2018-06,374
92 | 2018-07,413
93 | 2018-08,405
94 | 2018-09,355
95 | 2018-10,306
96 | 2018-11,271
97 | 2018-12,306
98 | 2019-01,315
99 | 2019-02,301
100 | 2019-03,356
101 | 2019-04,348
--------------------------------------------------------------------------------
/datos/piedra_papel_tijera.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodigoMaquina/code/c3d50b2d354da9cc383548c2ab6743547a1d0be6/datos/piedra_papel_tijera.zip
--------------------------------------------------------------------------------
/datos/problemas_del_corazon.csv:
--------------------------------------------------------------------------------
1 | edad,genero,presion,colesterol,diabetico,cardiaco
2 | 53,0,128,216,0,1
3 | 53,0,138,234,0,1
4 | 51,0,130,256,0,1
5 | 66,1,120,302,0,1
6 | 62,1,130,231,0,1
7 | 44,0,108,141,0,1
8 | 63,0,135,252,0,1
9 | 52,1,134,201,0,1
10 | 48,1,122,222,0,1
11 | 45,1,115,260,0,1
12 | 34,1,118,182,0,1
13 | 57,0,128,303,0,1
14 | 71,0,110,265,1,1
15 | 54,1,108,309,0,1
16 | 52,1,118,186,0,1
17 | 41,1,135,203,0,1
18 | 58,1,140,211,1,1
19 | 35,0,138,183,0,1
20 | 51,1,100,222,0,1
21 | 45,0,130,234,0,1
22 | 44,1,120,220,0,1
23 | 62,0,124,209,0,1
24 | 54,1,120,258,0,1
25 | 51,1,94,227,0,1
26 | 29,1,130,204,0,1
27 | 51,1,140,261,0,1
28 | 43,0,122,213,0,1
29 | 55,0,135,250,0,1
30 | 51,1,125,245,1,1
31 | 59,1,140,221,0,1
32 | 52,1,128,205,1,1
33 | 58,1,105,240,0,1
34 | 41,1,112,250,0,1
35 | 45,1,128,308,0,1
36 | 60,0,102,318,0,1
37 | 52,1,152,298,1,1
38 | 42,0,102,265,0,1
39 | 67,0,115,564,0,1
40 | 68,1,118,277,0,1
41 | 46,1,101,197,1,1
42 | 54,0,110,214,0,1
43 | 58,0,100,248,0,1
44 | 48,1,124,255,1,1
45 | 57,1,132,207,0,1
46 | 52,1,138,223,0,1
47 | 54,0,132,288,1,1
48 | 45,0,112,160,0,1
49 | 53,1,142,226,0,1
50 | 62,0,140,394,0,1
51 | 52,1,108,233,1,1
52 | 67,1,160,286,0,0
53 | 67,1,120,229,0,0
54 | 62,0,140,268,0,0
55 | 63,1,130,254,0,0
56 | 53,1,140,203,1,0
57 | 56,1,130,256,1,0
58 | 48,1,110,229,0,0
59 | 58,1,120,284,0,0
60 | 58,1,132,224,0,0
61 | 60,1,130,206,0,0
62 | 40,1,110,167,0,0
63 | 60,1,117,230,1,0
64 | 64,1,140,335,0,0
65 | 43,1,120,177,0,0
66 | 57,1,150,276,0,0
67 | 55,1,132,353,0,0
68 | 65,0,150,225,0,0
69 | 61,0,130,330,0,0
70 | 58,1,112,230,0,0
71 | 50,1,150,243,0,0
72 | 44,1,112,290,0,0
73 | 60,1,130,253,0,0
74 | 54,1,124,266,0,0
75 | 50,1,140,233,0,0
76 | 41,1,110,172,0,0
77 | 51,0,130,305,0,0
78 | 58,1,128,216,0,0
79 | 54,1,120,188,0,0
80 | 60,1,145,282,0,0
81 | 60,1,140,185,0,0
82 | 59,1,170,326,0,0
83 | 46,1,150,231,0,0
84 | 67,1,125,254,1,0
85 | 62,1,120,267,0,0
86 | 65,1,110,248,0,0
87 | 44,1,110,197,0,0
88 | 60,1,125,258,0,0
89 | 58,1,150,270,0,0
90 | 68,1,180,274,1,0
91 | 62,0,160,164,0,0
92 | 52,1,128,255,0,0
93 | 59,1,110,239,0,0
94 | 60,0,150,258,0,0
95 | 49,1,120,188,0,0
96 | 59,1,140,177,0,0
97 | 57,1,128,229,0,0
98 | 61,1,120,260,0,0
99 | 39,1,118,219,0,0
100 | 61,0,145,307,0,0
101 | 56,1,125,249,1,0
102 |
--------------------------------------------------------------------------------
/datos/propiedades.csv:
--------------------------------------------------------------------------------
1 | 1.698042,6.194126
2 | 1.028309,10.013562
3 | 1.498665,17.396522
4 | 0.988410,23.138509
5 | 1.042310,23.670459
6 | 1.064285,26.133856
7 | 0.989924,27.166720
8 | 1.669657,4.048830
9 | 2.293296,4.316585
10 | 1.722070,6.682627
11 | 1.953625,11.935053
12 | 1.908470,12.923869
13 | 2.289934,16.889879
14 | 1.660117,19.655691
15 | 2.466798,22.377591
16 | 2.071634,23.626880
17 | 1.671516,24.729412
18 | 2.290002,26.235495
19 | 2.500313,26.542467
20 | 2.533102,27.009691
21 | 2.156764,4.231550
22 | 2.343182,5.833884
23 | 3.187092,8.609015
24 | 3.244780,12.973447
25 | 3.498090,15.877665
26 | 2.571818,21.723563
27 | 2.534513,23.120548
28 | 3.130850,23.566369
29 | 2.391875,24.881976
30 | 3.121214,24.157039
31 | 2.845953,26.476777
32 | 3.024891,27.191277
33 | 3.519840,4.557785
34 | 3.162956,4.986443
35 | 4.169712,5.785878
36 | 4.478338,6.883600
37 | 3.923024,8.489870
38 | 3.044297,15.961349
39 | 4.951849,20.516694
40 | 3.718454,21.279387
41 | 4.241517,22.491234
42 | 3.932924,22.826782
43 | 3.571389,22.605701
44 | 3.390063,24.808329
45 | 3.962179,26.217916
46 | 3.431554,28.460918
47 | 4.459341,3.536971
48 | 5.746976,5.318351
49 | 5.080578,6.997012
50 | 5.032224,7.151351
51 | 4.925176,8.633099
52 | 5.036396,10.522664
53 | 5.152505,11.714464
54 | 5.267342,15.657616
55 | 5.024178,18.730291
56 | 5.015424,19.892521
57 | 5.937112,21.013161
58 | 5.316772,21.359366
59 | 4.741488,22.979827
60 | 4.743855,23.388477
61 | 4.781184,24.820212
62 | 4.535579,26.550520
63 | 6.513162,4.165158
64 | 5.876079,4.556642
65 | 6.812517,5.543950
66 | 6.087392,6.998579
67 | 6.451627,8.779080
68 | 5.234279,8.724705
69 | 5.724769,9.595390
70 | 6.253187,18.383739
71 | 6.780006,19.467955
72 | 6.665259,19.409205
73 | 5.297339,20.513798
74 | 6.449606,21.663014
75 | 6.385299,23.293124
76 | 6.349051,24.125673
77 | 6.571641,24.841910
78 | 6.144962,26.001147
79 | 5.613313,27.720232
80 | 5.607237,5.744500
81 | 6.732252,5.116709
82 | 6.996587,6.520758
83 | 7.376130,9.571196
84 | 7.536625,8.917729
85 | 7.045666,10.680213
86 | 7.109685,13.398625
87 | 6.274275,17.087896
88 | 7.761220,17.863125
89 | 7.505418,19.189793
90 | 6.906231,20.174093
91 | 7.806767,20.968597
92 | 7.060473,22.583569
93 | 7.628753,22.588422
94 | 7.180168,23.946660
95 | 6.393456,26.597035
96 | 7.093056,26.649853
97 | 8.646481,6.836523
98 | 7.669326,7.414811
99 | 7.241637,8.963291
100 | 7.390374,9.120207
101 | 7.391301,10.353898
102 | 7.566399,10.996316
103 | 7.447681,11.797276
104 | 8.113464,16.937645
105 | 8.093632,18.274594
106 | 8.882750,19.043768
107 | 7.315035,19.628004
108 | 7.405876,20.761711
109 | 8.029650,21.719120
110 | 8.185065,23.560674
111 | 8.209363,24.212005
112 | 8.507751,25.621276
113 | 8.151514,26.342627
114 | 8.358497,26.288898
115 | 9.838191,5.525203
116 | 8.671282,6.680551
117 | 9.168047,8.440633
118 | 9.209560,9.162009
119 | 10.011855,10.520726
120 | 9.059306,17.226596
121 | 8.222157,17.215417
122 | 9.139781,18.998975
123 | 8.861293,20.298937
124 | 8.506229,21.283051
125 | 8.196000,22.299993
126 | 9.005745,23.191164
127 | 8.933541,22.894537
128 | 8.766859,25.092926
129 | 9.701837,27.140896
130 | 10.266816,4.679800
131 | 10.043087,7.170043
132 | 9.895129,9.577509
133 | 9.687286,10.168150
134 | 10.080605,15.665452
135 | 10.391539,16.345736
136 | 9.918647,16.028382
137 | 9.667753,17.532856
138 | 9.739877,19.672029
139 | 10.281419,20.149888
140 | 11.159593,20.574052
141 | 10.165805,22.526432
142 | 9.994162,22.718614
143 | 10.251828,24.185560
144 | 10.098699,25.394276
145 | 10.546156,4.954288
146 | 9.548769,7.136595
147 | 11.310585,10.073069
148 | 10.421959,14.292155
149 | 11.328364,15.206668
150 | 11.792805,16.223990
151 | 10.498278,16.943991
152 | 10.815139,18.803841
153 | 10.440584,19.011757
154 | 11.202681,19.552694
155 | 10.675413,21.319278
156 | 10.414638,21.561674
157 | 9.772609,22.914572
158 | 11.149525,23.829946
159 | 10.531445,24.856586
160 | 12.309297,10.549602
161 | 10.886773,15.673245
162 | 11.139223,18.980978
163 | 12.874988,19.407792
164 | 11.787261,20.379971
165 | 11.703522,21.440755
166 | 12.428039,21.221116
167 | 13.064352,24.087037
168 | 12.240482,25.933698
169 | 12.714961,6.089404
170 | 12.787920,8.192637
171 | 14.364052,7.201643
172 | 14.178514,10.830050
173 | 14.066367,11.740467
174 | 13.006705,16.637282
175 | 13.587206,19.001264
176 | 13.775563,20.505692
177 | 14.294633,25.459029
178 | 15.094606,10.121428
179 | 13.826158,11.192624
180 | 14.738436,11.984162
181 | 15.387094,22.912197
182 | 16.271281,3.705754
183 | 15.517490,8.884450
184 | 16.840027,9.713232
185 | 15.156158,11.085673
186 | 16.455094,12.291510
187 | 16.578201,12.761838
188 | 15.286779,18.600083
189 | 15.500173,23.682087
190 | 16.181937,5.166457
191 | 16.608741,7.793441
192 | 16.435582,9.011359
193 | 17.075428,10.068066
194 | 17.639792,11.893152
195 | 17.222790,12.077559
196 | 16.778860,12.718767
197 | 17.163175,14.396706
198 | 17.696155,15.105675
199 | 16.714730,16.657760
200 | 17.867277,17.848496
201 | 17.404102,20.718047
202 | 17.938060,4.049862
203 | 17.756542,9.554980
204 | 17.809339,10.390911
205 | 18.284414,11.215477
206 | 17.904241,11.472024
207 | 18.111261,12.473719
208 | 18.859521,20.067385
209 | 18.786364,21.080509
210 | 18.423283,21.542924
211 | 17.624641,26.604813
212 | 19.440825,4.182355
213 | 18.644686,5.616918
214 | 17.802829,7.282267
215 | 18.770920,7.088529
216 | 18.302152,8.702322
217 | 20.419332,10.560059
218 | 18.947336,10.687630
219 | 18.705703,12.153072
220 | 18.755984,17.461073
221 | 18.438713,18.102159
222 | 18.873702,19.595520
223 | 19.199547,21.423876
224 | 18.580071,22.066725
225 | 19.576885,23.146422
226 | 18.617968,23.956858
227 | 20.761467,6.985733
228 | 19.787410,8.234805
229 | 20.113253,8.594910
230 | 20.746933,9.765870
231 | 19.325461,11.158333
232 | 20.550288,16.707051
233 | 18.988677,17.972794
234 | 20.215317,19.162374
235 | 19.685088,20.230535
236 | 20.086250,20.757182
237 | 20.503146,21.462334
238 | 19.731387,22.454095
239 | 19.085363,23.347747
240 | 20.562632,26.425268
241 | 19.971504,6.193422
242 | 20.565938,6.383557
243 | 21.398721,7.519744
244 | 21.039506,17.430426
245 | 20.719958,17.177134
246 | 21.329328,19.323783
247 | 21.804846,20.482388
248 | 21.474827,21.451982
249 | 21.211854,22.221569
250 | 20.764224,22.306621
251 | 20.822434,23.515403
252 | 21.641634,5.184133
253 | 22.632330,5.357496
254 | 22.051718,6.931572
255 | 22.508074,11.858149
256 | 21.996967,17.708915
257 | 21.436812,17.626217
258 | 21.829763,18.413027
259 | 22.372496,19.397495
260 | 22.463418,20.688911
261 | 22.409621,22.185798
262 | 22.708225,22.858986
263 | 20.839025,24.162712
264 | 22.357486,24.973732
265 | 22.869098,3.050124
266 | 23.454896,5.865154
267 | 23.595890,5.898765
268 | 22.507457,12.350661
269 | 23.131103,16.578662
270 | 23.489534,18.399821
271 | 22.342669,20.057805
272 | 22.825481,21.533897
273 | 23.209192,24.765777
274 | 23.471874,18.535667
275 | 23.181211,21.910326
276 | 25.510371,20.572987
277 |
--------------------------------------------------------------------------------
/datos/salario.csv:
--------------------------------------------------------------------------------
1 | edad,estudio,ingreso
2 | 27,9,0
3 | 30,9,0
4 | 34,8,0
5 | 26,13,0
6 | 23,4,0
7 | 20,10,0
8 | 21,10,0
9 | 42,9,1
10 | 68,9,0
11 | 41,10,1
12 | 49,3,0
13 | 31,10,0
14 | 66,11,0
15 | 58,9,0
16 | 34,13,0
17 | 63,13,0
18 | 80,9,0
19 | 67,16,1
20 | 17,8,0
21 | 31,13,1
22 | 58,4,0
23 | 25,10,0
24 | 59,9,0
25 | 70,5,0
26 | 35,13,0
27 | 28,9,0
28 | 28,9,1
29 | 21,10,0
30 | 30,9,0
31 | 59,10,0
32 | 20,9,0
33 | 45,4,0
34 | 76,4,0
35 | 30,6,0
36 | 54,9,1
37 | 19,10,0
38 | 44,16,1
39 | 31,10,0
40 | 47,9,0
41 | 37,9,0
42 | 59,13,1
43 | 27,7,0
44 | 24,9,0
45 | 49,10,1
46 | 36,14,1
47 | 54,13,1
48 | 44,10,0
49 | 35,10,0
50 | 19,9,0
51 | 71,9,1
52 | 20,10,0
53 | 62,9,0
54 | 35,9,0
55 | 64,5,0
56 | 53,1,0
57 | 30,10,0
58 | 34,13,0
59 | 62,13,1
60 | 21,10,0
61 | 42,9,0
62 | 26,10,1
63 | 43,10,0
64 | 28,13,0
65 | 23,13,0
66 | 56,9,0
67 | 19,10,0
68 | 21,9,0
69 | 30,14,0
70 | 58,13,0
71 | 40,9,0
72 | 21,10,0
73 | 25,5,0
74 | 63,14,1
75 | 50,14,0
76 | 29,9,0
77 | 50,9,0
78 | 27,14,0
79 | 19,5,0
80 | 52,16,1
81 | 33,9,0
82 | 38,10,0
83 | 34,10,0
84 | 49,9,0
85 | 36,10,1
86 | 66,7,0
87 | 46,10,0
88 | 21,9,0
89 | 32,13,0
90 | 24,3,0
91 | 53,9,1
92 | 59,9,0
93 | 20,9,0
94 | 32,9,0
95 | 47,15,1
96 | 37,5,1
97 | 32,13,1
98 | 20,10,0
99 | 46,3,0
100 | 37,9,0
101 | 47,9,0
102 |
--------------------------------------------------------------------------------
/datos/salarios.csv:
--------------------------------------------------------------------------------
1 | edad,estudio,horas,clase_salario,valor_salario
2 | 27,9,40,0,12967.33
3 | 30,9,40,0,20171.40
4 | 42,9,40,1,39051.04
5 | 68,9,25,1,33567.25
6 | 34,8,40,0,8247.42
7 | 26,13,50,0,6769.345
8 | 23,4,25,0,2266.799
9 | 20,10,40,0,17190.41
10 | 21,10,15,0,2254.37
11 | 41,10,40,0,13464.16
12 | 49,3,20,0,19401.31
13 | 31,10,40,0,6011.67
14 | 66,11,30,1,33573.46
15 | 58,9,40,1,26133.39
16 | 34,13,55,0,2800.89
17 | 63,13,40,1,34331.13
18 | 80,9,30,1,42516.45
19 | 67,16,60,1,31871.81
20 | 17,8,15,1,27096.01
21 | 31,13,40,0,5514.84
22 | 58,4,40,1,26133.39
23 | 25,10,40,0,22158.73
24 | 59,9,40,1,26878.64
25 | 70,5,40,1,35076.38
26 | 35,13,60,0,13489.00
27 | 28,9,50,0,3788.34
28 | 28,9,45,0,3782.13
29 | 21,10,25,0,22140.10
30 | 30,9,60,0,5291.26
31 | 59,10,40,1,26878.64
32 | 20,9,40,0,2285.43
33 | 45,4,10,0,16407.89
34 | 76,4,12,1,39513.10
35 | 30,6,55,1,50000.00
36 | 54,9,40,0,23152.40
37 | 19,10,30,0,2273.00
38 | 44,16,50,0,24655.32
39 | 31,10,40,0,6011.67
40 | 47,9,40,0,17935.66
41 | 37,9,40,0,5514.84
42 | 59,13,40,1,31350.14
43 | 27,7,40,1,27872.31
44 | 24,9,40,0,17190.41
45 | 49,10,44,0,19431.12
46 | 36,14,60,0,15724.75
47 | 54,13,40,1,27623.89
48 | 44,10,32,0,15689.97
49 | 35,10,60,0,9017.51
50 | 19,9,35,0,12215.87
51 | 71,9,45,0,6017.88
52 | 20,10,40,0,2285.43
53 | 62,9,30,0,4260.34
54 | 35,9,60,0,13985.84
55 | 64,5,40,1,30604.89
56 | 53,1,40,0,2533.84
57 | 30,10,40,0,5266.42
58 | 34,13,39,0,12717.67
59 | 62,13,1,0,3230.65
60 | 21,10,40,0,17190.41
61 | 42,9,40,0,14209.41
62 | 26,10,52,1,27141.96
63 | 43,10,35,0,14948.45
64 | 28,13,35,0,8241.21
65 | 23,13,30,0,11712.83
66 | 56,9,50,0,9750.34
67 | 19,10,24,0,2265.55
68 | 21,9,40,0,2285.43
69 | 30,14,30,0,11215.99
70 | 58,13,40,0,5763.25
71 | 40,9,40,0,12718.91
72 | 21,10,50,1,27139.48
73 | 25,5,40,0,17190.41
74 | 63,14,40,1,35821.63
75 | 50,14,45,1,26139.60
76 | 29,9,45,0,9495.71
77 | 50,9,40,0,5266.42
78 | 27,14,40,0,8992.67
79 | 19,5,40,0,2285.43
80 | 52,16,70,1,38094.64
81 | 33,9,55,0,7520.80
82 | 38,10,50,0,11240.83
83 | 34,10,72,1,38097.13
84 | 49,9,40,0,19426.15
85 | 36,10,55,0,9756.55
86 | 66,7,40,1,32095.39
87 | 46,10,50,0,17202.83
88 | 21,9,44,0,12227.05
89 | 32,13,45,0,11234.62
90 | 24,3,60,0,2310.27
91 | 53,9,40,1,42280.46
92 | 59,9,35,1,26872.43
93 | 20,9,40,0,2285.43
94 | 32,9,48,0,6766.86
95 | 47,15,40,1,25388.15
96 | 37,5,50,1,40305.55
97 | 32,13,55,0,3297.72
98 | 20,10,25,0,2266.79
99 | 46,3,40,0,17190.41
100 | 37,9,45,0,552.72
101 | 47,9,12,1,32805.86
--------------------------------------------------------------------------------
/datos/serie_de_tiempo_australianos.csv:
--------------------------------------------------------------------------------
1 | fecha,australianos
2 | 1971.25,13067.3
3 | 1971.5,13130.5
4 | 1971.75,13198.4
5 | 1972.0,13254.2
6 | 1972.25,13303.7
7 | 1972.5,13353.9
8 | 1972.75,13409.3
9 | 1973.0,13459.2
10 | 1973.25,13504.5
11 | 1973.5,13552.6
12 | 1973.75,13614.3
13 | 1974.0,13669.5
14 | 1974.25,13722.6
15 | 1974.5,13772.1
16 | 1974.75,13832.0
17 | 1975.0,13862.6
18 | 1975.25,13893.0
19 | 1975.5,13926.8
20 | 1975.75,13968.9
21 | 1976.0,14004.7
22 | 1976.25,14033.1
23 | 1976.5,14066.0
24 | 1976.75,14110.1
25 | 1977.0,14155.6
26 | 1977.25,14192.2
27 | 1977.5,14231.7
28 | 1977.75,14281.5
29 | 1978.0,14330.3
30 | 1978.25,14359.3
31 | 1978.5,14396.6
32 | 1978.75,14430.8
33 | 1979.0,14478.4
34 | 1979.25,14515.7
35 | 1979.5,14554.9
36 | 1979.75,14602.5
37 | 1980.0,14646.4
38 | 1980.25,14695.4
39 | 1980.5,14746.6
40 | 1980.75,14807.4
41 | 1981.0,14874.4
42 | 1981.25,14923.3
43 | 1981.5,14988.7
44 | 1981.75,15054.1
45 | 1982.0,15121.7
46 | 1982.25,15184.2
47 | 1982.5,15239.3
48 | 1982.75,15288.9
49 | 1983.0,15346.2
50 | 1983.25,15393.5
51 | 1983.5,15439.0
52 | 1983.75,15483.5
53 | 1984.0,15531.5
54 | 1984.25,15579.4
55 | 1984.5,15628.5
56 | 1984.75,15677.3
57 | 1985.0,15736.7
58 | 1985.25,15788.3
59 | 1985.5,15839.7
60 | 1985.75,15900.6
61 | 1986.0,15961.5
62 | 1986.25,16018.3
63 | 1986.5,16076.9
64 | 1986.75,16139.0
65 | 1987.0,16203.0
66 | 1987.25,16263.3
67 | 1987.5,16327.9
68 | 1987.75,16398.9
69 | 1988.0,16478.3
70 | 1988.25,16538.2
71 | 1988.5,16621.6
72 | 1988.75,16697.0
73 | 1989.0,16777.2
74 | 1989.25,16833.1
75 | 1989.5,16891.6
76 | 1989.75,16956.8
77 | 1990.0,17026.3
78 | 1990.25,17085.4
79 | 1990.5,17106.9
80 | 1990.75,17169.4
81 | 1991.0,17239.4
82 | 1991.25,17292.0
83 | 1991.5,17354.2
84 | 1991.75,17414.2
85 | 1992.0,17447.3
86 | 1992.25,17482.6
87 | 1992.5,17526.0
88 | 1992.75,17568.7
89 | 1993.0,17627.1
90 | 1993.25,17661.5
91 |
--------------------------------------------------------------------------------
/datos/serie_de_tiempo_nacimientos.csv:
--------------------------------------------------------------------------------
1 | "fecha","nacimientos"
2 | "1959-01-01",35
3 | "1959-01-02",32
4 | "1959-01-03",30
5 | "1959-01-04",31
6 | "1959-01-05",44
7 | "1959-01-06",29
8 | "1959-01-07",45
9 | "1959-01-08",43
10 | "1959-01-09",38
11 | "1959-01-10",27
12 | "1959-01-11",38
13 | "1959-01-12",33
14 | "1959-01-13",55
15 | "1959-01-14",47
16 | "1959-01-15",45
17 | "1959-01-16",37
18 | "1959-01-17",50
19 | "1959-01-18",43
20 | "1959-01-19",41
21 | "1959-01-20",52
22 | "1959-01-21",34
23 | "1959-01-22",53
24 | "1959-01-23",39
25 | "1959-01-24",32
26 | "1959-01-25",37
27 | "1959-01-26",43
28 | "1959-01-27",39
29 | "1959-01-28",35
30 | "1959-01-29",44
31 | "1959-01-30",38
32 | "1959-01-31",24
33 | "1959-02-01",23
34 | "1959-02-02",31
35 | "1959-02-03",44
36 | "1959-02-04",38
37 | "1959-02-05",50
38 | "1959-02-06",38
39 | "1959-02-07",51
40 | "1959-02-08",31
41 | "1959-02-09",31
42 | "1959-02-10",51
43 | "1959-02-11",36
44 | "1959-02-12",45
45 | "1959-02-13",51
46 | "1959-02-14",34
47 | "1959-02-15",52
48 | "1959-02-16",47
49 | "1959-02-17",45
50 | "1959-02-18",46
51 | "1959-02-19",39
52 | "1959-02-20",48
53 | "1959-02-21",37
54 | "1959-02-22",35
55 | "1959-02-23",52
56 | "1959-02-24",42
57 | "1959-02-25",45
58 | "1959-02-26",39
59 | "1959-02-27",37
60 | "1959-02-28",30
61 | "1959-03-01",35
62 | "1959-03-02",28
63 | "1959-03-03",45
64 | "1959-03-04",34
65 | "1959-03-05",36
66 | "1959-03-06",50
67 | "1959-03-07",44
68 | "1959-03-08",39
69 | "1959-03-09",32
70 | "1959-03-10",39
71 | "1959-03-11",45
72 | "1959-03-12",43
73 | "1959-03-13",39
74 | "1959-03-14",31
75 | "1959-03-15",27
76 | "1959-03-16",30
77 | "1959-03-17",42
78 | "1959-03-18",46
79 | "1959-03-19",41
80 | "1959-03-20",36
81 | "1959-03-21",45
82 | "1959-03-22",46
83 | "1959-03-23",43
84 | "1959-03-24",38
85 | "1959-03-25",34
86 | "1959-03-26",35
87 | "1959-03-27",56
88 | "1959-03-28",36
89 | "1959-03-29",32
90 | "1959-03-30",50
91 | "1959-03-31",41
92 | "1959-04-01",39
93 | "1959-04-02",41
94 | "1959-04-03",47
95 | "1959-04-04",34
96 | "1959-04-05",36
97 | "1959-04-06",33
98 | "1959-04-07",35
99 | "1959-04-08",38
100 | "1959-04-09",38
101 | "1959-04-10",34
102 | "1959-04-11",53
103 | "1959-04-12",34
104 | "1959-04-13",34
105 | "1959-04-14",38
106 | "1959-04-15",35
107 | "1959-04-16",32
108 | "1959-04-17",42
109 | "1959-04-18",34
110 | "1959-04-19",46
111 | "1959-04-20",30
112 | "1959-04-21",46
113 | "1959-04-22",45
114 | "1959-04-23",54
115 | "1959-04-24",34
116 | "1959-04-25",37
117 | "1959-04-26",35
118 | "1959-04-27",40
119 | "1959-04-28",42
120 | "1959-04-29",58
121 | "1959-04-30",51
122 | "1959-05-01",32
123 | "1959-05-02",35
124 | "1959-05-03",38
125 | "1959-05-04",33
126 | "1959-05-05",39
127 | "1959-05-06",47
128 | "1959-05-07",38
129 | "1959-05-08",52
130 | "1959-05-09",30
131 | "1959-05-10",34
132 | "1959-05-11",40
133 | "1959-05-12",35
134 | "1959-05-13",42
135 | "1959-05-14",41
136 | "1959-05-15",42
137 | "1959-05-16",38
138 | "1959-05-17",24
139 | "1959-05-18",34
140 | "1959-05-19",43
141 | "1959-05-20",36
142 | "1959-05-21",55
143 | "1959-05-22",41
144 | "1959-05-23",45
145 | "1959-05-24",41
146 | "1959-05-25",37
147 | "1959-05-26",43
148 | "1959-05-27",39
149 | "1959-05-28",33
150 | "1959-05-29",43
151 | "1959-05-30",40
152 | "1959-05-31",38
153 | "1959-06-01",45
154 | "1959-06-02",46
155 | "1959-06-03",34
156 | "1959-06-04",35
157 | "1959-06-05",48
158 | "1959-06-06",51
159 | "1959-06-07",36
160 | "1959-06-08",33
161 | "1959-06-09",46
162 | "1959-06-10",42
163 | "1959-06-11",48
164 | "1959-06-12",34
165 | "1959-06-13",41
166 | "1959-06-14",35
167 | "1959-06-15",40
168 | "1959-06-16",34
169 | "1959-06-17",30
170 | "1959-06-18",36
171 | "1959-06-19",40
172 | "1959-06-20",39
173 | "1959-06-21",45
174 | "1959-06-22",38
175 | "1959-06-23",47
176 | "1959-06-24",33
177 | "1959-06-25",30
178 | "1959-06-26",42
179 | "1959-06-27",43
180 | "1959-06-28",41
181 | "1959-06-29",41
182 | "1959-06-30",59
183 | "1959-07-01",43
184 | "1959-07-02",45
185 | "1959-07-03",38
186 | "1959-07-04",37
187 | "1959-07-05",45
188 | "1959-07-06",42
189 | "1959-07-07",57
190 | "1959-07-08",46
191 | "1959-07-09",51
192 | "1959-07-10",41
193 | "1959-07-11",47
194 | "1959-07-12",26
195 | "1959-07-13",35
196 | "1959-07-14",44
197 | "1959-07-15",41
198 | "1959-07-16",42
199 | "1959-07-17",36
200 | "1959-07-18",45
201 | "1959-07-19",45
202 | "1959-07-20",45
203 | "1959-07-21",47
204 | "1959-07-22",38
205 | "1959-07-23",42
206 | "1959-07-24",35
207 | "1959-07-25",36
208 | "1959-07-26",39
209 | "1959-07-27",45
210 | "1959-07-28",43
211 | "1959-07-29",47
212 | "1959-07-30",36
213 | "1959-07-31",41
214 | "1959-08-01",50
215 | "1959-08-02",39
216 | "1959-08-03",41
217 | "1959-08-04",46
218 | "1959-08-05",64
219 | "1959-08-06",45
220 | "1959-08-07",34
221 | "1959-08-08",38
222 | "1959-08-09",44
223 | "1959-08-10",48
224 | "1959-08-11",46
225 | "1959-08-12",44
226 | "1959-08-13",37
227 | "1959-08-14",39
228 | "1959-08-15",44
229 | "1959-08-16",45
230 | "1959-08-17",33
231 | "1959-08-18",44
232 | "1959-08-19",38
233 | "1959-08-20",46
234 | "1959-08-21",46
235 | "1959-08-22",40
236 | "1959-08-23",39
237 | "1959-08-24",44
238 | "1959-08-25",48
239 | "1959-08-26",50
240 | "1959-08-27",41
241 | "1959-08-28",42
242 | "1959-08-29",51
243 | "1959-08-30",41
244 | "1959-08-31",44
245 | "1959-09-01",38
246 | "1959-09-02",68
247 | "1959-09-03",40
248 | "1959-09-04",42
249 | "1959-09-05",51
250 | "1959-09-06",44
251 | "1959-09-07",45
252 | "1959-09-08",36
253 | "1959-09-09",57
254 | "1959-09-10",44
255 | "1959-09-11",42
256 | "1959-09-12",53
257 | "1959-09-13",42
258 | "1959-09-14",34
259 | "1959-09-15",40
260 | "1959-09-16",56
261 | "1959-09-17",44
262 | "1959-09-18",53
263 | "1959-09-19",55
264 | "1959-09-20",39
265 | "1959-09-21",59
266 | "1959-09-22",55
267 | "1959-09-23",73
268 | "1959-09-24",55
269 | "1959-09-25",44
270 | "1959-09-26",43
271 | "1959-09-27",40
272 | "1959-09-28",47
273 | "1959-09-29",51
274 | "1959-09-30",56
275 | "1959-10-01",49
276 | "1959-10-02",54
277 | "1959-10-03",56
278 | "1959-10-04",47
279 | "1959-10-05",44
280 | "1959-10-06",43
281 | "1959-10-07",42
282 | "1959-10-08",45
283 | "1959-10-09",50
284 | "1959-10-10",48
285 | "1959-10-11",43
286 | "1959-10-12",40
287 | "1959-10-13",59
288 | "1959-10-14",41
289 | "1959-10-15",42
290 | "1959-10-16",51
291 | "1959-10-17",49
292 | "1959-10-18",45
293 | "1959-10-19",43
294 | "1959-10-20",42
295 | "1959-10-21",38
296 | "1959-10-22",47
297 | "1959-10-23",38
298 | "1959-10-24",36
299 | "1959-10-25",42
300 | "1959-10-26",35
301 | "1959-10-27",28
302 | "1959-10-28",44
303 | "1959-10-29",36
304 | "1959-10-30",45
305 | "1959-10-31",46
306 | "1959-11-01",48
307 | "1959-11-02",49
308 | "1959-11-03",43
309 | "1959-11-04",42
310 | "1959-11-05",59
311 | "1959-11-06",45
312 | "1959-11-07",52
313 | "1959-11-08",46
314 | "1959-11-09",42
315 | "1959-11-10",40
316 | "1959-11-11",40
317 | "1959-11-12",45
318 | "1959-11-13",35
319 | "1959-11-14",35
320 | "1959-11-15",40
321 | "1959-11-16",39
322 | "1959-11-17",33
323 | "1959-11-18",42
324 | "1959-11-19",47
325 | "1959-11-20",51
326 | "1959-11-21",44
327 | "1959-11-22",40
328 | "1959-11-23",57
329 | "1959-11-24",49
330 | "1959-11-25",45
331 | "1959-11-26",49
332 | "1959-11-27",51
333 | "1959-11-28",46
334 | "1959-11-29",44
335 | "1959-11-30",52
336 | "1959-12-01",45
337 | "1959-12-02",32
338 | "1959-12-03",46
339 | "1959-12-04",41
340 | "1959-12-05",34
341 | "1959-12-06",33
342 | "1959-12-07",36
343 | "1959-12-08",49
344 | "1959-12-09",43
345 | "1959-12-10",43
346 | "1959-12-11",34
347 | "1959-12-12",39
348 | "1959-12-13",35
349 | "1959-12-14",52
350 | "1959-12-15",47
351 | "1959-12-16",52
352 | "1959-12-17",39
353 | "1959-12-18",40
354 | "1959-12-19",42
355 | "1959-12-20",42
356 | "1959-12-21",53
357 | "1959-12-22",39
358 | "1959-12-23",40
359 | "1959-12-24",38
360 | "1959-12-25",44
361 | "1959-12-26",34
362 | "1959-12-27",37
363 | "1959-12-28",52
364 | "1959-12-29",48
365 | "1959-12-30",55
366 | "1959-12-31",50
--------------------------------------------------------------------------------
/datos/series_de_tiempo_GOOGLE_diario.csv:
--------------------------------------------------------------------------------
1 | fecha,valor
2 | 2022-01-03,145.074493
3 | 2022-01-04,144.416504
4 | 2022-01-05,137.653503
5 | 2022-01-06,137.550995
6 | 2022-01-07,137.004501
7 | 2022-01-10,138.574005
8 | 2022-01-11,140.017502
9 | 2022-01-12,141.647995
10 | 2022-01-13,139.130997
11 | 2022-01-14,139.786499
12 | 2022-01-18,136.290497
13 | 2022-01-19,135.651993
14 | 2022-01-20,133.5065
15 | 2022-01-21,130.091995
16 | 2022-01-24,130.371994
17 | 2022-01-25,126.735497
18 | 2022-01-26,129.240005
19 | 2022-01-27,129.121002
20 | 2022-01-28,133.289505
21 | 2022-01-31,135.698502
22 | 2022-02-01,137.878494
23 | 2022-02-02,148.036499
24 | 2022-02-03,142.650497
25 | 2022-02-04,143.016006
26 | 2022-02-07,138.938004
27 | 2022-02-08,139.212997
28 | 2022-02-09,141.453003
29 | 2022-02-10,138.602493
30 | 2022-02-11,134.130005
31 | 2022-02-14,135.300003
32 | 2022-02-15,136.425507
33 | 2022-02-16,137.487503
34 | 2022-02-17,132.308502
35 | 2022-02-18,130.467499
36 | 2022-02-22,129.402496
37 | 2022-02-23,127.584999
38 | 2022-02-24,132.673492
39 | 2022-02-25,134.519501
40 | 2022-02-28,134.891006
41 | 2022-03-01,134.167999
42 | 2022-03-02,134.751495
43 | 2022-03-03,134.307999
44 | 2022-03-04,132.121994
45 | 2022-03-07,126.4645
46 | 2022-03-08,127.278503
47 | 2022-03-09,133.865997
48 | 2022-03-10,132.682007
49 | 2022-03-11,130.475494
50 | 2022-03-14,126.740997
51 | 2022-03-15,129.660507
52 | 2022-03-16,133.690506
53 | 2022-03-17,134.600494
54 | 2022-03-18,136.801498
55 | 2022-03-21,136.4785
56 | 2022-03-22,140.277496
57 | 2022-03-23,138.503494
58 | 2022-03-24,141.311996
59 | 2022-03-25,141.5215
60 | 2022-03-28,141.949997
61 | 2022-03-29,143.25
62 | 2022-03-30,142.644501
63 | 2022-03-31,139.649506
64 | 2022-04-01,140.699997
65 | 2022-04-04,143.642502
66 | 2022-04-05,141.063004
67 | 2022-04-06,137.175995
68 | 2022-04-07,136.464996
69 | 2022-04-08,134.010498
70 | 2022-04-11,129.796494
71 | 2022-04-12,128.374496
72 | 2022-04-13,130.285995
73 | 2022-04-14,127.252998
74 | 2022-04-18,127.960999
75 | 2022-04-19,130.531006
76 | 2022-04-20,128.245499
77 | 2022-04-21,124.9375
78 | 2022-04-22,119.613998
79 | 2022-04-25,123.25
80 | 2022-04-26,119.505997
81 | 2022-04-27,115.0205
82 | 2022-04-28,119.411499
83 | 2022-04-29,114.966499
84 | 2022-05-02,117.156998
85 | 2022-05-03,118.129501
86 | 2022-05-04,122.574997
87 | 2022-05-05,116.746498
88 | 2022-05-06,115.660004
89 | 2022-05-09,113.084
90 | 2022-05-10,114.584503
91 | 2022-05-11,113.960999
92 | 2022-05-12,113.161003
93 | 2022-05-13,116.515503
94 | 2022-05-16,114.792503
95 | 2022-05-17,116.7015
96 | 2022-05-18,112.401001
97 | 2022-05-19,110.745499
98 | 2022-05-20,109.313004
99 | 2022-05-23,111.666496
100 | 2022-05-24,105.926003
101 | 2022-05-25,105.8395
102 | 2022-05-26,108.295998
103 | 2022-05-27,112.799004
104 | 2022-05-31,114.039001
105 | 2022-06-01,114.137001
106 | 2022-06-02,117.746002
107 | 2022-06-03,114.564003
108 | 2022-06-06,117.010498
109 | 2022-06-07,117.2295
110 | 2022-06-08,117.237999
111 | 2022-06-09,114.917999
112 | 2022-06-10,111.427498
113 | 2022-06-13,106.876503
114 | 2022-06-14,107.194
115 | 2022-06-15,110.390503
116 | 2022-06-16,106.636002
117 | 2022-06-17,107.865501
118 | 2022-06-21,112.014999
119 | 2022-06-22,112.033997
120 | 2022-06-23,112.684502
121 | 2022-06-24,118.538002
122 | 2022-06-27,116.622498
123 | 2022-06-28,112.571503
124 | 2022-06-29,112.2565
125 | 2022-06-30,109.372498
126 | 2022-07-01,109.081001
127 | 2022-07-05,113.887001
128 | 2022-07-06,115.213501
129 | 2022-07-07,119.306
130 | 2022-07-08,120.168503
131 | 2022-07-11,116.522499
132 | 2022-07-12,114.849503
133 | 2022-07-13,112.186996
134 | 2022-07-14,111.440002
135 | 2022-07-15,112.766998
136 | 2022-07-18,109.910004
137 | 2022-07-19,114.620003
138 | 2022-07-20,114.699997
139 | 2022-07-21,115.040001
140 | 2022-07-22,108.360001
141 | 2022-07-25,108.209999
142 | 2022-07-26,105.440002
143 | 2022-07-27,113.599998
144 | 2022-07-28,114.589996
145 | 2022-07-29,116.639999
146 | 2022-08-01,115.480003
147 | 2022-08-02,115.900002
148 | 2022-08-03,118.779999
149 | 2022-08-04,118.870003
150 | 2022-08-05,118.220001
151 | 2022-08-08,118.139999
152 | 2022-08-09,117.5
153 | 2022-08-10,120.650002
154 | 2022-08-11,119.82
155 | 2022-08-12,122.650002
156 | 2022-08-15,122.879997
157 | 2022-08-16,122.510002
158 | 2022-08-17,120.32
159 | 2022-08-18,120.860001
160 | 2022-08-19,118.120003
161 | 2022-08-22,115.07
162 | 2022-08-23,114.769997
163 | 2022-08-24,114.699997
164 | 2022-08-25,117.699997
165 | 2022-08-26,111.300003
166 | 2022-08-29,110.339996
167 | 2022-08-30,109.910004
168 | 2022-08-31,109.150002
169 | 2022-09-01,110.550003
170 | 2022-09-02,108.68
171 | 2022-09-06,107.480003
172 | 2022-09-07,110.480003
173 | 2022-09-08,109.419998
174 | 2022-09-09,111.779999
175 | 2022-09-12,111.870003
176 | 2022-09-13,105.309998
177 | 2022-09-14,105.870003
178 | 2022-09-15,103.900002
179 | 2022-09-16,103.629997
180 | 2022-09-19,103.849998
181 | 2022-09-20,101.830002
182 | 2022-09-21,100.010002
183 | 2022-09-22,100.57
184 | 2022-09-23,99.169998
185 | 2022-09-26,98.809998
186 | 2022-09-27,98.089996
187 | 2022-09-28,100.739998
188 | 2022-09-29,98.089996
189 | 2022-09-30,96.150002
190 | 2022-10-03,99.300003
191 | 2022-10-04,102.410004
192 | 2022-10-05,102.220001
193 | 2022-10-06,102.239998
194 | 2022-10-07,99.57
195 | 2022-10-10,98.709999
196 | 2022-10-11,98.050003
197 | 2022-10-12,98.300003
198 | 2022-10-13,99.709999
199 | 2022-10-14,97.18
200 | 2022-10-17,100.779999
201 | 2022-10-18,101.389999
202 | 2022-10-19,100.290001
203 | 2022-10-20,100.529999
204 | 2022-10-21,101.480003
205 | 2022-10-24,102.970001
206 | 2022-10-25,104.93
207 | 2022-10-26,94.82
208 | 2022-10-27,92.599998
209 | 2022-10-28,96.580002
210 | 2022-10-31,94.660004
211 | 2022-11-01,90.5
212 | 2022-11-02,87.07
213 | 2022-11-03,83.489998
214 | 2022-11-04,86.699997
215 | 2022-11-07,88.650002
216 | 2022-11-08,88.910004
217 | 2022-11-09,87.400002
218 | 2022-11-10,94.169998
219 | 2022-11-11,96.730003
220 | 2022-11-14,96.029999
221 | 2022-11-15,98.720001
222 | 2022-11-16,98.989998
223 | 2022-11-17,98.5
224 | 2022-11-18,97.800003
225 | 2022-11-21,95.830002
226 | 2022-11-22,97.330002
227 | 2022-11-23,98.82
228 | 2022-11-25,97.599998
229 | 2022-11-28,96.25
230 | 2022-11-29,95.440002
231 | 2022-11-30,101.449997
232 | 2022-12-01,101.279999
233 | 2022-12-02,100.830002
234 | 2022-12-05,99.870003
235 | 2022-12-06,97.309998
236 | 2022-12-07,95.150002
237 | 2022-12-08,93.949997
238 | 2022-12-09,93.07
239 | 2022-12-12,93.559998
240 | 2022-12-13,95.849998
241 | 2022-12-14,95.309998
242 | 2022-12-15,91.199997
243 | 2022-12-16,90.860001
244 | 2022-12-19,89.150002
245 | 2022-12-20,89.629997
246 | 2022-12-21,90.25
247 | 2022-12-22,88.260002
248 | 2022-12-23,89.809998
249 | 2022-12-27,87.93
250 | 2022-12-28,86.459999
251 | 2022-12-29,88.949997
252 | 2022-12-30,88.730003
253 |
--------------------------------------------------------------------------------
/datos/series_de_tiempo_GOOGLE_mensual.csv:
--------------------------------------------------------------------------------
1 | fecha,valor
2 | 2022-01-01,135.698502
3 | 2022-02-01,134.891006
4 | 2022-03-01,139.649506
5 | 2022-04-01,114.966499
6 | 2022-05-01,114.039001
7 | 2022-06-01,109.372498
8 | 2022-07-01,116.639999
9 | 2022-08-01,109.150002
10 | 2022-09-01,96.150002
11 | 2022-10-01,94.660004
12 | 2022-11-01,101.449997
13 | 2022-12-01,88.730003
14 |
--------------------------------------------------------------------------------
/datos/series_de_tiempo_GOOGLE_semanal.csv:
--------------------------------------------------------------------------------
1 | fecha,valor
2 | 2022-01-01,137.004501
3 | 2022-01-08,139.786499
4 | 2022-01-15,130.091995
5 | 2022-01-22,133.289505
6 | 2022-01-29,143.016006
7 | 2022-02-05,134.130005
8 | 2022-02-12,130.467499
9 | 2022-02-19,134.519501
10 | 2022-02-26,132.121994
11 | 2022-03-05,130.475494
12 | 2022-03-12,136.801498
13 | 2022-03-19,141.5215
14 | 2022-03-26,140.699997
15 | 2022-04-02,134.010498
16 | 2022-04-09,127.252998
17 | 2022-04-16,119.613998
18 | 2022-04-23,114.966499
19 | 2022-04-30,115.660004
20 | 2022-05-07,116.515503
21 | 2022-05-14,109.313004
22 | 2022-05-21,112.799004
23 | 2022-05-28,114.564003
24 | 2022-06-04,111.427498
25 | 2022-06-11,107.865501
26 | 2022-06-18,118.538002
27 | 2022-06-25,109.081001
28 | 2022-07-02,120.168503
29 | 2022-07-09,112.766998
30 | 2022-07-16,108.360001
31 | 2022-07-23,116.639999
32 | 2022-07-30,118.220001
33 | 2022-08-06,122.650002
34 | 2022-08-13,118.120003
35 | 2022-08-20,111.300003
36 | 2022-08-27,108.68
37 | 2022-09-03,111.779999
38 | 2022-09-10,103.629997
39 | 2022-09-17,99.169998
40 | 2022-09-24,96.150002
41 | 2022-10-01,99.57
42 | 2022-10-08,97.18
43 | 2022-10-15,101.480003
44 | 2022-10-22,96.580002
45 | 2022-10-29,86.699997
46 | 2022-11-05,96.730003
47 | 2022-11-12,97.800003
48 | 2022-11-19,97.599998
49 | 2022-11-26,100.830002
50 | 2022-12-03,93.07
51 | 2022-12-10,90.860001
52 | 2022-12-17,89.809998
53 | 2022-12-24,88.730003
54 |
--------------------------------------------------------------------------------
/datos/series_de_tiempo_casas.csv:
--------------------------------------------------------------------------------
1 | precio
2 | 55
3 | 60
4 | 68
5 | 63
6 | 65
7 | 61
8 | 54
9 | 52
10 | 46
11 | 42
12 | 37
13 | 30
14 | 37
15 | 44
16 | 55
17 | 53
18 | 58
19 | 50
20 | 48
21 | 45
22 | 41
23 | 34
24 | 30
25 | 24
26 | 29
27 | 34
28 | 44
29 | 54
30 | 57
31 | 51
32 | 51
33 | 53
34 | 46
35 | 46
36 | 46
37 | 39
38 | 41
39 | 53
40 | 55
41 | 62
42 | 55
43 | 56
44 | 57
45 | 59
46 | 58
47 | 55
48 | 49
49 | 47
50 | 57
51 | 68
52 | 84
53 | 81
54 | 78
55 | 74
56 | 64
57 | 74
58 | 71
59 | 63
60 | 55
61 | 51
62 | 57
63 | 63
64 | 75
65 | 85
66 | 80
67 | 77
68 | 68
69 | 72
70 | 68
71 | 70
72 | 53
73 | 50
74 | 53
75 | 58
76 | 73
77 | 72
78 | 68
79 | 63
80 | 64
81 | 68
82 | 60
83 | 54
84 | 41
85 | 35
86 | 43
87 | 44
88 | 44
89 | 36
90 | 44
91 | 50
92 | 55
93 | 61
94 | 50
95 | 46
96 | 39
97 | 33
98 | 37
99 | 40
100 | 49
101 | 44
102 | 45
103 | 38
104 | 36
105 | 34
106 | 28
107 | 29
108 | 27
109 | 29
110 | 28
111 | 29
112 | 36
113 | 32
114 | 36
115 | 34
116 | 31
117 | 36
118 | 39
119 | 40
120 | 39
121 | 33
122 | 44
123 | 46
124 | 57
125 | 59
126 | 64
127 | 59
128 | 51
129 | 50
130 | 48
131 | 51
132 | 45
133 | 48
134 | 52
135 | 58
136 | 63
137 | 61
138 | 59
139 | 58
140 | 52
141 | 48
142 | 53
143 | 55
144 | 42
145 | 38
146 | 48
147 | 55
148 | 67
149 | 60
150 | 65
151 | 65
152 | 63
153 | 61
154 | 54
155 | 52
156 | 51
157 | 47
158 | 55
159 | 59
160 | 89
161 | 84
162 | 75
163 | 66
164 | 57
165 | 52
166 | 60
167 | 54
168 | 48
169 | 49
170 | 53
171 | 59
172 | 73
173 | 72
174 | 62
175 | 58
176 | 55
177 | 56
178 | 52
179 | 52
180 | 43
181 | 37
182 | 43
183 | 55
184 | 68
185 | 68
186 | 64
187 | 65
188 | 57
189 | 59
190 | 54
191 | 57
192 | 43
193 | 42
194 | 52
195 | 51
196 | 58
197 | 60
198 | 61
199 | 58
200 | 62
201 | 61
202 | 49
203 | 51
204 | 47
205 | 40
206 | 45
207 | 50
208 | 58
209 | 52
210 | 50
211 | 50
212 | 46
213 | 46
214 | 38
215 | 37
216 | 34
217 | 29
218 | 30
219 | 40
220 | 46
221 | 46
222 | 47
223 | 47
224 | 43
225 | 46
226 | 37
227 | 41
228 | 39
229 | 36
230 | 48
231 | 55
232 | 56
233 | 53
234 | 52
235 | 53
236 | 52
237 | 56
238 | 51
239 | 48
240 | 42
241 | 42
242 | 44
243 | 50
244 | 60
245 | 66
246 | 58
247 | 59
248 | 55
249 | 57
250 | 57
251 | 56
252 | 53
253 | 51
254 | 45
255 | 58
256 | 74
257 | 65
258 | 65
259 | 55
260 | 52
261 | 59
262 | 54
263 | 57
264 | 45
265 | 40
266 | 47
267 | 47
268 | 60
269 | 58
270 | 63
271 | 64
272 | 64
273 | 63
274 | 55
275 | 54
276 | 44
277 |
--------------------------------------------------------------------------------
/datos/series_de_tiempo_pasajeros.csv:
--------------------------------------------------------------------------------
1 | mes,pasajeros
2 | 2011-01,112
3 | 2011-02,118
4 | 2011-03,132
5 | 2011-04,129
6 | 2011-05,121
7 | 2011-06,135
8 | 2011-07,148
9 | 2011-08,148
10 | 2011-09,136
11 | 2011-10,119
12 | 2011-11,104
13 | 2011-12,118
14 | 2012-01,115
15 | 2012-02,126
16 | 2012-03,141
17 | 2012-04,135
18 | 2012-05,125
19 | 2012-06,149
20 | 2012-07,170
21 | 2012-08,170
22 | 2012-09,158
23 | 2012-10,133
24 | 2012-11,114
25 | 2012-12,140
26 | 2013-01,145
27 | 2013-02,150
28 | 2013-03,178
29 | 2013-04,163
30 | 2013-05,172
31 | 2013-06,178
32 | 2013-07,199
33 | 2013-08,199
34 | 2013-09,184
35 | 2013-10,162
36 | 2013-11,146
37 | 2013-12,166
38 | 2014-01,171
39 | 2014-02,180
40 | 2014-03,193
41 | 2014-04,181
42 | 2014-05,183
43 | 2014-06,218
44 | 2014-07,230
45 | 2014-08,242
46 | 2014-09,209
47 | 2014-10,191
48 | 2014-11,172
49 | 2014-12,194
50 | 2015-01,196
51 | 2015-02,196
52 | 2015-03,236
53 | 2015-04,235
54 | 2015-05,229
55 | 2015-06,243
56 | 2015-07,264
57 | 2015-08,272
58 | 2015-09,237
59 | 2015-10,211
60 | 2015-11,180
61 | 2015-12,201
62 | 2016-01,204
63 | 2016-02,188
64 | 2016-03,235
65 | 2016-04,227
66 | 2016-05,234
67 | 2016-06,264
68 | 2016-07,302
69 | 2016-08,293
70 | 2016-09,259
71 | 2016-10,229
72 | 2016-11,203
73 | 2016-12,229
74 | 2017-01,242
75 | 2017-02,233
76 | 2017-03,267
77 | 2017-04,269
78 | 2017-05,270
79 | 2017-06,315
80 | 2017-07,364
81 | 2017-08,347
82 | 2017-09,312
83 | 2017-10,274
84 | 2017-11,237
85 | 2017-12,278
86 | 2018-01,284
87 | 2018-02,277
88 | 2018-03,317
89 | 2018-04,313
90 | 2018-05,318
91 | 2018-06,374
92 | 2018-07,413
93 | 2018-08,405
94 | 2018-09,355
95 | 2018-10,306
96 | 2018-11,271
97 | 2018-12,306
98 | 2019-01,315
99 | 2019-02,301
100 | 2019-03,356
101 | 2019-04,348
102 | 2019-05,355
103 | 2019-06,422
104 | 2019-07,465
105 | 2019-08,467
106 | 2019-09,404
107 | 2019-10,347
108 | 2019-11,305
109 | 2019-12,336
110 | 2020-01,340
111 | 2020-02,318
112 | 2020-03,362
113 | 2020-04,348
114 | 2020-05,363
115 | 2020-06,435
116 | 2020-07,491
117 | 2020-08,505
118 | 2020-09,404
119 | 2020-10,359
120 | 2020-11,310
121 | 2020-12,337
122 | 2021-01,360
123 | 2021-02,342
124 | 2021-03,406
125 | 2021-04,396
126 | 2021-05,420
127 | 2021-06,472
128 | 2021-07,548
129 | 2021-08,559
130 | 2021-09,463
131 | 2021-10,407
132 | 2021-11,362
133 | 2021-12,405
134 | 2022-01,417
135 | 2022-02,391
136 | 2022-03,419
137 | 2022-04,461
138 | 2022-05,472
139 | 2022-06,535
140 | 2022-07,622
141 | 2022-08,606
142 | 2022-09,508
143 | 2022-10,461
144 | 2022-11,390
145 | 2022-12,432
--------------------------------------------------------------------------------
/datos/venta_propiedades.csv:
--------------------------------------------------------------------------------
1 | 1.698042,6.194126
2 | 1.028309,10.013562
3 | 1.498665,17.396522
4 | 0.988410,23.138509
5 | 1.042310,23.670459
6 | 1.064285,26.133856
7 | 0.989924,27.166720
8 | 1.669657,4.048830
9 | 2.293296,4.316585
10 | 1.722070,6.682627
11 | 1.953625,11.935053
12 | 1.908470,12.923869
13 | 2.289934,16.889879
14 | 1.660117,19.655691
15 | 2.466798,22.377591
16 | 2.071634,23.626880
17 | 1.671516,24.729412
18 | 2.290002,26.235495
19 | 2.500313,26.542467
20 | 2.533102,27.009691
21 | 2.156764,4.231550
22 | 2.343182,5.833884
23 | 3.187092,8.609015
24 | 3.244780,12.973447
25 | 3.498090,15.877665
26 | 2.571818,21.723563
27 | 2.534513,23.120548
28 | 3.130850,23.566369
29 | 2.391875,24.881976
30 | 3.121214,24.157039
31 | 2.845953,26.476777
32 | 3.024891,27.191277
33 | 3.519840,4.557785
34 | 3.162956,4.986443
35 | 4.169712,5.785878
36 | 4.478338,6.883600
37 | 3.923024,8.489870
38 | 3.044297,15.961349
39 | 4.951849,20.516694
40 | 3.718454,21.279387
41 | 4.241517,22.491234
42 | 3.932924,22.826782
43 | 3.571389,22.605701
44 | 3.390063,24.808329
45 | 3.962179,26.217916
46 | 3.431554,28.460918
47 | 4.459341,3.536971
48 | 5.746976,5.318351
49 | 5.080578,6.997012
50 | 5.032224,7.151351
51 | 4.925176,8.633099
52 | 5.036396,10.522664
53 | 5.152505,11.714464
54 | 5.267342,15.657616
55 | 5.024178,18.730291
56 | 5.015424,19.892521
57 | 5.937112,21.013161
58 | 5.316772,21.359366
59 | 4.741488,22.979827
60 | 4.743855,23.388477
61 | 4.781184,24.820212
62 | 4.535579,26.550520
63 | 6.513162,4.165158
64 | 5.876079,4.556642
65 | 6.812517,5.543950
66 | 6.087392,6.998579
67 | 6.451627,8.779080
68 | 5.234279,8.724705
69 | 5.724769,9.595390
70 | 6.253187,18.383739
71 | 6.780006,19.467955
72 | 6.665259,19.409205
73 | 5.297339,20.513798
74 | 6.449606,21.663014
75 | 6.385299,23.293124
76 | 6.349051,24.125673
77 | 6.571641,24.841910
78 | 6.144962,26.001147
79 | 5.613313,27.720232
80 | 5.607237,5.744500
81 | 6.732252,5.116709
82 | 6.996587,6.520758
83 | 7.376130,9.571196
84 | 7.536625,8.917729
85 | 7.045666,10.680213
86 | 7.109685,13.398625
87 | 6.274275,17.087896
88 | 7.761220,17.863125
89 | 7.505418,19.189793
90 | 6.906231,20.174093
91 | 7.806767,20.968597
92 | 7.060473,22.583569
93 | 7.628753,22.588422
94 | 7.180168,23.946660
95 | 6.393456,26.597035
96 | 7.093056,26.649853
97 | 8.646481,6.836523
98 | 7.669326,7.414811
99 | 7.241637,8.963291
100 | 7.390374,9.120207
101 | 7.391301,10.353898
102 | 7.566399,10.996316
103 | 7.447681,11.797276
104 | 8.113464,16.937645
105 | 8.093632,18.274594
106 | 8.882750,19.043768
107 | 7.315035,19.628004
108 | 7.405876,20.761711
109 | 8.029650,21.719120
110 | 8.185065,23.560674
111 | 8.209363,24.212005
112 | 8.507751,25.621276
113 | 8.151514,26.342627
114 | 8.358497,26.288898
115 | 9.838191,5.525203
116 | 8.671282,6.680551
117 | 9.168047,8.440633
118 | 9.209560,9.162009
119 | 10.011855,10.520726
120 | 9.059306,17.226596
121 | 8.222157,17.215417
122 | 9.139781,18.998975
123 | 8.861293,20.298937
124 | 8.506229,21.283051
125 | 8.196000,22.299993
126 | 9.005745,23.191164
127 | 8.933541,22.894537
128 | 8.766859,25.092926
129 | 9.701837,27.140896
130 | 10.266816,4.679800
131 | 10.043087,7.170043
132 | 9.895129,9.577509
133 | 9.687286,10.168150
134 | 10.080605,15.665452
135 | 10.391539,16.345736
136 | 9.918647,16.028382
137 | 9.667753,17.532856
138 | 9.739877,19.672029
139 | 10.281419,20.149888
140 | 11.159593,20.574052
141 | 10.165805,22.526432
142 | 9.994162,22.718614
143 | 10.251828,24.185560
144 | 10.098699,25.394276
145 | 10.546156,4.954288
146 | 9.548769,7.136595
147 | 11.310585,10.073069
148 | 10.421959,14.292155
149 | 11.328364,15.206668
150 | 11.792805,16.223990
151 | 10.498278,16.943991
152 | 10.815139,18.803841
153 | 10.440584,19.011757
154 | 11.202681,19.552694
155 | 10.675413,21.319278
156 | 10.414638,21.561674
157 | 9.772609,22.914572
158 | 11.149525,23.829946
159 | 10.531445,24.856586
160 | 12.309297,10.549602
161 | 12.322135,13.259955
162 | 10.886773,15.673245
163 | 12.170028,15.983409
164 | 12.049496,16.876983
165 | 11.139223,18.980978
166 | 12.874988,19.407792
167 | 11.787261,20.379971
168 | 11.703522,21.440755
169 | 12.428039,21.221116
170 | 13.064352,24.087037
171 | 12.240482,25.933698
172 | 12.714961,6.089404
173 | 12.787920,8.192637
174 | 12.918869,13.078123
175 | 13.491091,14.107172
176 | 13.173357,15.339571
177 | 13.422809,15.973393
178 | 12.574009,16.807139
179 | 13.890922,18.210247
180 | 13.337341,18.437203
181 | 12.944146,19.545021
182 | 13.218867,20.917984
183 | 13.107296,23.732942
184 | 14.364052,7.201643
185 | 14.178514,10.830050
186 | 14.066367,11.740467
187 | 13.329529,12.825123
188 | 14.515717,13.899087
189 | 13.750155,13.985052
190 | 13.006705,16.637282
191 | 14.541394,17.805254
192 | 14.718935,17.481129
193 | 13.587206,19.001264
194 | 13.775563,20.505692
195 | 14.294633,25.459029
196 | 15.094606,10.121428
197 | 13.826158,11.192624
198 | 14.738436,11.984162
199 | 15.871489,13.628502
200 | 15.897294,13.765371
201 | 15.419774,14.510758
202 | 13.873870,15.534420
203 | 15.170827,16.921877
204 | 15.387094,22.912197
205 | 16.271281,3.705754
206 | 15.517490,8.884450
207 | 16.840027,9.713232
208 | 15.156158,11.085673
209 | 16.455094,12.291510
210 | 16.578201,12.761838
211 | 15.842159,14.437223
212 | 15.812954,15.407874
213 | 17.260876,15.919697
214 | 15.286779,18.600083
215 | 15.500173,23.682087
216 | 16.181937,5.166457
217 | 16.608741,7.793441
218 | 16.435582,9.011359
219 | 17.075428,10.068066
220 | 17.639792,11.893152
221 | 17.222790,12.077559
222 | 16.778860,12.718767
223 | 17.163175,14.396706
224 | 17.696155,15.105675
225 | 16.714730,16.657760
226 | 17.867277,17.848496
227 | 17.404102,20.718047
228 | 17.938060,4.049862
229 | 17.756542,9.554980
230 | 17.809339,10.390911
231 | 18.284414,11.215477
232 | 17.904241,11.472024
233 | 18.111261,12.473719
234 | 18.859521,20.067385
235 | 18.786364,21.080509
236 | 18.423283,21.542924
237 | 17.624641,26.604813
238 | 19.440825,4.182355
239 | 18.644686,5.616918
240 | 17.802829,7.282267
241 | 18.770920,7.088529
242 | 18.302152,8.702322
243 | 20.419332,10.560059
244 | 18.947336,10.687630
245 | 18.705703,12.153072
246 | 18.987923,14.434439
247 | 18.755984,17.461073
248 | 18.438713,18.102159
249 | 18.873702,19.595520
250 | 19.199547,21.423876
251 | 18.580071,22.066725
252 | 19.576885,23.146422
253 | 18.617968,23.956858
254 | 20.761467,6.985733
255 | 19.787410,8.234805
256 | 20.113253,8.594910
257 | 20.746933,9.765870
258 | 19.325461,11.158333
259 | 19.731767,13.893311
260 | 19.772548,15.509745
261 | 20.550288,16.707051
262 | 18.988677,17.972794
263 | 20.215317,19.162374
264 | 19.685088,20.230535
265 | 20.086250,20.757182
266 | 20.503146,21.462334
267 | 19.731387,22.454095
268 | 19.085363,23.347747
269 | 20.562632,26.425268
270 | 19.971504,6.193422
271 | 20.565938,6.383557
272 | 21.398721,7.519744
273 | 20.473759,15.749267
274 | 21.039506,17.430426
275 | 20.719958,17.177134
276 | 21.329328,19.323783
277 | 21.804846,20.482388
278 | 21.474827,21.451982
279 | 21.211854,22.221569
280 | 20.764224,22.306621
281 | 20.822434,23.515403
282 | 21.641634,5.184133
283 | 22.632330,5.357496
284 | 22.051718,6.931572
285 | 22.508074,11.858149
286 | 21.996967,17.708915
287 | 21.436812,17.626217
288 | 21.829763,18.413027
289 | 22.372496,19.397495
290 | 22.463418,20.688911
291 | 22.409621,22.185798
292 | 22.708225,22.858986
293 | 20.839025,24.162712
294 | 22.357486,24.973732
295 | 22.869098,3.050124
296 | 23.454896,5.865154
297 | 23.595890,5.898765
298 | 22.507457,12.350661
299 | 23.131103,16.578662
300 | 23.489534,18.399821
301 | 22.342669,20.057805
302 | 22.825481,21.533897
303 | 23.209192,24.765777
304 | 24.266549,13.934711
305 | 23.471874,18.535667
306 | 23.181211,21.910326
307 | 25.510371,20.572987
308 |
--------------------------------------------------------------------------------
/datos/ventas.csv:
--------------------------------------------------------------------------------
1 | ,Trimestre 1,Trimestre 2,Trimestre 3,Trimestre 4
2 | Sucursal Norte,1001,1002,1003,1004
3 | Sucursal Este,2001,2002,2003,2004
4 | Sucursal Oeste,3001,3002,3003,3004
5 | Sucursal Sur,4001,4002,4003,4004
--------------------------------------------------------------------------------
/datos/ventas_anuales.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodigoMaquina/code/c3d50b2d354da9cc383548c2ab6743547a1d0be6/datos/ventas_anuales.xlsx
--------------------------------------------------------------------------------
/datos/ventas_con_basura.csv:
--------------------------------------------------------------------------------
1 | Estos son los datos de ventas
2 | ,Trimestre 1,Trimestre 2,Trimestre 3,Trimestre 4
3 | Sucursal Norte,1001,1002,1003,1004
4 | Sucursal Este,2001,2002,2003,2004
5 | Sucursal Oeste,3001,3002,3003,3004
6 | Sucursal Sur,4001,4002,4003,4004
7 | Las ventas las registró Juan Pérez
--------------------------------------------------------------------------------
/datos/ventas_con_simbolo.csv:
--------------------------------------------------------------------------------
1 | $Trimestre 1$Trimestre 2$Trimestre 3$Trimestre 4
2 | Sucursal Norte$1001$1002$1003$1004
3 | Sucursal Este$2001$2002$2003$2004
4 | Sucursal Oeste$3001$3002$3003$3004
5 | Sucursal Sur$4001$4002$4003$4004
--------------------------------------------------------------------------------
/datos/ventas_sin_encabezado.csv:
--------------------------------------------------------------------------------
1 | Sucursal Norte,1001,1002,1003,1004
2 | Sucursal Este,2001,2002,2003,2004
3 | Sucursal Oeste,3001,3002,3003,3004
4 | Sucursal Sur,4001,4002,4003,4004
--------------------------------------------------------------------------------
/estadistica_ciencia_de_datos/apriori.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "@author: Octavio Gutiérrez de Código Máquina \n",
8 | "\n",
9 | "URL del canal: https://www.youtube.com/CodigoMaquina \n",
10 | "\n",
11 | "URL del video: https://youtu.be/IdvqFfMP7bI\n",
12 | "\n",
13 | "
Reglas de Asociación:
\n",
14 | "Algoritmo Apriori
"
15 | ]
16 | },
17 | {
18 | "cell_type": "code",
19 | "execution_count": 1,
20 | "metadata": {},
21 | "outputs": [
22 | {
23 | "name": "stdout",
24 | "output_type": "stream",
25 | "text": [
26 | "{HUEVO} -> {CREMA} (conf: 0.667, supp: 0.667, lift: 1.000, conv: 1.000)\n",
27 | "{CREMA} -> {HUEVO} (conf: 1.000, supp: 0.667, lift: 1.000, conv: 0.000)\n",
28 | "{LECHE} -> {CREMA} (conf: 0.667, supp: 0.667, lift: 1.000, conv: 1.000)\n",
29 | "{CREMA} -> {LECHE} (conf: 1.000, supp: 0.667, lift: 1.000, conv: 0.000)\n",
30 | "{LECHE} -> {HUEVO} (conf: 1.000, supp: 1.000, lift: 1.000, conv: 0.000)\n",
31 | "{HUEVO} -> {LECHE} (conf: 1.000, supp: 1.000, lift: 1.000, conv: 0.000)\n",
32 | "{PAN} -> {HUEVO} (conf: 1.000, supp: 0.667, lift: 1.000, conv: 0.000)\n",
33 | "{HUEVO} -> {PAN} (conf: 0.667, supp: 0.667, lift: 1.000, conv: 1.000)\n",
34 | "{PAN} -> {LECHE} (conf: 1.000, supp: 0.667, lift: 1.000, conv: 0.000)\n",
35 | "{LECHE} -> {PAN} (conf: 0.667, supp: 0.667, lift: 1.000, conv: 1.000)\n",
36 | "{HUEVO, LECHE} -> {CREMA} (conf: 0.667, supp: 0.667, lift: 1.000, conv: 1.000)\n",
37 | "{CREMA, LECHE} -> {HUEVO} (conf: 1.000, supp: 0.667, lift: 1.000, conv: 0.000)\n",
38 | "{CREMA, HUEVO} -> {LECHE} (conf: 1.000, supp: 0.667, lift: 1.000, conv: 0.000)\n",
39 | "{LECHE, PAN} -> {HUEVO} (conf: 1.000, supp: 0.667, lift: 1.000, conv: 0.000)\n",
40 | "{HUEVO, PAN} -> {LECHE} (conf: 1.000, supp: 0.667, lift: 1.000, conv: 0.000)\n",
41 | "{HUEVO, LECHE} -> {PAN} (conf: 0.667, supp: 0.667, lift: 1.000, conv: 1.000)\n"
42 | ]
43 | }
44 | ],
45 | "source": [
46 | "#!pip install efficient-apriori \n",
47 | "from efficient_apriori import apriori\n",
48 | "\n",
49 | "transacciones = [(\"LECHE\", \"PAN\", \"HUEVO\"),\n",
50 | " (\"CEREAL\", \"LECHE\", \"CREMA\", \"HUEVO\"),\n",
51 | " (\"LECHE\", \"CREMA\", \"PAN\", \"HUEVO\")]\n",
52 | "\n",
53 | "conjuntos, reglas = apriori(transacciones,\n",
54 | " min_support = 0.6,\n",
55 | " min_confidence = 0.6)\n",
56 | "\n",
57 | "# Filtrando reglas con consecuente de un elemento\n",
58 | "reglas = filter(lambda regla: len(regla.rhs) == 1, reglas)\n",
59 | "\n",
60 | "for regla in reglas:\n",
61 | " print(regla) "
62 | ]
63 | }
64 | ],
65 | "metadata": {
66 | "kernelspec": {
67 | "display_name": "Python 3 (ipykernel)",
68 | "language": "python",
69 | "name": "python3"
70 | },
71 | "language_info": {
72 | "codemirror_mode": {
73 | "name": "ipython",
74 | "version": 3
75 | },
76 | "file_extension": ".py",
77 | "mimetype": "text/x-python",
78 | "name": "python",
79 | "nbconvert_exporter": "python",
80 | "pygments_lexer": "ipython3",
81 | "version": "3.9.13"
82 | }
83 | },
84 | "nbformat": 4,
85 | "nbformat_minor": 4
86 | }
87 |
--------------------------------------------------------------------------------
/estadistica_ciencia_de_datos/categoricas_medidas_de_tendencia_central.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "attachments": {},
5 | "cell_type": "markdown",
6 | "metadata": {},
7 | "source": [
8 | "@author: Octavio Gutiérrez de Código Máquina \n",
9 | "\n",
10 | "URL del canal: https://www.youtube.com/CodigoMaquina \n",
11 | "\n",
12 | "URL del video: https://youtu.be/D_LVz9exvl4\n",
13 | "\n",
14 | "Datos Categóricos Ordinales
\n",
15 | "Medidas de Tendencia Central
"
16 | ]
17 | },
18 | {
19 | "cell_type": "code",
20 | "execution_count": 1,
21 | "metadata": {},
22 | "outputs": [
23 | {
24 | "name": "stdout",
25 | "output_type": "stream",
26 | "text": [
27 | "Moda(s): 0 5\n",
28 | "dtype: int64 Mediana: 3.0\n"
29 | ]
30 | }
31 | ],
32 | "source": [
33 | "import pandas as pd \n",
34 | "\n",
35 | "# Muy Insatisfecho (MI)\n",
36 | "# Insatisfecho (I)\n",
37 | "# Neutral (N)\n",
38 | "# Satisfecho (S)\n",
39 | "# Muy Satisfecho (MS)\n",
40 | "\n",
41 | "datos = pd.Series([\"MI\", \"MI\", \"MI\", \"MI\", \n",
42 | " \"I\", \"I\", \"I\", \"I\", \n",
43 | " \"N\", \"N\", \"N\", \n",
44 | " \"S\", \"S\", \"S\", \n",
45 | " \"MS\", \"MS\", \"MS\", \"MS\", \"MS\"])\n",
46 | "\n",
47 | "remplazos = {\"MI\" : 1, \"I\" : 2, \"N\" : 3, \"S\" : 4, \"MS\" : 5}\n",
48 | "\n",
49 | "datos.replace(to_replace=remplazos, inplace=True)\n",
50 | "\n",
51 | "print(\"Moda(s):\", datos.mode(), \"Mediana:\", datos.median())"
52 | ]
53 | }
54 | ],
55 | "metadata": {
56 | "kernelspec": {
57 | "display_name": "Python 3 (ipykernel)",
58 | "language": "python",
59 | "name": "python3"
60 | },
61 | "language_info": {
62 | "codemirror_mode": {
63 | "name": "ipython",
64 | "version": 3
65 | },
66 | "file_extension": ".py",
67 | "mimetype": "text/x-python",
68 | "name": "python",
69 | "nbconvert_exporter": "python",
70 | "pygments_lexer": "ipython3",
71 | "version": "3.9.13"
72 | }
73 | },
74 | "nbformat": 4,
75 | "nbformat_minor": 4
76 | }
77 |
--------------------------------------------------------------------------------
/estadistica_ciencia_de_datos/correlacion_de_kendall.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "@author: Octavio Gutiérrez de Código Máquina \n",
8 | "\n",
9 | "URL del canal: https://www.youtube.com/CodigoMaquina \n",
10 | "\n",
11 | "URL del video: https://youtu.be/qYjICAaUG1Q\n",
12 | "\n",
13 | "Correlación de Kendall
"
14 | ]
15 | },
16 | {
17 | "cell_type": "code",
18 | "execution_count": 1,
19 | "metadata": {},
20 | "outputs": [
21 | {
22 | "name": "stdout",
23 | "output_type": "stream",
24 | "text": [
25 | "Totalmente de acuerdo: 1.0\n",
26 | "Totalmente en desacuerdo: -1.0\n",
27 | "Parcialmente de acuerdo: 0.3333333333333334\n"
28 | ]
29 | }
30 | ],
31 | "source": [
32 | "from scipy import stats\n",
33 | "\n",
34 | "# {A : 1, B : 2, C : 3, D : 4}\n",
35 | "\n",
36 | "ranking1 = [1, 2, 3, 4]\n",
37 | "ranking2 = [1, 2, 3, 4]\n",
38 | "resultado = stats.kendalltau(ranking1, ranking2)\n",
39 | "print(\"Totalmente de acuerdo:\", resultado.correlation)\n",
40 | "\n",
41 | "ranking1 = [1, 2, 3, 4]\n",
42 | "ranking2 = [4, 3, 2, 1]\n",
43 | "resultado = stats.kendalltau(ranking1, ranking2)\n",
44 | "print(\"Totalmente en desacuerdo:\", resultado.correlation)\n",
45 | "\n",
46 | "ranking1 = [1, 3, 2, 4]\n",
47 | "ranking2 = [1, 4, 3, 2]\n",
48 | "resultado = stats.kendalltau(ranking1, ranking2)\n",
49 | "print(\"Parcialmente de acuerdo:\", resultado.correlation)"
50 | ]
51 | }
52 | ],
53 | "metadata": {
54 | "kernelspec": {
55 | "display_name": "Python 3 (ipykernel)",
56 | "language": "python",
57 | "name": "python3"
58 | },
59 | "language_info": {
60 | "codemirror_mode": {
61 | "name": "ipython",
62 | "version": 3
63 | },
64 | "file_extension": ".py",
65 | "mimetype": "text/x-python",
66 | "name": "python",
67 | "nbconvert_exporter": "python",
68 | "pygments_lexer": "ipython3",
69 | "version": "3.9.13"
70 | }
71 | },
72 | "nbformat": 4,
73 | "nbformat_minor": 4
74 | }
75 |
--------------------------------------------------------------------------------
/estadistica_ciencia_de_datos/correlacion_de_spearman.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "@author: Octavio Gutiérrez de Código Máquina\n",
8 | "\n",
9 | "URL del canal: https://www.youtube.com/CodigoMaquina\n",
10 | "\n",
11 | "URL del video: https://youtu.be/lzF6NggCSdY\n",
12 | "\n",
13 | "Correlación de Spearman
"
14 | ]
15 | },
16 | {
17 | "cell_type": "code",
18 | "execution_count": 1,
19 | "metadata": {},
20 | "outputs": [
21 | {
22 | "name": "stdout",
23 | "output_type": "stream",
24 | "text": [
25 | "0.7142857142857143\n"
26 | ]
27 | }
28 | ],
29 | "source": [
30 | "from scipy import stats\n",
31 | "goles = [2, 15, 3, 8, 0, 11]\n",
32 | "asistencias = [4, 7, 8, 6, 1, 13]\n",
33 | "print(stats.spearmanr(goles, asistencias)[0])"
34 | ]
35 | },
36 | {
37 | "cell_type": "markdown",
38 | "metadata": {},
39 | "source": [
40 | "
"
41 | ]
42 | }
43 | ],
44 | "metadata": {
45 | "kernelspec": {
46 | "display_name": "Python 3 (ipykernel)",
47 | "language": "python",
48 | "name": "python3"
49 | },
50 | "language_info": {
51 | "codemirror_mode": {
52 | "name": "ipython",
53 | "version": 3
54 | },
55 | "file_extension": ".py",
56 | "mimetype": "text/x-python",
57 | "name": "python",
58 | "nbconvert_exporter": "python",
59 | "pygments_lexer": "ipython3",
60 | "version": "3.9.7"
61 | }
62 | },
63 | "nbformat": 4,
64 | "nbformat_minor": 4
65 | }
66 |
--------------------------------------------------------------------------------
/estadistica_ciencia_de_datos/divergencia_kullback_leibler.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "@author: Octavio Gutiérrez de Código Máquina \n",
8 | "\n",
9 | "URL del canal: https://www.youtube.com/CodigoMaquina \n",
10 | "\n",
11 | "URL del video: https://youtu.be/dhZgwDjxpvM \n",
12 | "\n",
13 | "Divergencia Kullback-Leibler
(Entropia Relativa)
"
14 | ]
15 | },
16 | {
17 | "cell_type": "code",
18 | "execution_count": 1,
19 | "metadata": {
20 | "scrolled": true
21 | },
22 | "outputs": [
23 | {
24 | "name": "stdout",
25 | "output_type": "stream",
26 | "text": [
27 | "Divergencia KL (P||Q) = 0.37230199231101213\n",
28 | "Divergencia KL (Q||P) = 0.4676692513757448\n",
29 | "Divergencia KL (P||Q) = 0.37230199231101213\n",
30 | "Divergencia KL (Q||P) = 0.4676692513757448\n"
31 | ]
32 | }
33 | ],
34 | "source": [
35 | "from math import log\n",
36 | "from scipy.special import rel_entr\n",
37 | "\n",
38 | "# Distribución de las respuestas de las encuestas de turismo\n",
39 | "p = [0.35, 0.05, 0.40, 0.20]\n",
40 | "q = [0.15, 0.30, 0.20, 0.35]\n",
41 | "\n",
42 | "# Divergencia KL con scipy \n",
43 | "print(\"Divergencia KL (P||Q) =\", sum(rel_entr(p, q)))\n",
44 | "print(\"Divergencia KL (Q||P) =\", sum(rel_entr(q, p)))\n",
45 | "\n",
46 | "# Divergencia KL paso a paso\n",
47 | "print(\"Divergencia KL (P||Q) =\",\n",
48 | " p[0]*log(p[0]/q[0])+\n",
49 | " p[1]*log(p[1]/q[1])+\n",
50 | " p[2]*log(p[2]/q[2])+\n",
51 | " p[3]*log(p[3]/q[3]))\n",
52 | "\n",
53 | "print(\"Divergencia KL (Q||P) =\",\n",
54 | " q[0]*log(q[0]/p[0])+\n",
55 | " q[1]*log(q[1]/p[1])+\n",
56 | " q[2]*log(q[2]/p[2])+\n",
57 | " q[3]*log(q[3]/p[3]))"
58 | ]
59 | }
60 | ],
61 | "metadata": {
62 | "kernelspec": {
63 | "display_name": "Python 3 (ipykernel)",
64 | "language": "python",
65 | "name": "python3"
66 | },
67 | "language_info": {
68 | "codemirror_mode": {
69 | "name": "ipython",
70 | "version": 3
71 | },
72 | "file_extension": ".py",
73 | "mimetype": "text/x-python",
74 | "name": "python",
75 | "nbconvert_exporter": "python",
76 | "pygments_lexer": "ipython3",
77 | "version": "3.9.13"
78 | }
79 | },
80 | "nbformat": 4,
81 | "nbformat_minor": 4
82 | }
83 |
--------------------------------------------------------------------------------
/estadistica_ciencia_de_datos/estadisticamente_significativo.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": "markdown",
19 | "source": [
20 | "@author: Octavio Gutiérrez de Código Máquina\n",
21 | "\n",
22 | "URL del canal: https://www.youtube.com/CodigoMaquina\n",
23 | "\n",
24 | "URL del video: https://youtu.be/Btr0Pv0sUvI\n",
25 | "\n",
26 | "# Ilustración de resultados estadísticamente significativos"
27 | ],
28 | "metadata": {
29 | "id": "kbWiAWJ5yIUI"
30 | }
31 | },
32 | {
33 | "cell_type": "code",
34 | "execution_count": null,
35 | "metadata": {
36 | "colab": {
37 | "base_uri": "https://localhost:8080/"
38 | },
39 | "id": "-C7O1YaSR87h",
40 | "outputId": "c7975ab6-8f70-47e3-aa35-959fd27df97c"
41 | },
42 | "outputs": [
43 | {
44 | "output_type": "stream",
45 | "name": "stdout",
46 | "text": [
47 | "TAMAÑO DE LA MUESTRA: 1 \n",
48 | "\n",
49 | "Muestra de alturas de Americanos: [173.46]\n",
50 | "Altura promedio de Americanos: 173.46\n",
51 | "\n",
52 | "Muestra de alturas de Europeos: [183.46]\n",
53 | "Altura promedio de Europeos: 183.46\n",
54 | "\n",
55 | "No se puede rechazar la hipótesis nula. Hay poca evidencia respaldando la hipótesis alternativa de que las alturas medias de los Americanos y los Europeos son diferentes.\n",
56 | "\n",
57 | "( Estadístico t = nan Valor P = nan )\n",
58 | "\n",
59 | "\n",
60 | "\n",
61 | "\n",
62 | "TAMAÑO DE LA MUESTRA: 2 \n",
63 | "\n",
64 | "Muestra de alturas de Americanos: [173.46 163.27]\n",
65 | "Altura promedio de Americanos: 168.365\n",
66 | "\n",
67 | "Muestra de alturas de Europeos: [183.46 171.07]\n",
68 | "Altura promedio de Europeos: 177.265\n",
69 | "\n",
70 | "No se puede rechazar la hipótesis nula. Hay poca evidencia respaldando la hipótesis alternativa de que las alturas medias de los Americanos y los Europeos son diferentes.\n",
71 | "\n",
72 | "( Estadístico t = -1.1095820816861075 Valor P = 0.3827240310897684 )\n",
73 | "\n",
74 | "\n",
75 | "\n",
76 | "\n",
77 | "TAMAÑO DE LA MUESTRA: 10 \n",
78 | "\n",
79 | "Muestra de alturas de Americanos: [173.46 163.27 161.52 185.05 181.64 184.02 176.97 177.88 167.08 182.58]\n",
80 | "Altura promedio de Americanos: 175.34699999999998\n",
81 | "\n",
82 | "Muestra de alturas de Europeos: [183.46 171.07 172.38 174.68 176.11 174.04 182.3 176.85 177.67 176.96]\n",
83 | "Altura promedio de Europeos: 176.552\n",
84 | "\n",
85 | "No se puede rechazar la hipótesis nula. Hay poca evidencia respaldando la hipótesis alternativa de que las alturas medias de los Americanos y los Europeos son diferentes.\n",
86 | "\n",
87 | "( Estadístico t = -0.39945010602143494 Valor P = 0.6942614246000632 )\n",
88 | "\n",
89 | "\n",
90 | "\n",
91 | "\n",
92 | "TAMAÑO DE LA MUESTRA: 30 \n",
93 | "\n",
94 | "Muestra de alturas de Americanos: [173.46 163.27 161.52 185.05 181.64 184.02 176.97 177.88 167.08 182.58\n",
95 | " 179.73 169.97 172.13 175.12 164.77 170.58 175.68 178.83 173.81 169.64\n",
96 | " 180.21 171.89 173.16 173.91 172.69 170.29 175.37 167.18 170.5 170.96]\n",
97 | "Altura promedio de Americanos: 173.66299999999998\n",
98 | "\n",
99 | "Muestra de alturas de Europeos: [183.46 171.07 172.38 174.68 176.11 174.04 182.3 176.85 177.67 176.96\n",
100 | " 173.33 178.42 178.72 178.38 177.22 180.75 186.51 183.03 162.33 183.7\n",
101 | " 168.65 169.1 178.64 171.24 185.77 181.48 173.94 169.78 179.65 184.12]\n",
102 | "Altura promedio de Europeos: 177.0093333333333\n",
103 | "\n",
104 | "Se rechaza la hipótesis nula. Hay evidencia apoyando que las alturas medias de los Americanos y de los Europeos son diferentes.\n",
105 | "\n",
106 | "( Estadístico t = -2.225886115487469 Valor P = 0.029922278353889196 )\n",
107 | "\n",
108 | "\n",
109 | "\n",
110 | "\n",
111 | "TAMAÑO DE LA MUESTRA: 100 \n",
112 | "\n",
113 | "Muestra de alturas de Americanos: [173.46 163.27 161.52 185.05 181.64 184.02 176.97 177.88 167.08 182.58\n",
114 | " 179.73 169.97 172.13 175.12 164.77 170.58 175.68 178.83 173.81 169.64\n",
115 | " 180.21 171.89 173.16 173.91 172.69 170.29 175.37 167.18 170.5 170.96\n",
116 | " 173.48 182.38 175.67 176.99 171.47 174.89 171.87 163.57 185.36 172.27\n",
117 | " 173.58 179.65 173.55 174.08 175.15 167.24 180.62 174.8 169.95 177.65\n",
118 | " 174.78 168.24 173.76 173. 174.68 174.87 176.57 167. 173.01 168.39\n",
119 | " 175.48 166.34 162.05 170.82 185.73 178.75 173.42 185.43 172.03 172.07\n",
120 | " 177.27 174.54 172.64 170.66 172.67 178.26 166.45 169.66 179.71 185.66\n",
121 | " 163.8 175.03 181.16 171.89 170.11 179.21 170.23 169.39 170.14 166.05\n",
122 | " 161.02 178.77 181.44 174.12 171.99 175.5 172.09 164.25 166.95 175.12]\n",
123 | "Altura promedio de Americanos: 173.56310000000002\n",
124 | "\n",
125 | "Muestra de alturas de Europeos: [183.46 171.07 172.38 174.68 176.11 174.04 182.3 176.85 177.67 176.96\n",
126 | " 173.33 178.42 178.72 178.38 177.22 180.75 186.51 183.03 162.33 183.7\n",
127 | " 168.65 169.1 178.64 171.24 185.77 181.48 173.94 169.78 179.65 184.12\n",
128 | " 176.06 170.22 170.8 182.74 170.37 183.68 180.42 172.99 176.41 178.79\n",
129 | " 179.8 179.28 185.13 182.64 175.45 177.14 173.45 175.39 178.37 166.27\n",
130 | " 178.5 177.77 176.76 171.47 175.12 174.18 177.7 165.83 176.35 180.36\n",
131 | " 173.57 173.28 181.67 191.21 181.06 181.29 178.23 181.85 180.97 173.33\n",
132 | " 179.88 182.6 174.43 179.87 184.29 182.88 177.89 188.33 183.16 176.75\n",
133 | " 168.15 176.37 178.67 176.09 178.12 186.19 182.1 184.73 171.13 178.05\n",
134 | " 184.66 173.86 187.67 171.63 174.72 185.57 167.08 181.99 171.63 172.14]\n",
135 | "Altura promedio de Europeos: 177.56810000000004\n",
136 | "\n",
137 | "Se rechaza la hipótesis nula. Hay evidencia apoyando que las alturas medias de los Americanos y de los Europeos son diferentes.\n",
138 | "\n",
139 | "( Estadístico t = -5.094099606938036 Valor P = 8.142483199431749e-07 )\n",
140 | "\n",
141 | "\n",
142 | "\n",
143 | "\n"
144 | ]
145 | },
146 | {
147 | "output_type": "stream",
148 | "name": "stderr",
149 | "text": [
150 | "/usr/local/lib/python3.10/dist-packages/scipy/stats/_stats_py.py:7030: RuntimeWarning: invalid value encountered in scalar divide\n",
151 | " svar = ((n1 - 1) * v1 + (n2 - 1) * v2) / df\n"
152 | ]
153 | }
154 | ],
155 | "source": [
156 | "import numpy as np\n",
157 | "from scipy import stats\n",
158 | "\n",
159 | "# Semilla para reproducibilidad\n",
160 | "np.random.seed(8)\n",
161 | "\n",
162 | "# Tamaños de las muestras de alturas\n",
163 | "tamanios = [1, 2, 10, 30, 100]\n",
164 | "\n",
165 | "for t in range(len(tamanios)):\n",
166 | " print(\"TAMAÑO DE LA MUESTRA:\", tamanios[t], \"\\n\")\n",
167 | " if t == 0:\n",
168 | " # Generando la primera muestra\n",
169 | " americanos = np.random.normal(173, 5, tamanios[t])\n",
170 | " europeos = np.random.normal(178, 5, tamanios[t])\n",
171 | " else:\n",
172 | " # incrementando el tamaño de las muestras de alturas\n",
173 | " mas_americanos = np.random.normal(173, 5, tamanios[t]-tamanios[t-1])\n",
174 | " americanos = np.concatenate((americanos, mas_americanos))\n",
175 | " mas_europeos = np.random.normal(178, 5, tamanios[t]-tamanios[t-1])\n",
176 | " europeos = np.concatenate((europeos, mas_europeos))\n",
177 | "\n",
178 | " # Redondeo para propósitos de visualización\n",
179 | " americanos = np.round(americanos, 2)\n",
180 | " europeos = np.round(europeos, 2)\n",
181 | "\n",
182 | " # Alturas promedio\n",
183 | " print(\"Muestra de alturas de Americanos:\", americanos)\n",
184 | " print(\"Altura promedio de Americanos:\", americanos.mean())\n",
185 | " print(\"\\nMuestra de alturas de Europeos:\", europeos)\n",
186 | " print(\"Altura promedio de Europeos:\", europeos.mean())\n",
187 | "\n",
188 | " # Prueba t de Student - muestras independientes de igual tamaño y varianzas iguales\n",
189 | " t_stat, p_valor = stats.ttest_ind(americanos, europeos)\n",
190 | "\n",
191 | " # Interpretación de los resultados:\n",
192 | " alfa = 0.05\n",
193 | " if p_valor < alfa:\n",
194 | " print(\"\\nSe rechaza la hipótesis nula. Hay evidencia apoyando que \\\n",
195 | " las alturas medias de los Americanos y de los Europeos son diferentes.\")\n",
196 | " else:\n",
197 | " print(\"\\nNo se puede rechazar la hipótesis nula. Hay poca evidencia \\\n",
198 | " respaldando la hipótesis alternativa de que las alturas medias \\\n",
199 | " de los Americanos y los Europeos son diferentes.\")\n",
200 | "\n",
201 | " print(\"\\n( Estadístico t =\", t_stat, \"Valor P =\", p_valor, \")\"+\"\\n\"*4)"
202 | ]
203 | }
204 | ]
205 | }
--------------------------------------------------------------------------------
/estadistica_ciencia_de_datos/medidas_dispersion.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "@author: Octavio Gutiérrez de Código Máquina\n",
8 | "\n",
9 | "URL del canal: https://www.youtube.com/CodigoMaquina\n",
10 | "\n",
11 | "URL del video: https://youtu.be/-O9E8f7ibfE\n",
12 | "\n",
13 | " Medidas de Dispersión con Numpy
"
14 | ]
15 | },
16 | {
17 | "cell_type": "code",
18 | "execution_count": 1,
19 | "metadata": {},
20 | "outputs": [
21 | {
22 | "name": "stdout",
23 | "output_type": "stream",
24 | "text": [
25 | "Rango: 165\n",
26 | "Varianza poblacional: 2295.0617283950614\n",
27 | "Varianza muestral: 2581.9444444444443\n",
28 | "Desviación estándar poblacional: 47.90680252735577\n",
29 | "Desviación estándar muestral: 50.812837398087154\n",
30 | "Rango intercuartílico: 55.0\n"
31 | ]
32 | }
33 | ],
34 | "source": [
35 | "import numpy as np\n",
36 | " \n",
37 | "# Contexto: levantamiento de pesas\n",
38 | "pesos = [5, 15, 25, 35, 40, 55, 80, 90, 170]\n",
39 | " \n",
40 | "print(\"Rango:\", np.max(pesos) - np.min(pesos))\n",
41 | "\n",
42 | "print(\"Varianza poblacional:\", np.var(pesos))\n",
43 | "print(\"Varianza muestral:\", np.var(pesos, ddof=1))\n",
44 | "\n",
45 | "print(\"Desviación estándar poblacional:\", np.std(pesos))\n",
46 | "print(\"Desviación estándar muestral:\", np.std(pesos, ddof=1))\n",
47 | "\n",
48 | "#Cálculo del rango intercuartílico\n",
49 | "Q1 = np.percentile(pesos, 25)\n",
50 | "Q3 = np.percentile(pesos, 75)\n",
51 | "print(\"Rango intercuartílico:\", Q3 - Q1)"
52 | ]
53 | }
54 | ],
55 | "metadata": {
56 | "kernelspec": {
57 | "display_name": "Python 3 (ipykernel)",
58 | "language": "python",
59 | "name": "python3"
60 | },
61 | "language_info": {
62 | "codemirror_mode": {
63 | "name": "ipython",
64 | "version": 3
65 | },
66 | "file_extension": ".py",
67 | "mimetype": "text/x-python",
68 | "name": "python",
69 | "nbconvert_exporter": "python",
70 | "pygments_lexer": "ipython3",
71 | "version": "3.9.7"
72 | }
73 | },
74 | "nbformat": 4,
75 | "nbformat_minor": 4
76 | }
77 |
--------------------------------------------------------------------------------
/estadistica_ciencia_de_datos/muestreo.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "@author: Octavio Gutiérrez de Código Máquina \n",
8 | "\n",
9 | "URL del canal: https://www.youtube.com/CodigoMaquina \n",
10 | "\n",
11 | "URL del video: https://youtu.be/8GS8vY1YDG8 \n",
12 | "\n",
13 | "Muestreo Aleatorio Simple
"
14 | ]
15 | },
16 | {
17 | "cell_type": "code",
18 | "execution_count": 1,
19 | "metadata": {},
20 | "outputs": [
21 | {
22 | "data": {
23 | "text/html": [
24 | "\n",
25 | "\n",
38 | "
\n",
39 | " \n",
40 | " \n",
41 | " | \n",
42 | " imc | \n",
43 | " glucosa | \n",
44 | "
\n",
45 | " \n",
46 | " \n",
47 | " \n",
48 | " 0 | \n",
49 | " 33.6 | \n",
50 | " 148 | \n",
51 | "
\n",
52 | " \n",
53 | " 1 | \n",
54 | " 26.6 | \n",
55 | " 85 | \n",
56 | "
\n",
57 | " \n",
58 | " 2 | \n",
59 | " 23.3 | \n",
60 | " 183 | \n",
61 | "
\n",
62 | " \n",
63 | " 3 | \n",
64 | " 28.1 | \n",
65 | " 89 | \n",
66 | "
\n",
67 | " \n",
68 | " 4 | \n",
69 | " 43.1 | \n",
70 | " 137 | \n",
71 | "
\n",
72 | " \n",
73 | " ... | \n",
74 | " ... | \n",
75 | " ... | \n",
76 | "
\n",
77 | " \n",
78 | " 763 | \n",
79 | " 32.9 | \n",
80 | " 101 | \n",
81 | "
\n",
82 | " \n",
83 | " 764 | \n",
84 | " 36.8 | \n",
85 | " 122 | \n",
86 | "
\n",
87 | " \n",
88 | " 765 | \n",
89 | " 26.2 | \n",
90 | " 121 | \n",
91 | "
\n",
92 | " \n",
93 | " 766 | \n",
94 | " 30.1 | \n",
95 | " 126 | \n",
96 | "
\n",
97 | " \n",
98 | " 767 | \n",
99 | " 30.4 | \n",
100 | " 93 | \n",
101 | "
\n",
102 | " \n",
103 | "
\n",
104 | "
768 rows × 2 columns
\n",
105 | "
"
106 | ],
107 | "text/plain": [
108 | " imc glucosa\n",
109 | "0 33.6 148\n",
110 | "1 26.6 85\n",
111 | "2 23.3 183\n",
112 | "3 28.1 89\n",
113 | "4 43.1 137\n",
114 | ".. ... ...\n",
115 | "763 32.9 101\n",
116 | "764 36.8 122\n",
117 | "765 26.2 121\n",
118 | "766 30.1 126\n",
119 | "767 30.4 93\n",
120 | "\n",
121 | "[768 rows x 2 columns]"
122 | ]
123 | },
124 | "execution_count": 1,
125 | "metadata": {},
126 | "output_type": "execute_result"
127 | }
128 | ],
129 | "source": [
130 | "import numpy as np\n",
131 | "import pandas as pd\n",
132 | "\n",
133 | "datos = pd.read_csv(\"diabetes.csv\")\n",
134 | "datos"
135 | ]
136 | },
137 | {
138 | "cell_type": "markdown",
139 | "metadata": {},
140 | "source": [
141 | "Muestreo de Renglones
"
142 | ]
143 | },
144 | {
145 | "cell_type": "code",
146 | "execution_count": 2,
147 | "metadata": {},
148 | "outputs": [
149 | {
150 | "data": {
151 | "text/html": [
152 | "\n",
153 | "\n",
166 | "
\n",
167 | " \n",
168 | " \n",
169 | " | \n",
170 | " imc | \n",
171 | " glucosa | \n",
172 | "
\n",
173 | " \n",
174 | " \n",
175 | " \n",
176 | " 334 | \n",
177 | " 23.9 | \n",
178 | " 95 | \n",
179 | "
\n",
180 | " \n",
181 | " 566 | \n",
182 | " 38.6 | \n",
183 | " 99 | \n",
184 | "
\n",
185 | " \n",
186 | " 422 | \n",
187 | " 40.6 | \n",
188 | " 102 | \n",
189 | "
\n",
190 | " \n",
191 | " 55 | \n",
192 | " 23.0 | \n",
193 | " 73 | \n",
194 | "
\n",
195 | " \n",
196 | " 522 | \n",
197 | " 0.0 | \n",
198 | " 114 | \n",
199 | "
\n",
200 | " \n",
201 | " ... | \n",
202 | " ... | \n",
203 | " ... | \n",
204 | "
\n",
205 | " \n",
206 | " 435 | \n",
207 | " 42.4 | \n",
208 | " 141 | \n",
209 | "
\n",
210 | " \n",
211 | " 679 | \n",
212 | " 24.2 | \n",
213 | " 101 | \n",
214 | "
\n",
215 | " \n",
216 | " 281 | \n",
217 | " 35.9 | \n",
218 | " 129 | \n",
219 | "
\n",
220 | " \n",
221 | " 612 | \n",
222 | " 38.2 | \n",
223 | " 168 | \n",
224 | "
\n",
225 | " \n",
226 | " 73 | \n",
227 | " 35.1 | \n",
228 | " 129 | \n",
229 | "
\n",
230 | " \n",
231 | "
\n",
232 | "
77 rows × 2 columns
\n",
233 | "
"
234 | ],
235 | "text/plain": [
236 | " imc glucosa\n",
237 | "334 23.9 95\n",
238 | "566 38.6 99\n",
239 | "422 40.6 102\n",
240 | "55 23.0 73\n",
241 | "522 0.0 114\n",
242 | ".. ... ...\n",
243 | "435 42.4 141\n",
244 | "679 24.2 101\n",
245 | "281 35.9 129\n",
246 | "612 38.2 168\n",
247 | "73 35.1 129\n",
248 | "\n",
249 | "[77 rows x 2 columns]"
250 | ]
251 | },
252 | "execution_count": 2,
253 | "metadata": {},
254 | "output_type": "execute_result"
255 | }
256 | ],
257 | "source": [
258 | "muestra_personas = datos.sample(frac = 0.10)\n",
259 | "muestra_personas"
260 | ]
261 | },
262 | {
263 | "cell_type": "markdown",
264 | "metadata": {},
265 | "source": [
266 | "Muestreo de Elementos de una Columna
"
267 | ]
268 | },
269 | {
270 | "cell_type": "code",
271 | "execution_count": 3,
272 | "metadata": {},
273 | "outputs": [
274 | {
275 | "data": {
276 | "text/plain": [
277 | "array([105, 108, 88, 181, 125, 105, 78, 137, 125, 147], dtype=int64)"
278 | ]
279 | },
280 | "execution_count": 3,
281 | "metadata": {},
282 | "output_type": "execute_result"
283 | }
284 | ],
285 | "source": [
286 | "muestra_glucosas = np.random.choice(datos[\"glucosa\"], 10)\n",
287 | "muestra_glucosas"
288 | ]
289 | },
290 | {
291 | "cell_type": "markdown",
292 | "metadata": {},
293 | "source": [
294 | "
\n"
295 | ]
296 | }
297 | ],
298 | "metadata": {
299 | "kernelspec": {
300 | "display_name": "Python 3 (ipykernel)",
301 | "language": "python",
302 | "name": "python3"
303 | },
304 | "language_info": {
305 | "codemirror_mode": {
306 | "name": "ipython",
307 | "version": 3
308 | },
309 | "file_extension": ".py",
310 | "mimetype": "text/x-python",
311 | "name": "python",
312 | "nbconvert_exporter": "python",
313 | "pygments_lexer": "ipython3",
314 | "version": "3.9.7"
315 | }
316 | },
317 | "nbformat": 4,
318 | "nbformat_minor": 4
319 | }
320 |
--------------------------------------------------------------------------------
/estadistica_ciencia_de_datos/pruebas_de_normalidad.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": "markdown",
19 | "source": [
20 | "@author: Octavio Gutiérrez de Código Máquina\n",
21 | "\n",
22 | "URL del canal: https://www.youtube.com/CodigoMaquina\n",
23 | "\n",
24 | "URL del video: https://youtu.be/GJRkLs0UqEc\n",
25 | "\n",
26 | "# Shapiro-Wilk & Kolmogorov-Smirnov\n",
27 | "## Pruebas de Normalidad\n",
28 | "### Ejemplo de Distribución Normal\n",
29 | "#### 10 mil alturas de personas"
30 | ],
31 | "metadata": {
32 | "id": "-TEuk7dU2Enp"
33 | }
34 | },
35 | {
36 | "cell_type": "code",
37 | "execution_count": null,
38 | "metadata": {
39 | "id": "ylOdOvYOzu3A"
40 | },
41 | "outputs": [],
42 | "source": [
43 | "import numpy as np\n",
44 | "from scipy import stats\n",
45 | "import warnings\n",
46 | "\n",
47 | "warnings.filterwarnings(\"ignore\")\n",
48 | "\n",
49 | "# semilla para reproducibilidad\n",
50 | "np.random.seed(5)\n",
51 | "\n",
52 | "# altura promedio\n",
53 | "mu = 170\n",
54 | "# desviación estándar\n",
55 | "sigma = 8\n",
56 | "# generación de 10 mil alturas aleatorias\n",
57 | "n = 10000\n",
58 | "alturas = np.random.normal(mu, sigma, n)"
59 | ]
60 | },
61 | {
62 | "cell_type": "markdown",
63 | "source": [
64 | "### Ejemplo de Distribución Exponencial\n",
65 | "#### 10 mil tiempos entre llamadas"
66 | ],
67 | "metadata": {
68 | "id": "IQKR6IHN2Rpo"
69 | }
70 | },
71 | {
72 | "cell_type": "code",
73 | "source": [
74 | "# Generación de 10 mil tiempos entre llamadas\n",
75 | "n = 10000\n",
76 | "# Tiempo promedio entre llamadas de clientes\n",
77 | "beta = 5\n",
78 | "tiempos = np.random.exponential(scale=beta, size=n)"
79 | ],
80 | "metadata": {
81 | "id": "36Ujpo7V2SPQ"
82 | },
83 | "execution_count": null,
84 | "outputs": []
85 | },
86 | {
87 | "cell_type": "markdown",
88 | "source": [
89 | " # Prueba Shapiro-Wilk"
90 | ],
91 | "metadata": {
92 | "id": "gCoOJBqf6O9b"
93 | }
94 | },
95 | {
96 | "cell_type": "code",
97 | "source": [
98 | "# Hipótesis Nula (H0): La muestra proviene de una población\n",
99 | "# distribuida normalmente (Mishra et al., 2019)\n",
100 | "# Hipótesis Alternativa (H1): La muestra NO proviene de una población\n",
101 | "# distribuida normalmente (Mishra et al., 2019)\n",
102 | "# Para muestras provenientes de una distribución normal,\n",
103 | "# el valor del estadístico de prueba W se aproxima a 1\n",
104 | "print(\"La muestra ALTURAS 'pasa' (valor p >= 0.05) la prueba de normalidad\",\n",
105 | " stats.shapiro(alturas))\n",
106 | "print(\"La muestra TIEMPOS 'no pasa' (valor p < 0.05) la prueba de normalidad\",\n",
107 | " stats.shapiro(tiempos))"
108 | ],
109 | "metadata": {
110 | "colab": {
111 | "base_uri": "https://localhost:8080/"
112 | },
113 | "id": "VhXRFnea6QHL",
114 | "outputId": "83ea8951-3b03-413a-9bbd-df0bb7383a66"
115 | },
116 | "execution_count": null,
117 | "outputs": [
118 | {
119 | "output_type": "stream",
120 | "name": "stdout",
121 | "text": [
122 | "La muestra ALTURAS 'pasa' (valor p >= 0.05) la prueba de normalidad ShapiroResult(statistic=0.9997878670692444, pvalue=0.4417445957660675)\n",
123 | "La muestra TIEMPOS 'no pasa' (valor p < 0.05) la prueba de normalidad ShapiroResult(statistic=0.808997631072998, pvalue=0.0)\n"
124 | ]
125 | }
126 | ]
127 | },
128 | {
129 | "cell_type": "markdown",
130 | "source": [
131 | "# Prueba Kolmogorov-Smirnov"
132 | ],
133 | "metadata": {
134 | "id": "9ptCPo597eq_"
135 | }
136 | },
137 | {
138 | "cell_type": "code",
139 | "source": [
140 | "# Hipótesis Nula (H0): La muestra proviene de una población\n",
141 | "# distribuida normalmente (Mishra et al., 2019)\n",
142 | "# Hipótesis Alternativa (H1): La muestra NO proviene de una población\n",
143 | "# distribuida normalmente (Mishra et al., 2019)\n",
144 | "# Se estandarizan las alturas\n",
145 | "print(\"La muestra ALTURAS 'pasa' (valor p >= 0.05) la prueba de normalidad\",\n",
146 | " stats.kstest((alturas-alturas.mean())/alturas.std(), stats.norm.cdf))\n",
147 | "# Se estandarizan los tiempos\n",
148 | "print(\"La muestra TIEMPOS 'no pasa' (valor p < 0.05) la prueba de normalidad\",\n",
149 | " stats.kstest((tiempos-tiempos.mean())/tiempos.std(), stats.norm.cdf))"
150 | ],
151 | "metadata": {
152 | "colab": {
153 | "base_uri": "https://localhost:8080/"
154 | },
155 | "id": "ZLdUwzDX7cF5",
156 | "outputId": "a92a8961-7232-4518-a04b-f50d7830ed03"
157 | },
158 | "execution_count": null,
159 | "outputs": [
160 | {
161 | "output_type": "stream",
162 | "name": "stdout",
163 | "text": [
164 | "La muestra ALTURAS 'pasa' (valor p >= 0.05) la prueba de normalidad KstestResult(statistic=0.007290021030465166, pvalue=0.659771609272426, statistic_location=0.1875620754622093, statistic_sign=-1)\n",
165 | "La muestra TIEMPOS 'no pasa' (valor p < 0.05) la prueba de normalidad KstestResult(statistic=0.1601927910942244, pvalue=1.1899944234883226e-224, statistic_location=-0.993665832662915, statistic_sign=-1)\n"
166 | ]
167 | }
168 | ]
169 | },
170 | {
171 | "cell_type": "markdown",
172 | "source": [
173 | "
\n",
174 | "# Shapiro-Wilk **VERSUS** Kolmogorov-Smirnov\n",
175 | "## ¿Cuál debo utilizar?\n",
176 | "\n",
177 | "\n",
178 | "* **Shapiro-Wilk es la más poderosa para todos los tamaños de muestras** *(Razali & Wah, 2011)*\n",
179 | "\n",
180 | "* **Kolmogorov-Smirnov es la menos poderosa** *(Razali & Wah, 2011)*\n",
181 | "\n",
182 | "* **Kolmogorov-Smirnov [..] lleva a errores sistemáticos y drásticos** *(Steinskog et al., 2007)*\n",
183 | "\n",
184 | "* **Shapiro-Wilk es más apropiada para muestras pequeñas (n < 50), aunque también se utiliza en muestras de mayor tamaño, mientras que Kolmogorov-Smirnov se utiliza para n >= 50** *(Mishra et al. 2019)*.\n",
185 | "\n",
186 | "
"
187 | ],
188 | "metadata": {
189 | "id": "xq9dFYbyiZre"
190 | }
191 | },
192 | {
193 | "cell_type": "markdown",
194 | "source": [
195 | "# Referencias\n",
196 | "\n",
197 | "* Mishra, P., Pandey, C. M., Singh, U., Gupta, A., Sahu, C., & Keshri, A. (2019). Descriptive statistics and normality tests for statistical data. Annals of cardiac anaesthesia, 22(1), 67.\n",
198 | "\n",
199 | "* Razali, N. M., & Wah, Y. B. (2011). Power comparisons of shapiro-wilk, kolmogorov-smirnov, lilliefors and anderson-darling tests. Journal of statistical modeling and analytics, 2(1), 21-33.\n",
200 | "\n",
201 | "* Steinskog, D. J., Tjøstheim, D. B., & Kvamstø, N. G. (2007). A cautionary note on the use of the Kolmogorov–Smirnov test for normality. Monthly Weather Review, 135(3), 1151-1157."
202 | ],
203 | "metadata": {
204 | "id": "3B7-QLz6aQTj"
205 | }
206 | }
207 | ]
208 | }
--------------------------------------------------------------------------------
/imagenes/estrella1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodigoMaquina/code/c3d50b2d354da9cc383548c2ab6743547a1d0be6/imagenes/estrella1.png
--------------------------------------------------------------------------------
/imagenes/estrella2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodigoMaquina/code/c3d50b2d354da9cc383548c2ab6743547a1d0be6/imagenes/estrella2.png
--------------------------------------------------------------------------------
/machine_learning_python/cross_validation.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "@author: Octavio Gutiérrez de Código Máquina\n",
8 | "\n",
9 | "URL del canal: https://www.youtube.com/CodigoMaquina\n",
10 | "\n",
11 | "URL del video: https://youtu.be/Qnth2VXopLg\n",
12 | "\n",
13 | " Evaluación de Modelos
\n",
14 | " Validación Cruzada (Cross-validation)
"
15 | ]
16 | },
17 | {
18 | "cell_type": "code",
19 | "execution_count": 4,
20 | "metadata": {
21 | "scrolled": false
22 | },
23 | "outputs": [
24 | {
25 | "name": "stdout",
26 | "output_type": "stream",
27 | "text": [
28 | "0.97\n",
29 | "0.76\n"
30 | ]
31 | }
32 | ],
33 | "source": [
34 | "import pandas as pd \n",
35 | "from sklearn.ensemble import RandomForestClassifier\n",
36 | "from sklearn.model_selection import cross_val_score\n",
37 | "\n",
38 | "personas = pd.read_csv(\"salario.csv\")\n",
39 | "\n",
40 | "bosque = RandomForestClassifier()\n",
41 | "\n",
42 | "bosque.fit(personas[[\"edad\", \"estudio\"]].values,\n",
43 | " personas[\"ingreso\"].values)\n",
44 | "\n",
45 | "print(bosque.score(personas[[\"edad\", \"estudio\"]].values,\n",
46 | " personas[\"ingreso\"].values))\n",
47 | "\n",
48 | "print(cross_val_score(bosque,\n",
49 | " personas[[\"edad\", \"estudio\"]].values,\n",
50 | " personas[\"ingreso\"].values,\n",
51 | " cv=5).mean())\n"
52 | ]
53 | },
54 | {
55 | "cell_type": "markdown",
56 | "metadata": {},
57 | "source": [
58 | "
"
59 | ]
60 | }
61 | ],
62 | "metadata": {
63 | "kernelspec": {
64 | "display_name": "Python 3",
65 | "language": "python",
66 | "name": "python3"
67 | },
68 | "language_info": {
69 | "codemirror_mode": {
70 | "name": "ipython",
71 | "version": 3
72 | },
73 | "file_extension": ".py",
74 | "mimetype": "text/x-python",
75 | "name": "python",
76 | "nbconvert_exporter": "python",
77 | "pygments_lexer": "ipython3",
78 | "version": "3.8.5"
79 | }
80 | },
81 | "nbformat": 4,
82 | "nbformat_minor": 4
83 | }
84 |
--------------------------------------------------------------------------------
/machine_learning_python/discretizacion.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "@author: Octavio Gutiérrez de Código Máquina \n",
8 | "\n",
9 | "URL del canal: https://www.youtube.com/CodigoMaquina \n",
10 | "\n",
11 | "URL del video: https://youtu.be/26wA0ChTffc"
12 | ]
13 | },
14 | {
15 | "cell_type": "markdown",
16 | "metadata": {},
17 | "source": [
18 | "Discretización / Categorización
\n",
19 | "Contenedores del mismo tamaño
"
20 | ]
21 | },
22 | {
23 | "cell_type": "code",
24 | "execution_count": 1,
25 | "metadata": {},
26 | "outputs": [
27 | {
28 | "name": "stdout",
29 | "output_type": "stream",
30 | "text": [
31 | "[ 0.901 34. 67. 100. ] \n",
32 | "\n",
33 | "[0 0 0 0 0 0 1 1 1 2 2 2] \n",
34 | "\n",
35 | "Index(['baja', 'media', 'alta'], dtype='object') \n",
36 | "\n",
37 | "['baja' 'baja' 'baja' 'baja' 'baja' 'baja' 'media' 'media' 'media' 'alta'\n",
38 | " 'alta' 'alta']\n"
39 | ]
40 | }
41 | ],
42 | "source": [
43 | "import numpy as np\n",
44 | "import pandas as pd\n",
45 | "\n",
46 | "edades = np.array([1, 7, 8, 15, 16, 28, 35, 50, 55, 70, 75, 100])\n",
47 | "\n",
48 | "resultado = pd.cut(edades, \n",
49 | " bins=3, \n",
50 | " labels=[\"baja\", \"media\", \"alta\"],\n",
51 | " include_lowest=True,\n",
52 | " retbins=True)\n",
53 | "\n",
54 | "#class 'pandas.core.arrays.categorical.Categorical'\n",
55 | "\n",
56 | "print(resultado[1],\"\\n\")\n",
57 | "print(resultado[0].codes, \"\\n\")\n",
58 | "print(resultado[0].categories, \"\\n\")\n",
59 | "print(np.array(resultado[0]))"
60 | ]
61 | },
62 | {
63 | "cell_type": "markdown",
64 | "metadata": {},
65 | "source": [
66 | "
\n",
67 | "\n",
68 | "Discretización / Categorización
\n",
69 | "Contenedores a la medida
"
70 | ]
71 | },
72 | {
73 | "cell_type": "code",
74 | "execution_count": 2,
75 | "metadata": {},
76 | "outputs": [
77 | {
78 | "name": "stdout",
79 | "output_type": "stream",
80 | "text": [
81 | "[ 0. 11. 17. 59. inf] \n",
82 | "\n",
83 | "[0 0 0 1 1 2 2 2 2 3 3 3] \n",
84 | "\n",
85 | "Index(['infante', 'joven', 'adulto', 'mayor'], dtype='object') \n",
86 | "\n",
87 | "['infante' 'infante' 'infante' 'joven' 'joven' 'adulto' 'adulto' 'adulto'\n",
88 | " 'adulto' 'mayor' 'mayor' 'mayor']\n"
89 | ]
90 | }
91 | ],
92 | "source": [
93 | "edades = np.array([1, 7, 8, 15, 16, 28, 35, 50, 55, 70, 75, 100])\n",
94 | "\n",
95 | "resultado = pd.cut(edades, \n",
96 | " bins=[0, 11, 17, 59, np.inf], \n",
97 | " labels=[\"infante\", \"joven\", \"adulto\", \"mayor\"],\n",
98 | " include_lowest=True,\n",
99 | " retbins=True)\n",
100 | "\n",
101 | "print(resultado[1],\"\\n\")\n",
102 | "print(resultado[0].codes, \"\\n\")\n",
103 | "print(resultado[0].categories, \"\\n\")\n",
104 | "print(np.array(resultado[0]))"
105 | ]
106 | }
107 | ],
108 | "metadata": {
109 | "kernelspec": {
110 | "display_name": "Python 3 (ipykernel)",
111 | "language": "python",
112 | "name": "python3"
113 | },
114 | "language_info": {
115 | "codemirror_mode": {
116 | "name": "ipython",
117 | "version": 3
118 | },
119 | "file_extension": ".py",
120 | "mimetype": "text/x-python",
121 | "name": "python",
122 | "nbconvert_exporter": "python",
123 | "pygments_lexer": "ipython3",
124 | "version": "3.9.7"
125 | }
126 | },
127 | "nbformat": 4,
128 | "nbformat_minor": 4
129 | }
130 |
--------------------------------------------------------------------------------
/machine_learning_python/entropia.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "@author: Octavio Gutiérrez de Código Máquina \n",
8 | "\n",
9 | "URL del canal: https://www.youtube.com/CodigoMaquina \n",
10 | "\n",
11 | "URL del video: https://youtu.be/GWX2YcnaELg\n",
12 | "\n",
13 | "Entropía: Dado Justo vs Injusto
"
14 | ]
15 | },
16 | {
17 | "cell_type": "code",
18 | "execution_count": 1,
19 | "metadata": {},
20 | "outputs": [
21 | {
22 | "name": "stdout",
23 | "output_type": "stream",
24 | "text": [
25 | "Dado Justo: 2.584962500721156\n",
26 | "Dado Justo: 2.584962500721156\n",
27 | "Dado Injusto: 2.251629167387823\n",
28 | "Dado Injusto: 2.251629167387823\n"
29 | ]
30 | }
31 | ],
32 | "source": [
33 | "from scipy.stats import entropy\n",
34 | "from math import log\n",
35 | "\n",
36 | "print(\"Dado Justo:\", entropy([1/6, 1/6, 1/6, 1/6, 1/6, 1/6], base=2))\n",
37 | "print(\"Dado Justo:\", -((1/6)*log(1/6, 2) + (1/6)*log(1/6, 2) + \n",
38 | " (1/6)*log(1/6, 2) + (1/6)*log(1/6, 2) +\n",
39 | " (1/6)*log(1/6, 2) + (1/6)*log(1/6, 2)))\n",
40 | "\n",
41 | "print(\"Dado Injusto:\", entropy([1/3, 1/3, 1/12, 1/12, 1/12, 1/12], base=2))\n",
42 | "print(\"Dado Injusto:\", -((1/3)*log(1/3, 2) + \n",
43 | " (1/3)*log(1/3, 2) +\n",
44 | " (1/12)*log(1/12, 2) +\n",
45 | " (1/12)*log(1/12, 2) +\n",
46 | " (1/12)*log(1/12, 2) +\n",
47 | " (1/12)*log(1/12, 2)))"
48 | ]
49 | }
50 | ],
51 | "metadata": {
52 | "kernelspec": {
53 | "display_name": "Python 3 (ipykernel)",
54 | "language": "python",
55 | "name": "python3"
56 | },
57 | "language_info": {
58 | "codemirror_mode": {
59 | "name": "ipython",
60 | "version": 3
61 | },
62 | "file_extension": ".py",
63 | "mimetype": "text/x-python",
64 | "name": "python",
65 | "nbconvert_exporter": "python",
66 | "pygments_lexer": "ipython3",
67 | "version": "3.9.13"
68 | }
69 | },
70 | "nbformat": 4,
71 | "nbformat_minor": 4
72 | }
73 |
--------------------------------------------------------------------------------
/machine_learning_python/informacion_mutua.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "@author: Octavio Gutiérrez de Código Máquina \n",
8 | "\n",
9 | "URL del canal: https://www.youtube.com/CodigoMaquina \n",
10 | "\n",
11 | "URL del video: https://youtu.be/37b9eyl4Q1c\n",
12 | "\n",
13 | "Información Mutua: Hipertensión
"
14 | ]
15 | },
16 | {
17 | "cell_type": "code",
18 | "execution_count": 1,
19 | "metadata": {},
20 | "outputs": [
21 | {
22 | "name": "stdout",
23 | "output_type": "stream",
24 | "text": [
25 | "Información mutua: [0.07567111 0.63651417]\n"
26 | ]
27 | }
28 | ],
29 | "source": [
30 | "import numpy as np\n",
31 | "from math import log\n",
32 | "from sklearn.feature_selection import mutual_info_classif\n",
33 | "\n",
34 | "# vejez -> 0 : No 1 : Sí\n",
35 | "# sobrepeso -> 0 : No 1 : Sí\n",
36 | "\n",
37 | "# [vejez, sobrepeso]\n",
38 | "\n",
39 | "X = np.array([[0, 0],\n",
40 | " [1, 0],\n",
41 | " [1, 1],\n",
42 | " [1, 0],\n",
43 | " [1, 1],\n",
44 | " [1, 0]])\n",
45 | "\n",
46 | "# Hipertensión -> 0 : No 1 : Sí\n",
47 | "y = np.array([0, 0, 1, 0, 1, 0])\n",
48 | "\n",
49 | "print(\"Información mutua:\", \n",
50 | " mutual_info_classif(X, y, discrete_features=True))"
51 | ]
52 | },
53 | {
54 | "cell_type": "markdown",
55 | "metadata": {},
56 | "source": [
57 | "Cálculo manual: Vejez e Hipertensión
"
58 | ]
59 | },
60 | {
61 | "cell_type": "code",
62 | "execution_count": 2,
63 | "metadata": {},
64 | "outputs": [
65 | {
66 | "data": {
67 | "text/plain": [
68 | "0.0756711124537657"
69 | ]
70 | },
71 | "execution_count": 2,
72 | "metadata": {},
73 | "output_type": "execute_result"
74 | }
75 | ],
76 | "source": [
77 | "((1/6) * log((1/6) / ((1/6)*(4/6))) + \n",
78 | "#(0/6) * log((0/6) / ((1/6)*(2/6))) + \n",
79 | "(3/6) * log((3/6) / ((5/6)*(4/6))) + \n",
80 | "(2/6) * log((2/6) / ((5/6)*(2/6)))) "
81 | ]
82 | },
83 | {
84 | "cell_type": "markdown",
85 | "metadata": {},
86 | "source": [
87 | "Cálculo manual: Sobrepeso e Hipertensión
"
88 | ]
89 | },
90 | {
91 | "cell_type": "code",
92 | "execution_count": 3,
93 | "metadata": {},
94 | "outputs": [
95 | {
96 | "data": {
97 | "text/plain": [
98 | "0.6365141682948128"
99 | ]
100 | },
101 | "execution_count": 3,
102 | "metadata": {},
103 | "output_type": "execute_result"
104 | }
105 | ],
106 | "source": [
107 | "((4/6) * log((4/6) / ((4/6)*(4/6))) + \n",
108 | "#(0/6) * log((0/6) / ((4/6)*(2/6))) + \n",
109 | "#(0/6) * log((0/6) / ((2/6)*(4/6))) + \n",
110 | "(2/6) * log((2/6) / ((2/6)*(2/6)))) "
111 | ]
112 | }
113 | ],
114 | "metadata": {
115 | "kernelspec": {
116 | "display_name": "Python 3 (ipykernel)",
117 | "language": "python",
118 | "name": "python3"
119 | },
120 | "language_info": {
121 | "codemirror_mode": {
122 | "name": "ipython",
123 | "version": 3
124 | },
125 | "file_extension": ".py",
126 | "mimetype": "text/x-python",
127 | "name": "python",
128 | "nbconvert_exporter": "python",
129 | "pygments_lexer": "ipython3",
130 | "version": "3.9.13"
131 | }
132 | },
133 | "nbformat": 4,
134 | "nbformat_minor": 4
135 | }
136 |
--------------------------------------------------------------------------------
/machine_learning_python/lematizacion_vs_stemmer.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": "markdown",
19 | "source": [
20 | "@author: Octavio Gutiérrez de Código Máquina\n",
21 | "\n",
22 | "URL del canal: https://www.youtube.com/CodigoMaquina\n",
23 | "\n",
24 | "URL del video: https://youtu.be/ATkek5eEnlk\n",
25 | "# Derivación de Raíces VS Lematización"
26 | ],
27 | "metadata": {
28 | "id": "ZRlSDsKkTEnw"
29 | }
30 | },
31 | {
32 | "cell_type": "markdown",
33 | "source": [
34 | "## Derivación de raíces (Stemmer) con NLTK"
35 | ],
36 | "metadata": {
37 | "id": "mg_9-ElUREnS"
38 | }
39 | },
40 | {
41 | "cell_type": "code",
42 | "source": [
43 | "from nltk.stem.snowball import SnowballStemmer\n",
44 | "\n",
45 | "# Stemmer para Español\n",
46 | "stemmer = SnowballStemmer(\"spanish\")\n",
47 | "\n",
48 | "texto_ejemplo = \"estuviste estuvieron estoy estamos estaban casas casos\"\n",
49 | "\n",
50 | "# Impresión de raíces\n",
51 | "for palabra in texto_ejemplo.split():\n",
52 | " print(palabra, \"->\", stemmer.stem(palabra))"
53 | ],
54 | "metadata": {
55 | "colab": {
56 | "base_uri": "https://localhost:8080/"
57 | },
58 | "id": "US75B3azRBhT",
59 | "outputId": "7def1c61-0fa4-4f9a-c118-5701d156d48d"
60 | },
61 | "execution_count": 1,
62 | "outputs": [
63 | {
64 | "output_type": "stream",
65 | "name": "stdout",
66 | "text": [
67 | "estuviste -> estuv\n",
68 | "estuvieron -> estuv\n",
69 | "estoy -> estoy\n",
70 | "estamos -> estam\n",
71 | "estaban -> estab\n",
72 | "casas -> cas\n",
73 | "casos -> cas\n"
74 | ]
75 | }
76 | ]
77 | },
78 | {
79 | "cell_type": "markdown",
80 | "source": [
81 | "## Lematización con Spacy"
82 | ],
83 | "metadata": {
84 | "id": "-cjNRqyARKTq"
85 | }
86 | },
87 | {
88 | "cell_type": "code",
89 | "source": [
90 | "import spacy\n",
91 | "\n",
92 | "# Descargar el modelo de texto en Español (solo la primera vez)\n",
93 | "!python -m spacy download \"es_core_news_lg\"\n",
94 | "\n",
95 | "# Cargar modelo de texto en Español\n",
96 | "nlp = spacy.load(\"es_core_news_lg\")\n",
97 | "\n",
98 | "texto_ejemplo = \"estuviste estuvieron estoy estamos estaban casas casos\"\n",
99 | "\n",
100 | "# Procesar texto con el modelo\n",
101 | "documento = nlp(texto_ejemplo)\n",
102 | "\n",
103 | "# Impresión de lemas\n",
104 | "for palabra in documento:\n",
105 | " print(palabra.text, \"->\", palabra.lemma_)"
106 | ],
107 | "metadata": {
108 | "colab": {
109 | "base_uri": "https://localhost:8080/"
110 | },
111 | "id": "oNuNallXRKqG",
112 | "outputId": "e068dd58-0150-4b1e-aa28-82b3aa829316"
113 | },
114 | "execution_count": 4,
115 | "outputs": [
116 | {
117 | "output_type": "stream",
118 | "name": "stdout",
119 | "text": [
120 | "estuviste -> estar\n",
121 | "estuvieron -> estar\n",
122 | "estoy -> estar\n",
123 | "estamos -> estar\n",
124 | "estaban -> estar\n",
125 | "casas -> casa\n",
126 | "casos -> caso\n"
127 | ]
128 | }
129 | ]
130 | }
131 | ]
132 | }
--------------------------------------------------------------------------------
/machine_learning_python/metricas_regresion.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "@author: Octavio Gutiérrez de Código Máquina\n",
8 | "\n",
9 | "URL del canal: https://www.youtube.com/CodigoMaquina\n",
10 | "\n",
11 | "URL del video: https://youtu.be/9IZ6OPQWtpw\n",
12 | "\n",
13 | " Métricas para Regresión
\n",
14 | "
"
15 | ]
16 | },
17 | {
18 | "cell_type": "markdown",
19 | "metadata": {},
20 | "source": [
21 | "
\n",
22 | "Error absoluto máximo (M)
\n",
23 | "\n",
24 | "$y$ : valor verdadero \n",
25 | "\n",
26 | "$\\hat{y}$ : valor predicho \n",
27 | "\n",
28 | "$$\\text{M}(y, \\hat{y}) = max(\\left| y_i - \\hat{y}_i \\right|)$$\n"
29 | ]
30 | },
31 | {
32 | "cell_type": "code",
33 | "execution_count": 1,
34 | "metadata": {},
35 | "outputs": [
36 | {
37 | "data": {
38 | "text/plain": [
39 | "10"
40 | ]
41 | },
42 | "execution_count": 1,
43 | "metadata": {},
44 | "output_type": "execute_result"
45 | }
46 | ],
47 | "source": [
48 | "from sklearn.metrics import max_error\n",
49 | "\n",
50 | "y_verdadero = [1, 2, 3, 4, 5]\n",
51 | "y_predicho = [1, 2, 3, 4, -5]\n",
52 | "max_error(y_verdadero, y_predicho)"
53 | ]
54 | },
55 | {
56 | "cell_type": "markdown",
57 | "metadata": {
58 | "scrolled": false
59 | },
60 | "source": [
61 | "
\n",
62 | "Error absoluto medio (mean absolute error - MAE)
\n",
63 | "\n",
64 | "$y$ : valor verdadero \n",
65 | "\n",
66 | "$\\hat{y}$ : valor predicho \n",
67 | "\n",
68 | "$n$ : tamaño de la muestra \n",
69 | "\n",
70 | "$$\\text{MAE}(y, \\hat{y}) = \\frac{1}{n} \\sum_{i=1}^{n} \\left| y_i - \\hat{y}_i \\right|$$\n",
71 | "\n",
72 | "\n"
73 | ]
74 | },
75 | {
76 | "cell_type": "code",
77 | "execution_count": 2,
78 | "metadata": {},
79 | "outputs": [
80 | {
81 | "data": {
82 | "text/plain": [
83 | "2.0"
84 | ]
85 | },
86 | "execution_count": 2,
87 | "metadata": {},
88 | "output_type": "execute_result"
89 | }
90 | ],
91 | "source": [
92 | "from sklearn.metrics import mean_absolute_error\n",
93 | "\n",
94 | "y_verdadero = [1, 2, 3, 4, 5]\n",
95 | "y_predicho = [1, 2, 3, 4, -5]\n",
96 | "mean_absolute_error(y_verdadero, y_predicho)"
97 | ]
98 | },
99 | {
100 | "cell_type": "markdown",
101 | "metadata": {},
102 | "source": [
103 | "
\n",
104 | "Error cuadrático medio (mean squared error - MSE)
\n",
105 | "$y$ : valor verdadero \n",
106 | "\n",
107 | "$\\hat{y}$ : valor predicho \n",
108 | "\n",
109 | "$n$ : tamaño de la muestra \n",
110 | "\n",
111 | "$$\\text{MSE}(y, \\hat{y}) = \\frac{1}{n} \\sum_{i=1}^{n} (y_i - \\hat{y}_i)^2$$\n"
112 | ]
113 | },
114 | {
115 | "cell_type": "code",
116 | "execution_count": 3,
117 | "metadata": {},
118 | "outputs": [
119 | {
120 | "data": {
121 | "text/plain": [
122 | "20.0"
123 | ]
124 | },
125 | "execution_count": 3,
126 | "metadata": {},
127 | "output_type": "execute_result"
128 | }
129 | ],
130 | "source": [
131 | "from sklearn.metrics import mean_squared_error\n",
132 | "\n",
133 | "y_verdadero = [1, 2, 3, 4, 5]\n",
134 | "y_predicho = [1, 2, 3, 4, -5]\n",
135 | "mean_squared_error(y_verdadero, y_predicho)"
136 | ]
137 | },
138 | {
139 | "cell_type": "markdown",
140 | "metadata": {},
141 | "source": [
142 | "
\n",
143 | "Suma de los cuadrados de los residuos (RSS)
\n",
144 | "\n",
145 | "$y$ : valor verdadero \n",
146 | "\n",
147 | "$\\hat{y}$ : valor predicho \n",
148 | "\n",
149 | "$n$ : tamaño de la muestra \n",
150 | "\n",
151 | "$$\\text{RSS}(y, \\hat{y}) = \\sum_{i=1}^{n} (y_i - \\hat{y}_i)^2$$"
152 | ]
153 | },
154 | {
155 | "cell_type": "code",
156 | "execution_count": 4,
157 | "metadata": {},
158 | "outputs": [
159 | {
160 | "data": {
161 | "text/plain": [
162 | "100.0"
163 | ]
164 | },
165 | "execution_count": 4,
166 | "metadata": {},
167 | "output_type": "execute_result"
168 | }
169 | ],
170 | "source": [
171 | "from sklearn.metrics import mean_squared_error\n",
172 | "\n",
173 | "y_verdadero = [1, 2, 3, 4, 5]\n",
174 | "y_predicho = [1, 2, 3, 4, -5]\n",
175 | "mean_squared_error(y_verdadero, y_predicho)*len(y_predicho)"
176 | ]
177 | },
178 | {
179 | "cell_type": "markdown",
180 | "metadata": {},
181 | "source": [
182 | "
\n",
183 | "Raíz cuadrada del error cuadrático medio (RMSE)
\n",
184 | "\n",
185 | "$y$ : valor verdadero \n",
186 | "\n",
187 | "$\\hat{y}$ : valor predicho \n",
188 | "\n",
189 | "$n$ : tamaño de la muestra \n",
190 | "\n",
191 | "$$\\text{RMSE}(y, \\hat{y}) = \\sqrt{\\frac{1}{n} \\sum_{i=1}^{n} (y_i - \\hat{y}_i)^2}$$"
192 | ]
193 | },
194 | {
195 | "cell_type": "code",
196 | "execution_count": 5,
197 | "metadata": {},
198 | "outputs": [
199 | {
200 | "data": {
201 | "text/plain": [
202 | "4.47213595499958"
203 | ]
204 | },
205 | "execution_count": 5,
206 | "metadata": {},
207 | "output_type": "execute_result"
208 | }
209 | ],
210 | "source": [
211 | "from sklearn.metrics import mean_squared_error\n",
212 | "\n",
213 | "y_verdadero = [1, 2, 3, 4, 5]\n",
214 | "y_predicho = [1, 2, 3, 4, -5]\n",
215 | "mean_squared_error(y_verdadero, y_predicho, squared=False)"
216 | ]
217 | },
218 | {
219 | "cell_type": "markdown",
220 | "metadata": {},
221 | "source": [
222 | "
\n",
223 | "R^2 (Coeficiente de determinación)
\n",
224 | "\n",
225 | "$y$ : valor verdadero \n",
226 | "\n",
227 | "$\\hat{y}$ : valor predicho \n",
228 | "\n",
229 | "$\\bar{y}$ : promedio de los valores verdaderos\n",
230 | "\n",
231 | "$n$ : tamaño de la muestra \n",
232 | "\n",
233 | "$$R^2(y, \\hat{y}) = 1 - \\frac{\\sum_{i=1}^{n} (y_i - \\hat{y}_i)^2}{\\sum_{i=1}^{n} (y_i - \\bar{y})^2}$$"
234 | ]
235 | },
236 | {
237 | "cell_type": "code",
238 | "execution_count": 9,
239 | "metadata": {},
240 | "outputs": [
241 | {
242 | "data": {
243 | "text/plain": [
244 | "0.09999999999999998"
245 | ]
246 | },
247 | "execution_count": 9,
248 | "metadata": {},
249 | "output_type": "execute_result"
250 | }
251 | ],
252 | "source": [
253 | "from sklearn.metrics import r2_score\n",
254 | "\n",
255 | "y_verdadero = [1, 2, 3, 4, 5]\n",
256 | "y_predicho = [1, 2, 3, 4, 2]\n",
257 | "r2_score(y_verdadero, y_predicho)"
258 | ]
259 | },
260 | {
261 | "cell_type": "markdown",
262 | "metadata": {},
263 | "source": [
264 | "
\n",
265 | "Spiess, Andrej-Nikolai, and Natalie Neumeyer. \"An evaluation of R2 as an inadequate measure for nonlinear models in pharmacological and biochemical research: a Monte Carlo approach.\" BMC pharmacology 10.1 (2010): 1-11."
266 | ]
267 | },
268 | {
269 | "cell_type": "markdown",
270 | "metadata": {},
271 | "source": [
272 | "
"
273 | ]
274 | }
275 | ],
276 | "metadata": {
277 | "kernelspec": {
278 | "display_name": "Python 3",
279 | "language": "python",
280 | "name": "python3"
281 | },
282 | "language_info": {
283 | "codemirror_mode": {
284 | "name": "ipython",
285 | "version": 3
286 | },
287 | "file_extension": ".py",
288 | "mimetype": "text/x-python",
289 | "name": "python",
290 | "nbconvert_exporter": "python",
291 | "pygments_lexer": "ipython3",
292 | "version": "3.8.5"
293 | }
294 | },
295 | "nbformat": 4,
296 | "nbformat_minor": 4
297 | }
298 |
--------------------------------------------------------------------------------
/machine_learning_python/similitud_coseno.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": "markdown",
19 | "source": [
20 | "@author: Octavio Gutiérrez de Código Máquina\n",
21 | "\n",
22 | "URL del canal: https://www.youtube.com/CodigoMaquina\n",
23 | "\n",
24 | "URL del video: https://youtu.be/cPFaMiGk5J0\n",
25 | "\n",
26 | "# Similitud Coseno\n",
27 | "### *La similitud coseno es una métrica que nos índica qué tan similares son dos vectores en función del coseno del ángulo entre ellos* (Sarkar, 2016).\n",
28 | "\n",
29 | "**Referencia**\n",
30 | "\n",
31 | "Sarkar, D. (2016). Text analytics with python (Vol. 2). New York, NY, USA : Apress.\n"
32 | ],
33 | "metadata": {
34 | "id": "v8GDdSoorjR-"
35 | }
36 | },
37 | {
38 | "cell_type": "code",
39 | "execution_count": null,
40 | "metadata": {
41 | "colab": {
42 | "base_uri": "https://localhost:8080/"
43 | },
44 | "id": "2-YilT9L8YRo",
45 | "outputId": "77780939-a96e-4e6b-8158-8b3a7e101993"
46 | },
47 | "outputs": [
48 | {
49 | "output_type": "execute_result",
50 | "data": {
51 | "text/plain": [
52 | "0.9838699100999074"
53 | ]
54 | },
55 | "metadata": {},
56 | "execution_count": 1
57 | }
58 | ],
59 | "source": [
60 | "import numpy as np\n",
61 | "from numpy import dot\n",
62 | "from numpy.linalg import norm\n",
63 | "\n",
64 | "def similitud_coseno(a, b):\n",
65 | " return dot(a, b) / (norm(a)*norm(b))\n",
66 | "\n",
67 | "# Ejemplo:\n",
68 | "a = np.array([1, 2])\n",
69 | "b = np.array([3, 4])\n",
70 | "\n",
71 | "similitud_coseno(a, b)"
72 | ]
73 | }
74 | ]
75 | }
--------------------------------------------------------------------------------
/manejo_de_datos_pandas/cargar_datos_excel_pandas.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "## Cargar Datos en DataFrames\n",
8 | "\n",
9 | "@author: Octavio Gutiérrez de Código Máquina\n",
10 | "\n",
11 | "URL del canal: https://www.youtube.com/CodigoMaquina\n",
12 | "\n",
13 | "URL del video: https://youtu.be/uGx0PHD6o9M"
14 | ]
15 | },
16 | {
17 | "cell_type": "code",
18 | "execution_count": 1,
19 | "metadata": {},
20 | "outputs": [
21 | {
22 | "data": {
23 | "text/html": [
24 | "\n",
25 | "\n",
38 | "
\n",
39 | " \n",
40 | " \n",
41 | " | \n",
42 | " Trimestre 1 | \n",
43 | " Trimestre 2 | \n",
44 | " Trimestre 3 | \n",
45 | " Trimestre 4 | \n",
46 | "
\n",
47 | " \n",
48 | " \n",
49 | " \n",
50 | " Sucursal Norte | \n",
51 | " 2001 | \n",
52 | " 2002 | \n",
53 | " 2003 | \n",
54 | " 2004 | \n",
55 | "
\n",
56 | " \n",
57 | " Sucursal Este | \n",
58 | " 4001 | \n",
59 | " 4002 | \n",
60 | " 4003 | \n",
61 | " 4004 | \n",
62 | "
\n",
63 | " \n",
64 | " Sucursal Oeste | \n",
65 | " 6001 | \n",
66 | " 6002 | \n",
67 | " 6003 | \n",
68 | " 6004 | \n",
69 | "
\n",
70 | " \n",
71 | " Sucursal Sur | \n",
72 | " 8001 | \n",
73 | " 8002 | \n",
74 | " 8003 | \n",
75 | " 8004 | \n",
76 | "
\n",
77 | " \n",
78 | "
\n",
79 | "
"
80 | ],
81 | "text/plain": [
82 | " Trimestre 1 Trimestre 2 Trimestre 3 Trimestre 4\n",
83 | "Sucursal Norte 2001 2002 2003 2004\n",
84 | "Sucursal Este 4001 4002 4003 4004\n",
85 | "Sucursal Oeste 6001 6002 6003 6004\n",
86 | "Sucursal Sur 8001 8002 8003 8004"
87 | ]
88 | },
89 | "execution_count": 1,
90 | "metadata": {},
91 | "output_type": "execute_result"
92 | }
93 | ],
94 | "source": [
95 | "import pandas as pd\n",
96 | "\n",
97 | "ventas = pd.read_excel(\"datos/ventas_anuales.xlsx\", index_col=0,\n",
98 | " skiprows=1, sheet_name=\"2021\")\n",
99 | "ventas"
100 | ]
101 | }
102 | ],
103 | "metadata": {
104 | "kernelspec": {
105 | "display_name": "Python 3",
106 | "language": "python",
107 | "name": "python3"
108 | },
109 | "language_info": {
110 | "codemirror_mode": {
111 | "name": "ipython",
112 | "version": 3
113 | },
114 | "file_extension": ".py",
115 | "mimetype": "text/x-python",
116 | "name": "python",
117 | "nbconvert_exporter": "python",
118 | "pygments_lexer": "ipython3",
119 | "version": "3.8.5"
120 | }
121 | },
122 | "nbformat": 4,
123 | "nbformat_minor": 4
124 | }
125 |
--------------------------------------------------------------------------------
/manejo_de_datos_pandas/datos_faltantes.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Manejo de Datos Faltantes\n",
8 | "\n",
9 | "@author: Octavio Gutiérrez de Código Máquina\n",
10 | "\n",
11 | "URL del canal: https://www.youtube.com/CodigoMaquina\n",
12 | "\n",
13 | "URL del video: https://youtu.be/XiKYdHUsgyM\n"
14 | ]
15 | },
16 | {
17 | "cell_type": "code",
18 | "execution_count": 2,
19 | "metadata": {},
20 | "outputs": [
21 | {
22 | "name": "stdout",
23 | "output_type": "stream",
24 | "text": [
25 | "0 Juan\n",
26 | "1 Luisa\n",
27 | "2 NaN\n",
28 | "3 Carmen\n",
29 | "4 NaN\n",
30 | "5 Mario\n",
31 | "6 Pedro\n",
32 | "7 Gustavo\n",
33 | "8 Carlos\n",
34 | "Name: nombre, dtype: object\n",
35 | " nombre edad ingreso\n",
36 | "2 NaN 70.0 20000.0\n",
37 | "4 NaN NaN NaN\n",
38 | "None\n",
39 | " nombre edad ingreso\n",
40 | "0 Juan 35.0 15800.0\n",
41 | "1 Luisa 25.0 17000.0\n",
42 | "3 Carmen 49.0 22000.0\n",
43 | "5 Mario 30.0 15800.0\n",
44 | "6 Pedro NaN 17400.0\n",
45 | " nombre edad ingreso\n",
46 | "0 Juan 35.0 15800.0\n",
47 | "1 Luisa 25.0 17000.0\n",
48 | "3 Carmen 49.0 22000.0\n",
49 | "5 Mario 30.0 15800.0\n",
50 | "6 Pedro 0.0 17400.0\n",
51 | "0 Juan\n",
52 | "1 Luisa\n",
53 | "3 Carmen\n",
54 | "5 Mario\n",
55 | "6 Pedro\n",
56 | "Name: nombre, dtype: object\n",
57 | "17600.0 17000.0 15800.0\n",
58 | "0 15800.0\n",
59 | "1 17000.0\n",
60 | "3 22000.0\n",
61 | "5 15800.0\n",
62 | "6 17400.0\n",
63 | "Name: ingreso, dtype: float64\n"
64 | ]
65 | }
66 | ],
67 | "source": [
68 | "import pandas as pd\n",
69 | "\n",
70 | "datos = pd.read_csv(\"datos/clientes.csv\")\n",
71 | "\n",
72 | "print(datos[\"nombre\"])\n",
73 | "print(datos[ datos[\"nombre\"].isnull() ])\n",
74 | "print(datos.dropna(subset=[\"nombre\", \"ingreso\"], inplace=True))\n",
75 | "print(datos)\n",
76 | "print(datos.fillna(0))\n",
77 | "print(datos[\"nombre\"].fillna(\"DESCONOCIDO\"))\n",
78 | "\n",
79 | "promedio = datos[\"ingreso\"].mean()\n",
80 | "mediana = datos[\"ingreso\"].median()\n",
81 | "moda = datos[\"ingreso\"].mode()[0]\n",
82 | "print(promedio, mediana, moda)\n",
83 | "print(datos[\"ingreso\"].fillna(moda))"
84 | ]
85 | }
86 | ],
87 | "metadata": {
88 | "kernelspec": {
89 | "display_name": "Python 3",
90 | "language": "python",
91 | "name": "python3"
92 | },
93 | "language_info": {
94 | "codemirror_mode": {
95 | "name": "ipython",
96 | "version": 3
97 | },
98 | "file_extension": ".py",
99 | "mimetype": "text/x-python",
100 | "name": "python",
101 | "nbconvert_exporter": "python",
102 | "pygments_lexer": "ipython3",
103 | "version": "3.8.5"
104 | }
105 | },
106 | "nbformat": 4,
107 | "nbformat_minor": 4
108 | }
109 |
--------------------------------------------------------------------------------
/numpy/arrays_de_numpy.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/LVq_8mworXM
8 |
9 | """
10 |
11 | import numpy as np
12 |
13 | arreglo = np.array([1,2,3,4,5,6])
14 | arreglo = np.arange(1,7)
15 |
16 | arreglo[1]
17 | arreglo[1:4]
18 |
19 | arreglo[1] = 123
20 |
21 | arreglo = np.array([1,2,3,4,5,6], dtype="i")
22 | print(arreglo, arreglo.dtype)
23 |
24 | arreglo = np.array([1000000000,2,3,4,5,6], dtype="i2")
25 | print(arreglo, arreglo.dtype, arreglo.itemsize, arreglo.size)
26 |
27 | arreglo = np.array([1000000000,2,3,4,5,6], dtype="i4")
28 | print(arreglo, arreglo.dtype, arreglo.itemsize, arreglo.size)
29 |
30 | arreglo = np.array([1000000000,2,3,4,5,6], dtype="i8")
31 | print(arreglo, arreglo.dtype, arreglo.itemsize, arreglo.size)
32 |
33 | arreglo.shape
34 | arreglo.reshape((2,3))
35 | arreglo.reshape((3,2))
36 |
37 | np.append(arreglo, 100)
38 | np.insert(arreglo, 1, 100)
39 | np.delete(arreglo, 1)
40 | x = np.where(arreglo == 6)
41 | arreglo.sort()
42 | arreglo[::-1]
43 | arreglo + 2
44 | arreglo - 2
45 | arreglo / 2
46 |
47 | alturas = np.array([1.74, 1.8, 1.78, 1.68, 1.78, 1.7, 1.74, 1.74, 1.73, 1.79,
48 | 1.78, 1.72, 1.65, 1.78, 1.7, 1.68, 1.79, 1.68, 1.82, 1.72,
49 | 1.75, 1.66, 1.67, 1.79, 1.75, 1.65, 1.78, 1.73, 1.71, 1.81,
50 | 1.73, 1.71, 1.68, 1.74, 1.75, 1.68, 1.74, 1.81, 1.73, 1.82,
51 | 1.8, 1.67, 1.73, 1.7, 1.73, 1.7, 1.81, 1.81, 1.76, 1.82, 1.68,
52 | 1.74, 1.65, 1.8, 1.78, 1.7, 1.68, 1.78, 1.79, 1.73, 1.64, 1.67,
53 | 1.69, 1.74, 1.76, 1.66, 1.66, 1.73, 1.79, 1.81, 1.78, 1.63,
54 | 1.76, 1.72, 1.71, 1.7, 1.62, 1.8, 1.75, 1.8, 1.78, 1.78, 1.76,
55 | 1.65, 1.65, 1.68, 1.74, 1.75, 1.69, 1.75, 1.7, 1.83, 1.64, 1.7,
56 | 1.69, 1.69, 1.64, 1.69, 1.77, 1.8, 1.78, 1.69, 1.7, 1.7, 1.7,
57 | 1.63, 1.73, 1.84, 1.66, 1.78, 1.8, 1.79, 1.78, 1.74, 1.77,
58 | 1.73, 1.77, 1.76, 1.75, 1.8, 1.75, 1.8, 1.79, 1.71, 1.73,
59 | 1.59, 1.76, 1.75, 1.71, 1.76, 1.8, 1.68, 1.74, 1.77, 1.73,
60 | 1.68, 1.63, 1.67])
61 |
62 | pesos = np.array([81.4, 88.7, 87.3, 62.7, 81.6, 80.9, 74.6, 84.7, 76.7, 88.3,
63 | 84.6, 74, 57.7, 84.1, 79.7, 63.8, 88.4, 71.2, 87.1, 67, 80.7,
64 | 74.7, 60.5, 85.9, 72.4, 59.7, 87.3, 85.7, 64.1, 91.9, 82.8, 75.7,
65 | 60.2, 73.1, 74.7, 65.9, 80.9, 91.3, 76, 86.8, 80.7, 74.2, 83.1,
66 | 77.8, 84.5, 58.8, 89.5, 87, 84, 89.9, 56.5, 80.2, 61.8, 86.3,
67 | 82.6, 69.4, 65.8, 79.3, 88.1, 78.5, 69.1, 62.5, 74, 74.4, 87.6,
68 | 59.6, 61.4, 83.2, 89.2, 89.2, 103.7, 67.9, 85.4, 69.5, 75.7,
69 | 83.9, 59.5, 87.9, 82.6, 88.1, 86.2, 88.9, 84.4, 58.4, 61.5, 69.2,
70 | 84.2, 78, 81.1, 81.5, 74.7, 90.4, 59.2, 79.3, 65.1, 93, 60.5,
71 | 76.4, 98.8, 89.1, 88.9, 61.1, 76.6, 86, 75.5, 66.9, 79.4, 87.9,
72 | 72.3, 93.8, 89, 90.7, 86.7, 77.6, 85.1, 91.8, 103.2, 91.1, 67,
73 | 86.9, 78.7, 87.1, 85.5, 69.8, 75, 53.9, 99, 93.7, 88, 79.4, 87.6,
74 | 60.4, 82.7, 90.6, 79.8, 61.2, 62.5, 59.7])
75 |
76 | imc = pesos/(alturas*alturas)
77 |
78 | print(imc.mean())
79 |
80 |
81 | imc = []
82 | for i in range(alturas.size):
83 | imc.append(pesos[i]/(alturas[i]*alturas[i]))
84 | print(sum(imc) /len(imc))
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/numpy/busqueda_y_filtrado_numpy.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/U-7Q-koi-Cc
8 |
9 | """
10 |
11 | import numpy as np
12 |
13 |
14 |
15 | arreglo = np.array([11, 12, 13, 14, 15])
16 | print(np.where(arreglo>= 13))
17 | filtro = [True, False, False, True, True]
18 | print(arreglo[filtro])
19 |
20 |
21 | import numpy as np
22 |
23 | arreglo = np.array([11, 12, 13, 14, 15])
24 |
25 | print(np.where(arreglo <= 13))
26 |
27 | filtro = [False, True, False, True, False]
28 | print (arreglo[filtro])
29 |
30 | pais= np.array(["Albania", "Alemania", "Andorra", "Angola",
31 | "Antigua y Barbuda", "Arabia Saudita", "Argelia",
32 | "Argentina", "Armenia", "Australia", "Austria",
33 | "Bahrein", "Bangladesh", "Belarús", "Belice", "Benín",
34 | "Bermudas", "Bolivia", "Bosnia y Hercegovina", "Botsuana",
35 | "Brasil", "Brunéi", "Burundi", "Bélgica", "Cabo Verde",
36 | "Cambodia", "Canadá", "Catar", "Chad", "Chequia", "Chile",
37 | "Colombia", "Congo (Rep. Democr.)", "Corea del Norte",
38 | "Corea del Sur", "Costa de Marfil", "Costa Rica", "Croacia",
39 | "Cuba", "Dinamarca", "Dominica", "Ecuador", "Egipto",
40 | "El Salvador", "Emiratos Árabes", "Eritrea", "Eslovaquia",
41 | "Eslovenia", "España", "Estonia", "Etiopía", "Fiji",
42 | "Filipinas", "Finlandia", "Francia", "Gabón", "Gambia",
43 | "Granada", "Grecia", "Groenlandia", "Guatemala",
44 | "Guinea Ecuatorial", "Honduras", "Hong Kong", "Hungría",
45 | "India", "Indonesia", "Iraq", "Irlanda", "Islandia",
46 | "Islas Cook", "Islas Salomón", "Israel", "Japón",
47 | "Kirguistán", "Kiribati", "Laos", "Letonia", "Libia",
48 | "Lituania", "Luxemburgo", "Líbano", "Macedonia",
49 | "Madagascar", "Malaui", "Maldivas", "Malta", "Marruecos",
50 | "Micronesia", "Moldavia", "Mongolia", "Montenegro",
51 | "Mozambique", "México", "Namibia", "Nauru", "Nepal",
52 | "Nicaragua", "Niue", "Noruega", "Nueva Zelandia", "Níger",
53 | "Omán", "Palaos", "Panamá", "Papúa Nueva Guinea", "Paraguay",
54 | "Países Bajos", "Perú", "Polinesia Francesa", "Polonia",
55 | "Puerto Rico", "Reino Unido", "República Dominicana",
56 | "Rumania", "Samoa", "Samoa Americana", "Santa Lucía",
57 | "Senegal", "Serbia", "Seychelles", "Suecia", "Suiza",
58 | "Tailandia", "Taiwán", "Timor Oriental", "Tokelau", "Tonga",
59 | "Tuvalu", "Túnez", "Ucrania", "Uganda", "Uruguay", "USA",
60 | "Venezuela", "Vietnam", "Yemen", "Zambia"])
61 |
62 | altura = np.array([1.74, 1.8, 1.78, 1.68, 1.78, 1.7, 1.74, 1.74, 1.73, 1.79,
63 | 1.78, 1.72, 1.65, 1.78, 1.7, 1.68, 1.79, 1.68, 1.82, 1.72,
64 | 1.75, 1.66, 1.67, 1.79, 1.75, 1.65, 1.78, 1.73, 1.71, 1.81,
65 | 1.73, 1.71, 1.68, 1.74, 1.75, 1.68, 1.74, 1.81, 1.73, 1.82,
66 | 1.8, 1.67, 1.73, 1.7, 1.73, 1.7, 1.81, 1.81, 1.76, 1.82, 1.68,
67 | 1.74, 1.65, 1.8, 1.78, 1.7, 1.68, 1.78, 1.79, 1.73, 1.64, 1.67,
68 | 1.69, 1.74, 1.76, 1.66, 1.66, 1.73, 1.79, 1.81, 1.78, 1.63,
69 | 1.76, 1.72, 1.71, 1.7, 1.62, 1.8, 1.75, 1.8, 1.78, 1.78, 1.76,
70 | 1.65, 1.65, 1.68, 1.74, 1.75, 1.69, 1.75, 1.7, 1.83, 1.64, 1.7,
71 | 1.69, 1.69, 1.64, 1.69, 1.77, 1.8, 1.78, 1.69, 1.7, 1.7, 1.7,
72 | 1.63, 1.73, 1.84, 1.66, 1.78, 1.8, 1.79, 1.78, 1.74, 1.77,
73 | 1.73, 1.77, 1.76, 1.75, 1.8, 1.75, 1.8, 1.79, 1.71, 1.73,
74 | 1.59, 1.76, 1.75, 1.71, 1.76, 1.8, 1.68, 1.74, 1.77, 1.73,
75 | 1.68, 1.63, 1.67])
76 |
77 | peso = np.array([81.4, 88.7, 87.3, 62.7, 81.6, 80.9, 74.6, 84.7, 76.7, 88.3,
78 | 84.6, 74, 57.7, 84.1, 79.7, 63.8, 88.4, 71.2, 87.1, 67, 80.7,
79 | 74.7, 60.5, 85.9, 72.4, 59.7, 87.3, 85.7, 64.1, 91.9, 82.8, 75.7,
80 | 60.2, 73.1, 74.7, 65.9, 80.9, 91.3, 76, 86.8, 80.7, 74.2, 83.1,
81 | 77.8, 84.5, 58.8, 89.5, 87, 84, 89.9, 56.5, 80.2, 61.8, 86.3,
82 | 82.6, 69.4, 65.8, 79.3, 88.1, 78.5, 69.1, 62.5, 74, 74.4, 87.6,
83 | 59.6, 61.4, 83.2, 89.2, 89.2, 103.7, 67.9, 85.4, 69.5, 75.7,
84 | 83.9, 59.5, 87.9, 82.6, 88.1, 86.2, 88.9, 84.4, 58.4, 61.5, 69.2,
85 | 84.2, 78, 81.1, 81.5, 74.7, 90.4, 59.2, 79.3, 65.1, 93, 60.5,
86 | 76.4, 98.8, 89.1, 88.9, 61.1, 76.6, 86, 75.5, 66.9, 79.4, 87.9,
87 | 72.3, 93.8, 89, 90.7, 86.7, 77.6, 85.1, 91.8, 103.2, 91.1, 67,
88 | 86.9, 78.7, 87.1, 85.5, 69.8, 75, 53.9, 99, 93.7, 88, 79.4, 87.6,
89 | 60.4, 82.7, 90.6, 79.8, 61.2, 62.5, 59.7])
90 |
91 |
92 | print(pais[peso>90])
93 | print(pais[peso>90].size)
94 |
95 | print(pais[altura>1.80])
96 | print(pais[altura>1.80].size)
97 |
98 | print(pais[(peso>90) & (altura>1.80)])
99 | print(pais[(peso>90) & (altura>1.80)].size)
100 |
101 | print(pais[(peso>90) | (altura>1.80)])
102 | print(pais[(peso>90) | (altura>1.80)].size)
--------------------------------------------------------------------------------
/numpy/ejes_de_arrays_numpy.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/l0dAuuNZZvg
8 |
9 | """
10 |
11 | import numpy as np
12 |
13 | altura_y_pesos = np.array([[ 1.74, 91.40 ],
14 | [ 1.80, 88.70 ],
15 | [ 1.78, 87.30 ],
16 | [ 1.68, 62.70 ],
17 | [ 1.78, 81.60 ]])
18 |
19 | print("Minimo", altura_y_pesos.min())
20 | print("Maximo", altura_y_pesos.max())
21 | print("Pos Min", altura_y_pesos.argmin())
22 | print("Pos Max", altura_y_pesos.argmax())
23 | print("Suma", altura_y_pesos.sum())
24 | print("Promedio", altura_y_pesos.mean())
25 |
26 | print("Minimo", altura_y_pesos.min(axis=1))
27 | print("Maximo", altura_y_pesos.max(axis=1))
28 | print("Pos Min", altura_y_pesos.argmin(axis=1))
29 | print("Pos Max", altura_y_pesos.argmax(axis=1))
30 | print("Suma", altura_y_pesos.sum(axis=1))
31 | print("Promedio", altura_y_pesos.mean(axis=1))
--------------------------------------------------------------------------------
/numpy/funciones_universales.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/0PGW7WzG5uQ
8 |
9 | """
10 |
11 |
12 | import numpy as np
13 |
14 | arreglo1 = np.array([1, 2, -3, 4, 5])
15 | arreglo2 = np.array([11, 12, 13, 14, 15])
16 |
17 | print("SUMA", np.add(arreglo1, arreglo2))
18 | print("RESTA", np.subtract(arreglo1, arreglo2))
19 | print("DIVSION", np.divide(arreglo1, arreglo2))
20 | print("MULTIPLICACION", np.multiply(arreglo1, arreglo2))
21 | print("POTENCIA", np.power(arreglo1, 2))
22 | print("ABSOLUTO", np.absolute(arreglo1))
23 |
24 | altura = np.array([1.74, 1.8, 1.78, 1.68, 1.78, 1.7, 1.74, 1.74, 1.73, 1.79,
25 | 1.78, 1.72, 1.65, 1.78, 1.7, 1.68, 1.79, 1.68, 1.82, 1.72,
26 | 1.75, 1.66, 1.67, 1.79, 1.75, 1.65, 1.78, 1.73, 1.71, 1.81,
27 | 1.73, 1.71, 1.68, 1.74, 1.75, 1.68, 1.74, 1.81, 1.73, 1.82,
28 | 1.8, 1.67, 1.73, 1.7, 1.73, 1.7, 1.81, 1.81, 1.76, 1.82, 1.68,
29 | 1.74, 1.65, 1.8, 1.78, 1.7, 1.68, 1.78, 1.79, 1.73, 1.64, 1.67,
30 | 1.69, 1.74, 1.76, 1.66, 1.66, 1.73, 1.79, 1.81, 1.78, 1.63,
31 | 1.76, 1.72, 1.71, 1.7, 1.62, 1.8, 1.75, 1.8, 1.78, 1.78, 1.76,
32 | 1.65, 1.65, 1.68, 1.74, 1.75, 1.69, 1.75, 1.7, 1.83, 1.64, 1.7,
33 | 1.69, 1.69, 1.64, 1.69, 1.77, 1.8, 1.78, 1.69, 1.7, 1.7, 1.7,
34 | 1.63, 1.73, 1.84, 1.66, 1.78, 1.8, 1.79, 1.78, 1.74, 1.77,
35 | 1.73, 1.77, 1.76, 1.75, 1.8, 1.75, 1.8, 1.79, 1.71, 1.73,
36 | 1.59, 1.76, 1.75, 1.71, 1.76, 1.8, 1.68, 1.74, 1.77, 1.73,
37 | 1.68, 1.63, 1.67])
38 |
39 | peso = np.array([81.4, 88.7, 87.3, 62.7, 81.6, 80.9, 74.6, 84.7, 76.7, 88.3,
40 | 84.6, 74, 57.7, 84.1, 79.7, 63.8, 88.4, 71.2, 87.1, 67, 80.7,
41 | 74.7, 60.5, 85.9, 72.4, 59.7, 87.3, 85.7, 64.1, 91.9, 82.8, 75.7,
42 | 60.2, 73.1, 74.7, 65.9, 80.9, 91.3, 76, 86.8, 80.7, 74.2, 83.1,
43 | 77.8, 84.5, 58.8, 89.5, 87, 84, 89.9, 56.5, 80.2, 61.8, 86.3,
44 | 82.6, 69.4, 65.8, 79.3, 88.1, 78.5, 69.1, 62.5, 74, 74.4, 87.6,
45 | 59.6, 61.4, 83.2, 89.2, 89.2, 103.7, 67.9, 85.4, 69.5, 75.7,
46 | 83.9, 59.5, 87.9, 82.6, 88.1, 86.2, 88.9, 84.4, 58.4, 61.5, 69.2,
47 | 84.2, 78, 81.1, 81.5, 74.7, 90.4, 59.2, 79.3, 65.1, 93, 60.5,
48 | 76.4, 98.8, 89.1, 88.9, 61.1, 76.6, 86, 75.5, 66.9, 79.4, 87.9,
49 | 72.3, 93.8, 89, 90.7, 86.7, 77.6, 85.1, 91.8, 103.2, 91.1, 67,
50 | 86.9, 78.7, 87.1, 85.5, 69.8, 75, 53.9, 99, 93.7, 88, 79.4, 87.6,
51 | 60.4, 82.7, 90.6, 79.8, 61.2, 62.5, 59.7])
52 |
53 |
54 | def calcular_imc(peso, altura):
55 | return peso / (altura*altura)
56 |
57 | calcular_imc = np.frompyfunc(calcular_imc, 2, 1)
58 |
59 | print(calcular_imc(peso, altura))
60 |
61 |
62 | from time import perf_counter
63 |
64 | inicio = perf_counter()
65 |
66 | for i in range(10000):
67 | calcular_imc(peso, altura)
68 |
69 | final = perf_counter()
70 |
71 | print("Numpy %0.2f" % (final-inicio))
72 |
73 |
74 |
75 |
76 | altura = [1.74, 1.8, 1.78, 1.68, 1.78, 1.7, 1.74, 1.74, 1.73, 1.79,
77 | 1.78, 1.72, 1.65, 1.78, 1.7, 1.68, 1.79, 1.68, 1.82, 1.72,
78 | 1.75, 1.66, 1.67, 1.79, 1.75, 1.65, 1.78, 1.73, 1.71, 1.81,
79 | 1.73, 1.71, 1.68, 1.74, 1.75, 1.68, 1.74, 1.81, 1.73, 1.82,
80 | 1.8, 1.67, 1.73, 1.7, 1.73, 1.7, 1.81, 1.81, 1.76, 1.82, 1.68,
81 | 1.74, 1.65, 1.8, 1.78, 1.7, 1.68, 1.78, 1.79, 1.73, 1.64, 1.67,
82 | 1.69, 1.74, 1.76, 1.66, 1.66, 1.73, 1.79, 1.81, 1.78, 1.63,
83 | 1.76, 1.72, 1.71, 1.7, 1.62, 1.8, 1.75, 1.8, 1.78, 1.78, 1.76,
84 | 1.65, 1.65, 1.68, 1.74, 1.75, 1.69, 1.75, 1.7, 1.83, 1.64, 1.7,
85 | 1.69, 1.69, 1.64, 1.69, 1.77, 1.8, 1.78, 1.69, 1.7, 1.7, 1.7,
86 | 1.63, 1.73, 1.84, 1.66, 1.78, 1.8, 1.79, 1.78, 1.74, 1.77,
87 | 1.73, 1.77, 1.76, 1.75, 1.8, 1.75, 1.8, 1.79, 1.71, 1.73,
88 | 1.59, 1.76, 1.75, 1.71, 1.76, 1.8, 1.68, 1.74, 1.77, 1.73,
89 | 1.68, 1.63, 1.67]
90 |
91 | peso = [81.4, 88.7, 87.3, 62.7, 81.6, 80.9, 74.6, 84.7, 76.7, 88.3,
92 | 84.6, 74, 57.7, 84.1, 79.7, 63.8, 88.4, 71.2, 87.1, 67, 80.7,
93 | 74.7, 60.5, 85.9, 72.4, 59.7, 87.3, 85.7, 64.1, 91.9, 82.8, 75.7,
94 | 60.2, 73.1, 74.7, 65.9, 80.9, 91.3, 76, 86.8, 80.7, 74.2, 83.1,
95 | 77.8, 84.5, 58.8, 89.5, 87, 84, 89.9, 56.5, 80.2, 61.8, 86.3,
96 | 82.6, 69.4, 65.8, 79.3, 88.1, 78.5, 69.1, 62.5, 74, 74.4, 87.6,
97 | 59.6, 61.4, 83.2, 89.2, 89.2, 103.7, 67.9, 85.4, 69.5, 75.7,
98 | 83.9, 59.5, 87.9, 82.6, 88.1, 86.2, 88.9, 84.4, 58.4, 61.5, 69.2,
99 | 84.2, 78, 81.1, 81.5, 74.7, 90.4, 59.2, 79.3, 65.1, 93, 60.5,
100 | 76.4, 98.8, 89.1, 88.9, 61.1, 76.6, 86, 75.5, 66.9, 79.4, 87.9,
101 | 72.3, 93.8, 89, 90.7, 86.7, 77.6, 85.1, 91.8, 103.2, 91.1, 67,
102 | 86.9, 78.7, 87.1, 85.5, 69.8, 75, 53.9, 99, 93.7, 88, 79.4, 87.6,
103 | 60.4, 82.7, 90.6, 79.8, 61.2, 62.5, 59.7]
104 |
105 |
106 | def calcular_imc(peso, altura):
107 | return peso / (altura*altura)
108 |
109 |
110 | from time import perf_counter
111 |
112 | inicio = perf_counter()
113 |
114 |
115 | for i in range(10000):
116 | imc = []
117 | for j in range(len(peso)):
118 | imc.append(calcular_imc(peso[j], altura[j]))
119 |
120 | final = perf_counter()
121 |
122 | print("Listas Tradicionales %0.2f" % (final-inicio))
--------------------------------------------------------------------------------
/numpy/union_separacion_arrays_numpy.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/E1i8fVEfMOo
8 |
9 | """
10 |
11 | import numpy as np
12 |
13 | altura = np.array([1.74, 1.8, 1.78, 1.68, 1.78])
14 |
15 | peso = np.array([81.4, 88.7, 87.3, 62.7, 81.6])
16 |
17 | union = np.stack((altura, peso), axis=0)
18 |
19 | print(union, type(union))
20 |
21 | print()
22 |
23 | separados = np.split(union, 2)
24 |
25 | print(separados, type(separados))
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/piedra_papel_tijera_originales.zip:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:47144e0d1bc4ede52c455db1151b7fcacacc0421d0b1428266ee8c85ba486517
3 | size 153357498
4 |
--------------------------------------------------------------------------------
/probabilidad_python/ley_de_los_grandes_numeros.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": "markdown",
19 | "source": [
20 | "@author: Octavio Gutiérrez de Código Máquina\n",
21 | "\n",
22 | "URL del canal: https://www.youtube.com/CodigoMaquina\n",
23 | "\n",
24 | "URL del video: https://youtu.be/_UTE_ZdPmxI\n",
25 | "\n",
26 | "# Ilustración de la Ley de los Grandes Números\n",
27 | "## Experimento: Lanzamiento de dos dados de 6 caras"
28 | ],
29 | "metadata": {
30 | "id": "jWov_aMaAY24"
31 | }
32 | },
33 | {
34 | "cell_type": "code",
35 | "execution_count": 1,
36 | "metadata": {
37 | "id": "pIQA7UE58jQd",
38 | "colab": {
39 | "base_uri": "https://localhost:8080/"
40 | },
41 | "outputId": "3c149839-ef22-45e0-d7ad-f33c6eb59a22"
42 | },
43 | "outputs": [
44 | {
45 | "output_type": "stream",
46 | "name": "stdout",
47 | "text": [
48 | "El valor esperado del experimento de lanzar dos dados es 7\n",
49 | "Promedio del resultado de lanzar 1 par de dados: 8.0\n",
50 | "Promedio del resultado de lanzar 10 pares de dados: 7.3\n",
51 | "Promedio del resultado de lanzar 100 pares de dados: 6.74\n",
52 | "Promedio del resultado de lanzar 1,000 pares de dados: 6.912\n",
53 | "Promedio del resultado de lanzar 10,000 pares de dados: 6.9862\n",
54 | "Promedio del resultado de lanzar 100,000 pares de dados: 6.99493\n",
55 | "Promedio del resultado de lanzar 1,000,000 pares de dados: 7.000796\n"
56 | ]
57 | }
58 | ],
59 | "source": [
60 | "import random\n",
61 | "\n",
62 | "def grandes_numeros(experimentos):\n",
63 | " \"\"\" Ilustración de la Ley de los Grandes Números\n",
64 | " con el lanzamiento de dos dados \"\"\"\n",
65 | " total = 0\n",
66 | " for i in range(experimentos):\n",
67 | " dado1 = random.randint(1, 6)\n",
68 | " dado2 = random.randint(1, 6)\n",
69 | " resultado = dado1 + dado2\n",
70 | " total += resultado\n",
71 | " return total / experimentos\n",
72 | "\n",
73 | "random.seed(5)\n",
74 | "print(\"El valor esperado del experimento de lanzar dos dados es 7\")\n",
75 | "print(\"Promedio del resultado de lanzar 1 par de dados:\", grandes_numeros(1))\n",
76 | "print(\"Promedio del resultado de lanzar 10 pares de dados:\", grandes_numeros(10))\n",
77 | "print(\"Promedio del resultado de lanzar 100 pares de dados:\", grandes_numeros(100))\n",
78 | "print(\"Promedio del resultado de lanzar 1,000 pares de dados:\", grandes_numeros(1000))\n",
79 | "print(\"Promedio del resultado de lanzar 10,000 pares de dados:\", grandes_numeros(10000))\n",
80 | "print(\"Promedio del resultado de lanzar 100,000 pares de dados:\", grandes_numeros(100000))\n",
81 | "print(\"Promedio del resultado de lanzar 1,000,000 pares de dados:\", grandes_numeros(1000000))"
82 | ]
83 | }
84 | ]
85 | }
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/alcance_de_variables.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/wxBrLA9pOas
8 |
9 | """
10 |
11 |
12 | externa = "EXTERNA"
13 |
14 | def funcion(parametro):
15 | interna = "INTERNA"
16 | print ("Adentro", externa, parametro, interna)
17 |
18 | funcion("PARAMETRO")
19 |
20 | print("Afuera", externa)
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/atributos_de_clase.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/CpgxlrImUhk
8 |
9 | """
10 |
11 | class Vehiculo:
12 |
13 | folio = 0
14 | COLORES = ("BLANCO", "ROJO", "VERDE")
15 |
16 | def __init__(self, color):
17 | Vehiculo.folio += 1
18 | self.serie = Vehiculo.folio
19 | self.set_color(color)
20 |
21 | def __str__(self):
22 | return str(self.serie) + " " + self.color
23 |
24 | def set_color(self, color):
25 | color = color.upper().strip()
26 | if color in Vehiculo.COLORES:
27 | self.color = color
28 | else:
29 | self.color = Vehiculo.COLORES[0] #default
30 |
31 | vehiculo_a = Vehiculo("Rojo ")
32 | vehiculo_b = Vehiculo(" Azul")
33 |
34 | print(vehiculo_a)
35 | print(vehiculo_b)
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/busqueda_binaria.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/Ds61hiuBcOk
8 |
9 | """
10 |
11 | """
12 |
13 | [11 12 13 14 15 16 17] dato = 15
14 | bajo centro alto centro =(bajo+alto)//2
15 | lista[centro]<15 - der
16 |
17 | [11 12 13 14 15 16 17] dato = 15
18 | bajo centro alto centro =(bajo+alto)//2
19 | lista[centro]>15 - izq
20 | [11 12 13 14 15 16 17] dato = 15
21 | bajo centro =(bajo+alto)//2
22 | alto
23 | centro
24 | """
25 |
26 | def busqueda_iterativa(lista, dato):
27 | bajo = 0
28 | alto = len(lista) - 1
29 | centro = (bajo + alto) // 2
30 | while bajo <= alto:
31 | if lista[centro] == dato:
32 | return centro
33 | elif lista[centro] < dato:
34 | bajo = centro + 1
35 | else:
36 | alto = centro - 1
37 | centro = (bajo + alto)//2
38 | return -1 # Que no existe
39 |
40 | lista = [11, 12, 13, 14, 15, 16, 17]
41 |
42 | def busqueda_recursiva(lista, bajo, alto, dato):
43 | if bajo > alto: #caso base
44 | return -1
45 | centro = (bajo+alto) // 2 # caso recursiva
46 | if lista[centro] == dato:
47 | return centro
48 | elif lista[centro] < dato:
49 | return busqueda_recursiva(lista, centro + 1, alto, dato)
50 | else:
51 | return busqueda_recursiva(lista, bajo, centro - 1, dato)
52 |
53 |
54 | for i in range(10, 19):
55 | print(i, busqueda_iterativa(lista, i))
56 | print(i, busqueda_recursiva(lista, 0, len(lista)-1, i))
57 |
58 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/conjuntos.py:
--------------------------------------------------------------------------------
1 | """
2 | @author: Octavio Gutiérrez de Código Máquina
3 |
4 | URL del canal: https://www.youtube.com/CodigoMaquina
5 |
6 | URL del video: https://youtu.be/rHiu2ZAp4eA
7 | """
8 |
9 | nombres2020 = {"Juan", "Pedro", "Luis", "Pedro"}
10 | nombres2021 = {"Luis", "Maria", "Rosa"}
11 | print(nombres2020)
12 | print(nombres2021)
13 | nombres2021.add("Luis")
14 | print(nombres2021)
15 | nombres2021.add("Jose")
16 | print(nombres2021)
17 | nombres2021.remove("Jose")
18 | print(nombres2021)
19 | print(nombres2020)
20 | nombres = nombres2020.union(nombres2021)
21 | print(nombres)
22 | nombres_ambos_anios = nombres2020.intersection(nombres2021)
23 | print(nombres_ambos_anios)
24 | nombres.difference(nombres_ambos_anios)
25 | print(nombres)
26 | print(nombres2021.issubset(nombres))
27 | print(nombres.issubset(nombres2020))
28 | print(nombres.issuperset(nombres2020))
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/creación_e_importacion_de_modulos.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/bf_698bfPDU
8 |
9 | """
10 |
11 | #import math as m
12 |
13 | #from math import *
14 |
15 | #print(floor(2.5),ceil(2.5))
16 |
17 | from manejo_archivos import leer, escribir
18 |
19 | escribir("archivo.txt", "Un texto")
20 | print(leer("archivo.txt"))
21 |
22 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/diccionarios.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/YK1aKWAdeyc
8 |
9 | """
10 |
11 | """
12 | PERSONA
13 | Llaves: nombre, edad, direccion, altura, peso
14 | valores: Juan, 33, Reforma 333, 1.70, 80
15 | """
16 | persona = { "nombre":"Juan", "edad":33, "direccion":"Reforma 333"}
17 |
18 | print(persona["edad"])
19 | print(persona.get("edad"))
20 |
21 | for valor in persona.values():
22 | print(valor)
23 |
24 | for llave in persona.keys():
25 | print(llave)
26 |
27 | for elemento in persona.items():
28 | print(elemento)
29 |
30 | for llave, valor in persona.items():
31 | print(llave, valor)
32 |
33 | persona["direccion"] = "Reforma 300"
34 |
35 | persona.update({"direccion":"Reforma 200", "altura":1.70})
36 |
37 | persona["peso"] = 80
38 |
39 | persona.pop("peso")
40 |
41 | texto= "Un alunizaje del tipo que tuvieron las misiones Apolo se inicia a los 110 km de altura, separándose entonces el módulo de descenso ocupado por el comandante de la expedición y el piloto del LEM. Al cabo de media revolución, el motor de descenso entra en ignición, que disminuye la velocidad de la nave situándola en una órbita elíptica de 110 x 15 km. Una vez alcanzada esta órbita, se vuelve a encender el motor de descenso, reduciendo la velocidad del módulo lunar hasta alcanzar los 35 m/s estando en ese momento la altura controlada constantemente por el radar de aterrizaje. Existen dos puntos importantes de control en la fase de alunizaje llamados puerta alta y puerta baja. Tras finalizar la fase de frenado, la altura del módulo es de 3 metros (aproximadamente 10 pies), el ángulo de inclinación del mismo es de 23° y el empuje entonces es de 2721 kgf. En los alunizajes se han dejado instrumentos en la superficie lunar, como este retroreflector para medir con precisión la distancia Tierra-Luna mediante láser. Cuando se avista el punto de descenso, el módulo se encuentra a una altitud de 2950 metros, funcionando el retrocohete con un empuje de 2540 kgf. mientras la nave presenta una inclinación de 49°. La primera fase consiste en pasar a una distancia sobre la superficie lunar de unos 2300 metros y a una distancia de entre 4 y 8 kilómetros del punto de descenso y a una velocidad de traslación de unos 150 m/s, habiendo reducido la velocidad de descenso a 45 m/s. A los 914 metros de altitud la nave presenta una inclinación de 57 grados. A la puerta baja se llega un minuto y medio después. La altura en ese momento es de 152,3 metros, la inclinación de la nave de 80 grados y la distancia al punto de descenso de 550 metros, mientras que la velocidad se ha reducido a 17 m/s gracias al empuje negativo de 1270 kgf. La trayectoria se va incurvando cada vez más, hasta pasar al descenso vertical de 90° a unos 45 metros de altitud, entonces la velocidad que es controlada por el ordenador de a bordo disminuye desde los 8,2 hasta alcanzar solo 1 m/s. Los sensores que existen en tres de las cuatro patas del módulo de descenso indican el primer contacto, ordenando entonces la parada del motor. El descenso dura del orden de los 11 minutos y 54 segundos. Esta maniobra se simplificó a partir del alunizaje del Apolo 14, permitiendo una mayor disponibilidad de combustible del módulo de descenso para un caso de emergencia. Para ello, la nave Apolo se situó en una órbita lunar elíptica de 108 por 16,5 kilómetros, de manera que el módulo lunar inició la maniobra de descenso y alunizaje a solo 16 500 metros de altura en vez de los 110 000 del caso anterior"
42 |
43 | simbolos_a_quitar = (",", ".", "(", ")")
44 |
45 | for simbolo in simbolos_a_quitar:
46 | texto = texto.replace(simbolo,"")
47 |
48 | texto = texto.upper()
49 |
50 | vocablos = texto.split()
51 | palabras = {}
52 | for vocablo in vocablos:
53 | if vocablo in palabras.keys():
54 | palabras[vocablo] = palabras[vocablo] + 1
55 | else:
56 | palabras[vocablo] = 1
57 |
58 | lista = list(palabras.items())
59 |
60 | lista.sort(key=lambda palabra : palabra[1])
61 |
62 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/encapsulamiento_de_objetos.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/5kMOFIOWKvs
8 |
9 | """
10 |
11 | class Cuenta:
12 |
13 | def __init__(self, nombre, direccion):
14 | self.nombre = nombre
15 | self.direccion = direccion
16 | self.__balance = 0.00
17 |
18 | def retirar(self, monto):
19 | if self.__balance >= monto:
20 | self.__balance -= monto
21 |
22 | def depositar(self, monto):
23 | if monto > 0:
24 | self.__balance += monto
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/estructura_condicional_if.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/AaeVXnf-xno
8 | """
9 |
10 | artes = False
11 | deportes = True
12 | matematicas = True
13 |
14 | if artes:
15 | print("Estudia Teatro")
16 |
17 | if deportes:
18 | print("Estudia Medicina Deportiva")
19 |
20 | if matematicas:
21 | print("Estudia Matemáticas")
22 |
23 | if artes and matematicas:
24 | print("Estudia Arquitectura")
25 |
26 | if artes or matematicas:
27 | print("Estudia Arquitectura")
28 |
29 | if artes and not matematicas:
30 | print("Estudia Pintura")
31 |
32 | edad = 15
33 |
34 | if edad >= 10 and edad <= 14:
35 | print("Equipo Juvenil A")
36 | elif edad > 14 and edad <= 17:
37 | print("Equipo Juvenil B")
38 | elif edad == 18:
39 | print("Equipo profesional")
40 | else:
41 | print("Eres demasiado pequeño o demasiado grande para el club juvenil")
42 |
43 |
44 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/estructuras_ciclicas_while_for.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/JP7ljJe-rAQ
8 |
9 | """
10 |
11 |
12 | contador = 0
13 |
14 | while contador < 10:
15 | print("Iteración", contador)
16 | contador += 1
17 |
18 | print("Termina Ejecución")
19 |
20 | total = 0
21 | num_sumas = 5
22 | contador = 0
23 |
24 | while contador < num_sumas:
25 | num = int(input("Ingresa un número: "))
26 | total = total + num
27 | contador +=1
28 |
29 | print("El total de la suma es", total)
30 |
31 | autorizacion = False
32 |
33 | while autorizacion == False:
34 | contrasena = input("Ingresa tu contraseña: ")
35 | if contrasena == "123456" :
36 | autorizacion = True
37 | else:
38 | print("Acceso denegado")
39 |
40 | print("Ingresé al sistema exitosamente")
41 |
42 | for numero in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]:
43 | print("Iteración", numero)
44 |
45 | print("-----")
46 |
47 | for numero in [33, 45, 25, 23, 55]:
48 | print("Número", numero)
49 |
50 | print("-----")
51 |
52 | colores = ["rojo", "verde", "amarillo", "azul"]
53 |
54 | for color in colores:
55 | print("Hay pintura color:", color)
56 |
57 | indice = 0
58 | while indice < len(colores):
59 | print("Hay pintura color:", colores[indice])
60 | indice +=1
61 |
62 | print("-----")
63 |
64 | for numero in range(10):
65 | print("Iteración", numero)
66 |
67 | print("-----")
68 |
69 | for numero in range(5, 10):
70 | print("Iteración", numero)
71 |
72 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/excepciones.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/Itmbtm_3kfM
8 |
9 | """
10 |
11 | try:
12 | monto = float(input("Monto del crédito: "))
13 | num_pagos = int(input("Número de pagos mensuales: "))
14 | if num_pagos < 0:
15 | raise Exception("El número de pagos tiene que ser mayor a 0")
16 | elif num_pagos > 12:
17 | raise Exception("Tienes que pagar en un año")
18 | print("El pago mensual será de: ", monto / num_pagos)
19 |
20 | except ValueError:
21 | print("Introduzca valores númericos válidos")
22 | except ZeroDivisionError:
23 | print("El número de pagos a realizar debe ser diferente de 0")
24 | except Exception as error:
25 | print(error.args[0])
26 | else:
27 | print("Ha completado éxitosamente la solicitud de su crédito")
28 | finally:
29 | print("Agradecemos su preferencia")
30 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/funciones.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/d1Tl2ZDV0Cc
8 |
9 | """
10 |
11 | def suma_dos_numeros(a, b):
12 | suma = a + b
13 | return suma
14 |
15 | def suma_muchos_numeros(*numeros):
16 | suma = 0
17 | for numero in numeros:
18 | suma = suma + numero
19 | return suma
20 |
21 | # nombre = "JUAN"
22 | # paterno = "HERNANDEZ"
23 | # materno = "JIMENEZ"
24 |
25 | # JUAN Hernadez Jimenez
26 |
27 | def formatea_nombre(nombre, paterno, materno):
28 | formato = nombre.upper()+" "+ paterno.capitalize()+" "+ materno.capitalize()
29 | return formato
30 |
31 |
32 | # nombre = "JUAN HERNANDEZ JIMENEZ"
33 | # fecha_nacimiento = 1980
34 |
35 | # clave -> JHJ80
36 |
37 | def crea_clave(nombre, fecha_nacimiento):
38 | clave = ""
39 | for vocablo in nombre.split():
40 | clave = clave + vocablo[0]
41 | fecha_nacimiento = str(fecha_nacimiento)
42 | return clave+fecha_nacimiento[-2:]
43 |
44 | print (crea_clave("JUAN HERNANDEZ JIMENEZ", 1980))
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/funciones_lambda_anonimas.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/BY0uu-ueisM
8 |
9 | """
10 |
11 | suma = lambda a, b : a + b
12 | multiplicacion = lambda a, b, c : a * b * c
13 | constante = lambda : 10
14 |
15 | print(suma(2,3), multiplicacion(2,3,4), constante())
16 |
17 | personas = [("Juan", 82, 5), ("Luisa", 41, 10), ("Arnulfo", 75, 20)]
18 |
19 | print("Desordenada", personas)
20 | personas.sort()
21 | print("Ordenada por nombre", personas)
22 | personas.sort(key=lambda persona : persona[1]) # Edad
23 | print ("Ordenada por edad",personas)
24 | personas.sort(key=lambda persona : persona[1]+persona[2])
25 | print ("Ordenada edad+credito", personas)
26 |
27 |
28 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/herencia_y_polimorfismo.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/8FjY7_mhuqM
8 |
9 | """
10 |
11 | class Producto:
12 |
13 | def __init__(self, id, descripcion, costo):
14 | self.id = id
15 | self.descripcion = descripcion
16 | self.costo = costo
17 |
18 | def crear_etiqueta(self):
19 | return " %s \n %s \n %0.2f" % (self.id,
20 | self.descripcion,
21 | self.costo)
22 |
23 | class Electronico(Producto):
24 |
25 | def __init__(self, id, descripcion, costo, marca):
26 | super().__init__(id, descripcion, costo)
27 | self.marca = marca
28 |
29 | class Perecedero(Producto):
30 |
31 | def __init__(self, id, descripcion, costo, caducidad):
32 | super().__init__(id, descripcion, costo)
33 | self.caducidad = caducidad
34 |
35 | def crear_etiqueta(self):
36 | return super().crear_etiqueta()+ "\n %s" % self.caducidad
37 |
38 |
39 | productos = (Producto("g", "Producto", 100),
40 | Perecedero("p", "Tomates", 200, "01/01/2022"),
41 | Electronico("e", "Electrónico 1", 300, "Sony"))
42 |
43 | for objeto in productos:
44 | print ("*****")
45 | print (objeto.crear_etiqueta())
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/lectura_y_escritura_de_archivos.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/JQTZB979H1A
8 |
9 | """
10 |
11 | archivo = open("datos.txt", "r", encoding="utf-8")
12 |
13 | lineas = archivo.readlines()
14 |
15 | for linea in lineas:
16 | print(linea.strip())
17 |
18 | archivo.close()
19 |
20 | archivo = open("personas.txt", "a", encoding="utf-8")
21 | archivo.write("Juan Hernández 18\n")
22 | archivo.write("Eulalio Pérez 20\n")
23 | archivo.close()
24 |
25 | with open("personas.txt", "w", encoding="utf-8") as archivo:
26 | archivo.write("Juan Hernández 18\n")
27 | archivo.write("Eulalio Pérez 20\n")
28 |
29 | pasajeros = {}
30 | with open("datos_metro.csv", "r", encoding="utf-8") as archivo:
31 | archivo.readline()
32 | estaciones=archivo.readlines()
33 | for estacion in estaciones:
34 | estacion = estacion.strip().split(",");
35 | pasajeros[estacion[0]]= list(map(int, estacion[1:]))
36 |
37 | print(pasajeros)
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/listas.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/WCfR0nWOKdU
8 | """
9 |
10 | edades = [13, 45, 23, 13]
11 | print(edades[0])
12 | print(edades[2])
13 | edades[2]=33
14 | print(edades)
15 | print(edades[0:2])
16 | print(edades[:2])
17 | print(edades[2:])
18 | print(len(edades))
19 | print(max(edades))
20 | print(min(edades))
21 | print(sum(edades))
22 | print(sum(edades)/len(edades))
23 | edades.insert(2, 50)
24 | print(edades)
25 | edades.append(55)
26 | print(edades)
27 | edades.extend([56])
28 | print(edades)
29 | edades.extend([80, 88])
30 | print(edades)
31 | del edades[1]
32 | print(edades)
33 | edades.remove(50)
34 | print(edades)
35 | edades.pop()
36 | print(edades)
37 | print(edades.count(33))
38 | print(edades.count(13))
39 | print(edades.index(55))
40 | print(edades.sort())
41 | edades.reverse()
42 | print(edades)
43 | persona1 = ["Juan", 44]
44 | print(persona1[0])
45 | print(persona1[1])
46 | persona2 = ["Maria", 30]
47 | personas = [persona1, persona2]
48 | print(personas[0])
49 | print(personas[1])
50 | print(personas[0][0], personas[0][1])
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/manejo_archivos.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/bf_698bfPDU
8 |
9 | """
10 |
11 | def escribir(nombre, texto):
12 | with open(nombre, "w") as archivo:
13 | archivo.write(texto)
14 |
15 | def leer(nombre):
16 | texto=""
17 | with open(nombre, "r") as archivo:
18 | texto = archivo.read()
19 | return texto
20 |
21 | if __name__ == "__main__":
22 | escribir("prueba.txt", "Un texto cualquiera")
23 | print(leer("prueba.txt"))
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/parametros_por_referencia_y_valor.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/aVN2wp1Oosk
8 |
9 | """
10 |
11 | def doblar(referencia, valor):
12 | referencia *= 2
13 | valor *= 2
14 | print ("DURANTE", referencia, valor)
15 |
16 | estructura = ["a", "b", "c"]
17 | primitiva = "abc"
18 |
19 | print("ANTES", estructura, primitiva)
20 | doblar(estructura, primitiva)
21 | print("DESPUES", estructura, primitiva)
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/programacion_orientada_a_objetos.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/Qc0qD00RmRA
8 |
9 | """
10 |
11 | from random import randint
12 |
13 | class Tragamonedas:
14 |
15 | def __init__(self, id, premio):
16 | self.id = id
17 | self.premio = premio
18 | self.monedas = 0
19 | self.jackpots = 0
20 |
21 | def __str__(self):
22 | return "Id: "+ str(self.id) + " - Premio: " + str(self.premio)
23 |
24 | def __eq__(self, otro):
25 | return self.monedas == otro.monedas
26 |
27 | def __lt__(self, otro):
28 | return self.monedas < otro.monedas
29 |
30 | def __gt__(self, otro):
31 | return self.monedas > otro.monedas
32 |
33 | def jugar(self):
34 | self.monedas += 1
35 | numeros = randint(0, 9), randint(0, 9), randint(0, 9)
36 | mensaje = ""
37 | if numeros[0] == numeros[1] == numeros[2]:
38 | self.jackpots += 1
39 | mensaje = "Felicidades !!! Ganaste %0.2f" % self.premio
40 | else:
41 | mensaje = "Mejor suerte para la próxima"
42 | return numeros, mensaje
43 |
44 | tragamonedas_a = Tragamonedas(1, 1000)
45 | tragamonedas_b = Tragamonedas(1, 1000)
46 |
47 |
48 | for i in range(100):
49 | print(tragamonedas_a.jugar())
50 | print(tragamonedas_b.jugar())
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/recursividad.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/Oy9vWWss1n4
8 |
9 | """
10 |
11 | """
12 | CASO BASE: El caso más simple o el último caso.
13 |
14 | CASO RECURSIVO: La función se llama a sí misma, pero resolviendo
15 | un problema menor.
16 | """
17 | """
18 | 0! = = 1
19 | 1! = 1 = 1
20 | 2! = 1 * 2 = 2
21 | 3! = 1 * 2 * 3 = 6
22 | 4! = 1 * 2 * 3 * 4 = 24
23 | 5! = 1 * 2 * 3 * 4 * 5 = 120
24 |
25 | factorial(n) = n*factorial(n-1)
26 |
27 | """
28 |
29 | def factorial_iterativo(n):
30 | if n == 0 or n == 1:
31 | return 1
32 | resultado = 1
33 | for i in range(2, n+1):
34 | resultado *= i
35 | return resultado
36 |
37 | def factorial_recursivo(n):
38 | if n == 0 or n == 1: # Caso base
39 | return 1
40 | return n*factorial_recursivo(n-1) # caso recursivo
41 |
42 | for i in range(6):
43 | print (i,factorial_iterativo(i), factorial_recursivo(i))
44 |
45 | from time import perf_counter
46 |
47 | inicio = perf_counter()
48 | for i in range(1000000):
49 | factorial_iterativo(100)
50 | fin = perf_counter()
51 | print ("Iterativo %0.4f" % (fin-inicio))
52 |
53 | inicio = perf_counter()
54 | for i in range(1000000):
55 | factorial_recursivo(100)
56 | fin = perf_counter()
57 | print ("Recursivo %0.4f" % (fin-inicio))
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/tuplas.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/9hDL2gZqYJs
8 | """
9 |
10 | tupla = ("Juan", 22)
11 | print(tupla[0])
12 | lista = list(tupla)
13 | lista[0] = "Juana"
14 | una_tupla = tuple(lista)
15 | print(una_tupla)
16 | conjunto = set (una_tupla)
17 | print(conjunto)
--------------------------------------------------------------------------------
/programacion_desde_cero_con_python/variables_y_tipos_de_datos.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/RC4QkyWthbI
8 |
9 | """
10 |
11 | edad = 25
12 | altura = 1.73
13 | print(edad, altura)
14 | print(type(edad), type(altura))
15 |
16 | a = 5
17 | b = 2
18 |
19 | print(a + b)
20 | print(a - b)
21 | print(a * b)
22 | print(a / b)
23 | print(a // b)
24 | print(a % b)
25 | print(-a)
26 | print(a**b)
27 | print(a + a*b)
28 | print((a+b) * a)
29 |
30 | nombre = "Octavio"
31 | apellido = "Gutierrez"
32 | nombre_completo = nombre + " " + apellido
33 |
34 | print(nombre_completo)
35 | print("Longitud", len(nombre_completo))
36 | print("Multiplicación", nombre_completo*3)
37 |
38 | tres = str(3)
39 | decimal = str(3.14)
40 |
41 | tres_entera = int(tres)
42 | tres_decimal = float(decimal)
43 |
44 | print(0, nombre[0])
45 | print(1, nombre[1])
46 | print(2, nombre[2])
47 | print(3, nombre[3])
48 | print(4, nombre[4])
49 | print(5, nombre[5])
50 |
51 | print(nombre[len(nombre)-1])
52 |
53 | adulto = True
54 | print(adulto)
55 |
56 |
--------------------------------------------------------------------------------
/programacion_objetos/atributos_de_clase.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/CpgxlrImUhk
8 |
9 | """
10 |
11 | class Vehiculo:
12 |
13 | folio = 0
14 | COLORES = ("BLANCO", "ROJO", "VERDE")
15 |
16 | def __init__(self, color):
17 | Vehiculo.folio += 1
18 | self.serie = Vehiculo.folio
19 | self.set_color(color)
20 |
21 | def __str__(self):
22 | return str(self.serie) + " " + self.color
23 |
24 | def set_color(self, color):
25 | color = color.upper().strip()
26 | if color in Vehiculo.COLORES:
27 | self.color = color
28 | else:
29 | self.color = Vehiculo.COLORES[0] #default
30 |
31 | vehiculo_a = Vehiculo("Rojo ")
32 | vehiculo_b = Vehiculo(" Azul")
33 |
34 | print(vehiculo_a)
35 | print(vehiculo_b)
--------------------------------------------------------------------------------
/programacion_objetos/encapsulamiento_de_objetos.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/5kMOFIOWKvs
8 |
9 | """
10 |
11 | class Cuenta:
12 |
13 | def __init__(self, nombre, direccion):
14 | self.nombre = nombre
15 | self.direccion = direccion
16 | self.__balance = 0.00
17 |
18 | def retirar(self, monto):
19 | if self.__balance >= monto:
20 | self.__balance -= monto
21 |
22 | def depositar(self, monto):
23 | if monto > 0:
24 | self.__balance += monto
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/programacion_objetos/herencia_y_polimorfismo.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/8FjY7_mhuqM
8 |
9 | """
10 |
11 | class Producto:
12 |
13 | def __init__(self, id, descripcion, costo):
14 | self.id = id
15 | self.descripcion = descripcion
16 | self.costo = costo
17 |
18 | def crear_etiqueta(self):
19 | return " %s \n %s \n %0.2f" % (self.id,
20 | self.descripcion,
21 | self.costo)
22 |
23 | class Electronico(Producto):
24 |
25 | def __init__(self, id, descripcion, costo, marca):
26 | super().__init__(id, descripcion, costo)
27 | self.marca = marca
28 |
29 | class Perecedero(Producto):
30 |
31 | def __init__(self, id, descripcion, costo, caducidad):
32 | super().__init__(id, descripcion, costo)
33 | self.caducidad = caducidad
34 |
35 | def crear_etiqueta(self):
36 | return super().crear_etiqueta()+ "\n %s" % self.caducidad
37 |
38 |
39 | productos = (Producto("g", "Producto", 100),
40 | Perecedero("p", "Tomates", 200, "01/01/2022"),
41 | Electronico("e", "Electrónico 1", 300, "Sony"))
42 |
43 | for objeto in productos:
44 | print ("*****")
45 | print (objeto.crear_etiqueta())
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/programacion_objetos/programacion_orientada_a_objetos.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/Qc0qD00RmRA
8 |
9 | """
10 |
11 | from random import randint
12 |
13 | class Tragamonedas:
14 |
15 | def __init__(self, id, premio):
16 | self.id = id
17 | self.premio = premio
18 | self.monedas = 0
19 | self.jackpots = 0
20 |
21 | def __str__(self):
22 | return "Id: "+ str(self.id) + " - Premio: " + str(self.premio)
23 |
24 | def __eq__(self, otro):
25 | return self.monedas == otro.monedas
26 |
27 | def __lt__(self, otro):
28 | return self.monedas < otro.monedas
29 |
30 | def __gt__(self, otro):
31 | return self.monedas > otro.monedas
32 |
33 | def jugar(self):
34 | self.monedas += 1
35 | numeros = randint(0, 9), randint(0, 9), randint(0, 9)
36 | mensaje = ""
37 | if numeros[0] == numeros[1] == numeros[2]:
38 | self.jackpots += 1
39 | mensaje = "Felicidades !!! Ganaste %0.2f" % self.premio
40 | else:
41 | mensaje = "Mejor suerte para la próxima"
42 | return numeros, mensaje
43 |
44 | tragamonedas_a = Tragamonedas(1, 1000)
45 | tragamonedas_b = Tragamonedas(1, 1000)
46 |
47 |
48 | for i in range(100):
49 | print(tragamonedas_a.jugar())
50 | print(tragamonedas_b.jugar())
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/recursividad/busqueda_binaria.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/Ds61hiuBcOk
8 |
9 | """
10 |
11 | """
12 |
13 | [11 12 13 14 15 16 17] dato = 15
14 | bajo centro alto centro =(bajo+alto)//2
15 | lista[centro]<15 - der
16 |
17 | [11 12 13 14 15 16 17] dato = 15
18 | bajo centro alto centro =(bajo+alto)//2
19 | lista[centro]>15 - izq
20 | [11 12 13 14 15 16 17] dato = 15
21 | bajo centro =(bajo+alto)//2
22 | alto
23 | centro
24 | """
25 |
26 | def busqueda_iterativa(lista, dato):
27 | bajo = 0
28 | alto = len(lista) - 1
29 | centro = (bajo + alto) // 2
30 | while bajo <= alto:
31 | if lista[centro] == dato:
32 | return centro
33 | elif lista[centro] < dato:
34 | bajo = centro + 1
35 | else:
36 | alto = centro - 1
37 | centro = (bajo + alto)//2
38 | return -1 # Que no existe
39 |
40 | lista = [11, 12, 13, 14, 15, 16, 17]
41 |
42 | def busqueda_recursiva(lista, bajo, alto, dato):
43 | if bajo > alto: #caso base
44 | return -1
45 | centro = (bajo+alto) // 2 # caso recursiva
46 | if lista[centro] == dato:
47 | return centro
48 | elif lista[centro] < dato:
49 | return busqueda_recursiva(lista, centro + 1, alto, dato)
50 | else:
51 | return busqueda_recursiva(lista, bajo, centro - 1, dato)
52 |
53 |
54 | for i in range(10, 19):
55 | print(i, busqueda_iterativa(lista, i))
56 | print(i, busqueda_recursiva(lista, 0, len(lista)-1, i))
57 |
58 |
--------------------------------------------------------------------------------
/recursividad/recursividad.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """
3 | @author: Octavio Gutiérrez de Código Máquina
4 |
5 | URL del canal: https://www.youtube.com/CodigoMaquina
6 |
7 | URL del video: https://youtu.be/Oy9vWWss1n4
8 |
9 | """
10 |
11 | """
12 | CASO BASE: El caso más simple o el último caso.
13 |
14 | CASO RECURSIVO: La función se llama a sí misma, pero resolviendo
15 | un problema menor.
16 | """
17 | """
18 | 0! = = 1
19 | 1! = 1 = 1
20 | 2! = 1 * 2 = 2
21 | 3! = 1 * 2 * 3 = 6
22 | 4! = 1 * 2 * 3 * 4 = 24
23 | 5! = 1 * 2 * 3 * 4 * 5 = 120
24 |
25 | factorial(n) = n*factorial(n-1)
26 |
27 | """
28 |
29 | def factorial_iterativo(n):
30 | if n == 0 or n == 1:
31 | return 1
32 | resultado = 1
33 | for i in range(2, n+1):
34 | resultado *= i
35 | return resultado
36 |
37 | def factorial_recursivo(n):
38 | if n == 0 or n == 1: # Caso base
39 | return 1
40 | return n*factorial_recursivo(n-1) # caso recursivo
41 |
42 | for i in range(6):
43 | print (i,factorial_iterativo(i), factorial_recursivo(i))
44 |
45 | from time import perf_counter
46 |
47 | inicio = perf_counter()
48 | for i in range(1000000):
49 | factorial_iterativo(100)
50 | fin = perf_counter()
51 | print ("Iterativo %0.4f" % (fin-inicio))
52 |
53 | inicio = perf_counter()
54 | for i in range(1000000):
55 | factorial_recursivo(100)
56 | fin = perf_counter()
57 | print ("Recursivo %0.4f" % (fin-inicio))
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/visualizacion_datos/imagenes/IRQmejorado.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodigoMaquina/code/c3d50b2d354da9cc383548c2ab6743547a1d0be6/visualizacion_datos/imagenes/IRQmejorado.png
--------------------------------------------------------------------------------
/visualizacion_datos/imagenes/empirical_rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodigoMaquina/code/c3d50b2d354da9cc383548c2ab6743547a1d0be6/visualizacion_datos/imagenes/empirical_rule.png
--------------------------------------------------------------------------------