├── .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 | " \n", 43 | " \n", 44 | " \n", 45 | " \n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | "
imcglucosa
033.6148
126.685
223.3183
328.189
443.1137
.........
76332.9101
76436.8122
76526.2121
76630.1126
76730.493
\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 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | "
imcglucosa
33423.995
56638.699
42240.6102
5523.073
5220.0114
.........
43542.4141
67924.2101
28135.9129
61238.2168
7335.1129
\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 | " \n", 43 | " \n", 44 | " \n", 45 | " \n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | "
Trimestre 1Trimestre 2Trimestre 3Trimestre 4
Sucursal Norte2001200220032004
Sucursal Este4001400240034004
Sucursal Oeste6001600260036004
Sucursal Sur8001800280038004
\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 --------------------------------------------------------------------------------