From 548746321ed4dee8a46e415fc510421a5758652e Mon Sep 17 00:00:00 2001 From: Alejandro Lembke Barrientos Date: Tue, 25 Aug 2026 12:19:45 -0600 Subject: [PATCH] Adding Lab2. --- Lab2/README.md | 13 + Lab2/datos_publicos/README.md | 3 + .../ejemplo_entrada_inferencia.csv | 13 + ...jemplo_entrada_inferencia_predicciones.csv | 13 + .../train_1000_desbalanceado.csv | 1001 +++++++++++++++++ Lab2/entrega/curva_umbral.png | Bin 0 -> 22526 bytes Lab2/entrega/curvas_entrenamiento.png | Bin 0 -> 52227 bytes Lab2/entrega/modelo_elegido.npz | Bin 0 -> 14062 bytes Lab2/entrega_solucion/modelo_elegido.npz | Bin 0 -> 14062 bytes Lab2/generar_datos.py | 54 + Lab2/instructor_privado/README.md | 3 + .../artefactos/curvas_solucion.png | Bin 0 -> 99831 bytes .../artefactos/modelo_mejor.npz | Bin 0 -> 8174 bytes .../artefactos/resumen_solucion.json | 66 ++ .../test_200_balanceado.csv | 201 ++++ Lab2/lib_modelos.py | 121 ++ Lab2/notebooks/inferencia_configurable.ipynb | 135 +++ Lab2/notebooks/laboratorio_estudiante.ipynb | 463 ++++++++ Lab2/notebooks/laboratorio_resuelto.ipynb | 200 ++++ Lab2/plantilla_reporte_laboratorio.pdf | Bin 0 -> 172913 bytes Lab2/plantilla_reporte_laboratorio.tex | 131 +++ Lab2/resolver_laboratorio.py | 61 + README.md | 7 +- 23 files changed, 2482 insertions(+), 3 deletions(-) create mode 100755 Lab2/README.md create mode 100755 Lab2/datos_publicos/README.md create mode 100755 Lab2/datos_publicos/ejemplo_entrada_inferencia.csv create mode 100644 Lab2/datos_publicos/ejemplo_entrada_inferencia_predicciones.csv create mode 100755 Lab2/datos_publicos/train_1000_desbalanceado.csv create mode 100644 Lab2/entrega/curva_umbral.png create mode 100644 Lab2/entrega/curvas_entrenamiento.png create mode 100644 Lab2/entrega/modelo_elegido.npz create mode 100755 Lab2/entrega_solucion/modelo_elegido.npz create mode 100755 Lab2/generar_datos.py create mode 100755 Lab2/instructor_privado/README.md create mode 100755 Lab2/instructor_privado/artefactos/curvas_solucion.png create mode 100755 Lab2/instructor_privado/artefactos/modelo_mejor.npz create mode 100755 Lab2/instructor_privado/artefactos/resumen_solucion.json create mode 100755 Lab2/instructor_privado/test_200_balanceado.csv create mode 100755 Lab2/lib_modelos.py create mode 100755 Lab2/notebooks/inferencia_configurable.ipynb create mode 100755 Lab2/notebooks/laboratorio_estudiante.ipynb create mode 100755 Lab2/notebooks/laboratorio_resuelto.ipynb create mode 100755 Lab2/plantilla_reporte_laboratorio.pdf create mode 100755 Lab2/plantilla_reporte_laboratorio.tex create mode 100755 Lab2/resolver_laboratorio.py diff --git a/Lab2/README.md b/Lab2/README.md new file mode 100755 index 0000000..dbf1ec2 --- /dev/null +++ b/Lab2/README.md @@ -0,0 +1,13 @@ +# Laboratorio: clasificación tabular con MLP + +El laboratorio está en español y distingue claramente los materiales públicos de los privados. + +- datos_publicos contiene el único conjunto de entrenamiento que se entrega: 1,000 ejemplos, 750 de clase 0 y 250 de clase 1. +- notebooks/laboratorio_estudiante.ipynb es la versión para completar. +- notebooks/laboratorio_resuelto.ipynb es la referencia para docencia. +- notebooks/inferencia_configurable.ipynb reconstruye un modelo desde un diccionario que indica arquitectura y origen de pesos. +- instructor_privado contiene el test final balanceado, los pesos de referencia y la evaluación. No se distribuye. + +Ejecute python3 generar_datos.py para generar los CSV con la ecuación analítica, el término de error y una semilla fija. El código sólo necesita Python 3, NumPy y Matplotlib. + +La entrega del estudiante debe incluir código, una tabla de búsqueda de hiperparámetros, curvas de entrenamiento y desarrollo, métricas, la justificación del umbral y predicciones sobre el CSV que indique el instructor. El test privado nunca se usa para ajustar hiperparámetros ni umbral. diff --git a/Lab2/datos_publicos/README.md b/Lab2/datos_publicos/README.md new file mode 100755 index 0000000..79b59fd --- /dev/null +++ b/Lab2/datos_publicos/README.md @@ -0,0 +1,3 @@ +# Datos públicos + +El archivo train_1000_desbalanceado.csv contiene 1,000 ejemplos: 750 de la clase 0 y 250 de la clase 1. Las entradas son x1, x2, x3 y x4; etiqueta es el objetivo. diff --git a/Lab2/datos_publicos/ejemplo_entrada_inferencia.csv b/Lab2/datos_publicos/ejemplo_entrada_inferencia.csv new file mode 100755 index 0000000..41f43d0 --- /dev/null +++ b/Lab2/datos_publicos/ejemplo_entrada_inferencia.csv @@ -0,0 +1,13 @@ +id,x1,x2,x3,x4 +ejemplo_0001,2.16279541,-0.15620382,1.52249089,1.65824076 +ejemplo_0002,-0.33252016,-1.51252489,-0.74678853,2.48168432 +ejemplo_0003,-0.67816516,-1.48254252,1.32306735,0.53641452 +ejemplo_0004,-0.81252663,-0.39666178,0.80564212,-2.38488356 +ejemplo_0005,1.11282146,0.39086547,1.85731970,-0.78875571 +ejemplo_0006,-0.85655470,1.90412707,1.44050521,0.88793538 +ejemplo_0007,-1.64834898,-0.63973431,-0.30206628,1.31444933 +ejemplo_0008,-1.57711791,1.50301207,1.67408804,1.89669274 +ejemplo_0009,-1.30573622,-1.21531243,1.38645484,1.79280184 +ejemplo_0010,-1.47446448,1.32280710,-2.49155307,2.21472376 +ejemplo_0011,-2.45185030,-1.18520910,2.03686553,-2.34874399 +ejemplo_0012,-2.49821307,0.66322044,-2.46049594,-0.55338346 diff --git a/Lab2/datos_publicos/ejemplo_entrada_inferencia_predicciones.csv b/Lab2/datos_publicos/ejemplo_entrada_inferencia_predicciones.csv new file mode 100644 index 0000000..f36c260 --- /dev/null +++ b/Lab2/datos_publicos/ejemplo_entrada_inferencia_predicciones.csv @@ -0,0 +1,13 @@ +id,probabilidad_clase_1,prediccion,umbral +ejemplo_0001,0.00557925,0,0.315 +ejemplo_0002,0.00026550,0,0.315 +ejemplo_0003,0.00176073,0,0.315 +ejemplo_0004,0.00001668,0,0.315 +ejemplo_0005,0.00000370,0,0.315 +ejemplo_0006,0.02924983,0,0.315 +ejemplo_0007,0.00000050,0,0.315 +ejemplo_0008,0.00000003,0,0.315 +ejemplo_0009,0.00000023,0,0.315 +ejemplo_0010,0.00183952,0,0.315 +ejemplo_0011,0.01807133,0,0.315 +ejemplo_0012,0.92466868,1,0.315 diff --git a/Lab2/datos_publicos/train_1000_desbalanceado.csv b/Lab2/datos_publicos/train_1000_desbalanceado.csv new file mode 100755 index 0000000..cbbfc82 --- /dev/null +++ b/Lab2/datos_publicos/train_1000_desbalanceado.csv @@ -0,0 +1,1001 @@ +id,x1,x2,x3,x4,etiqueta +train_0001,2.16279541,-0.15620382,1.52249089,1.65824076,0 +train_0002,-0.33252016,-1.51252489,-0.74678853,2.48168432,0 +train_0003,-0.67816516,-1.48254252,1.32306735,0.53641452,0 +train_0004,-0.81252663,-0.39666178,0.80564212,-2.38488356,0 +train_0005,1.11282146,0.39086547,1.85731970,-0.78875571,0 +train_0006,-0.85655470,1.90412707,1.44050521,0.88793538,0 +train_0007,-1.64834898,-0.63973431,-0.30206628,1.31444933,0 +train_0008,-1.57711791,1.50301207,1.67408804,1.89669274,0 +train_0009,-1.30573622,-1.21531243,1.38645484,1.79280184,0 +train_0010,-1.47446448,1.32280710,-2.49155307,2.21472376,0 +train_0011,-2.45185030,-1.18520910,2.03686553,-2.34874399,0 +train_0012,-2.49821307,0.66322044,-2.46049594,-0.55338346,1 +train_0013,-0.88358646,0.91351560,-0.06673720,-1.64364405,0 +train_0014,-0.64059191,0.14550446,-1.62485776,-0.89009585,0 +train_0015,-1.09622705,-0.78107207,-2.11398042,0.06056275,1 +train_0016,-0.25925568,0.25417709,2.26587892,-0.28030647,0 +train_0017,-0.94922447,0.27434703,1.37110082,2.41378585,0 +train_0018,-0.69472817,-1.80115091,2.30722545,-1.66950606,0 +train_0019,-1.10217774,1.30546599,-1.32263718,1.18058746,0 +train_0020,-2.42001610,0.90776990,1.97611803,-1.12057565,0 +train_0021,-0.55760692,0.02433288,1.88075451,1.23888381,0 +train_0022,-2.36650664,0.29177474,-2.03566915,0.83529703,0 +train_0023,-1.16030112,2.35272013,1.85048423,-2.39359342,0 +train_0024,-1.54974770,-1.74153417,-0.49195136,2.34023173,0 +train_0025,-0.89430305,0.22997824,-1.68348309,-2.32397946,0 +train_0026,1.76117924,-2.04981800,-1.56669378,2.39146284,1 +train_0027,1.63784087,1.66183862,-0.80118350,1.97130806,1 +train_0028,-1.98784724,0.30179279,1.28698380,1.31959978,0 +train_0029,1.71330120,-1.38238474,-0.11461516,0.64559081,1 +train_0030,-1.96932529,-0.18146652,1.22210138,0.13231640,0 +train_0031,-0.38799403,-1.61313356,1.64070487,0.29221800,0 +train_0032,-1.53332057,1.36544685,2.44154224,1.40729969,0 +train_0033,1.09356821,2.01489111,-1.60428492,0.91565239,1 +train_0034,-2.10983531,-0.42849395,-0.02475064,2.31958206,0 +train_0035,-1.85310783,-1.92476316,-0.40492012,1.27013349,0 +train_0036,-2.33320377,1.29108820,1.26594732,-1.01719543,0 +train_0037,1.53557620,1.32430834,-1.44530632,-1.24305657,1 +train_0038,-1.13034248,0.27379409,-1.58202581,1.47810840,0 +train_0039,2.15576170,1.70849399,-1.76277030,-1.60016826,1 +train_0040,-2.43740756,0.50121109,2.16727277,0.20864760,0 +train_0041,1.92930468,-2.49318797,-1.16568780,0.44779762,1 +train_0042,1.34208667,2.33912241,-0.62550687,1.21117900,1 +train_0043,1.39852679,-0.39124836,-0.86162481,-2.23618900,0 +train_0044,-0.95213532,-1.79198963,1.61349428,0.95844519,0 +train_0045,2.41764410,-1.30452448,1.75149237,-1.19104943,0 +train_0046,0.65328406,0.39423014,-1.68765374,-2.23741565,0 +train_0047,-0.46630968,-1.41047154,0.51089793,-1.09363070,0 +train_0048,0.27587146,-1.66928878,-1.42338939,1.16288053,1 +train_0049,-1.45526286,2.36262394,0.91104183,1.15108116,0 +train_0050,-2.37091909,-0.69740484,-0.44619774,-2.29475983,1 +train_0051,-1.23345473,-1.08413166,1.00964480,0.57585438,0 +train_0052,-0.61579945,0.73899713,2.29368300,-0.74633575,0 +train_0053,-1.82706780,-0.01052779,0.96102722,-1.45192526,0 +train_0054,-0.10616564,-1.75105383,2.12084031,0.83395557,0 +train_0055,-2.42778050,-2.34774525,-1.65305949,-0.89197694,1 +train_0056,-0.50213560,0.36251903,0.34676158,-0.84925448,0 +train_0057,-0.24868406,1.48538162,-1.84535861,-0.88045448,1 +train_0058,-1.76796608,0.39314428,-1.01030093,0.64612008,0 +train_0059,0.33323459,-0.28083842,-0.66853793,-2.37724780,0 +train_0060,2.31018679,-1.21109626,1.79002977,1.57943887,0 +train_0061,0.12066954,-2.22048976,1.65913345,-0.51830906,1 +train_0062,1.49194601,0.41049389,2.15231060,-2.18078926,0 +train_0063,2.03576870,0.39491156,-0.17067018,0.18176131,0 +train_0064,-1.43752957,-0.40733568,2.27328541,1.49191875,0 +train_0065,0.27987297,1.88740943,2.48632820,2.38349212,0 +train_0066,0.00462479,1.43456423,1.30729977,0.69039867,0 +train_0067,2.14568426,1.13555966,-0.77554324,2.49866221,1 +train_0068,-0.53432760,0.77096579,0.91851723,-0.11141784,0 +train_0069,-1.96633971,1.81311771,1.36074472,1.00474222,0 +train_0070,-1.47920489,-1.99911385,2.12062858,0.36074018,0 +train_0071,1.56097971,0.60904420,1.09689243,-1.76892131,0 +train_0072,-1.94413175,0.14899231,1.99906955,-1.45149112,0 +train_0073,-1.83222461,-1.17423382,2.19511549,-0.73628337,0 +train_0074,1.87699671,0.23227531,1.86518503,-1.36478356,0 +train_0075,-1.33389378,-1.26483554,-2.14890490,-2.49403161,1 +train_0076,-0.98823799,-0.91857277,2.38780652,-1.04181980,0 +train_0077,0.81879841,-0.84117596,1.97194183,-0.17439644,0 +train_0078,0.95150500,-2.47626164,-1.30294205,1.99814352,1 +train_0079,-1.57512491,1.18043284,-1.07002105,0.25403784,1 +train_0080,0.46247409,-0.17220197,2.39917388,1.63581193,0 +train_0081,-0.49229075,-1.87882207,1.81219623,-0.65116698,0 +train_0082,-0.61975579,-1.35995253,-1.61015321,-2.07616459,1 +train_0083,-2.10608404,1.44480245,0.83271501,1.58704050,0 +train_0084,-2.41383403,0.82218470,-0.31597598,2.10725302,0 +train_0085,-1.04559962,0.84795493,-0.52473783,0.18355251,0 +train_0086,-1.48537297,-1.31838151,2.42766883,-0.57733545,0 +train_0087,2.08351905,0.48441585,0.73533813,1.78322425,1 +train_0088,1.01765469,-1.35881081,-0.77894896,-2.21307269,0 +train_0089,1.15831361,1.30971219,1.54917868,-1.90388386,0 +train_0090,-1.52728688,2.38647149,0.58365023,-2.27506630,1 +train_0091,0.21825519,-2.19344089,-1.10030441,-0.86666483,1 +train_0092,1.36908864,0.10499475,-1.67497467,-2.17692034,0 +train_0093,-0.36502287,-0.17777985,-2.35797565,0.86172844,1 +train_0094,1.41388158,-0.71548973,-1.57988838,1.32095225,1 +train_0095,0.90495666,-0.05562823,2.00099742,1.91400163,0 +train_0096,-1.64315676,-1.20429523,1.88119773,-0.24857395,0 +train_0097,-2.12528159,1.81921364,-0.21180842,1.66490837,0 +train_0098,-0.09546248,-1.38867540,2.46872699,0.17907918,0 +train_0099,-2.49967676,0.90482163,1.25622885,-0.79655291,0 +train_0100,1.63451928,0.61072035,0.43843599,-1.32963059,0 +train_0101,-1.69575607,-0.59856700,-2.14058522,1.30387188,0 +train_0102,-1.64396050,-1.32959954,1.31264022,1.62846279,0 +train_0103,0.15413998,1.33803016,-0.32515817,1.40141279,1 +train_0104,0.42991743,-1.09600057,-1.27625697,-1.69523983,1 +train_0105,-1.80857670,0.88734429,2.03912419,1.29203920,0 +train_0106,-0.16213846,1.59887213,-1.18630107,-2.27793743,1 +train_0107,1.20794963,-0.99643552,2.41870297,1.37733317,0 +train_0108,-0.28239782,0.58369987,1.98237272,0.98867650,0 +train_0109,1.13125743,2.05490460,2.01868990,-1.56729640,0 +train_0110,0.50662556,1.15191605,0.73609995,-1.33954429,0 +train_0111,0.35863050,-1.45065063,0.13697106,-1.74384545,0 +train_0112,-0.04633369,0.56101028,1.02048544,1.81932854,0 +train_0113,-2.29550841,-1.61694930,2.42671917,1.32997298,0 +train_0114,0.91234532,1.46033949,2.27549987,1.90577959,0 +train_0115,1.49942296,-0.26690403,-0.54689537,-0.81239283,1 +train_0116,-0.89058177,1.92885030,-0.85890221,2.22901584,0 +train_0117,1.26479440,2.48490511,2.03276306,-1.10405374,1 +train_0118,1.84443691,1.76888489,1.01997916,-0.06094755,1 +train_0119,-0.48524519,0.32094588,-0.90092288,0.33918802,0 +train_0120,-0.97970950,-1.03186982,-0.41875468,0.13912105,0 +train_0121,-0.33224212,-0.70700782,1.03241885,-1.19562364,0 +train_0122,2.18134681,-0.12424104,0.33184605,1.36135056,1 +train_0123,0.16160494,1.80153086,-0.35777315,-2.30285838,1 +train_0124,-1.26720445,0.79666423,-0.72158440,0.06246998,0 +train_0125,-1.49981742,-1.18805446,-1.75615841,-1.04138506,1 +train_0126,-2.17326657,0.32900906,-1.28768354,1.36042825,0 +train_0127,-1.31127001,0.43556859,1.28376409,0.92625340,0 +train_0128,1.07938682,-1.69813813,2.19360026,-0.09182371,0 +train_0129,1.40211963,-0.56891965,-0.85605860,-1.27351647,0 +train_0130,-0.46856322,-0.79231951,1.95193248,-0.25396588,0 +train_0131,0.28506430,1.49727602,1.68823957,-1.62860430,0 +train_0132,0.83446847,0.37676453,-1.76199302,0.73529653,1 +train_0133,-1.12250912,-1.23954069,2.32243912,-0.43668349,0 +train_0134,-1.59120266,-2.00666959,0.88633822,-2.19487605,1 +train_0135,-1.73169950,-0.40963740,1.19381217,2.13365624,0 +train_0136,-2.38570249,1.28615177,-2.03924805,1.17678052,0 +train_0137,-1.50544190,0.51057619,0.98816091,0.79845714,0 +train_0138,0.53852937,0.41856542,-0.05817180,2.12706586,0 +train_0139,-1.63779488,0.81075397,-2.09989275,1.26704473,0 +train_0140,-1.75119388,-0.90297579,0.95330615,1.42708073,0 +train_0141,-1.01608628,0.89063921,0.01800578,0.47500144,0 +train_0142,-0.61348375,0.57221700,0.97536031,2.09796246,0 +train_0143,-0.04563711,-0.51040579,-1.18259070,2.12415044,0 +train_0144,-1.72200165,2.27126061,1.30459929,2.07079815,0 +train_0145,0.10591781,1.01219148,-1.00514078,-2.33527864,0 +train_0146,2.17032346,-0.97253800,-0.20158582,-2.21432563,0 +train_0147,-1.52956996,1.60382840,-1.33571678,-1.53452479,1 +train_0148,-0.93706361,-0.84724405,2.21410470,2.34691075,0 +train_0149,-2.05844137,1.15675431,0.40095898,-0.06264745,0 +train_0150,-0.73712156,1.54318723,1.43733598,-0.63990024,0 +train_0151,-2.09270008,-0.60694744,1.04312553,-2.17001768,0 +train_0152,-1.18032309,-0.28536360,1.74505902,2.02626735,0 +train_0153,1.67362459,-0.46276118,1.71166316,-2.23432261,0 +train_0154,-2.12821922,-1.55817334,0.71130104,2.21232264,0 +train_0155,-0.61827777,-0.90193441,2.17845335,-2.16621370,0 +train_0156,-1.16875567,-0.11301430,1.62264985,0.58403648,0 +train_0157,1.19455025,0.14117570,0.64299306,1.00262230,0 +train_0158,-1.07202208,0.09853503,-1.27607263,-1.50320876,0 +train_0159,-1.23789519,-1.74691798,0.19607039,-2.44723885,1 +train_0160,-2.35869757,-0.29799552,-1.31015891,2.05031227,0 +train_0161,1.57113531,0.40398120,2.43374337,1.40280366,0 +train_0162,1.58189924,0.09205521,0.25325389,-0.67028253,0 +train_0163,-1.68245115,0.98900007,-0.27110330,-2.45942646,0 +train_0164,-2.08670304,-2.31679626,1.77837830,-0.48906460,1 +train_0165,-1.03330182,2.32728109,1.93737764,-1.24936294,1 +train_0166,-0.68779300,0.20503789,2.36272716,1.13694410,0 +train_0167,-0.78576104,1.78401412,2.36184117,1.23484884,0 +train_0168,-0.00181742,1.83659083,0.92215166,2.09114453,0 +train_0169,-2.08411675,-0.81853847,-0.93127854,0.23886263,0 +train_0170,1.06503587,0.83806178,-0.79687869,-0.15815506,1 +train_0171,1.65345331,-2.08556260,0.01537436,-1.32971521,1 +train_0172,-2.13527253,1.57765402,-2.30873936,0.56445536,1 +train_0173,0.51357875,1.79447645,0.23274352,-1.61973678,1 +train_0174,2.16700683,1.81007834,0.74187202,-1.98218004,0 +train_0175,2.45956691,-1.07732165,2.39989291,0.08987124,0 +train_0176,-0.01189212,-1.12863839,0.38311305,-0.37102393,0 +train_0177,-2.04651714,-0.06736011,1.50121027,-0.28278319,0 +train_0178,0.53493423,-0.50048550,-1.68464534,1.11513160,1 +train_0179,-2.23761918,1.10473005,1.79692719,0.40667787,0 +train_0180,-1.05839647,-0.66323180,1.66606117,-0.51844848,0 +train_0181,-0.47682915,-0.63288111,0.97252289,2.38020432,0 +train_0182,-1.80558385,1.37910589,0.66078303,0.06242206,0 +train_0183,0.08492868,-0.34735051,-0.31939908,-0.71272702,0 +train_0184,-0.93510646,1.83602145,1.75247764,0.37285671,0 +train_0185,2.48993743,0.78799099,-1.30175267,-1.31137552,0 +train_0186,-0.36693248,-0.23353304,1.85523977,-2.41864845,0 +train_0187,1.63610063,0.32146078,-0.30814452,-0.00755891,1 +train_0188,-1.46392814,2.32077963,-1.46240151,-2.37804198,1 +train_0189,2.00436737,0.19634743,-0.36524914,-2.17920083,0 +train_0190,-1.34219211,0.60742617,0.57023048,0.33360865,0 +train_0191,-0.05436589,-0.66078366,0.00477131,-0.17651406,1 +train_0192,0.07349601,-0.48007629,2.07621635,1.06150346,0 +train_0193,-1.58255400,1.19850218,1.65400228,-0.06811082,0 +train_0194,-0.54266670,1.17174933,0.53792996,1.69797589,0 +train_0195,2.12221519,-2.03921730,2.27035809,-1.17895160,0 +train_0196,2.26868919,0.46161360,1.17247918,1.95045206,0 +train_0197,2.10888196,0.42533246,2.25044231,1.83532718,0 +train_0198,-1.99308708,-0.80383270,-1.14192951,0.60737391,0 +train_0199,-1.18821798,2.15120718,-2.02978626,2.24247408,1 +train_0200,1.18009108,0.69194487,1.73434019,-0.74814169,0 +train_0201,1.89613151,-0.76643175,1.81316309,2.22012558,0 +train_0202,-0.03042107,0.14856337,1.56878030,2.11039443,0 +train_0203,1.10171843,-0.32888164,1.68575537,0.48655900,0 +train_0204,-0.11193640,1.37655346,1.21057201,-1.00817706,0 +train_0205,2.44474611,-1.28363339,-2.42706780,0.30588657,1 +train_0206,-2.28362133,1.49915076,1.76758800,-1.16733604,0 +train_0207,-2.38574700,-1.27907640,-1.59187459,2.26711563,0 +train_0208,-2.42792884,-1.32011619,-0.31853090,2.00936971,0 +train_0209,-2.47888076,2.02534829,2.08979586,0.77941703,0 +train_0210,1.99092238,0.77468520,2.36954206,-0.22248165,0 +train_0211,1.96683059,1.80214599,-2.34267718,-1.33920080,1 +train_0212,-1.24302920,1.10265633,1.78368194,-1.64513176,0 +train_0213,1.46254125,-0.02185201,0.61433763,1.51939233,0 +train_0214,-1.78179924,-0.16554270,1.48926450,-0.23900312,0 +train_0215,0.65949028,-0.96717919,2.38090009,1.26025921,0 +train_0216,-0.65520733,0.04244594,-1.26967110,1.80363415,0 +train_0217,-1.66386834,0.06566584,-2.47760184,1.01750741,0 +train_0218,0.86626316,-1.51410885,1.82341193,-1.90543874,0 +train_0219,-0.88122293,-1.82213662,1.42265405,-0.66184419,0 +train_0220,1.91358208,0.59112647,-0.77444657,-1.28336808,0 +train_0221,-1.77778423,-1.08202174,-2.44481323,1.73377397,0 +train_0222,2.26276487,1.18586467,-0.22735327,-2.25999882,0 +train_0223,-0.06623984,0.07817819,-1.92632293,-0.50962279,1 +train_0224,1.29815529,1.27050612,-1.88219823,-2.47739623,0 +train_0225,-1.06026401,0.48762427,-0.90319319,-1.92598644,0 +train_0226,0.35583214,1.58824901,1.80582479,-2.11420850,0 +train_0227,-1.57758328,-1.00830274,2.08819648,-2.48932110,0 +train_0228,-0.39126098,-0.20074007,-0.29805582,0.34436167,0 +train_0229,0.60607077,-0.32508281,0.50132036,-1.70775322,0 +train_0230,-0.77304568,1.87149705,-1.85562744,-2.47520173,1 +train_0231,2.05838886,1.59428397,-1.11393394,0.25632386,1 +train_0232,-0.16942613,0.41533334,-1.52414730,-1.20527907,1 +train_0233,1.47005025,0.37435551,0.00501088,0.88765971,1 +train_0234,-1.87334443,-0.70865188,-0.66393465,-1.36510726,0 +train_0235,-0.80557018,-0.54850495,-1.72275772,2.41196402,0 +train_0236,-1.84143709,-0.70820719,-0.07915985,-0.67842198,0 +train_0237,0.40942193,1.42402891,-2.01427737,0.12108984,1 +train_0238,-1.36391967,0.54054898,1.61340719,2.19845980,0 +train_0239,-0.36901447,0.09663461,-2.34290206,1.44972571,0 +train_0240,0.40712693,0.03232250,2.34754308,-0.96987317,0 +train_0241,1.95232115,0.73668069,-1.22939806,-1.16450651,0 +train_0242,1.33407873,-1.36433707,2.46184917,1.43350722,1 +train_0243,1.35259961,-2.14715495,1.43672802,-2.20339926,1 +train_0244,0.90090411,-1.91102797,-1.75685435,-0.18378930,1 +train_0245,-0.98807419,-1.23927494,-0.04434402,-2.49085971,0 +train_0246,-0.48147006,1.46348541,0.75116951,-0.77440483,0 +train_0247,0.66075258,1.04696795,-2.21144958,0.83434717,1 +train_0248,0.25434666,2.29458875,0.47830503,-0.42942869,1 +train_0249,-1.72275934,2.47500678,1.04468894,2.19571103,0 +train_0250,0.72650540,-0.33806915,2.19550585,1.64266820,0 +train_0251,-1.08352060,-0.97034356,-0.16234822,-2.06620000,0 +train_0252,1.26522509,-2.42003383,0.33959864,-2.12438162,1 +train_0253,-1.56006594,2.39228005,-0.39807946,2.21166648,0 +train_0254,1.78142984,1.35945802,-0.29435756,-1.11267706,1 +train_0255,-2.45639506,-2.25316967,2.21466759,-1.95281209,1 +train_0256,-0.01642131,0.79288695,-0.44482228,-1.15213186,0 +train_0257,0.93927867,0.12776911,0.53930241,-1.70547752,0 +train_0258,1.82841449,-1.07982826,-2.27024520,0.43440319,1 +train_0259,1.17710081,0.93783359,2.31437043,0.16893628,0 +train_0260,0.66270405,2.00878640,2.33553150,-2.41063472,0 +train_0261,-2.38050738,-2.47836564,2.07365323,1.77237005,0 +train_0262,-2.49508660,0.70532839,0.38256261,2.08255634,0 +train_0263,2.20324257,-0.67130229,0.09336696,1.77131547,1 +train_0264,-1.20241151,-1.82480102,2.00499713,-0.08059697,0 +train_0265,0.32829132,-0.23893084,-0.36102954,-0.92196103,0 +train_0266,-2.37832113,0.95715935,-1.88877731,-0.32933451,1 +train_0267,-1.08623372,-2.15546048,1.48026598,-2.27667706,0 +train_0268,1.97610340,-0.23670339,-0.26084988,0.08496545,0 +train_0269,0.30971325,-1.49044095,1.65827589,-0.25323915,0 +train_0270,-1.17182809,-1.43324912,0.44826245,1.49232532,0 +train_0271,-1.66576049,-0.29562088,1.36615117,1.66219945,0 +train_0272,-1.63972912,1.82250609,0.49101069,-1.39167111,1 +train_0273,2.43967851,0.65113956,-0.61476329,-0.86308021,0 +train_0274,1.60404954,-0.89323583,0.07350349,-2.06850802,0 +train_0275,0.72692332,-1.82108602,1.23283031,-1.99854210,0 +train_0276,-0.23289712,-0.68234204,0.35185904,0.01161703,0 +train_0277,-0.75009939,-2.41780658,-1.09045460,0.01665153,1 +train_0278,0.69711104,1.35585221,2.27361882,-2.38552844,0 +train_0279,-1.56850135,1.10194406,-0.45031624,0.85301833,0 +train_0280,1.66791351,-1.54143052,-1.34646066,0.59534508,1 +train_0281,-0.45416517,0.58328573,2.31786205,-2.22652992,0 +train_0282,0.27691221,0.35068018,-0.91533261,-0.72365066,0 +train_0283,2.46247149,-0.59862805,2.21205877,-1.58131678,0 +train_0284,-1.75890138,2.34057252,0.97247011,-1.83328846,1 +train_0285,1.45239731,1.87482661,0.99973036,0.47047886,1 +train_0286,0.16095526,1.01095919,0.96756006,1.13160546,0 +train_0287,-1.14186403,-0.73810886,-0.20262738,0.27863819,0 +train_0288,2.29180064,-1.38139570,-0.81290687,-1.90172195,0 +train_0289,-1.07589321,1.48726803,0.79461948,-1.57376472,0 +train_0290,1.18941987,-2.12990850,0.78569504,1.20522126,1 +train_0291,-0.39273023,-0.74167651,-2.17625359,-1.18967898,1 +train_0292,1.85852817,0.33125281,0.05341249,0.23917384,1 +train_0293,-1.15990210,1.02529932,0.93604876,2.37201322,0 +train_0294,0.99331661,0.39480505,2.24027190,1.04952925,0 +train_0295,1.64504418,-0.14501558,-0.45087361,-1.20133088,0 +train_0296,-0.13995445,-0.82420045,0.66140869,0.90724377,0 +train_0297,-0.58884338,-0.42156624,2.10262427,-2.17648042,0 +train_0298,-0.96377933,1.32839522,-2.08705261,1.57584743,0 +train_0299,2.46284824,1.12677836,2.15099494,2.44947988,0 +train_0300,-1.61548536,-0.22972962,0.61897906,-0.74772111,0 +train_0301,-2.25355892,-2.47970593,-2.20212385,1.39831308,1 +train_0302,1.92263884,-0.52831005,-1.14431719,-0.06697605,1 +train_0303,0.78328613,-0.43922734,-1.44685656,-2.49422161,0 +train_0304,-1.07863938,0.80992684,1.17711536,0.26433252,0 +train_0305,0.02910360,-1.96616022,2.02412152,-0.34322930,0 +train_0306,-0.47687431,1.69931061,-1.87067628,1.94960121,1 +train_0307,-2.16091372,-2.09638341,-1.62492754,1.18718890,1 +train_0308,1.16283209,-1.20415185,-0.62001343,-1.83297887,0 +train_0309,-1.00173291,-1.39828786,-0.48218269,0.22394820,0 +train_0310,-0.54271450,1.79514332,1.16904929,-1.72799466,0 +train_0311,-1.75430716,-1.23087056,-0.68440414,1.69354648,0 +train_0312,0.56476455,1.25538765,-0.79150770,-0.86851802,1 +train_0313,-1.54372673,-0.83970038,1.69987371,-0.53672349,0 +train_0314,-0.96423976,2.19898616,1.67604706,-1.41367567,0 +train_0315,-1.23900265,-0.17114292,-2.19752182,-1.12046997,0 +train_0316,1.96773411,-0.89345311,-0.05218582,-1.70500279,0 +train_0317,0.34738898,1.22160711,0.15703535,-2.39091179,0 +train_0318,2.46285707,0.65039255,1.96860513,1.63251516,0 +train_0319,-0.66762614,-0.07112589,1.16872190,-0.31737808,0 +train_0320,-0.34954159,0.65661593,1.83254795,2.46952763,0 +train_0321,-0.95695083,2.06803747,2.44021166,-2.29486144,0 +train_0322,2.00245140,-0.92725940,-2.41153562,-1.60664142,0 +train_0323,0.61962863,-0.99409535,-1.03569882,-1.13268457,1 +train_0324,-0.49858789,-1.50115147,-1.99565526,-2.05339221,1 +train_0325,-2.06022887,0.28402697,-0.09468210,1.19085032,0 +train_0326,-1.48497308,0.66179734,-0.30387158,-1.82809007,0 +train_0327,2.02420373,-1.45812676,-0.52892873,2.43103152,1 +train_0328,-2.44056282,1.34786718,0.73061474,0.22141269,0 +train_0329,1.60423528,1.92352385,1.50405636,-1.85844273,0 +train_0330,-0.01788627,0.41305508,-2.46466527,-0.35696713,1 +train_0331,-1.00861563,1.88501752,1.49392206,0.26991410,0 +train_0332,-0.31598347,2.49453352,1.92319262,-0.87261794,1 +train_0333,1.08945282,1.40540439,-2.19536793,2.20370036,1 +train_0334,-2.42862177,2.02504273,-2.24091193,-1.49220759,1 +train_0335,-0.26355979,1.78068689,1.04821396,1.76108691,0 +train_0336,-0.37111181,1.86397156,-0.44672285,-0.03385866,1 +train_0337,-0.76619951,-1.39907104,-0.33718664,1.09298566,0 +train_0338,-1.21365164,1.35222521,0.04513587,2.41149833,0 +train_0339,-1.52927147,-0.61250204,-0.59537860,2.04993756,0 +train_0340,-2.11445427,2.14153444,2.35210346,-2.32059077,1 +train_0341,-1.63911175,1.34696541,-0.07053504,-2.47807594,0 +train_0342,0.64871731,-0.69224960,2.40127058,-1.87368799,0 +train_0343,0.51565407,0.84587048,2.04361747,1.24553010,0 +train_0344,0.23576185,-1.40560646,-2.34784138,1.95558092,1 +train_0345,0.70310462,-1.36911008,1.97931195,-1.79580259,0 +train_0346,2.49338034,0.60040788,1.80132871,-2.32046247,0 +train_0347,-1.16233549,0.43539596,-0.25783672,2.05642705,0 +train_0348,0.04143439,0.33825809,-1.41079091,0.75924644,0 +train_0349,-1.92274186,-0.57439073,-2.43858760,2.15994985,0 +train_0350,0.60168913,-0.96235146,1.15380641,-0.84172915,0 +train_0351,0.21666256,0.67747678,-0.00251158,-2.47101224,0 +train_0352,1.27400706,1.26750876,-2.28086204,-0.62024166,1 +train_0353,1.45734633,-1.06464948,0.80110723,-0.87294454,0 +train_0354,-0.79133784,-0.04473705,-1.75879356,0.53789483,0 +train_0355,0.20924140,1.41957382,1.33524938,-0.86992082,0 +train_0356,-1.75565887,1.26994938,2.02363377,-0.85399351,0 +train_0357,-1.77830134,-0.42740894,-1.07444729,-0.21030895,0 +train_0358,2.08107725,2.01268044,2.12102459,-2.17358630,0 +train_0359,-1.89593826,0.59489009,-2.33631286,1.24488262,0 +train_0360,-1.46690439,0.07645479,2.15929493,1.55466661,0 +train_0361,0.04272210,0.26594792,-0.49298025,-1.96157003,0 +train_0362,1.83919616,-1.59095895,2.47447238,-1.08226398,0 +train_0363,0.60412821,-1.05519742,1.98678203,2.12054289,0 +train_0364,-1.48323930,1.61067767,-0.22582778,1.09645480,0 +train_0365,-2.17855994,-0.75995636,1.77973674,1.60154063,0 +train_0366,-1.18859138,0.19636992,-1.86927843,1.35262137,0 +train_0367,2.12945707,-2.14969209,-0.76155333,-1.81336333,1 +train_0368,1.74149040,-0.81669583,1.83221015,-1.74171240,0 +train_0369,1.62081335,-1.49302681,-1.23883948,-2.22264820,0 +train_0370,0.28049323,1.64683450,-1.60450461,-0.32924126,1 +train_0371,2.05481822,2.09917309,2.12894653,-1.78215033,0 +train_0372,0.44332498,0.47620343,2.07269187,-1.03748614,0 +train_0373,-2.18452006,-1.04176192,0.17929385,1.01874918,0 +train_0374,-1.26552564,1.20785344,1.86306866,0.85685161,0 +train_0375,-1.03769744,1.97655352,0.24365522,-2.38367989,1 +train_0376,-0.47192384,0.68121278,-0.76261742,2.17445344,0 +train_0377,-0.43073148,-0.08715927,-1.97533788,1.41267402,0 +train_0378,1.53725130,2.43788055,-0.75840040,-1.62635562,1 +train_0379,-1.70470041,-0.44243025,-1.90400483,2.26555538,0 +train_0380,2.05463480,1.45065768,-2.29484902,-0.19425700,1 +train_0381,-2.40725923,-0.96486647,2.09427149,-0.71975027,0 +train_0382,1.46708284,1.07261259,1.47606030,-2.36906532,0 +train_0383,-2.19094645,-1.49478913,2.23415988,-1.31185049,0 +train_0384,2.28548075,1.10423896,2.38247873,-1.76236661,0 +train_0385,1.26761701,-1.28497856,-1.02121681,0.21364332,1 +train_0386,1.23094548,1.05228603,-0.44808736,-2.40672982,0 +train_0387,0.90270700,2.23189698,-1.60697248,-1.55772730,1 +train_0388,-2.22706408,-0.85041051,1.50801039,1.15812865,0 +train_0389,0.33865251,0.67466082,-1.03588146,-0.98418466,0 +train_0390,2.12157434,0.73481030,0.03437085,-0.57821987,0 +train_0391,1.34237607,-1.40913274,0.57435771,0.35967462,1 +train_0392,-1.42337566,-0.45468234,-1.66041375,-1.86809481,0 +train_0393,-0.70011761,-2.33979304,-0.74422196,0.32229459,1 +train_0394,-2.17767058,-1.29104020,-1.26116771,2.04013680,0 +train_0395,1.12530649,-0.78876219,1.83687090,-0.41826982,0 +train_0396,1.96373531,-1.25013217,1.02893627,-0.58264427,1 +train_0397,-2.36961216,1.10185143,1.92792687,-1.93491070,0 +train_0398,-0.14620445,1.29429440,-0.65938994,-2.34405182,0 +train_0399,-0.78416438,-1.55633920,1.28115800,-0.93231464,0 +train_0400,-1.20304816,-0.45832774,1.95461070,-0.87575264,0 +train_0401,0.38002394,0.56778212,-0.32916220,2.13723525,0 +train_0402,0.89988240,0.50236014,-1.54356171,-2.02905461,1 +train_0403,0.34671974,0.88270646,-0.85806199,-1.74644896,0 +train_0404,1.82056082,-0.21663787,-0.20282352,-0.01904764,0 +train_0405,1.48002670,1.11909094,2.32897670,1.45186633,0 +train_0406,1.64138139,1.84501668,-1.73818122,2.49772232,1 +train_0407,0.35282480,-0.33487995,1.78796574,-1.90124249,0 +train_0408,0.87408659,2.13509772,2.40516635,-1.43685296,0 +train_0409,-1.72905256,-0.34073212,1.70032989,1.66444009,0 +train_0410,1.78345246,-1.64231983,-0.42928533,0.84739866,1 +train_0411,-1.03004009,1.44426751,-1.75627407,2.12577793,0 +train_0412,0.43657774,2.07949549,-0.69957479,0.99738718,1 +train_0413,1.42850579,0.80703687,0.97260921,1.37897410,0 +train_0414,1.03565770,1.56012899,0.52985925,-2.29872617,0 +train_0415,2.47799270,-2.20857854,1.20546820,-1.34989448,1 +train_0416,-2.36535872,-1.04720384,1.97072751,1.71687098,0 +train_0417,1.06049253,-0.91395353,2.16228304,-0.48885562,0 +train_0418,2.49791568,1.08374814,2.44109696,0.86821362,0 +train_0419,-0.17076998,1.20882405,-0.32137854,-2.48823217,0 +train_0420,2.23928489,-1.10958990,2.03258591,0.19264122,0 +train_0421,-0.17573093,-0.78549396,2.30449619,-0.31383303,0 +train_0422,0.97488370,1.29933565,0.73287670,1.81085257,1 +train_0423,-1.52656550,-0.73180039,-0.38886994,2.20369561,0 +train_0424,2.35624917,-1.94739318,2.03330035,0.52452867,1 +train_0425,-1.68649283,-1.22491748,1.29300518,2.44299105,0 +train_0426,-2.09437376,0.15914155,1.38863168,2.22665561,0 +train_0427,2.11119011,0.95184440,1.45801777,2.44861155,0 +train_0428,-0.66157929,2.47034928,0.92066589,0.63208225,1 +train_0429,1.31312460,-2.25573427,0.11758624,-1.04127782,1 +train_0430,1.36614066,-2.25555657,-1.45345651,-2.13429897,1 +train_0431,-1.89088782,2.15057948,-2.19356723,-1.31298123,1 +train_0432,-0.09406738,-0.92888050,2.15988231,-2.23154450,0 +train_0433,-2.29429810,1.94660267,2.10371968,1.77463421,0 +train_0434,-1.14133763,1.70949540,0.26848394,0.88681065,0 +train_0435,1.61163881,0.40949901,0.24960154,-0.15204330,0 +train_0436,-0.20766085,1.05956628,-0.61892451,-0.43801161,0 +train_0437,-0.74657049,-1.76453576,-0.25427131,-1.86107863,0 +train_0438,1.31670367,0.99592704,1.95615315,-1.87535918,0 +train_0439,-0.91040692,-1.87233034,2.11812085,-0.93779406,0 +train_0440,-2.35721902,-0.81642807,0.73588536,-1.10377546,1 +train_0441,-0.74451575,0.74139119,2.11295421,2.21482270,0 +train_0442,-2.41184663,-2.00822578,2.24968056,0.99034912,0 +train_0443,0.21556563,-1.40307250,2.19870139,-2.22946454,0 +train_0444,-1.69924450,-1.51397148,0.30218445,-1.87625498,0 +train_0445,-1.17917149,-1.86112897,0.01967041,1.36356454,0 +train_0446,1.20558809,-1.26537580,1.60936741,-2.04319277,0 +train_0447,-0.72060570,-1.60674073,-1.12953369,2.04864115,0 +train_0448,2.49915245,-1.24015363,0.62638078,-0.12468226,0 +train_0449,0.21109370,0.39721740,2.18165787,-0.55599837,0 +train_0450,-0.73228483,0.71909577,-2.08029900,-0.98110869,0 +train_0451,2.07020005,-1.66755240,1.06578369,1.09146769,1 +train_0452,-0.49791171,-1.52539257,-1.32936653,0.01862580,1 +train_0453,-2.11160143,0.51779899,0.97224680,-2.10283211,0 +train_0454,1.87831959,2.11535315,-1.38080271,1.66917196,1 +train_0455,-0.73297938,0.94334879,0.23621095,1.44464877,0 +train_0456,-1.99434961,-0.30583170,0.26407371,-0.98448385,0 +train_0457,-2.49021828,-1.85302522,1.21206828,1.93425040,0 +train_0458,1.42029066,-1.94505828,1.97899584,-0.47147894,1 +train_0459,-2.01111758,-0.39919894,1.29255926,-0.54476010,0 +train_0460,-0.33907679,0.73261681,-1.27378297,-2.40980828,0 +train_0461,0.24469283,-1.69282878,2.08812617,1.78972924,0 +train_0462,1.91481440,0.13927033,1.89247186,-2.32425196,0 +train_0463,-1.97113236,-0.09797337,2.28365517,1.49636921,0 +train_0464,1.58094694,2.41711050,-2.17356042,2.46297709,1 +train_0465,-0.60913785,-0.20283158,-0.62923758,0.49033958,0 +train_0466,-1.66830368,-0.05936522,-1.14962631,1.35568116,0 +train_0467,0.77379287,0.21304091,2.23758492,1.02975998,0 +train_0468,-2.24998572,-1.95193430,-2.13970255,0.40733188,1 +train_0469,-0.53682511,-0.09780924,1.97016297,-0.66735645,0 +train_0470,-2.07618282,-0.73774030,0.62728306,-0.19103549,0 +train_0471,-1.42629386,0.62637902,1.81887902,-0.91727311,0 +train_0472,-1.23056945,2.17034552,-0.23427094,1.94116117,0 +train_0473,-0.73221924,1.99559627,1.59838920,1.90215047,0 +train_0474,2.07103747,0.42467170,2.06551817,2.35844989,0 +train_0475,-0.74924233,1.78139906,1.14877982,-1.23435825,0 +train_0476,-2.19209028,0.91756063,2.25554148,0.44960293,0 +train_0477,-2.31504444,-0.39859773,-0.08741846,-0.29643820,0 +train_0478,-1.00222798,1.23029847,2.31825237,-2.38592487,0 +train_0479,-2.19532606,2.42101106,-0.65033065,0.91490069,1 +train_0480,1.04713483,-0.11667997,0.01925571,2.35947824,0 +train_0481,-2.40243424,-0.07021963,2.06300388,-0.73423150,0 +train_0482,-0.85026222,0.07740415,-1.82849853,-0.37603489,0 +train_0483,-1.78641861,1.51583820,1.81802526,-1.16350402,0 +train_0484,-0.91261303,-1.27019153,2.30474958,2.21639399,0 +train_0485,-1.54533858,-1.81361365,0.10701389,1.88805318,0 +train_0486,2.23853210,0.23478808,-2.40913119,1.21069440,1 +train_0487,-1.15892377,1.47719029,1.15228764,0.74438452,0 +train_0488,-2.45184997,-0.59406174,1.56834978,0.54157951,0 +train_0489,-1.09503925,-0.22933046,1.79270804,0.19289327,0 +train_0490,0.75169431,0.64024481,-1.98338929,-2.27454746,0 +train_0491,-1.16118182,1.81223729,-1.81634314,2.44847064,0 +train_0492,-0.61445070,1.20424359,0.59704474,0.39140152,0 +train_0493,1.20823901,-0.42092820,0.53220310,-0.06643644,0 +train_0494,0.82669163,1.29028647,1.89665461,-0.77707516,0 +train_0495,-0.61796455,-2.12693280,1.89612180,-1.80300443,0 +train_0496,-2.25213035,1.17802103,0.23929742,1.21518545,0 +train_0497,-1.13043852,-1.55873465,-1.92588954,1.13209018,1 +train_0498,0.34259782,-0.35031092,-0.24624592,-0.24029391,1 +train_0499,-0.83483667,1.74162196,1.11121553,1.76370744,0 +train_0500,-1.68283938,-2.48628131,-1.50913449,1.22383678,1 +train_0501,1.13053857,-0.54731314,2.07160106,1.41443951,0 +train_0502,0.01264088,0.72145235,0.15622881,2.10510194,0 +train_0503,0.65749077,-0.36741684,1.81793451,1.34418121,0 +train_0504,0.94979599,0.92270330,-0.47344690,1.06621611,1 +train_0505,-1.49959362,-1.76811831,0.39398909,0.58571877,0 +train_0506,1.20873613,1.88967483,-1.92672335,-1.88094734,1 +train_0507,2.21600016,-1.02489546,0.54198069,-2.12151281,0 +train_0508,0.14827686,-1.69839346,-0.40347242,-0.01671881,1 +train_0509,-1.44750952,-0.94058074,0.62723996,-2.35216820,0 +train_0510,0.89114270,-0.24732341,-1.85984569,0.47438886,1 +train_0511,-0.51883681,1.16456220,-0.93739315,-0.12052825,0 +train_0512,2.12392806,0.71735907,2.48006650,2.18609184,0 +train_0513,-0.25615482,1.48703864,1.43649819,1.35546344,0 +train_0514,0.90492725,-1.66220655,-2.09369674,-0.55561256,1 +train_0515,0.02250029,-0.72263455,-1.52465290,-0.81334931,1 +train_0516,2.17413471,0.65333548,-2.24710303,-1.04091585,0 +train_0517,1.52688873,-0.96910464,1.20358632,1.92429088,0 +train_0518,0.13389203,0.77795854,-0.60666894,1.37344217,0 +train_0519,2.24826069,1.08928330,0.63874165,-0.35919160,0 +train_0520,-0.44643268,-0.69405190,1.48629870,-1.35139984,0 +train_0521,-2.15515497,-1.24197341,1.67354266,-1.71347780,0 +train_0522,0.94904483,-0.33367133,2.17075440,0.10302650,0 +train_0523,0.93408461,1.65231303,2.10055856,1.94576922,0 +train_0524,-0.48283698,-2.14502906,1.26855067,1.22224942,1 +train_0525,-0.63912061,-0.00044307,-1.88603320,-0.57439686,1 +train_0526,-1.23981395,-0.88518310,0.09661426,-0.76192349,0 +train_0527,-2.03178315,1.12918322,-0.31434036,2.33448377,0 +train_0528,1.66069269,0.30660060,0.85347946,1.59759636,0 +train_0529,0.74811104,-1.32294649,1.89735524,-1.80180896,0 +train_0530,-0.11557993,-0.30541100,1.31165236,1.96977107,0 +train_0531,-0.62934337,1.46334077,0.12110530,-2.02413514,0 +train_0532,-1.77413092,0.57230894,-0.13204048,-1.37204085,0 +train_0533,0.30624519,-1.81708723,-0.07534676,-0.38322161,1 +train_0534,-1.24710503,0.21587720,1.07952035,0.82144014,0 +train_0535,0.20931097,0.86896867,1.92575774,0.70584494,0 +train_0536,-1.11304439,1.78595053,0.22868244,1.87353041,0 +train_0537,-1.20522506,-1.56771722,0.04200381,2.37153129,0 +train_0538,1.27051384,0.34836959,1.64513394,-0.23882139,0 +train_0539,-1.41979559,0.57861568,-1.93222039,-2.42136852,0 +train_0540,-1.23267616,-0.56159825,1.30099218,1.03333756,0 +train_0541,1.52863790,-2.11869834,-2.12471276,2.46276345,1 +train_0542,-0.88188415,2.34949408,-0.93631125,-1.92813289,1 +train_0543,-2.05405724,0.53736877,0.69484127,0.71656371,0 +train_0544,1.89126258,-0.27182019,0.38988508,2.42356804,0 +train_0545,1.20236028,-1.29016944,0.39233843,0.15121841,1 +train_0546,-0.99868935,-1.79259009,0.91434222,-2.05240302,0 +train_0547,-0.93994095,0.09331251,-1.83157049,0.83929888,0 +train_0548,-0.78058868,1.55183505,-0.92399996,-2.02152216,0 +train_0549,1.94700577,-0.67524218,0.83428066,0.80116760,0 +train_0550,-0.97220161,1.41173153,-1.67408816,1.70074399,0 +train_0551,-1.85118780,-1.36378305,1.52027432,0.00107055,0 +train_0552,-0.49769899,1.63299601,0.20736330,1.42740956,0 +train_0553,0.11792527,1.21521247,0.91047989,-0.01129249,0 +train_0554,1.90756136,0.41899797,1.75842074,-1.34070979,0 +train_0555,-2.38840865,-0.53598032,2.31180983,-0.51376262,0 +train_0556,-1.21420802,0.02825206,-1.17944557,2.28448323,0 +train_0557,0.08586311,-1.24029697,1.52492615,-1.03786878,0 +train_0558,1.94274196,0.88813715,0.73735545,-0.66323850,0 +train_0559,2.42964543,0.16248874,-1.13655564,-0.99036975,0 +train_0560,1.75208708,-1.52719196,-1.46001058,2.22575558,1 +train_0561,1.91975554,0.30526540,1.31099340,-2.23608992,0 +train_0562,-2.36419185,1.53071096,-1.32620974,1.86924667,0 +train_0563,0.10377518,0.36187385,1.30040330,-2.20298534,0 +train_0564,0.34232018,1.06296123,1.98303943,1.59988173,0 +train_0565,0.14271143,0.09504545,-2.10073715,-2.35443834,0 +train_0566,-0.90443228,2.02315447,2.47645314,-2.33097334,0 +train_0567,-2.47320703,-0.34981246,1.90554473,-0.63904761,0 +train_0568,-1.37493062,1.72066974,0.57633008,0.77719141,0 +train_0569,2.20203576,0.55379996,0.31392922,-1.57377518,0 +train_0570,-1.85947555,-0.56612719,0.33071751,-0.96875175,0 +train_0571,0.37187548,1.26138407,1.16976370,1.72457529,0 +train_0572,-0.02655695,1.19337880,0.40852588,-1.79500785,0 +train_0573,-0.37825027,-1.48361157,-2.23695039,-0.44777311,1 +train_0574,2.36846611,2.03654474,-1.61170317,1.41092207,1 +train_0575,1.03464182,-0.75298132,1.59066498,0.59594249,0 +train_0576,-0.85930070,0.06718911,0.75645413,-2.08091804,0 +train_0577,-1.36888097,-0.31698054,-1.42221286,2.12577966,0 +train_0578,0.38341920,-0.67378612,1.72039864,-1.74217687,0 +train_0579,1.64060722,0.47340892,-1.64913126,-1.82073565,0 +train_0580,0.55178598,0.96295125,1.13396531,-1.40788084,0 +train_0581,0.97709453,-0.25968104,0.62585547,-1.60901117,0 +train_0582,-0.33831643,1.60989245,1.34273074,0.79035021,0 +train_0583,0.43622329,-0.17431385,2.34936161,0.57004951,0 +train_0584,1.16353233,2.15113745,-1.25456865,-1.59826718,1 +train_0585,-0.50385217,0.85188164,0.00660441,-0.43408544,0 +train_0586,-0.59266662,-2.07782724,2.08384574,-0.23865526,0 +train_0587,-1.63827679,0.74306214,1.38134540,-1.91140750,0 +train_0588,-1.23775946,-0.27870340,-0.16873727,-1.76964404,0 +train_0589,-0.89292824,0.69191277,0.47363162,-1.22543610,0 +train_0590,0.72173695,2.39920551,-2.23084687,2.13902498,1 +train_0591,0.13994433,-1.91169278,-0.16709454,2.26666733,1 +train_0592,-1.12386857,-0.64490255,2.32464136,1.14809003,0 +train_0593,-0.00832461,1.89729795,-0.68781246,-1.40613655,1 +train_0594,-1.95346225,0.91211765,-0.15826629,-0.48681104,0 +train_0595,-1.21186588,-1.66716044,2.32568329,1.07439129,0 +train_0596,2.00997683,-1.43239818,1.06280197,-0.03269827,1 +train_0597,1.23541148,-1.99661673,1.15462147,1.66613772,1 +train_0598,-0.96730155,1.12872226,-0.67339803,2.15477503,0 +train_0599,-1.80897036,-0.94003521,-0.53782533,0.48113722,0 +train_0600,-1.61549641,-1.99824133,0.19950654,-0.19340093,1 +train_0601,-0.60818773,-1.00490523,-0.65588929,1.42075219,0 +train_0602,-1.99501571,-1.06190455,-0.33954945,0.88962572,0 +train_0603,0.82838039,1.10861359,0.87731861,-1.82220543,0 +train_0604,-1.50746429,1.46326040,1.04213497,-1.95690334,0 +train_0605,-1.94084468,2.12566660,1.87147642,-1.72615446,1 +train_0606,1.13374991,2.44472367,1.27072587,-1.68315108,1 +train_0607,0.32550069,0.61781974,-1.90270906,-0.62967403,1 +train_0608,-0.76734867,0.35738539,-0.48853235,1.28843479,0 +train_0609,-2.03732293,0.21243384,0.42389885,1.92851296,0 +train_0610,-2.44590305,-2.12907589,-0.65450053,1.31915189,1 +train_0611,-0.60954897,-0.42864157,-2.18048777,-1.48321942,0 +train_0612,-1.65233141,2.14454041,1.72376714,-2.46636892,0 +train_0613,-1.47395432,-2.07011735,-0.57281543,0.07178769,1 +train_0614,-0.74205985,0.24372593,-0.16869177,-2.29650136,0 +train_0615,2.09806247,0.17899810,1.45888260,-2.09124100,0 +train_0616,0.11847926,0.39820612,0.05342771,1.03164895,0 +train_0617,2.03769331,2.39735131,-1.42703997,-1.08887745,1 +train_0618,1.88206639,-2.04706336,-2.04106991,-2.35418075,1 +train_0619,1.51810721,0.68429355,-0.59902822,-1.38548762,0 +train_0620,-0.95623698,1.10346340,-2.08155469,0.94424954,1 +train_0621,0.40074716,1.44869551,1.90340405,1.29617259,0 +train_0622,1.44145756,0.56137222,-0.90914434,-1.97067423,0 +train_0623,-1.96119438,1.88887886,-1.20172573,-1.78726723,1 +train_0624,2.36277806,-1.26903348,0.79772939,0.81525727,1 +train_0625,1.25022880,0.21131848,2.29134072,0.47482097,0 +train_0626,1.02767445,-2.28096292,-0.98890935,0.47916009,1 +train_0627,2.32694972,0.47820173,1.02606091,1.02849660,0 +train_0628,1.07476939,-0.60282934,1.85260612,-0.49686582,0 +train_0629,-0.88379791,-2.06025350,-0.95172305,-2.15921817,1 +train_0630,-0.86079863,-0.94846803,2.09796370,-1.58003319,0 +train_0631,-0.44580546,0.66266575,2.06651882,-0.11252398,0 +train_0632,0.57753559,0.07303963,0.58389750,-2.26886051,0 +train_0633,0.23436504,-0.89759905,-1.57743512,-2.22376105,0 +train_0634,-0.29413683,-2.28647923,-0.14916905,-0.56157720,1 +train_0635,-1.86614683,1.95080717,-1.44675794,-2.11465476,1 +train_0636,1.76023832,-0.33236554,-1.12632736,2.14615191,1 +train_0637,-1.07566876,1.03113918,1.68690501,-1.65924906,0 +train_0638,-0.39431565,-1.71773327,0.79339395,2.06853475,0 +train_0639,2.29840674,-0.18049744,-2.45855052,-1.19405011,0 +train_0640,-0.82676763,-1.62524537,2.47810552,-1.85780982,0 +train_0641,0.28362963,0.35540334,2.06790906,-0.86793055,0 +train_0642,-0.05127597,0.33104371,-0.75250636,1.75262762,0 +train_0643,2.46847376,-0.32836305,-2.46206279,2.45914886,1 +train_0644,-1.15737990,-1.27253457,1.84162444,-1.36189637,0 +train_0645,-0.58012793,-0.76061450,1.14738993,1.04604484,0 +train_0646,0.74730187,-1.60206703,-1.00512743,-0.67986258,1 +train_0647,-0.91613821,-1.75407522,1.57495219,-1.02328266,0 +train_0648,-1.53539657,-0.01305114,-0.21973640,-0.72458637,0 +train_0649,-2.47478180,-0.99869165,-0.15974844,1.83783387,0 +train_0650,-2.10948598,-1.06991795,0.32570831,2.19739963,0 +train_0651,1.82405575,-1.94663240,-2.19735584,-1.08865391,1 +train_0652,-0.60870877,0.33175908,2.12602592,1.43755568,0 +train_0653,0.20807075,1.29464605,0.76865184,2.08044338,0 +train_0654,2.08007934,1.17295330,2.45771219,0.38848013,0 +train_0655,1.84229994,0.58803895,-0.48735137,-0.56374163,0 +train_0656,0.71649586,1.23469624,-0.79735461,-2.31508920,0 +train_0657,-2.22795423,1.32150031,0.32226238,-0.97445811,1 +train_0658,-1.15790086,1.13763585,0.50707473,1.17890934,0 +train_0659,-0.18192545,-0.15225341,-0.96237012,-1.80855199,0 +train_0660,-0.45461223,-0.43547752,2.15215547,2.16046810,0 +train_0661,2.11700602,1.62017633,0.96825546,-0.43643374,1 +train_0662,0.78194013,1.89635556,2.39749641,-0.90013764,0 +train_0663,-0.71870510,-0.26621757,0.02639712,-1.32647978,0 +train_0664,-2.43022543,0.48486055,-0.23209930,2.00159155,0 +train_0665,-0.11793164,-0.66285330,0.35608958,-1.89867474,0 +train_0666,1.42362258,2.23575819,-1.20153689,-0.95868697,1 +train_0667,0.91094154,1.50568820,1.69399703,0.58071492,1 +train_0668,-1.10733117,1.35212244,1.76585891,0.00060946,0 +train_0669,-0.33856335,-1.27514649,0.62553541,2.34424554,0 +train_0670,-2.02726131,-0.81122435,-1.60418508,0.11238077,0 +train_0671,0.33941176,-1.77025468,0.15999911,-1.59772369,1 +train_0672,-0.76715492,1.15653383,1.91425787,1.30551575,0 +train_0673,1.58124292,-0.99926958,-1.48424216,-2.44775697,0 +train_0674,1.97508224,1.83567341,0.37128491,-1.05663940,0 +train_0675,1.55218752,0.39745387,0.57663202,2.18557746,1 +train_0676,0.91557714,0.98430790,2.19477947,-2.27590752,0 +train_0677,-0.17731435,1.13723926,1.98031853,-1.69321714,0 +train_0678,-0.83025875,2.10026391,1.08537138,1.99271867,0 +train_0679,0.70482016,-0.04054209,1.21410488,0.14269286,0 +train_0680,-2.37492526,-1.02964200,2.04432808,-0.62870021,0 +train_0681,0.69916797,0.46939369,-1.25788851,-1.29180265,0 +train_0682,-0.03712750,2.02736008,2.30592489,1.90462096,0 +train_0683,1.70184788,-0.24967211,2.09230591,1.09357665,0 +train_0684,1.52815655,1.50616553,-0.81600488,-2.34914844,0 +train_0685,2.39994541,0.51246732,1.32391279,1.40364624,0 +train_0686,0.01071575,-0.23382157,2.37499843,0.96319736,0 +train_0687,-0.32276906,-1.77197541,-0.14402488,1.41462307,0 +train_0688,2.13342600,0.04218496,1.25670125,1.17329030,0 +train_0689,-2.01327380,1.48475323,0.63610135,0.30139659,0 +train_0690,-0.69573603,2.21031993,-0.23145075,0.04856352,1 +train_0691,-1.71309479,2.01510463,0.46917594,2.44132943,0 +train_0692,0.74500070,-0.41033517,1.68099512,2.22382901,0 +train_0693,-0.84753167,0.17342047,-1.39351995,0.92448158,0 +train_0694,-0.29963592,-0.44678129,0.27280597,1.10580997,0 +train_0695,2.03720987,-1.46395216,0.83788233,-2.32272239,0 +train_0696,1.55925374,-0.38471504,0.47646759,-0.95971491,1 +train_0697,-0.93782428,-1.89971399,-2.42667360,0.34481766,1 +train_0698,-0.18505998,-0.07412389,1.75254349,-1.73135755,0 +train_0699,-2.12072771,0.26434330,1.32854645,0.94541735,0 +train_0700,-1.76433125,-1.04773464,1.40461304,0.73682052,0 +train_0701,-1.38966674,-0.62582337,0.18285446,-1.71782913,0 +train_0702,0.88274134,1.12698024,1.87537439,2.37830500,0 +train_0703,0.28931694,-1.24017753,2.48968060,-1.57834445,0 +train_0704,2.49986092,-0.47300931,-1.92206288,0.22726440,0 +train_0705,-1.03065938,0.27077639,0.08563225,0.70266078,0 +train_0706,0.17861147,-0.53829520,2.21244230,2.42828934,0 +train_0707,-0.64339026,1.65576479,1.60101147,2.07710390,0 +train_0708,2.18845840,0.47535412,-1.16900296,-1.68152137,0 +train_0709,-0.12240395,0.42279627,-2.16540098,-0.36001770,1 +train_0710,-1.65788625,1.96715156,2.10440075,1.13119128,0 +train_0711,1.50100543,0.21283377,0.72594063,-0.56417359,0 +train_0712,-2.22700035,-0.93321620,1.06003507,-2.39114569,0 +train_0713,-1.70231686,1.59967359,1.11963015,-0.74855809,1 +train_0714,0.86032510,1.09414550,1.26420675,-0.40000550,0 +train_0715,-2.48606484,-1.76756527,2.09368102,-0.26747397,0 +train_0716,1.08876646,0.48554744,0.18783786,1.89548875,1 +train_0717,-1.41836289,0.08156735,-2.22661334,1.84863735,0 +train_0718,-0.57479056,0.82126795,-1.78716339,1.85640513,0 +train_0719,1.88763887,0.35101805,1.48641965,1.60499586,0 +train_0720,1.21176555,-0.07293916,2.46517077,-0.36802910,0 +train_0721,-1.50004505,-1.53616727,1.60129358,0.53437694,0 +train_0722,0.25867011,-1.26585928,1.75220669,-1.93525557,0 +train_0723,-0.57998386,0.13623960,-0.22229018,0.17176841,0 +train_0724,-0.40059307,0.20880188,1.37074173,-1.09165738,0 +train_0725,-0.47054189,0.59807114,0.38005142,-0.19515261,0 +train_0726,-1.47708519,1.25615354,0.48396439,-0.54646755,0 +train_0727,2.23929189,-1.81371468,-0.00368361,-2.46187680,0 +train_0728,0.26696047,2.13828320,0.88352553,1.45247755,1 +train_0729,-1.19715982,-0.17606090,-1.79987176,-0.77181588,0 +train_0730,0.29701850,0.88378858,1.11658687,-2.22985505,0 +train_0731,-0.82831514,0.93618436,0.89403817,-1.51860203,0 +train_0732,-1.73484391,-1.35085284,-1.64754538,0.69521558,1 +train_0733,-2.07762817,0.64030659,1.33441111,1.76700483,0 +train_0734,0.75651996,0.83404696,-0.64108525,-1.70890773,0 +train_0735,-1.76504860,-1.85778331,-0.76639303,0.84893126,0 +train_0736,0.18664837,1.04206050,0.25760874,-1.42341468,0 +train_0737,-0.44558510,-1.72490998,1.67631412,0.74470173,0 +train_0738,-1.45579354,-0.43969235,-2.06820498,1.90380543,0 +train_0739,2.02608901,1.49652306,2.17045956,-0.70866678,0 +train_0740,-0.32156966,1.87724911,0.76786694,1.88293503,1 +train_0741,-1.51627616,2.16770985,2.17475769,-1.40590656,1 +train_0742,-1.39474080,1.25282131,0.81308575,2.22686007,0 +train_0743,1.93469352,1.54530966,0.54729768,2.33766893,1 +train_0744,-2.31686939,1.43564801,1.75779728,-2.10154585,0 +train_0745,2.10351262,2.15764647,2.32392585,1.86161005,1 +train_0746,-0.13999258,-0.48329104,-1.70768352,2.12912113,0 +train_0747,2.05681108,0.03391128,-0.10428678,2.40326546,0 +train_0748,-2.03081965,-0.97494804,1.31948553,-0.47246024,0 +train_0749,0.15907534,1.94964034,1.72557292,-1.01391329,0 +train_0750,-0.30780446,-1.93822400,0.57104890,-1.85285312,0 +train_0751,0.39403223,-1.18197963,1.83821412,1.33112263,0 +train_0752,-0.46396110,-0.83512830,-1.40599827,0.58375418,0 +train_0753,2.29805534,1.11380461,-0.96388414,-1.69995527,0 +train_0754,1.87755152,-0.86487694,-1.20584417,-2.33708425,0 +train_0755,1.67434439,1.49204905,-1.51220607,0.60847687,1 +train_0756,0.14239729,0.54686895,1.62349957,-0.15275225,0 +train_0757,1.26850855,1.99162303,-1.30496893,0.78388401,1 +train_0758,1.52723302,-0.59017574,-1.89393581,0.87888436,1 +train_0759,1.86014730,-1.22113983,-2.01382675,-1.11462137,1 +train_0760,0.00346972,1.41455756,2.02739484,2.03376359,0 +train_0761,1.80470313,2.04451324,1.79127490,0.52612335,1 +train_0762,1.25484937,-0.10767560,2.32984035,-0.07512666,0 +train_0763,2.04001469,1.84647103,1.75846453,-0.08126486,1 +train_0764,-0.52329634,-0.55705938,2.04900309,0.91895748,0 +train_0765,-0.13908760,0.83893627,0.70421227,1.91658349,0 +train_0766,-1.07101458,0.81733978,1.95033086,-0.10331917,0 +train_0767,-0.38335954,-1.63259369,-1.18570602,1.39608445,1 +train_0768,0.44393236,0.83386238,-1.45566520,-1.53375041,0 +train_0769,-0.66609926,1.58924817,0.05274197,-1.62990405,1 +train_0770,-2.30976422,-0.84720676,2.00602339,1.42978050,0 +train_0771,-2.18802935,-1.27534500,1.14359231,-0.69772317,0 +train_0772,1.95323692,-1.36787000,1.01416033,-0.54757482,0 +train_0773,1.38596309,2.31782894,-0.77582071,-1.98026129,1 +train_0774,-0.14215490,-0.02336217,0.67841388,-0.67736350,0 +train_0775,0.74009859,0.53523635,-2.12042578,0.41568335,1 +train_0776,2.42501963,2.38744690,1.74123755,-2.39163599,0 +train_0777,0.61652328,-1.96334695,2.06374705,0.13619603,1 +train_0778,-0.38290443,-1.61245819,-0.41667059,2.27293395,0 +train_0779,0.85446537,0.40867037,1.54584547,1.62905086,0 +train_0780,0.42075006,1.90101636,-1.75468896,-2.11003424,1 +train_0781,1.14409864,2.09829900,-1.21710179,0.90388632,1 +train_0782,0.57605480,1.96821321,1.45321653,-0.81509755,1 +train_0783,0.87855364,0.51320778,1.58281026,2.44837833,0 +train_0784,-1.98380545,-0.24971401,1.03202680,1.89453540,0 +train_0785,-0.44129353,-1.21265580,0.03793766,-0.85249766,0 +train_0786,2.10509254,-0.44362741,-2.24003470,-1.99381777,0 +train_0787,0.86665334,-1.79923709,-1.61107720,-1.01429092,1 +train_0788,-1.59854709,-0.20268684,-0.77874876,2.30963818,0 +train_0789,-0.70344772,1.23155843,-0.35119188,2.46544357,0 +train_0790,-0.03074980,0.22700938,-1.49216303,0.72062012,0 +train_0791,2.35336904,-2.25477139,1.45510290,1.02139101,1 +train_0792,-1.29976705,-0.91307756,-1.55733316,-1.43762561,1 +train_0793,2.11945468,-1.91965072,1.50817445,-2.02167251,0 +train_0794,0.53128748,-0.51332626,1.60463048,1.60565554,0 +train_0795,-1.84616038,1.80915289,1.89034252,1.44156082,0 +train_0796,-1.91182012,1.93825730,0.86653584,-0.57106088,1 +train_0797,0.18081058,1.30672954,-0.90275792,2.44760470,0 +train_0798,1.84597953,-1.99806367,1.14945606,0.98968850,1 +train_0799,-1.99194424,-1.06267434,-1.64064033,1.79978703,0 +train_0800,-0.49541901,-1.53573571,0.37175583,-1.15316191,0 +train_0801,-1.65170176,-2.06721386,1.74655161,1.51899929,0 +train_0802,-0.54971111,-1.60416888,0.96502169,0.45814332,0 +train_0803,2.13808906,-1.98981032,1.71740150,2.33306645,1 +train_0804,0.20174085,0.38295644,-1.58441317,-0.06543373,1 +train_0805,-0.28209133,-1.88182352,1.52958671,-2.03842563,0 +train_0806,1.75789153,0.29125211,2.16640411,-1.13488972,0 +train_0807,1.57498611,1.58435131,2.43061241,-1.16799182,0 +train_0808,0.05814629,1.26642729,0.55667406,1.98278786,0 +train_0809,-2.00875234,-0.93276012,-1.30263496,-2.19064672,1 +train_0810,-2.38326438,-1.53656875,-0.30861993,-1.52234849,1 +train_0811,1.46333521,-1.00447695,2.29221756,-2.19736708,0 +train_0812,0.43921146,0.36954808,2.34309211,0.71415868,0 +train_0813,-0.59961885,2.18717172,0.27256262,-0.22969359,1 +train_0814,-1.09489067,1.76472002,0.68232054,1.48322060,0 +train_0815,1.35848030,0.18314279,-0.25759978,1.31598967,1 +train_0816,2.33345951,0.45386849,0.88973590,2.30140261,0 +train_0817,-2.14188050,1.72772218,0.57344189,2.08595501,0 +train_0818,0.31484571,0.47496936,0.93570237,-1.78062407,0 +train_0819,-0.34268222,-0.44591330,2.40546253,-1.07460333,0 +train_0820,2.41478428,1.15771267,1.99708434,-2.18061037,0 +train_0821,0.96973613,-0.47192580,2.45232035,2.02446985,0 +train_0822,-0.64592920,1.13659892,1.23544752,-1.51053029,0 +train_0823,-1.27621028,1.64709551,-0.53544644,-1.50549614,1 +train_0824,1.14705046,1.65274077,-0.84206594,-0.58145507,1 +train_0825,2.48956455,-0.48239371,-0.94216118,-1.86533915,0 +train_0826,-1.45628664,0.90891201,1.72493103,-0.68266113,0 +train_0827,-1.35859933,-0.45398162,-1.02915370,1.79454181,0 +train_0828,1.69063229,1.29647362,0.78811567,0.76614738,1 +train_0829,2.31964955,-1.15220263,-1.54912461,-1.38767257,0 +train_0830,1.17089872,-0.29146103,2.27536441,-2.46264302,0 +train_0831,1.13562457,-2.01979391,-1.21332675,1.89719795,1 +train_0832,-0.29403050,-0.54589487,0.74072856,-2.16550442,0 +train_0833,-0.00583708,1.25973382,2.28330164,-2.41169823,0 +train_0834,-1.11802556,1.18146169,0.99022314,-0.71871481,0 +train_0835,2.03684360,-0.68057132,1.80563460,0.88610666,0 +train_0836,-1.45735918,-0.86760036,-2.23571642,1.67883996,0 +train_0837,-1.82328123,-1.82028969,-0.87738497,1.98972653,0 +train_0838,-2.33935365,0.04773069,2.24442084,1.92810481,0 +train_0839,-0.70642475,0.02973485,-1.49443482,2.34268149,0 +train_0840,1.25503495,1.31602602,1.33595020,-0.15290785,1 +train_0841,0.81376000,1.24537690,-1.93143071,-2.48992921,0 +train_0842,0.21631992,-0.05270860,-0.02287855,-0.65278640,0 +train_0843,0.56096896,-2.36479812,0.96486109,-2.23065297,1 +train_0844,-1.57606710,1.64068327,2.14068505,1.33274721,0 +train_0845,-0.31142177,1.41007751,2.49571954,1.55411650,0 +train_0846,-1.77876802,-1.05683043,-0.09428489,-1.43031394,0 +train_0847,-1.38212873,1.10631366,1.25994195,-2.15208128,0 +train_0848,-1.22369434,0.92529952,-1.32254822,0.76754777,0 +train_0849,-2.32585097,0.57533471,1.07013147,-1.01920005,0 +train_0850,0.19672796,0.79206933,-1.05626875,2.03511388,0 +train_0851,-1.05072263,-0.13301003,1.90854140,1.98331152,0 +train_0852,-1.45107745,0.42317286,1.98858470,0.82160115,0 +train_0853,1.00204775,0.49113382,0.09804284,-1.39180701,0 +train_0854,2.42848277,0.34202675,0.20290352,-1.74357951,0 +train_0855,-1.40310355,-2.34951530,0.21427066,0.57324367,1 +train_0856,0.21300668,0.49873156,1.97539863,1.41018728,0 +train_0857,1.60675234,-1.36387286,-1.44681700,0.40628571,1 +train_0858,-0.27274886,1.32386963,0.08888895,2.26839452,0 +train_0859,2.34510583,-0.17326622,2.38397302,2.03750779,0 +train_0860,-2.09560769,0.79043377,1.38319772,0.37671039,0 +train_0861,-1.17208859,-0.25774055,-1.75496716,2.25754787,0 +train_0862,-1.28665678,1.95852242,1.75679358,1.63756385,0 +train_0863,-0.24198348,1.16676523,2.34685171,-0.94908400,0 +train_0864,-2.03190818,0.20396019,1.98762904,2.37162249,0 +train_0865,2.30549823,-1.79712758,-0.99094128,1.84543480,1 +train_0866,-0.27219353,1.67439209,0.51528452,-1.41389805,0 +train_0867,0.32365873,-0.18423646,2.20036252,-0.20382947,0 +train_0868,-1.34407000,-0.54883981,-1.94457380,1.82602151,0 +train_0869,0.19474045,-0.51387280,-0.60830026,-1.11708839,0 +train_0870,-0.72645980,-1.54723900,-1.36248047,1.08700335,0 +train_0871,-2.08842511,-0.65230323,1.06006857,0.02819709,0 +train_0872,-1.28474867,-0.60475688,1.33462762,-0.90382716,0 +train_0873,-1.17710857,-0.06065744,-0.78599282,-1.12374645,0 +train_0874,1.96444075,1.11770444,0.81611772,-0.27913370,1 +train_0875,-1.17030911,2.43323855,-1.44794898,1.72857710,1 +train_0876,1.89763282,2.34759136,-0.37485369,-1.78758730,1 +train_0877,-0.84147599,-0.37770960,0.93468205,-2.02804732,0 +train_0878,-1.16011318,1.08327619,1.87934087,-2.39686631,0 +train_0879,-1.50814973,-2.21558832,0.50290510,-0.93633514,1 +train_0880,-2.27311687,-0.31304314,2.36703701,-0.63717742,0 +train_0881,-0.76541585,0.58043897,2.03013715,0.06875773,0 +train_0882,-0.73153697,0.45062814,-0.43484860,2.11737320,0 +train_0883,1.40455552,-1.35840927,-0.24205204,-2.18427889,0 +train_0884,-0.25917283,-1.36439557,0.70640996,-0.73469486,0 +train_0885,2.25299878,-0.46991126,-0.62538244,-1.92442923,0 +train_0886,-0.97860410,-1.74182907,1.91387894,1.23727340,0 +train_0887,-1.28064570,-0.57695840,-0.24830678,1.13927054,0 +train_0888,1.35029160,-1.21301168,-2.46759962,-0.63475204,1 +train_0889,2.26327289,0.42982009,-0.20247013,1.61138686,1 +train_0890,-1.47794389,-0.04299202,-0.49965759,0.87887788,0 +train_0891,-2.11310896,1.79568621,0.05517766,-1.96159291,1 +train_0892,1.04123508,0.50503667,-1.85847861,-0.83853539,1 +train_0893,0.20535908,1.06550443,0.36308159,-0.44614344,0 +train_0894,0.92390503,-1.61816907,1.44834214,-0.37921633,0 +train_0895,-0.15029524,1.90213351,-0.48378874,0.45221880,1 +train_0896,1.01897693,0.30979930,1.78502446,1.69020949,0 +train_0897,-1.50854501,0.82569494,2.27217237,-2.44235283,0 +train_0898,1.49378330,-0.96150166,0.64840584,2.49447560,1 +train_0899,1.87928713,-0.31198949,0.10338707,-1.59122652,0 +train_0900,0.54683825,-0.59818012,-0.67686770,0.27567728,0 +train_0901,-2.42426996,2.40684614,-1.69997393,-0.70388951,1 +train_0902,1.92241338,1.00481522,-1.77180243,-1.92220374,0 +train_0903,-1.60421608,-0.61525057,1.21886120,1.90496266,0 +train_0904,1.73765402,2.25069381,1.56556237,-2.03058655,0 +train_0905,0.40196387,0.65885552,-0.49341606,-0.55957453,1 +train_0906,-0.92971629,-1.19235918,1.62028701,-0.38537080,0 +train_0907,0.45163309,0.35064465,-0.03020385,1.05814043,0 +train_0908,1.61592504,-1.45848869,-0.32125826,1.86008542,1 +train_0909,0.81454681,-0.06209557,1.21372132,-0.09049404,0 +train_0910,0.56407292,0.96415777,-0.32624497,0.65388122,1 +train_0911,-1.66792197,2.24838453,-1.69642395,1.96825590,1 +train_0912,0.16163572,-1.09537263,-1.19497496,-1.90258271,0 +train_0913,-1.21924201,-1.42564473,-1.70772359,0.96057558,0 +train_0914,1.62518688,0.07825237,-2.04399215,0.45697527,1 +train_0915,-1.25148172,-0.04279974,0.47499965,-1.55561831,0 +train_0916,1.05138390,0.42256886,0.47755416,-1.44839284,0 +train_0917,1.67503315,-2.48124113,-0.53663467,-1.48531875,1 +train_0918,-0.53897943,-1.95105891,1.93303199,1.25583044,0 +train_0919,1.11378069,0.19847715,-2.05695540,2.31367407,1 +train_0920,-2.42614916,-2.43838888,1.72518698,-0.78965661,1 +train_0921,1.69518166,-0.43628492,-1.80697313,-1.83596305,0 +train_0922,0.06166523,-0.48881284,1.98554546,0.35188765,0 +train_0923,-1.51209485,-0.45612166,2.43964599,0.14220387,0 +train_0924,-1.32071316,-1.32221332,-0.17992424,1.32533869,0 +train_0925,2.28019820,-1.92065000,-1.35151492,0.62608842,1 +train_0926,-1.12910116,0.66776325,1.30403220,1.06027970,0 +train_0927,-0.55029101,-2.11209466,2.48616823,0.25094972,0 +train_0928,-1.28785764,-0.61874877,-0.17617437,-0.33451288,0 +train_0929,2.48484499,-0.02782143,-1.46667498,-1.23200041,0 +train_0930,1.71071488,0.43185303,0.23961626,-1.91021913,0 +train_0931,-0.76901271,-1.23680480,0.20468847,1.43659199,0 +train_0932,1.51711218,0.25603758,1.37361150,-0.83858722,0 +train_0933,-1.11790498,0.72379511,1.50159336,-1.65003433,0 +train_0934,-0.90456919,-1.71825920,0.68082565,0.56108794,0 +train_0935,0.47451731,2.26594675,-0.62256778,-1.67401335,1 +train_0936,1.81687848,-0.58747763,-1.30089910,-2.10544462,0 +train_0937,1.33815839,-0.34319485,1.31008614,-0.12547341,0 +train_0938,2.23937483,-2.23460617,-0.55379994,1.75444003,1 +train_0939,-1.50460455,2.15499926,0.95441901,2.26083335,0 +train_0940,-1.73847477,0.36161426,-2.28317180,1.26169125,0 +train_0941,-0.48642510,-2.14632011,-1.61026462,0.64178958,1 +train_0942,-0.62436016,-2.42858959,0.44148523,1.30459114,1 +train_0943,-0.50142421,0.24076476,-0.63929111,2.14048871,0 +train_0944,-0.72662284,1.48010118,0.49627567,-1.25197948,0 +train_0945,-0.62730693,-1.95027371,2.38564798,0.50700070,0 +train_0946,-1.82974720,0.60826966,1.38979385,0.78159891,0 +train_0947,0.46760710,-0.49488716,1.49125010,-0.97847912,0 +train_0948,0.07510129,1.05391847,0.36407866,-2.48575137,0 +train_0949,-2.22811980,1.57400079,0.41215217,2.29482781,0 +train_0950,-1.37721858,-2.00801102,-1.09747680,-1.09141286,1 +train_0951,1.71017633,-0.66259974,1.28437931,-0.29548988,0 +train_0952,-0.32805977,-0.17796978,1.93036065,0.99053591,0 +train_0953,-1.89417717,0.53995562,2.47684822,-0.64312253,0 +train_0954,-0.34012266,-1.35753346,0.89808686,-2.44138027,0 +train_0955,-1.40232567,-0.92309339,1.55701863,-1.26518772,0 +train_0956,0.25520922,-1.89028066,1.57716615,2.44832293,0 +train_0957,1.06824389,-0.94925084,2.36906638,0.03933833,0 +train_0958,-2.31880825,-0.41177786,-1.60379694,2.01255966,0 +train_0959,-0.75771362,0.10778463,2.47259218,-0.62632341,0 +train_0960,-0.92892819,-1.31638873,-1.48165665,1.48804143,0 +train_0961,-0.11178245,-1.10001449,-1.66407392,1.86066804,0 +train_0962,-0.57587173,0.81513325,2.33720024,-0.34269658,0 +train_0963,-0.56609079,0.53126603,-0.86729581,1.72911129,0 +train_0964,0.53549370,-1.27783195,-2.49968309,-0.08255794,1 +train_0965,0.39351772,-0.57335266,-0.24001906,-0.64016572,1 +train_0966,1.58152133,1.28320395,-1.62428340,-1.84915474,0 +train_0967,0.77354126,0.02815355,-0.51504454,2.22077484,0 +train_0968,2.01147873,1.15101644,0.09431044,-1.04414380,0 +train_0969,2.11598619,1.53820709,0.98672997,-1.26775014,0 +train_0970,-0.54878386,-0.10553641,-1.24840279,0.26239613,0 +train_0971,0.38997001,-1.29106068,-0.49344061,2.34289078,0 +train_0972,0.99691964,-1.49551159,1.90522454,-0.32831165,0 +train_0973,0.18088914,-1.52419974,0.10027428,-2.49061917,0 +train_0974,2.21027446,-1.08092918,0.25244126,-2.38853978,0 +train_0975,1.26672836,0.45547773,1.56691049,1.31516129,0 +train_0976,1.00469274,1.97764304,0.15187662,-1.86452732,1 +train_0977,0.83566639,1.03132410,2.28424205,-2.00453653,0 +train_0978,-0.06325355,0.93132552,-0.63170863,0.55635850,0 +train_0979,-1.66106352,1.60931843,1.61325835,1.24710307,0 +train_0980,-0.58173144,2.40442655,1.49764523,1.21619963,1 +train_0981,0.31956389,1.56251513,-1.33448959,2.24532506,0 +train_0982,-0.45877541,-0.14704730,-0.45699009,-0.90047778,0 +train_0983,-1.44391910,0.58614275,-1.24951966,2.03310704,0 +train_0984,1.64224828,0.53770441,-0.20737344,-1.34011520,0 +train_0985,2.21524098,-1.66916567,0.35116584,0.74280600,1 +train_0986,-0.95866819,1.73255910,-2.26148354,-0.31952917,1 +train_0987,-2.29560935,-0.90203527,2.26336733,-0.57386768,0 +train_0988,-0.89745987,-1.29085310,-0.28186214,0.82186597,0 +train_0989,-2.14121170,-2.08107654,-0.69733788,-2.36366536,1 +train_0990,-1.52190215,0.52131097,1.27704438,1.34088665,0 +train_0991,-1.95741275,-2.19411279,-1.87804580,-1.39587579,1 +train_0992,1.36739808,0.69827409,2.07113931,-1.50857801,0 +train_0993,-1.73288553,1.07471206,0.26806354,-0.82024106,0 +train_0994,-0.55211987,-0.31936131,-1.96646207,1.44061236,0 +train_0995,-2.42483691,0.74435575,2.12751699,0.83714047,0 +train_0996,-0.43043466,-1.24748515,-0.94775360,-1.94737635,0 +train_0997,1.64195261,-1.22110751,2.30106368,1.62206863,0 +train_0998,-1.93384417,-0.54440408,2.24002129,1.08509235,0 +train_0999,1.11876022,1.17264887,1.01849562,-1.13105358,0 +train_1000,-0.78850586,-1.39683225,-2.31394731,2.02073576,0 diff --git a/Lab2/entrega/curva_umbral.png b/Lab2/entrega/curva_umbral.png new file mode 100644 index 0000000000000000000000000000000000000000..12da04e3032cb4c430c48405f3cc9c3209623965 GIT binary patch literal 22526 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 FKLO9ZHW2^- literal 0 HcmV?d00001 diff --git a/Lab2/entrega/curvas_entrenamiento.png b/Lab2/entrega/curvas_entrenamiento.png new file mode 100644 index 0000000000000000000000000000000000000000..6a19c2603fcc87115d3d58893f5db8957f21c61c GIT binary patch literal 52227 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 literal 0 HcmV?d00001 diff --git a/Lab2/entrega_solucion/modelo_elegido.npz b/Lab2/entrega_solucion/modelo_elegido.npz new file mode 100755 index 0000000000000000000000000000000000000000..4845995fce3ae607b249999d5e8c3e832aa04ff1 GIT binary patch literal 14062 zcmd73c{r8d*FTP=455JrDWamNgd)Qt$t;p6C6qDBR1qpg6b*!wG4qfq^SBPjJf7p2 z=b0oDl??fvp3l4I`+VM?=a1j@egE^_*Y&#AeeU~y-S=60uf5m0_g-5|Z4JFJ&A$pS zOHOtr|(d{41@ & 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 literal 0 HcmV?d00001 diff --git a/Lab2/generar_datos.py b/Lab2/generar_datos.py new file mode 100755 index 0000000..b499187 --- /dev/null +++ b/Lab2/generar_datos.py @@ -0,0 +1,54 @@ +"""Genera los datos públicos y privados del laboratorio de forma reproducible.""" +from __future__ import annotations +import csv +from pathlib import Path +import numpy as np + +SEMILLA = 20260815 +COLUMNAS = ("id", "x1", "x2", "x3", "x4", "etiqueta") + +def ecuacion_analitica(x, error): + x1, x2, x3, x4 = x.T + puntuacion = np.sin(1.25*x1) + 0.72*x2**2 - 0.78*x3 + 0.42*x1*x4 - 0.28*x4**2 + error + return (puntuacion > 0.82).astype(np.int64) + +def muestra_por_clase(rng, negativos, positivos): + pendientes = {0: negativos, 1: positivos} + xs, ys = [], [] + while any(pendientes.values()): + x = rng.uniform(-2.5, 2.5, size=(600, 4)) + y = ecuacion_analitica(x, rng.normal(0.0, 0.48, size=600)) + for clase in (0, 1): + indice = np.flatnonzero(y == clase)[:pendientes[clase]] + if len(indice): + xs.append(x[indice]); ys.append(y[indice]); pendientes[clase] -= len(indice) + x, y = np.concatenate(xs), np.concatenate(ys) + orden = rng.permutation(len(y)) + return x[orden], y[orden] + +def guardar(ruta, x, y, prefijo): + ruta.parent.mkdir(parents=True, exist_ok=True) + with ruta.open("w", encoding="utf-8", newline="") as archivo: + escritor = csv.writer(archivo); escritor.writerow(COLUMNAS) + for n, (fila, etiqueta) in enumerate(zip(x, y), 1): + escritor.writerow([f"{prefijo}_{n:04d}", *[f"{z:.8f}" for z in fila], int(etiqueta)]) + +def main(): + raiz = Path(__file__).resolve().parent + rng = np.random.default_rng(SEMILLA) + x, y = muestra_por_clase(rng, 750, 250) + guardar(raiz/"datos_publicos"/"train_1000_desbalanceado.csv", x, y, "train") + ejemplo = raiz/"datos_publicos"/"ejemplo_entrada_inferencia.csv" + with ejemplo.open("w", encoding="utf-8", newline="") as archivo: + escritor = csv.writer(archivo) + escritor.writerow(("id", "x1", "x2", "x3", "x4")) + for n, fila in enumerate(x[:12], 1): + escritor.writerow([f"ejemplo_{n:04d}", *[f"{z:.8f}" for z in fila]]) + x, y = muestra_por_clase(rng, 100, 100) + guardar(raiz/"instructor_privado"/"test_200_balanceado.csv", x, y, "test") + (raiz/"datos_publicos"/"README.md").write_text("# Datos públicos\n\nEl archivo train_1000_desbalanceado.csv contiene 1,000 ejemplos: 750 de la clase 0 y 250 de la clase 1. Las entradas son x1, x2, x3 y x4; etiqueta es el objetivo.\n", encoding="utf-8") + (raiz/"instructor_privado"/"README.md").write_text("# Material privado del instructor\n\nNo compartir test_200_balanceado.csv. Tiene 200 ejemplos exactamente balanceados, 100 por clase, para la evaluación final.\n", encoding="utf-8") + print("Datos generados: train=1000 (750/250); test privado=200 (100/100).") + +if __name__ == "__main__": + main() diff --git a/Lab2/instructor_privado/README.md b/Lab2/instructor_privado/README.md new file mode 100755 index 0000000..831243b --- /dev/null +++ b/Lab2/instructor_privado/README.md @@ -0,0 +1,3 @@ +# Material privado del instructor + +No compartir test_200_balanceado.csv. Tiene 200 ejemplos exactamente balanceados, 100 por clase, para la evaluación final. diff --git a/Lab2/instructor_privado/artefactos/curvas_solucion.png b/Lab2/instructor_privado/artefactos/curvas_solucion.png new file mode 100755 index 0000000000000000000000000000000000000000..e581b530cda23a775590c2524539cb6ef239855f GIT binary patch literal 99831 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 adzq~=UvhJ&*9{836ptv&#~r$S^M3#=?tG#E literal 0 HcmV?d00001 diff --git a/Lab2/instructor_privado/artefactos/modelo_mejor.npz b/Lab2/instructor_privado/artefactos/modelo_mejor.npz new file mode 100755 index 0000000000000000000000000000000000000000..5edad689146d4db354698fd48ba2c47c98448dac GIT binary patch literal 8174 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 literal 0 HcmV?d00001 diff --git a/Lab2/instructor_privado/artefactos/resumen_solucion.json b/Lab2/instructor_privado/artefactos/resumen_solucion.json new file mode 100755 index 0000000..1af3a96 --- /dev/null +++ b/Lab2/instructor_privado/artefactos/resumen_solucion.json @@ -0,0 +1,66 @@ +{ + "split": { + "train": 800, + "dev": 200, + "clase_1_train": 200, + "clase_1_dev": 50 + }, + "candidatos": [ + { + "arquitectura": { + "tipo": "mlp", + "entrada": 4, + "ocultas": [ + 32, + 16 + ] + }, + "costo_dev": 41, + "umbral_dev": 0.4049999999999999, + "accuracy_dev": 0.895, + "precision_dev": 0.7377049180327869, + "recall_dev": 0.9, + "f1_dev": 0.8108108108108109 + }, + { + "arquitectura": { + "tipo": "mlp_residual_bn", + "entrada": 4, + "ancho": 32 + }, + "costo_dev": 48, + "umbral_dev": 0.05, + "accuracy_dev": 0.84, + "precision_dev": 0.6216216216216216, + "recall_dev": 0.92, + "f1_dev": 0.7419354838709677 + } + ], + "mejor": { + "arquitectura": { + "tipo": "mlp", + "entrada": 4, + "ocultas": [ + 32, + 16 + ] + }, + "costo_dev": 41, + "umbral_dev": 0.4049999999999999, + "accuracy_dev": 0.895, + "precision_dev": 0.7377049180327869, + "recall_dev": 0.9, + "f1_dev": 0.8108108108108109 + }, + "evaluacion_privada": { + "tp": 85, + "fp": 13, + "fn": 15, + "tn": 87, + "accuracy": 0.86, + "precision": 0.8673469387755102, + "recall": 0.85, + "especificidad": 0.87, + "f1": 0.8585858585858585 + } +} \ No newline at end of file diff --git a/Lab2/instructor_privado/test_200_balanceado.csv b/Lab2/instructor_privado/test_200_balanceado.csv new file mode 100755 index 0000000..1f0f4bc --- /dev/null +++ b/Lab2/instructor_privado/test_200_balanceado.csv @@ -0,0 +1,201 @@ +id,x1,x2,x3,x4,etiqueta +test_0001,-1.45329337,-0.80200976,1.29580787,1.22693757,0 +test_0002,-0.52045331,-0.68697770,-1.40199533,1.54980569,0 +test_0003,-0.09167948,-1.15753259,-1.23926112,-2.05578252,0 +test_0004,-0.95562309,2.23947848,-0.97812000,-0.37391722,1 +test_0005,1.34148897,1.01976166,-1.83249406,1.26312340,1 +test_0006,-0.60382765,-0.42498739,1.22335123,-0.31705208,0 +test_0007,0.18621612,0.41779976,-2.14357433,-2.17898694,1 +test_0008,2.11219013,2.16090114,1.16426707,-1.84287756,0 +test_0009,0.82408644,-2.18348522,1.39197130,-2.01817722,1 +test_0010,-0.68030530,-2.23125657,-2.08941012,1.74167698,1 +test_0011,-2.35824483,-1.28573773,1.29431772,-0.20780914,0 +test_0012,2.11852923,-2.36071958,0.70308976,0.18373273,1 +test_0013,-1.67552723,1.95656447,2.18541988,-1.92263682,0 +test_0014,-0.20424576,2.00422273,2.41835481,0.82287635,0 +test_0015,1.62452182,-2.19005084,0.44618990,0.99007682,1 +test_0016,1.73397093,0.66315434,0.71497331,0.97717974,0 +test_0017,-2.36006033,0.42995369,-2.19505378,-0.31249831,1 +test_0018,1.69117922,-1.88231376,-0.55647826,-2.48874896,1 +test_0019,2.26095193,2.01167391,-1.98860354,-1.30947931,1 +test_0020,-2.08186391,0.80842148,-0.71459713,-1.17981069,1 +test_0021,0.60296969,1.05032325,-1.19790752,-2.24469607,0 +test_0022,0.06976761,-1.26603746,0.97647176,1.16616602,0 +test_0023,-2.16865011,-0.45891806,-1.28671892,0.66225600,0 +test_0024,0.49667051,-1.67151035,-1.03456036,-0.44059422,1 +test_0025,1.03159092,-2.40759248,-1.18394129,-1.25790615,1 +test_0026,1.57952323,-1.07244028,-2.43149390,0.63345346,1 +test_0027,0.13735245,-0.43567881,-0.54721837,-1.70363302,0 +test_0028,-1.90781183,-0.88389181,-0.34347431,1.96026037,0 +test_0029,0.96159706,1.91297323,1.90110582,-1.28053751,1 +test_0030,-2.26873577,1.98767750,-2.23958875,0.64968906,1 +test_0031,-2.00316907,0.71745776,0.86613662,1.76053487,0 +test_0032,-2.45578718,-0.13125501,1.96488336,-1.84651659,0 +test_0033,-0.67572968,-0.06126132,1.42320774,0.02233957,0 +test_0034,1.32482990,2.44076184,0.32482658,1.29013522,1 +test_0035,0.24476376,0.36764926,0.22911212,1.43762596,0 +test_0036,0.54969604,-2.13096766,1.10118906,0.42006305,1 +test_0037,-0.26726884,-1.54382713,-1.44717731,-0.92288292,1 +test_0038,1.40974942,0.58111562,1.00359615,-0.47467149,0 +test_0039,0.24965433,-0.98576518,0.10741817,-2.42164401,0 +test_0040,-2.16194096,-2.07738078,0.36869224,1.89891176,0 +test_0041,-0.06726050,-0.22152113,2.23315436,1.87187572,0 +test_0042,0.45718322,-1.90091108,1.57001435,-1.65792686,0 +test_0043,-2.18459398,1.20082129,-0.77987085,-1.37370548,1 +test_0044,-1.59159843,1.30176166,2.34034269,-2.01184840,0 +test_0045,2.25388348,-1.64404019,-1.91145566,2.42391413,1 +test_0046,2.16611394,-1.48313696,-0.36738261,0.64232959,1 +test_0047,-0.31113493,1.69809874,2.36299659,-0.48603705,0 +test_0048,-1.24941210,-0.28803499,-0.86646972,-0.19631142,0 +test_0049,-1.94501563,-2.41616468,2.07088800,-1.95012774,1 +test_0050,-1.83257121,-0.88768063,-1.98256403,-0.29783165,1 +test_0051,0.16047757,-1.25975942,1.61511934,-0.74494231,0 +test_0052,2.31577261,1.18243490,-1.80013917,1.00554226,1 +test_0053,-1.09179959,-0.36923188,-1.23969889,2.25487871,0 +test_0054,-0.14822303,-0.95022517,-2.36470503,-1.84141731,1 +test_0055,1.77175207,-0.33538042,-2.05550804,-0.01691591,1 +test_0056,0.19813051,2.17931603,2.10657280,-2.14620972,0 +test_0057,-0.39470845,1.16613610,-1.13228061,-0.54310162,1 +test_0058,-0.14970876,0.89414771,0.40800137,1.58418574,0 +test_0059,2.49857886,-0.04437076,0.61949553,-0.03382795,0 +test_0060,0.83732642,-0.48623062,-1.97966632,1.30435953,1 +test_0061,1.55460215,2.32672323,1.74610970,0.74218193,1 +test_0062,1.78819140,0.59594612,0.85060473,-1.91082888,0 +test_0063,-2.14346879,2.47045733,-2.44238526,-1.46627921,1 +test_0064,2.38806503,-1.08699012,1.60109508,-2.40569650,0 +test_0065,0.59316658,-0.16780638,-0.67948597,-1.07304932,0 +test_0066,-2.24844187,0.73646848,-0.75090338,-2.16317527,1 +test_0067,2.03343004,1.96296342,-1.12705154,-0.79836152,1 +test_0068,1.63543612,0.90086255,2.10038823,0.27145194,0 +test_0069,2.30425516,-1.42251118,1.03950495,2.12923819,0 +test_0070,-1.90434601,-0.56559933,-0.68051150,-2.04794981,0 +test_0071,0.16933848,-1.45869995,0.95382899,0.07099242,1 +test_0072,-0.62419535,-1.84917292,-0.13990795,-2.33577645,0 +test_0073,0.92333651,-2.40842454,1.50109107,-1.38579681,1 +test_0074,-1.69447584,0.02847724,0.38192945,-2.11056830,0 +test_0075,0.09334503,0.30772728,-0.03146323,-2.05359311,0 +test_0076,0.01358586,-2.28170631,2.42432526,1.85723762,1 +test_0077,-1.19217760,1.91295366,-0.98624024,-0.70372065,1 +test_0078,0.67059249,0.81869234,-0.09079115,-0.09327915,0 +test_0079,-1.35376536,-0.44382773,-0.94712589,1.78565187,0 +test_0080,-0.60730785,-1.41680375,0.08145395,-1.36936940,0 +test_0081,2.35699375,0.78325978,-1.80833117,0.72802736,1 +test_0082,0.63086133,-1.49935097,-1.70914798,1.44214895,1 +test_0083,-2.42748607,0.85924177,-2.09692344,0.22377841,1 +test_0084,-1.31325624,-1.93071210,-0.09472675,0.68914311,0 +test_0085,1.23908276,0.98596048,2.21314844,0.65154351,1 +test_0086,0.14961595,-0.24398627,-0.45056574,-0.42777022,0 +test_0087,1.25871123,0.60615861,-0.69371829,-0.59495777,0 +test_0088,-0.91227054,0.69118054,2.02635968,1.77828215,0 +test_0089,-0.83869894,0.76593256,-0.49577409,-0.43492475,0 +test_0090,-1.66530589,2.44910222,-1.57113334,0.73054060,1 +test_0091,-1.89585896,2.40074559,0.07165437,-2.24429887,1 +test_0092,-1.74167063,-0.83882977,0.47400933,1.86572658,0 +test_0093,-0.49298474,1.03984063,-1.14411905,0.59369068,0 +test_0094,-1.67642716,-2.10752991,1.89351133,-0.91951711,0 +test_0095,2.11585366,-0.18961527,0.74863511,0.77890455,1 +test_0096,0.29991196,-1.96098617,1.48007879,2.48250993,0 +test_0097,-0.11910194,-0.47242821,-2.24062159,-2.40340404,0 +test_0098,-0.98286999,1.08827497,0.01598984,0.23765656,0 +test_0099,-1.29372176,-0.34978669,-2.29364454,1.49697292,0 +test_0100,-0.90665183,1.13854694,0.47737863,1.50534383,0 +test_0101,1.75271206,-1.98582639,0.59173025,-2.25588044,0 +test_0102,0.91463402,0.49026878,1.62948890,-2.45095511,0 +test_0103,1.69123326,1.41298407,-2.01001064,-2.32060632,0 +test_0104,-1.67766279,-1.43435384,-2.11647264,2.49811505,0 +test_0105,-1.80144033,0.45373587,-2.16173209,-0.67985384,1 +test_0106,0.59391963,-1.99721464,-0.64362664,0.39148548,1 +test_0107,1.07519274,-1.02326075,1.07132256,-1.34998648,0 +test_0108,-1.61872105,-2.43797584,-1.98749349,2.03329457,1 +test_0109,-1.07774354,0.16030905,1.03025212,-0.86615910,0 +test_0110,-2.38347676,0.49667620,0.08810167,-0.34257172,0 +test_0111,-2.07833560,0.80057867,-0.96619428,-1.23069979,1 +test_0112,-1.58705044,-1.06636337,0.35707168,0.97993168,0 +test_0113,0.68680677,-0.43151628,-2.07827137,0.04313296,1 +test_0114,0.86882697,-1.41471475,-0.34521398,-2.23708502,0 +test_0115,-0.92371655,0.72933935,-1.84701534,-1.67426541,1 +test_0116,1.12927661,-2.20661759,-0.80473702,-0.92109921,1 +test_0117,0.75063499,-1.12182696,-1.87815189,-1.30570949,1 +test_0118,-1.54189110,-2.12068811,-0.03445788,2.19694536,0 +test_0119,1.41119451,2.28233921,1.36710184,0.03226869,1 +test_0120,1.12335658,0.92576543,2.20734014,-1.00702253,0 +test_0121,2.36918795,2.02651090,-2.13940262,2.21951023,1 +test_0122,1.24559857,2.21571139,-1.47016421,0.67513295,1 +test_0123,0.78132760,0.83636584,-1.49063294,-1.28601044,1 +test_0124,-0.42653483,-0.20226462,1.33822818,2.21708881,0 +test_0125,2.09229643,0.26185923,1.91241053,0.87587186,0 +test_0126,1.11645014,0.21659179,-1.53846650,-1.02953752,1 +test_0127,1.07644723,0.61617544,1.10957197,2.22305726,0 +test_0128,-0.53472017,1.74743289,0.43954259,0.91183298,1 +test_0129,2.06671301,-1.68453471,-2.49727568,-0.45354613,1 +test_0130,1.30846906,-2.09069057,-0.94337302,-1.38366153,1 +test_0131,-1.18821619,0.77820417,-0.44047102,0.71405693,0 +test_0132,1.00825620,1.37613516,-0.60049548,1.77367282,1 +test_0133,0.99924608,-0.46878608,1.25708870,-1.82238171,0 +test_0134,1.20923187,0.93323130,-1.07566606,-1.22741123,1 +test_0135,0.79048230,-0.58437966,-0.24593741,2.22256008,0 +test_0136,-0.78646328,0.29195737,1.05568528,0.95617044,0 +test_0137,-1.82975876,-1.79373133,0.19964861,0.26557118,1 +test_0138,0.07511816,-0.30160901,-1.70564546,1.27121744,1 +test_0139,1.82232529,0.84608299,1.48812937,0.63265312,0 +test_0140,1.48304154,-0.23175462,0.29458534,1.65723926,0 +test_0141,-1.89720659,1.03235315,-0.92870464,-2.41563946,1 +test_0142,0.70191777,1.57894788,-0.38920993,-1.31113691,1 +test_0143,2.12997911,0.25546600,-2.11885168,0.97053590,1 +test_0144,2.08125423,-1.97791338,-1.95593453,-1.43279258,1 +test_0145,-0.40414829,-0.93995837,2.21613817,-2.14350843,0 +test_0146,1.49730457,0.83614150,1.95774998,-2.04684336,0 +test_0147,0.31599577,-1.93663138,1.57165891,0.51237795,1 +test_0148,-1.12266380,-1.98768988,1.05317509,-0.74157986,0 +test_0149,2.26349408,2.36703096,-1.36109186,-0.83638554,1 +test_0150,-0.30491254,1.32350843,0.29807829,0.61762198,1 +test_0151,-1.46195082,-0.74578199,0.85586293,2.41662407,0 +test_0152,-1.60419411,-0.45724031,0.85807840,1.59964163,0 +test_0153,0.64099480,-0.73794623,-0.49725863,-0.72711901,1 +test_0154,0.74989823,-2.49668144,0.62910560,-0.77756842,1 +test_0155,0.39371566,-1.92057879,-2.19428423,-1.19302672,1 +test_0156,-1.05778903,1.08420919,2.27326487,0.98267644,0 +test_0157,2.40272972,1.57968001,1.23816567,-0.71726643,1 +test_0158,-1.05083206,-1.80725526,-0.35338123,1.71865559,0 +test_0159,-0.76141960,1.87287015,-1.64402836,0.58223314,1 +test_0160,-2.13074779,-0.00527227,-0.61736199,1.17297520,0 +test_0161,1.20382148,-2.18899859,0.17091663,1.91215298,1 +test_0162,0.77711986,0.23372772,-0.05422450,-1.59924184,0 +test_0163,1.50260590,-1.83434449,1.37518338,2.24123250,1 +test_0164,0.25640917,1.13031102,-1.51621878,2.34800905,1 +test_0165,0.27086379,-1.30615157,1.20917386,2.20912214,0 +test_0166,0.05868963,-0.43013314,1.87917447,1.51617368,0 +test_0167,-2.11811078,0.31449053,0.99168714,1.25147560,0 +test_0168,-2.39563199,2.24448153,0.78142293,-1.16573941,1 +test_0169,0.75088988,-0.69924804,-2.46954844,0.74754928,1 +test_0170,2.40373350,-0.06562730,1.71760271,-1.11570584,0 +test_0171,-0.22564064,2.45758864,1.28116831,-0.62193694,1 +test_0172,-2.20774481,1.29075955,-1.18379939,-0.20688917,1 +test_0173,-0.98214541,-1.32743540,-2.29362761,1.57875279,1 +test_0174,0.95545335,-2.22974060,-0.17911193,2.19598009,1 +test_0175,0.88527144,1.16625925,2.09386271,0.18397893,0 +test_0176,-0.52440010,1.11472336,-2.45654324,2.36389928,0 +test_0177,-0.47091838,0.03147500,-1.06883465,-2.23172693,0 +test_0178,-1.44209585,-1.66102789,-1.04403717,0.04743861,1 +test_0179,-0.75338703,-1.66413783,-1.88477911,2.18903776,1 +test_0180,2.10103457,1.07289588,-1.27030198,-0.40487401,1 +test_0181,0.85153441,0.20044776,1.87882761,1.74996884,0 +test_0182,1.75927453,-1.75921244,1.74975537,-0.82601372,1 +test_0183,2.49907267,-2.44099830,-1.21443559,2.05344654,1 +test_0184,1.40000807,2.32155007,2.41148559,1.03830643,1 +test_0185,-1.89305872,-1.04720188,-1.47374211,-0.70848786,1 +test_0186,-2.37957805,-1.78963287,2.27290346,0.88734310,0 +test_0187,-0.78091976,1.02549252,1.76628950,-2.37799837,0 +test_0188,-0.86625762,-0.30128846,-0.89844486,-2.14972633,0 +test_0189,-1.82915165,0.61862172,2.16940618,0.20235168,0 +test_0190,-1.26064826,2.18851343,-0.29151919,-0.06185392,1 +test_0191,-1.85280012,1.44904159,-2.10045311,-0.62109544,1 +test_0192,-1.60477761,-1.74361636,-1.80323793,0.82332343,1 +test_0193,0.42713831,1.06727749,0.37919761,1.44867722,1 +test_0194,-1.32165112,-1.19786516,-1.98078520,-1.33092447,1 +test_0195,0.66067093,-0.59922476,0.22879934,1.94027287,0 +test_0196,0.04861905,0.88783688,0.61098210,-0.92653606,0 +test_0197,1.77209903,0.06586325,0.17907839,1.02733614,1 +test_0198,-0.92283097,-1.48616370,2.14012563,0.18272875,0 +test_0199,0.43965858,2.04316190,-2.22104418,0.74529927,1 +test_0200,1.31857489,-0.44833159,-1.31362535,0.75549619,1 diff --git a/Lab2/lib_modelos.py b/Lab2/lib_modelos.py new file mode 100755 index 0000000..edb6ead --- /dev/null +++ b/Lab2/lib_modelos.py @@ -0,0 +1,121 @@ +"""Implementación didáctica con NumPy de MLP, residual MLP+BN y selección.""" +from __future__ import annotations +import csv, json +from pathlib import Path +import numpy as np + +CARACTERISTICAS = ("x1", "x2", "x3", "x4") + +def cargar_csv(ruta, con_etiqueta=True): + with Path(ruta).open(encoding="utf-8", newline="") as archivo: filas = list(csv.DictReader(archivo)) + x = np.array([[float(f[c]) for c in CARACTERISTICAS] for f in filas]) + ids = [f["id"] for f in filas] + return (x, np.array([int(f["etiqueta"]) for f in filas]), ids) if con_etiqueta else (x, ids) + +def division_estratificada(y, proporcion_dev=0.20, semilla=17): + rng = np.random.default_rng(semilla); train=[]; dev=[] + for c in np.unique(y): + i = rng.permutation(np.flatnonzero(y == c)); n = round(len(i)*proporcion_dev) + dev.extend(i[:n]); train.extend(i[n:]) + return rng.permutation(train), rng.permutation(dev) + +def ajustar_estandarizador(x): + media=x.mean(0); desviacion=x.std(0) + return media, np.where(desviacion < 1e-12, 1.0, desviacion) + +def transformar(x, media, desviacion): return (x-media)/desviacion +def sigmoide(z): return 1/(1+np.exp(-np.clip(z, -40, 40))) + +def metricas(y, p, umbral=.5): + pred=(p>=umbral).astype(int); tp=int(((pred==1)&(y==1)).sum()); fp=int(((pred==1)&(y==0)).sum()) + fn=int(((pred==0)&(y==1)).sum()); tn=int(((pred==0)&(y==0)).sum()) + precision=tp/max(tp+fp,1); recall=tp/max(tp+fn,1); f1=2*precision*recall/max(precision+recall,1e-12) + return dict(tp=tp,fp=fp,fn=fn,tn=tn,accuracy=(tp+tn)/len(y),precision=precision,recall=recall,especificidad=tn/max(tn+fp,1),f1=f1) + +def buscar_umbral(y,p,costo_fn=5,costo_fp=1): + filas=[] + for t in np.linspace(.05,.95,181): + m=metricas(y,p,t); filas.append(dict(umbral=float(t),costo=costo_fn*m["fn"]+costo_fp*m["fp"],**m)) + return min(filas,key=lambda z:(z["costo"],-z["f1"])),filas + +def _bn_adelante(z, entrenando, media, var): + if entrenando: + mu=z.mean(0,keepdims=True); va=z.var(0,keepdims=True); media[:]=.9*media+.1*mu; var[:]=.9*var+.1*va + else: mu,va=media,var + inv=1/np.sqrt(va+1e-5); hat=(z-mu)*inv + return hat,(hat,inv) +def _bn_atras(d,c): + hat,inv=c; n=len(d) + return inv/n*(n*d-d.sum(0,keepdims=True)-hat*(d*hat).sum(0,keepdims=True)) + +class MLP: + arquitectura="mlp" + def __init__(self, entrada=4, ocultas=(32,16), semilla=0): + r=np.random.default_rng(semilla); ds=(entrada,)+tuple(ocultas)+(1,) + self.params={f"{v}{i}": (r.normal(0,np.sqrt(2/ds[i]),(ds[i],ds[i+1])) if v=="W" else np.zeros((1,ds[i+1]))) for i in range(len(ds)-1) for v in ("W","b")} + def forward(self,x,entrenando=True): + a=[x]; z=[]; h=x; n=len(self.params)//2-1 + for i in range(n): z.append(h@self.params[f"W{i}"]+self.params[f"b{i}"]); h=np.maximum(z[-1],0); a.append(h) + return h@self.params[f"W{n}"]+self.params[f"b{n}"],(a,z) + def probabilidad(self,x): return sigmoide(self.forward(x,False)[0]).ravel() + def perdida_y_gradiente(self,x,y,peso_positivo=1): + l,c=self.forward(x); yy=y[:,None]; w=np.where(yy==1,peso_positivo,1); p=sigmoide(l); d=(p-yy)*w/w.sum() + loss=np.sum(w*(np.maximum(l,0)-l*yy+np.log1p(np.exp(-np.abs(l)))))/w.sum(); a,z=c; n=len(self.params)//2-1; g={f"W{n}":a[-1].T@d,f"b{n}":d.sum(0,keepdims=True)}; dh=d@self.params[f"W{n}"].T + for i in range(n-1,-1,-1): + dz=dh*(z[i]>0); g[f"W{i}"]=a[i].T@dz; g[f"b{i}"]=dz.sum(0,keepdims=True); dh=dz@self.params[f"W{i}"].T + return float(loss),g + +class MLPResidualBN: + arquitectura="mlp_residual_bn" + def __init__(self,entrada=4,ancho=32,semilla=0): + r=np.random.default_rng(semilla); ini=lambda a,b:r.normal(0,np.sqrt(2/a),(a,b)) + self.params={"Win":ini(entrada,ancho),"bin":np.zeros((1,ancho)),"W1":ini(ancho,ancho),"b1":np.zeros((1,ancho)),"W2":ini(ancho,ancho),"b2":np.zeros((1,ancho)),"Wout":ini(ancho,1),"bout":np.zeros((1,1))} + self.media={k:np.zeros((1,ancho)) for k in ("in","1","2")}; self.var={k:np.ones((1,ancho)) for k in ("in","1","2")} + def forward(self,x,entrenando=True): + zi=x@self.params["Win"]+self.params["bin"]; ni,ci=_bn_adelante(zi,entrenando,self.media["in"],self.var["in"]); h0=np.maximum(ni,0) + z1=h0@self.params["W1"]+self.params["b1"]; n1,c1=_bn_adelante(z1,entrenando,self.media["1"],self.var["1"]); a1=np.maximum(n1,0) + z2=a1@self.params["W2"]+self.params["b2"]; n2,c2=_bn_adelante(z2,entrenando,self.media["2"],self.var["2"]); suma=h0+n2; h=np.maximum(suma,0) + return h@self.params["Wout"]+self.params["bout"],(x,ni,h0,n1,a1,n2,suma,h,ci,c1,c2) + def probabilidad(self,x): return sigmoide(self.forward(x,False)[0]).ravel() + def perdida_y_gradiente(self,x,y,peso_positivo=1): + l,c=self.forward(x,True); yy=y[:,None]; w=np.where(yy==1,peso_positivo,1); d=(sigmoide(l)-yy)*w/w.sum(); loss=np.sum(w*(np.maximum(l,0)-l*yy+np.log1p(np.exp(-np.abs(l)))))/w.sum() + x,ni,h0,n1,a1,n2,suma,h,ci,c1,c2=c; g={"Wout":h.T@d,"bout":d.sum(0,keepdims=True)}; ds=(d@self.params["Wout"].T)*(suma>0); dh0=ds.copy() + dz2=_bn_atras(ds,c2); g["W2"]=a1.T@dz2; g["b2"]=dz2.sum(0,keepdims=True); dn1=(dz2@self.params["W2"].T)*(n1>0) + dz1=_bn_atras(dn1,c1); g["W1"]=h0.T@dz1; g["b1"]=dz1.sum(0,keepdims=True); dh0+=dz1@self.params["W1"].T + dzi=_bn_atras(dh0*(ni>0),ci); g["Win"]=x.T@dzi; g["bin"]=dzi.sum(0,keepdims=True) + return float(loss),g + +def crear_modelo(a,semilla=0): + if a["tipo"]=="mlp": return MLP(a.get("entrada",4),tuple(a.get("ocultas",[32,16])),semilla) + if a["tipo"]=="mlp_residual_bn": return MLPResidualBN(a.get("entrada",4),a.get("ancho",32),semilla) + raise ValueError("Arquitectura desconocida") + +def entrenar(modelo,x,y,xd,yd,epocas=120,batch_size=64,learning_rate=.002,peso_positivo=None,semilla=0): + peso_positivo=peso_positivo or float((y==0).sum()/max((y==1).sum(),1)); r=np.random.default_rng(semilla); estado={k:[np.zeros_like(v),np.zeros_like(v)] for k,v in modelo.params.items()}; h={k:[] for k in ("loss_train","loss_dev","accuracy_dev","f1_dev")}; paso=0 + for e in range(epocas): + for inicio in r.permutation(np.arange(0,len(y),batch_size)): + ind=np.arange(inicio,min(inicio+batch_size,len(y))); _,g=modelo.perdida_y_gradiente(x[ind],y[ind],peso_positivo); paso+=1 + for k,v in modelo.params.items(): + m,s=estado[k]; m[:]=.9*m+.1*g[k]; s[:]=.999*s+.001*g[k]**2; v[:]-=learning_rate*(m/(1-.9**paso))/(np.sqrt(s/(1-.999**paso))+1e-8) + lt,_=modelo.perdida_y_gradiente(x,y,peso_positivo); ld,_=modelo.perdida_y_gradiente(xd,yd,peso_positivo); met=metricas(yd,modelo.probabilidad(xd)) + h["loss_train"].append(lt);h["loss_dev"].append(ld);h["accuracy_dev"].append(met["accuracy"]);h["f1_dev"].append(met["f1"]) + return h + +def buscar_hiperparametros(configs,x,y,xd,yd,semilla=0): + filas=[] + for i,c in enumerate(configs): + m=crear_modelo(c["arquitectura"],semilla+i); h=entrenar(m,x,y,xd,yd,**c["entrenamiento"],semilla=semilla+i); u,_=buscar_umbral(yd,m.probabilidad(xd),c.get("costo_fn",5),c.get("costo_fp",1)); filas.append(dict(configuracion=c,modelo=m,historia=h,**u)) + return min(filas,key=lambda z:(z["costo"],-z["f1"])),filas + +def guardar_modelo(ruta,modelo,arquitectura,media,desviacion): + ruta=Path(ruta);ruta.parent.mkdir(parents=True,exist_ok=True); d={f"param_{k}":v for k,v in modelo.params.items()};d.update(media=media,desviacion=desviacion,arquitectura_json=np.array(json.dumps(arquitectura))) + if isinstance(modelo,MLPResidualBN): + for k in modelo.media:d[f"media_bn_{k}"]=modelo.media[k];d[f"var_bn_{k}"]=modelo.var[k] + np.savez(ruta,**d) + +def cargar_modelo(ruta,arquitectura): + d=np.load(ruta,allow_pickle=False); m=crear_modelo(arquitectura) + for k in m.params:m.params[k][:]=d[f"param_{k}"] + if isinstance(m,MLPResidualBN): + for k in m.media:m.media[k][:]=d[f"media_bn_{k}"];m.var[k][:]=d[f"var_bn_{k}"] + return m,d["media"],d["desviacion"] diff --git a/Lab2/notebooks/inferencia_configurable.ipynb b/Lab2/notebooks/inferencia_configurable.ipynb new file mode 100755 index 0000000..4a44304 --- /dev/null +++ b/Lab2/notebooks/inferencia_configurable.ipynb @@ -0,0 +1,135 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Inferencia configurable\n", + "\n", + "Este notebook recibe un CSV con las columnas id, x1, x2, x3 y x4. Carga los pesos desde un diccionario que declara explícitamente la ruta y arquitectura, estandariza con los valores guardados y produce un CSV de predicciones.\n", + "\n", + "La ruta configurada por defecto es un artefacto del instructor. Para inferencia de estudiante, cambie ruta_pesos a su propio modelo exportado y mantenga una arquitectura coincidente.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Raíz del laboratorio: /home/aleleba/projects/cursos/Universidad/Procesamiento de Imagenes y Vision por Computadora/Labs/Lab2\n" + ] + } + ], + "source": [ + "from pathlib import Path\n", + "import sys\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "candidatos = [Path.cwd().resolve(), Path.cwd().resolve() / 'dist' / 'laboratorio_clasificacion', Path.cwd().resolve().parent]\n", + "RAIZ = next((ruta for ruta in candidatos if (ruta / 'lib_modelos.py').exists()), None)\n", + "if RAIZ is None:\n", + " raise FileNotFoundError('No se encontró la carpeta laboratorio_clasificacion.')\n", + "sys.path.insert(0, str(RAIZ))\n", + "print('Raíz del laboratorio:', RAIZ)\n", + "from lib_modelos import cargar_csv, cargar_modelo, transformar\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "CONFIG_MODELOS = {\n", + " 'referencia_instructor': {\n", + " 'ruta_pesos': RAIZ / 'instructor_privado' / 'artefactos' / 'modelo_mejor.npz',\n", + " 'arquitectura': {'tipo': 'mlp', 'entrada': 4, 'ocultas': [32, 16]},\n", + " 'umbral': 0.405,\n", + " },\n", + " # Modelo propio, exportado en la sección 6 de laboratorio_estudiante.ipynb:\n", + " 'mi_modelo': {\n", + " 'ruta_pesos': RAIZ / 'entrega' / 'modelo_elegido.npz',\n", + " 'arquitectura': {'tipo': 'mlp', 'entrada': 4, 'ocultas': [48, 24]},\n", + " 'umbral': 0.315,\n", + " },\n", + "}\n", + "NOMBRE_MODELO = 'mi_modelo'\n", + "RUTA_ARCHIVO = RAIZ / 'datos_publicos' / 'ejemplo_entrada_inferencia.csv'\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ejecución\n", + "\n", + "Cambie RUTA_ARCHIVO por el CSV recibido. No incluya la columna etiqueta: inferencia no requiere ni debe leer etiquetas.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Predicciones guardadas en: /home/aleleba/projects/cursos/Universidad/Procesamiento de Imagenes y Vision por Computadora/Labs/Lab2/datos_publicos/ejemplo_entrada_inferencia_predicciones.csv\n", + "Filas procesadas: 12\n" + ] + } + ], + "source": [ + "import csv\n", + "\n", + "config = CONFIG_MODELOS[NOMBRE_MODELO]\n", + "if not config['ruta_pesos'].exists():\n", + " raise FileNotFoundError(f\"No se encontraron los pesos: {config['ruta_pesos']}\")\n", + "if not RUTA_ARCHIVO.exists():\n", + " raise FileNotFoundError('Actualice RUTA_ARCHIVO con el archivo de entrada.')\n", + "\n", + "modelo, media, desviacion = cargar_modelo(config['ruta_pesos'], config['arquitectura'])\n", + "x, ids = cargar_csv(RUTA_ARCHIVO, con_etiqueta=False)\n", + "probabilidades = modelo.probabilidad(transformar(x, media, desviacion))\n", + "predicciones = (probabilidades >= config['umbral']).astype(int)\n", + "\n", + "salida = RUTA_ARCHIVO.with_name(RUTA_ARCHIVO.stem + '_predicciones.csv')\n", + "with salida.open('w', encoding='utf-8', newline='') as archivo:\n", + " escritor = csv.writer(archivo)\n", + " escritor.writerow(['id', 'probabilidad_clase_1', 'prediccion', 'umbral'])\n", + " for ident, p, pred in zip(ids, probabilidades, predicciones):\n", + " escritor.writerow([ident, f'{p:.8f}', int(pred), config['umbral']])\n", + "print('Predicciones guardadas en:', salida)\n", + "print('Filas procesadas:', len(ids))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Verificación de arquitectura\n", + "\n", + "Si se cambia el archivo de pesos, la entrada arquitectura debe coincidir exactamente con el modelo usado al guardarlo: tipo mlp y lista ocultas, o tipo mlp_residual_bn y ancho. El notebook falla de forma visible si las dimensiones son incompatibles.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.x" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Lab2/notebooks/laboratorio_estudiante.ipynb b/Lab2/notebooks/laboratorio_estudiante.ipynb new file mode 100755 index 0000000..e01db2f --- /dev/null +++ b/Lab2/notebooks/laboratorio_estudiante.ipynb @@ -0,0 +1,463 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "nm9eJW4JtsGr", + "metadata": { + "id": "nm9eJW4JtsGr" + }, + "source": [ + "# Laboratorio de clasificación tabular\n", + "\n", + "## Propósito\n", + "\n", + "Construya, compare y seleccione clasificadores binarios para un problema no lineal y desbalanceado. El único archivo de datos permitido durante desarrollo es datos_publicos/train_1000_desbalanceado.csv.\n", + "\n", + "El conjunto privado de 200 ejemplos no se entrega al estudiante. No lo use para ajustar la arquitectura, hiperparámetros, normalización ni umbral.\n", + "\n", + "## Reglas de calidad\n", + "\n", + "- Use una división estratificada fija de 800 ejemplos para entrenamiento y 200 para desarrollo.\n", + "- Ajuste cualquier transformación, incluidas media y desviación estándar, únicamente con entrenamiento.\n", + "- El entrenamiento tiene 75% de clase 0 y 25% de clase 1. Justifique cómo manejará el desbalance: peso de clase, métrica de selección y umbral.\n", + "- Compare exactamente estas familias: un MLP convencional y un MLP residual con Batch Normalization.\n", + "- Seleccione configuración y umbral usando exclusivamente desarrollo. Declare explícitamente los costos de falso negativo y falso positivo.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "luvf3DLZtsGs", + "metadata": { + "id": "luvf3DLZtsGs" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Raíz del laboratorio: /home/aleleba/projects/cursos/Universidad/Procesamiento de Imagenes y Vision por Computadora/Labs/Lab2\n" + ] + } + ], + "source": [ + "from pathlib import Path\n", + "import sys\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "candidatos = [Path.cwd().resolve(), Path.cwd().resolve() / 'dist' / 'laboratorio_clasificacion', Path.cwd().resolve().parent]\n", + "RAIZ = next((ruta for ruta in candidatos if (ruta / 'lib_modelos.py').exists()), None)\n", + "if RAIZ is None:\n", + " raise FileNotFoundError('No se encontró la carpeta laboratorio_clasificacion.')\n", + "sys.path.insert(0, str(RAIZ))\n", + "print('Raíz del laboratorio:', RAIZ)\n" + ] + }, + { + "cell_type": "markdown", + "id": "EH5B5dnztsGs", + "metadata": { + "id": "EH5B5dnztsGs" + }, + "source": [ + "## 1. Carga, auditoría y división 800/200\n", + "\n", + "Complete la siguiente celda. Verifique los tamaños y las proporciones de clase. La función division_estratificada preserva el 75/25 en ambas particiones.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4iZH4V99tsGs", + "metadata": { + "id": "4iZH4V99tsGs" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "800 200\n", + "0.25 0.25\n" + ] + } + ], + "source": [ + "from lib_modelos import (\n", + " cargar_csv,\n", + " division_estratificada,\n", + " ajustar_estandarizador,\n", + " transformar,\n", + ")\n", + "\n", + "# Único archivo de datos permitido durante el desarrollo.\n", + "x, y, ids = cargar_csv(RAIZ / 'datos_publicos' / 'train_1000_desbalanceado.csv')\n", + "\n", + "# División estratificada fija: 800 entrenamiento / 200 desarrollo,\n", + "# preservando la proporción 75 % clase 0 / 25 % clase 1 en ambas partes.\n", + "SEMILLA_DIVISION = 31\n", + "indice_train, indice_dev = division_estratificada(y, proporcion_dev=0.20, semilla=SEMILLA_DIVISION)\n", + "\n", + "# La media y la desviación estándar se ajustan SOLO con entrenamiento,\n", + "# para no filtrar información de desarrollo hacia el preprocesamiento.\n", + "media_entrenamiento, desviacion_entrenamiento = ajustar_estandarizador(x[indice_train])\n", + "\n", + "x_train = transformar(x[indice_train], media_entrenamiento, desviacion_entrenamiento)\n", + "x_dev = transformar(x[indice_dev], media_entrenamiento, desviacion_entrenamiento)\n", + "y_train, y_dev = y[indice_train], y[indice_dev]\n", + "\n", + "# Comprobaciones requeridas.\n", + "print(len(y_train), len(y_dev))\n", + "print(y_train.mean(), y_dev.mean())\n" + ] + }, + { + "cell_type": "markdown", + "id": "PIGc4mqFtsGs", + "metadata": { + "id": "PIGc4mqFtsGs" + }, + "source": [ + "## 2. Estrategia ante el desbalance\n", + "\n", + "Responda en esta celda:\n", + "\n", + "1. ¿Por qué accuracy sola no es suficiente?\n", + "2. ¿Qué peso positivo usará y cómo se calcula?\n", + "3. ¿Qué métrica y qué costo operacional usaría para elegir modelo y umbral?\n", + "\n", + "Luego calcule el peso positivo y escriba su valor.\n", + "\n", + "**Respuesta.**\n", + "\n", + "1. Accuracy sola no basta porque el conjunto está desbalanceado (75 % clase 0 / 25 % clase 1): un modelo que siempre prediga la clase 0 obtiene 75 % de accuracy con recall 0, es decir, nunca detecta la clase minoritaria.\n", + "2. Se usa `peso_positivo = negativos_train / positivos_train` (ver celda de código), que multiplica el costo de los errores sobre la clase 1 dentro de la BCE ponderada, compensando la proporción 3:1 de entrenamiento.\n", + "3. La selección de modelo y umbral usa el costo esperado en desarrollo `costo = costo_fn * FN + costo_fp * FP`, con `costo_fn = 5` y `costo_fp = 1` (un falso negativo cuesta cinco veces más que un falso positivo). Se reportan además precision, recall, F1, especificidad y accuracy para ver el desempeño por clase, no solo el global.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9vNYL7qItsGs", + "metadata": { + "id": "9vNYL7qItsGs" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Peso positivo: 3.0\n" + ] + } + ], + "source": [ + "# El entrenamiento tiene 75 % clase 0 / 25 % clase 1. Para que la pérdida\n", + "# BCE ponderada no ignore la clase minoritaria, el peso positivo se calcula\n", + "# como la razón negativos/positivos en entrenamiento (compensa 3:1).\n", + "peso_positivo = (y_train == 0).sum() / (y_train == 1).sum()\n", + "print('Peso positivo:', peso_positivo)\n" + ] + }, + { + "cell_type": "markdown", + "id": "Zr2LjQa9tsGt", + "metadata": { + "id": "Zr2LjQa9tsGt" + }, + "source": [ + "## 3. Dos arquitecturas\n", + "\n", + "La biblioteca incluye:\n", + "\n", + "- MLP: capas densas ReLU y salida logística.\n", + "- MLP residual con Batch Normalization: proyección de entrada, bloque residual y salida logística.\n", + "\n", + "Defina una configuración inicial para cada familia. Mantenga fija la dimensión de entrada en 4. Utilice por lo menos dos configuraciones para cada caso con 4 o 10 capas. Explore la configuración optima en la seleción de hiperparametros.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "TcI-ymgAtsGt", + "metadata": { + "id": "TcI-ymgAtsGt" + }, + "outputs": [], + "source": [ + "configuraciones = [\n", + " { # MLP angosto y poco profundo: referencia base.\n", + " 'arquitectura': {'tipo': 'mlp', 'entrada': 4, 'ocultas': [24, 16]},\n", + " 'entrenamiento': {'epocas': 100, 'batch_size': 64, 'learning_rate': 0.003},\n", + " 'costo_fn': 5, 'costo_fp': 1,\n", + " },\n", + " { # MLP más ancho: más capacidad, learning rate algo menor.\n", + " 'arquitectura': {'tipo': 'mlp', 'entrada': 4, 'ocultas': [48, 24]},\n", + " 'entrenamiento': {'epocas': 100, 'batch_size': 64, 'learning_rate': 0.002},\n", + " 'costo_fn': 5, 'costo_fp': 1,\n", + " },\n", + " { # Residual + BatchNorm angosto.\n", + " 'arquitectura': {'tipo': 'mlp_residual_bn', 'entrada': 4, 'ancho': 24},\n", + " 'entrenamiento': {'epocas': 100, 'batch_size': 64, 'learning_rate': 0.002},\n", + " 'costo_fn': 5, 'costo_fp': 1,\n", + " },\n", + " { # Residual + BatchNorm más ancho, learning rate menor para más estabilidad.\n", + " 'arquitectura': {'tipo': 'mlp_residual_bn', 'entrada': 4, 'ancho': 40},\n", + " 'entrenamiento': {'epocas': 100, 'batch_size': 64, 'learning_rate': 0.0015},\n", + " 'costo_fn': 5, 'costo_fp': 1,\n", + " },\n", + "]\n" + ] + }, + { + "cell_type": "markdown", + "id": "xmbqjNl5tsGt", + "metadata": { + "id": "xmbqjNl5tsGt" + }, + "source": [ + "## 4. Búsqueda de hiperparámetros\n", + "\n", + "Use buscar_hiperparametros. Pruebe al menos cuatro configuraciones en total: dos MLP y dos residuales. Registre en una tabla arquitectura, ancho/capas, learning rate, épocas, costo en desarrollo, F1, recall, precision y umbral.\n", + "\n", + "No modifique el conjunto de desarrollo después de mirar los resultados; elija una regla de selección antes de comparar.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "eTgo4ia-tsGt", + "metadata": { + "id": "eTgo4ia-tsGt" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "arquitectura capas/ancho lr epocas costo f1 recall precision umbral\n", + "mlp [24, 16] 0.003 100 43 0.715 0.980 0.563 0.050\n", + "mlp [48, 24] 0.002 100 43 0.796 0.900 0.714 0.315\n", + "mlp_residual_bn 24 0.002 100 55 0.686 0.940 0.540 0.060\n", + "mlp_residual_bn 40 0.0015 100 56 0.804 0.820 0.788 0.400\n", + "Configuración seleccionada: {'tipo': 'mlp', 'entrada': 4, 'ocultas': [48, 24]}\n" + ] + } + ], + "source": [ + "from lib_modelos import buscar_hiperparametros\n", + "\n", + "mejor, resultados = buscar_hiperparametros(\n", + " configuraciones, x_train, y_train, x_dev, y_dev, semilla=41,\n", + ")\n", + "\n", + "# Tabla compacta: una fila por configuración probada, ordenadas como se declararon.\n", + "encabezado = (\n", + " f\"{'arquitectura':<16}{'capas/ancho':<14}{'lr':>8}{'epocas':>8}\"\n", + " f\"{'costo':>8}{'f1':>7}{'recall':>8}{'precision':>10}{'umbral':>8}\"\n", + ")\n", + "print(encabezado)\n", + "for fila in resultados:\n", + " arquitectura = fila['configuracion']['arquitectura']\n", + " entrenamiento = fila['configuracion']['entrenamiento']\n", + " capas_o_ancho = arquitectura.get('ocultas', arquitectura.get('ancho'))\n", + " print(\n", + " f\"{arquitectura['tipo']:<16}{str(capas_o_ancho):<14}\"\n", + " f\"{entrenamiento['learning_rate']:>8}{entrenamiento['epocas']:>8}\"\n", + " f\"{fila['costo']:>8}{fila['f1']:>7.3f}{fila['recall']:>8.3f}\"\n", + " f\"{fila['precision']:>10.3f}{fila['umbral']:>8.3f}\"\n", + " )\n", + "print('Configuración seleccionada:', mejor['configuracion']['arquitectura'])\n" + ] + }, + { + "cell_type": "markdown", + "id": "_nMKEVfHtsGt", + "metadata": { + "id": "_nMKEVfHtsGt" + }, + "source": [ + "## 5. Curvas y decisión\n", + "\n", + "Grafique pérdida de train/dev y al menos una métrica de desarrollo. Seleccione el modelo con su criterio declarado. Después genere la curva de costo contra umbral, fije el mejor umbral y reporte la matriz de confusión y las métricas en desarrollo.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "vX0KAMj4tsGt", + "metadata": { + "id": "vX0KAMj4tsGt" + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAFlCAYAAADcVLhdAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAy29JREFUeJzs3Xd8U+X3wPFPundL6aKltFD2LBQpGxQQ2aAMFVkKTsSviApuUeTnQmQooixxMVUUBBFkyd67rEIp0FIo3bu5vz+eJm1oC21pm1LO+/XKK8nNzb1PiiY5ec5zjk7TNA0hhBBCCCGEEIWyMPcAhBBCCCGEEKKik8BJCCGEEEIIIW5DAichhBBCCCGEuA0JnIQQQgghhBDiNiRwEkIIIYQQQojbkMBJCCGEEEIIIW5DAichhBBCCCGEuA0JnIQQQgghhBDiNiRwEkIUyZYtW5g8eTLx8fHmHooQQgghRLmTwEmICmzkyJEEBgaaexhcuHCB/v374+zsjKur6x0da9OmTeh0OjZt2mTcVtTXef78eXQ6HQsXLryjMQghhLi7FPT+/95776HT6cw3KHHPkcBJVDhnz57lmWeeoVatWtjZ2eHi4kK7du348ssvSU1NNffw7jmZmZkMGTKEkSNH8vLLL5t7OEIIcU9auHAhOp3OeLGzs8PX15fu3bszY8YMEhMTzT1EISo9K3MPQIi8Vq9ezaBBg7C1tWX48OE0btyYjIwMtm3bxquvvsqxY8eYO3euuYd5Tzl27BiPPvooL730Upmd49tvv0Wv15fZ8YUQorKYPHkyNWvWJDMzk6ioKDZt2sT//vc/pk2bxqpVq2jatKm5hyhEpSWBk6gwwsPDefTRRwkICGDjxo1Uq1bN+NgLL7zAmTNnWL16damcKzk5GUdHx1I5VmUXHBxMcHBwkffXNI20tDTs7e2L/Bxra+sSjEwIIe49PXr0oGXLlsb7kyZNYuPGjfTu3Zu+ffty4sSJYr3/lrXCPm9L8lkhhLlJqp6oMD755BOSkpKYN2+eSdBkULt2beOsx63Wuuh0Ot577z3jfUMO9PHjx3n88cepUqUK7du357PPPkOn03HhwoV8x5g0aRI2NjbcuHEDgK1btzJo0CBq1KiBra0t/v7+vPzyy/lSB6Oiohg1ahTVq1fH1taWatWq0a9fP86fP3/b1//bb7/RuHFj7OzsaNy4Mb/++muB++n1eqZPn06jRo2ws7PD29ubZ555xjjWWxk5ciROTk6cO3eO7t274+joiK+vL5MnT0bTtBKdJzAwkN69e7Nu3TpatmyJvb0933zzDQCRkZH0798fR0dHvLy8ePnll0lPTy9wXDevcYqLi2PkyJG4urri5ubGiBEjiIuLy/fcw4cPM3LkSGNqp4+PD08++STXr1+/7d9DCCEqgwceeIC3336bCxcu8MMPPxi3nzx5koEDB+Lu7o6dnR0tW7Zk1apVJs/NzMzk/fffp06dOtjZ2VG1alXat2/P+vXrjfsU9X22sM9buPVnxblz5xg0aBDu7u44ODjQunXrEv9QmpWVxQcffEBQUBC2trYEBgbyxhtvFPjZI0RxyYyTqDD++OMPatWqRdu2bcvk+IMGDaJOnTp89NFHaJpG7969ee2111i6dCmvvvqqyb5Lly7lwQcfpEqVKgAsW7aMlJQUnnvuOapWrcru3buZOXMmkZGRLFu2zPi8Rx55hGPHjvHiiy8SGBjI1atXWb9+PREREbcsfvD333/zyCOP0LBhQ6ZOncr169eNAdjNnnnmGRYuXMioUaMYN24c4eHhzJo1iwMHDvDff//ddvYmOzubhx56iNatW/PJJ5+wdu1a3n33XbKyspg8eXKJzhMWFsZjjz3GM888w5gxY6hXrx6pqal06dKFiIgIxo0bh6+vL4sXL2bjxo23HB+oXyL79evHtm3bePbZZ2nQoAG//vorI0aMyLfv+vXrOXfuHKNGjcLHx8eYznns2DF27twpC4eFEPeEYcOG8cYbb/D3338zZswYjh07Rrt27fDz82PixIk4OjqydOlS+vfvz4oVKxgwYACggp2pU6cyevRoWrVqRUJCAnv37mX//v1069YNKP777M2ftwYFfVZER0fTtm1bUlJSGDduHFWrVmXRokX07duX5cuXG8dZVKNHj2bRokUMHDiQV155hV27djF16lROnDhR6A+SQhSZJkQFEB8frwFav379irR/eHi4BmgLFizI9xigvfvuu8b77777rgZojz32WL5927Rpo4WEhJhs2717twZo33//vXFbSkpKvudOnTpV0+l02oULFzRN07QbN25ogPbpp58W6TXkFRwcrFWrVk2Li4szbvv77781QAsICDBu27p1qwZoP/74o8nz165dW+D2m40YMUIDtBdf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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhwAAAFMCAYAAACAmGUWAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAV2pJREFUeJzt3XtU0/X/B/DnNu4IQ0CuoiAgoOIlScJLqaHm3eT785Jf81ZWaqZUGuX9npmRZVZWpt0sy7xkampfMQ0t8ZIXwBuKykURYdwv2+f3B+6jC1E2dmHj+Thn52yf216buL32vrzeEkEQBBAREREZkNTUARAREZHlY8JBREREBseEg4iIiAyOCQcREREZHBMOIiIiMjgmHERERGRwTDiIiIjI4KxMHUB9oFKpkJGRAScnJ0gkElOHQ0REZDYEQUBBQQF8fHwgldbcjsGEA0BGRgb8/PxMHQYREZHZunr1Kpo2bVrjfiYcAJycnABUvVnOzs4mjobMjaqoBJfbDAEA+J/eAqmjvWkDIiIyIoVCAT8/P/G7tCZMOACxG8XZ2ZkJB2lNJbOGk7Tqv5KzszMTDiJqkB42JIGDRomIiMjgmHAQERGRwbFLhaiOpI72CLz5h6nDICKq19jCQURERAbHhIOIiIgMjgkHUR2pSsuQNX42ssbPhqq0zNThEBHVS0w4iOpKqULR9v0o2r4fUKpMHAwRUf3EhIOIiIgMjrNUiIiITKi0Qom1By7hVlG5xvZGtlZ44YkWcLKzNlFk+sWEg4iIyIR2n8nCu3vO3XdfbnE5ljwdbuSIDIMJBxERkQlduVUMAGjj64zuLT0AAEXllVh36DI2/pWO/0Y2Rysf8192gwkHERGRCWXmlwAAngz1xPReLcXtNwrKsOOfTCz45Qy+e/6xh65VUt8x4SAiIjKhjLxSAICvi+bCj3F9Q7H3bDYOX8rFnK1n4OFkq/NzNHW1x5D2viZNWphwENWRxMEOAZd/E+8TEWkjI6+qhcPbRfPzo2ljB7zweAus+v0Cvjp8pc7PYy2TYkBbnzpfR1dMOIjqSCKRQMIl6YlIB4IgiAmHj0v1z5FJPYIgAMgpLK+2r7au3S7GH+dzsPTXFESHecLOWqbzteqCCQcREZGJKEorUVSuBAD4yKsnHHbWMrzaO6ROz1FSrsST7+7H9bwSfHrgEqY+GVyn6+mKhb+I6kgoK8eNKYtxY8piCGW6/wohooZHPWDUxcEa9jaGaXmwt5HhjX5hAIA1+y8iK7/UIM/zMEw4iOpIqFSi4PtdKPh+F4RKpanDISIzInan3Kd1Q58GtvVGRPPGKKlQ4u1dKQZ9rpqYNOE4cOAABg4cCB8fH0gkEmzZskVjvyAImDNnDry9vWFvb4/o6GicP39e45jc3FyMGjUKzs7OcHFxwYQJE1BYWGjEV0FERKQb9QwVHxfDDjiXSCSYM7AVQjyd8HQHX4M+V01MmnAUFRWhXbt2WL169X33L1++HKtWrcLHH3+MI0eOwNHREX369EFp6d3moFGjRuHMmTPYs2cPfvnlFxw4cAATJ0401ksgIiLS2YMGjOpb26Yu2PlKNzzesonBn+t+TDpotG/fvujbt+999wmCgPj4eMyaNQuDBw8GAGzYsAGenp7YsmULRowYgeTkZOzatQt///03IiIiAAAffPAB+vXrhxUrVsDHx3TTf4iIiB4m8854Cm8Dd6moSaWmq8NRb8dwpKWlISsrC9HR0eI2uVyOyMhIJCYmAgASExPh4uIiJhsAEB0dDalUiiNHjtR47bKyMigUCo0bERGRsd1t4bD8Gj71NuHIysoCAHh6emps9/T0FPdlZWXBw8NDY7+VlRVcXV3FY+5n6dKlkMvl4s3Pz0/P0RMRET1cRr7xulRMrd4mHIYUFxeH/Px88Xb16lVTh0RERA2MSiWIU1QbQsJRbwt/eXl5AQCys7Ph7e0tbs/Ozkb79u3FY27cuKFxXmVlJXJzc8Xz78fW1ha2trrXpCe6l8TBDv7J28T7RES1kVNYhgqlAKkE8KzDOinmot62cAQEBMDLywv79u0TtykUChw5cgRRUVEAgKioKOTl5SEpKUk85vfff4dKpUJkZKTRY6aGSSKRQObeGDL3xma/miMRGU/GndYNDyc7WMnq7dex3pi0haOwsBAXLlwQH6elpeHEiRNwdXVFs2bNMG3aNCxatAjBwcEICAjA7Nmz4ePjgyFDhgAAwsLC8NRTT+H555/Hxx9/jIqKCkyZMgUjRozgDBUiIqrXGtKAUcDECcfRo0fRo0cP8XFsbCwAYMyYMfjyyy8xY8YMFBUVYeLEicjLy0PXrl2xa9cu2Nnd/cf55ptvMGXKFDz55JOQSqWIiYnBqlWrjP5aqOESysqRM/tDAID7wimQ2NqYOCIiMgd3V4m1/PEbACARBEEwdRCmplAoIJfLkZ+fD2dnZ1OHQ2ZGVVSCNP/eAICAy79BypVjiegBSiuUuJ5Xgo/3X8SmpGuY+HgLvHlnrRNzVNvv0Ho7aJSIiMjSVChViF6ZgGu3S8Rt3nJ2qRAREZEeZeaVismG3N4abo426Bnq8ZCzLAMTDiIiIiO5fmfcRgt3R/z+WnfTBmNkOiUcSqUSW7ZsQXJyMgCgdevWGDRoEGQymV6DIyIisiSZ+eqBog2jG+VeWiccFy5cQP/+/XHt2jWEhIQAqCoV7ufnhx07diAwMFDvQRIREVkCcSqskRZrq0+0rjQydepUtGjRAlevXsWxY8dw7NgxpKenIyAgAFOnTjVEjERERBZBXeyroUyFvZfWLRwJCQk4fPgwXF1dxW1ubm5YtmwZunTpotfgiMyBxN4WzZJ+EO8TEdVE3cLhyy6Vh7O1tUVBQUG17YWFhbCxYcEjangkUimsm3k//EAiavAy8+60cLBL5eEGDBiAiRMn4siRIxAEAYIg4PDhw3jxxRcxaNAgQ8RIRERkEe6WM2fC8VCrVq1CYGAgoqKiYGdnBzs7O3Tp0gVBQUF4//33DREjUb0mlFcgZ95q5MxbDaG8wtThEFE9pSitQEFZJYCGs37KvbTuUnFxccHWrVtx/vx5pKSkAKhaRC0oKEjvwRGZA6GiEvmrNwIAXF8fD4mNtYkjIqL6SN2d4uJgDQebhlcGS+dXHBwcjODgYH3GQkREZLEy1DU4GuD4DaCWCYd6FdfaWLlypc7BEBERWaq7NTgaXncKUMuE4/jx47W6mEQiqVMwRERElkrdpdIQB4wCtUw4/ve//xk6DiIiIoumbuFoiGXNAR1mqRAREZH21GM4fNnCUbOhQ4fW+oKbN2/WORgiIiJzoFIJeHXTSSRnKmo8pkuQO2b1DxOHG2Q04KJfQC0TDrlcbug4iMyWxN4Wfn9sEO8TkeVLzlLg5+PXH3hMSlYBolq4IbqVJ1QqAVn56jEcDbNLpVYJx7p16wwdB5HZkkilsAkNMHUYRGRE6taKwCaOmD+oTbX9O05l4ru/0rH412Q83rIJ8krKUa5UQSIBPJ2ZcGjl5s2bSE1NBQCEhISgSZMmeguKiIioPsu8Mx4jyKMRuga7V9vfvpkL9iZnIy2nCOv/vIxOAVULnno62cFa1jCHT2r9qouKijB+/Hh4e3vj8ccfx+OPPw4fHx9MmDABxcXFhoiRqF4TyiuQu/wL5C7/gqXNiRqI63kPLuLVyNYKr/cJAQC8t/cc4jafqjq+gXanADokHLGxsUhISMD27duRl5eHvLw8bN26FQkJCXj11VcNESNRvSZUVOL2O+tw+511ECoqTR0OERnB3ZoaNScQ/3mkKdo1laO4XImzdwaXhno5GyW++kjrLpWffvoJP/74I7p37y5u69evH+zt7TFs2DCsWbNGn/ERERHVO7VZ9VUqlWDduE44dCEHKkGAjUyKbi0b7vADrROO4uJieHp6Vtvu4eHBLhUiImoQMvNrN8XV1dEGA9v5GCOkek/rLpWoqCjMnTsXpaWl4raSkhLMnz8fUVFReg2OiIiovlGqBGQpqr4DG2oRL11o3cIRHx+Pp556Ck2bNkW7du0AACdPnoSdnR12796t9wCJiIjqkxsFpVCqBFhJJWjixNo7taV1whEeHo7z58/jm2++QUpKCgBg5MiRGDVqFOztmekREZFlU9fg8HS2g0zKRUtrS6uEo6KiAqGhofjll1/w/PPPGyomIiKieuvugNGGO8VVF1olHNbW1hpjN4gIkNjZwPe3T8X7RKS7orJKfHrgEvJL6lbTJtTLCSM6NdNTVJrURb8a6jLzutK6S2Xy5Ml4++238dlnn8HKSudCpUQWQyKTwa5DmKnDILIIm49fx/v7zuvlWt4u9njCANNQG/oibLrSOmP4+++/sW/fPvz2228IDw+Ho6Ojxn59rxZbUFCA2bNn4+eff8aNGzfQoUMHvP/++3j00UcBAIIgYO7cuVi7di3y8vLQpUsXrFmzBsHBwXqNg4iIDO9KThEAoGPzxohq4abTNU5n5GN/6k0s/OUsOr/STe+lxNmlohutEw4XFxfExMQYIpb7eu6553D69Gl89dVX8PHxwddff43o6GicPXsWvr6+WL58OVatWoX169cjICAAs2fPRp8+fXD27FnY2fGPgQxPKK9A3qebAAAuE/8PEhtrE0dEZL7U9S36hXtjQlfdFkXML6lAjxX7ceFGIb4+fAXjuuh3ccUMdZcKWzi0olXCUVlZiR49eqB3797w8vIyVEyikpIS/PTTT9i6dSsef/xxAMC8efOwfft2rFmzBgsXLkR8fDxmzZqFwYMHAwA2bNgAT09PbNmyBSNGjDB4jERCRSVy51dV2JWPe5oJB1EdqL/MfevQeiC3t8arvVvirZ9P470951BQWon7zSWxs5ZhRCc/ONlp939WXda8Ia+LogutEg4rKyu8+OKLSE5ONlQ8GiorK6FUKqu1VNjb2+PgwYNIS0tDVlYWoqOjxX1yuRyRkZFITEysMeEoKytDWVmZ+FihUBjmBRARkVYyHrIoWm2NeLQZvkq8gpSsAqzcc67G41KyCvDusHa1vm5phRK3isoBsOiXtrTuUunUqROOHz+O5s2bGyIeDU5OToiKisLChQsRFhYGT09PfPfdd0hMTERQUBCysrIAoFqpdU9PT3Hf/SxduhTz5883aOxERKSdCqUKNwqqfgzWdQaITCrBh888gg2Jl1GhFKrtr1SqsCnpGn46dg3PRjVHOz+XWl1X3eVjby2D3J6tmdrQOuGYNGkSXn31VVy7dg0dO3asNmi0bdu2egsOAL766iuMHz8evr6+kMlkeOSRRzBy5EgkJSXpfM24uDjExsaKjxUKBfz8/PQRLhER6SgrvxSCANjIpHBzrPsU8yCPRlgwuE2N+5UqAZuPX8f87Wfw00udIZE8vIhX5j0DRmtzPN2ldcKh7qaYOnWquE0ikUAQBEgkEiiVSv1FByAwMBAJCQkoKiqCQqGAt7c3hg8fjhYtWojjSLKzs+Ht7S2ek52djfbt29d4TVtbW9jashwtEVF9om498JLbQWqECp4zngrFrjNZOJaeh6U7U9DczeGh55y8mgeANTh0oXXCkZaWZog4HsrR0RGOjo64ffs2du/ejeXLlyMgIABeXl7Yt2+fmGAoFAocOXIEL730kkniJCIi3Rh7uqmX3A6TugdixW/n8OmBS1qd27QxEw5taZ1wGGPsxr12794NQRAQEhKCCxcu4PXXX0doaCjGjRsHiUSCadOmYdGiRQgODhanxfr4+GDIkCFGjZOIiOrGFNNNn+vWAjmF5WL10Nqws5ZhQtcWBozKMulcKvTs2bNIT09HeXm5xvZBgwbVOah75efnIy4uDteuXYOrqytiYmKwePFiWFtXDdaZMWMGioqKMHHiROTl5aFr167YtWsXa3CQ0UjsbOCzZZV4n4h0c7eFw3gJh521DPMGtTba8zVkEkEQqg/ffYBLly7h6aefxqlTp8SxGwDEwTP6HsNhDAqFAnK5HPn5+XB2djZ1OEREDdKEL//GvpQbWPx0G4yKNG5rOumutt+hWtd7feWVVxAQEIAbN27AwcEBZ86cwYEDBxAREYH9+/fXJWYiImrAMu4MGuWATMukdZdKYmIifv/9d7i7u0MqlUIqlaJr165YunQppk6diuPHjxsiTqJ6S6iohGLDNgCA87ODILHmooZEuhC7VFgy3CJp3cKhVCrh5OQEAHB3d0dGRgaAqsGkqamp+o2OyAwI5RXIeeM95LzxHoTyui2pTdRQFZVVikvSc1E0y6T1T7E2bdrg5MmTCAgIQGRkJJYvXw4bGxt8+umnaNGCo3aJiEh76lkiTrZWWq9tQuZB64Rj1qxZKCqqWj54wYIFGDBgALp16wY3Nzd8//33eg+QiIgsXwYXRLN4Wiccffr0Ee8HBQUhJSUFubm5aNy4Mcu8EhGRTkwxJZaMS+sxHP+mUChw4MABjt8gIiKdqWeo1HWVWKq/tG7hGDZsGB5//HFMmTIFJSUliIiIwOXLlyEIAjZu3IiYmBhDxElERCaWX1KBnMIyg1z7fHYBAMCXXSoWS+uE48CBA3jrrbcAAD///DMEQUBeXh7Wr1+PRYsWMeEgIrJA124X48l3E1BWqTLo87CFw3JpnXDk5+fD1dUVALBr1y7ExMTAwcEB/fv3x+uvv673AInqO4mtNby+eVu8T2SJTl7NR1mlClZSCRxtDVNrxsPJFt2C3Q1ybTI9rf9q/Pz8kJiYCFdXV+zatQsbN24EANy+fZvrl1CDJLGygmPvzqYOg8ig1IM6+4Z744ORHUwcDZkjrROOadOmYdSoUWjUqBGaNWuG7t27A6jqagkPD9d3fEREVA/cXcmVPyxJN1onHJMmTUKnTp1w9epV9OrVC1Jp1USXFi1aYNGiRXoPkKi+EyoqUfDjbwAAp//0Zmlzskictkp1pdMnY0REBNq2bYu0tDQEBgbCysoK/fv313dsRGZBKK/AzalLAQCNBvVgwkEWKVOctsoWDtKN1nU4iouLMWHCBDg4OKB169ZIT08HALz88stYtmyZ3gMkIiLTU1cCZQsH6UrrhCMuLg4nT57E/v37NQaJRkdHs7Q5EZEFKqtUivU3mHCQrrRu+92yZQu+//57PPbYYxqlzFu3bo2LFy/qNTgiIjK9rDvdKXbWUjR24NRv0o3WLRw3b96Eh4dHte1FRUVcS4WIyAJdVw8Yldvzc550pnXCERERgR07doiP1X98n332GaKiovQXGRER1QuZHL9BeqB1l8qSJUvQt29fnD17FpWVlXj//fdx9uxZ/Pnnn0hISDBEjEREZELqKbGcoUJ1oXULR9euXXHixAlUVlYiPDwcv/32Gzw8PJCYmIiOHTsaIkaiek1iaw3PzxbA87MFLG1OFklcyZUtHFQHOhUMCAwMxNq1a/UdC5FZklhZodHgHqYOg8hg1C0cXMmV6qJWCYdCoaj1BZ2dnXUOhoiI6p/MfHWXCls4SHe1SjhcXFxqPTJZqVTWKSAicyNUVqJoxx8AAMf+3SCxYqVRsiwcNEr6UKtPxv/973/i/cuXL+ONN97A2LFjxVkpiYmJWL9+PZYuXWqYKInqMaGsAtnPzQEABFz+jQkHmZ2D53OwfHcKyitVkEgk+O9jzTAqsjkAQFFagYKySgCAD7tUqA5q9cn4xBNPiPcXLFiAlStXYuTIkeK2QYMGITw8HJ9++inGjBmj/yiJiMhg1idexj/X8sXH87edRdcgdzR3cxRbN1wcrOFgw2SadKf1LJXExERERERU2x4REYG//vpLL0EREZHxqAeFvt4nBFEt3FCuVGHJr8ka+zh+g+pK64TDz8/vvjNUPvvsM/j5+eklKCIiMh71SrA9Qz0wf3BryKQS7D6TjT8v5iAjnzNUSD+0bh977733EBMTg507dyIyMhIA8Ndff+H8+fP46aef9B4gEREZTkm5ErlF5QCqSpfLHawxKrIZNiRewbSNJ2BnLQPAFg6qO61bOPr164fz589j0KBByM3NRW5uLgYOHIhz586hX79+hoiRiIgMRD3l1dFGBmf7qt+g06NborGDNW4UlCE9txgAEOrtZLIYyTLoNAKoadOmWLx4sb5jqUapVGLevHn4+uuvkZWVBR8fH4wdOxazZs0Sp+kKgoC5c+di7dq1yMvLQ5cuXbBmzRoEBwcbPD4iInOXkXe3iqj6c7Wxow22TO6CE1fzAADOdtboGuxuqhDJQtTrIcdvv/021qxZg/Xr16N169Y4evQoxo0bB7lcjqlTpwIAli9fjlWrVmH9+vUICAjA7Nmz0adPH5w9exZ2duxzJMOT2Fijyao48T6ROVGP0fh3jY3mbo5o7uZoipDIQtXrhOPPP//E4MGD0b9/fwCAv78/vvvuO3E2jCAIiI+Px6xZszB48GAAwIYNG+Dp6YktW7ZgxIgR971uWVkZysrKxMfaVFIl+jeJtRWcR7I7kcxThrj0PH+gkWFpPYbDmDp37ox9+/bh3LlzAICTJ0/i4MGD6Nu3LwAgLS0NWVlZiI6OFs+Ry+WIjIxEYmJijdddunQp5HK5eOPsGiJqqNR1NjgolAytXrdwvPHGG1AoFAgNDYVMJoNSqcTixYsxatQoAEBWVhYAwNPTU+M8T09Pcd/9xMXFITY2VnysUCiYdJDOhMpKFP9e1erm0LMTK42SWbnbpcIWDjKsev3J+MMPP+Cbb77Bt99+i9atW+PEiROYNm0afHx86lTR1NbWFra2tnqMlBoyoawCWaNmAmBpczI/YpcK10khA9O6SyU7OxujR4+Gj48PrKysIJPJNG769Prrr+ONN97AiBEjEB4ejtGjR2P69Onimi1eXl5iTP+OUb2PiIjuTxAEcZYKEw4yNK1/io0dOxbp6emYPXs2vL29a72KrC6Ki4shlWrmRDKZDCqVCgAQEBAALy8v7Nu3D+3btwdQ1T1y5MgRvPTSSwaLi4jIEuSXVKCkomqFb28OGiUD0zrhOHjwIP744w/xC96QBg4ciMWLF6NZs2Zo3bo1jh8/jpUrV2L8+PEAAIlEgmnTpmHRokUIDg4Wp8X6+PhgyJAhBo+PiMicqVs33BxtxIqiRIaidcLh5+cHQRAMEUs1H3zwAWbPno1Jkybhxo0b8PHxwQsvvIA5c+aIx8yYMQNFRUWYOHEi8vLy0LVrV+zatYs1OIiIHkJcmI0DRskIJIKW2cNvv/2Gd999F5988gn8/f0NFJZxKRQKyOVy5Ofnw9nZ2dThkJlRFZUgzb83gKpBo1JH9oWTefgq8TJmbz2D3q088emz1VcBJ6qN2n6Hat3CMXz4cBQXFyMwMBAODg6wttasrJibm6t9tEREZHTXOWCUjEjrhCM+Pt4AYRCZL4mNNdyXTRfvE5mLTNbgICPSOuGoS/0LIksksbaCfMJQU4dBpDVxDAerjJIR6FTa/OLFi5g1axZGjhyJGzduAAB27tyJM2fO6DU4IiIyHNbgIGPSOuFISEhAeHg4jhw5gs2bN6OwsBBA1Tonc+fO1XuARPWdoFSi5NBxlBw6DkGpNHU4RLVSqVQhW6FOONilQoandcLxxhtvYNGiRdizZw9sbGzE7T179sThw4f1GhyRORBKy5ExZCoyhkyFUFpu6nCIaiUjrxSVKgG2VlJ4OjHhIMPTOuE4deoUnn766WrbPTw8kJOTo5egiIjIsNJuFQEAmrs5QCo1XMVoIjWtEw4XFxdkZmZW2378+HH4+vrqJSgiIjKsyznqhMPRxJFQQ6F1wjFixAjMnDkTWVlZkEgkUKlUOHToEF577TU8++yzhoiRiIj0LO1OwhHgzoSDjEPrhGPJkiUIDQ2Fn58fCgsL0apVKzz++OPo3LkzZs2aZYgYiYhIzy7f6VLxZwsHGYnWdThsbGywdu1azJkzB6dOnUJhYSE6dOiA4OBgQ8RHREQGcOVWMQDA393BxJFQQ6F1wqHm5+cHPz8/fcZCRERGUKlU4WrunYSDLRxkJDonHERURWJtBde5L4n3ieq7a7dLxCmxXs6cEkvGwU9HojqS2Fij8ZRnTB0GUa2l3TN+g1NiyVh0Km1ORETm68qdGSocv0HGxBYOojoSlEqU/XMOAGDbtiUkMpmJIyJLVFZZVTbf1qruf1+Xb3H8BhmfTglHXl4ePv/8cyQnJwMAWrdujfHjx0Mul+s1OCJzIJSW43rviQCAgMu/QeLIhbBIv4rKKvHEO/vh4WSLnyd3rnPSkSa2cDDhIOPRukvl6NGjCAwMxHvvvYfc3Fzk5uZi5cqVCAwMxLFjxwwRIxFRg3b+RiFyCstwNlOBdYcu1/l6rMFBpqB1wjF9+nQMGjQIly9fxubNm7F582akpaVhwIABmDZtmgFCJCJq2DLySsT7H+w7jxsFpTpfq0KpwrXbVddjlVEyJq27VI4ePYq1a9fCyuruqVZWVpgxYwYiIiL0GhwREWkmHEXlSry9MxWzB4TpdK2ruSVQqgTYWUvh6WyrrxCJHkrrhMPZ2Rnp6ekIDQ3V2H716lU4OTnpLTAiIqqSkVfVotEpwBV/peXip2PX8NOxa3W6pr+bIyQSTokl49G6S2X48OGYMGECvv/+e1y9ehVXr17Fxo0b8dxzz2HkyJGGiJGIqEHLzK9q4ejXxgtjO/vX+XpSCTCwnU+dr0OkDa1bOFasWAGJRIJnn30WlZWVAABra2u89NJLWLZsmd4DJCJq6DLyq1o4vF3sMbZLAGb11607RU0ikUDGgl9kZDot3vb+++9j6dKluHjxIgAgMDAQDg4sIEMNk8TaCo1fHyfeJ9I39RgOX5eqKddWMtZsJPOj86ejg4MDwsPD9RkLkVmS2FjDdcZ4U4dBFqqsUombBWUAAG851z0h81WrhGPo0KG1vuDmzZt1DoaIiDRl51clG7ZWUrg62pg4GiLd1SrhuLeCqCAI+PnnnyGXy8VpsElJScjLy9MqMSGyFIJKhYpzVwAA1i2bQyJlczfpT8adAaM+LvacVUJmrVYJx7p168T7M2fOxLBhw/Dxxx9DdmfNCKVSiUmTJsHZ2dkwURLVY0JJGa52exYAS5uT/qnHb7A7hcyd1j/FvvjiC7z22mtisgEAMpkMsbGx+OKLL/QaHBFRQ5d5Z4aKjwsTWTJvWicclZWVSElJqbY9JSUFKpVKL0EREVGV63daOHzYwkFmTuuEY9y4cZgwYQJWrlyJgwcP4uDBg3j33Xfx3HPPYdy4cXoP0N/fHxKJpNpt8uTJAIDS0lJMnjwZbm5uaNSoEWJiYpCdna33OIiITCEz7+4YDiJzplPhLy8vL7z77rvIzMwEAHh7e+P111/Hq6++qvcA//77byiVSvHx6dOn0atXL/zf//0fgKrF5Hbs2IFNmzZBLpdjypQpGDp0KA4dOqT3WIiIjC3znqJfROZM64RDKpVixowZmDFjBhQKBQAYdLBokyZNNB4vW7YMgYGBeOKJJ5Cfn4/PP/8c3377LXr27AmgaoBrWFgYDh8+jMcee+y+1ywrK0NZWZn4WP06iIjqG3apkKWo0/w9Z2dno85MKS8vx9dff43x48dDIpEgKSkJFRUViI6OFo8JDQ1Fs2bNkJiYWON1li5dCrlcLt78/PyMET4RkVYKSitQUFq1hARbOMjc6VRp9Mcff8QPP/yA9PR0lJeXa+w7duyYXgK7ny1btiAvLw9jx44FAGRlZcHGxgYuLi4ax3l6eiIrK6vG68TFxSE2NlZ8rFAomHSQziTWVpBPHiHeJ9IXdXeKs50VGtnyb4vMm9YtHKtWrcK4cePg6emJ48ePo1OnTnBzc8OlS5fQt29fQ8Qo+vzzz9G3b1/4+NRtlUNbW1uxdcbYrTRkeSQ21nCfNxnu8yZDYmNt6nDIgmRwwChZEK1T5o8++giffvopRo4ciS+//BIzZsxAixYtMGfOHOTm5hoiRgDAlStXsHfvXo3S6V5eXigvL0deXp5GK0d2dja8vLwMFgsRkb6pVALmbz+DCzcLxW03FFVjzZhwkCXQuoUjPT0dnTt3BgDY29ujoKAAADB69Gh89913+o3uHuvWrYOHhwf69+8vbuvYsSOsra2xb98+cVtqairS09MRFRVlsFiI7iWoVKhIz0RFeiYE1qIhHZ28lof1iVdw6MIt8Xb+RlXyEerlZOLoiOpO6xYOLy8v5Obmonnz5mjWrBkOHz6Mdu3aIS0tDYIgGCJGqFQqrFu3DmPGjIGV1d2Q5XI5JkyYgNjYWLi6usLZ2Rkvv/wyoqKiapyhQqRvQkkZ0jsOA8DS5qS7tJwiAFXJxUvdA8XtdtYyPNGySU2nEZkNrROOnj17Ytu2bejQoQPGjRuH6dOn48cff8TRo0cNtnjb3r17kZ6ejvHjqy8B/t5770EqlSImJgZlZWXo06cPPvroI4PEQURkKJfvJBwdmrlgcHtfE0dDpH8SQctmCZVKBZVKJbY0bNy4EX/++SeCg4PxwgsvwMbG/JZPVigUkMvlyM/P5wBS0pqqqARp/r0BVLVwSNnCQTp4+bvj2H4yA3F9Q/HCE4EPP4Gonqjtd6hWLRyVlZVYsmQJxo8fj6ZNmwIARowYgREjRtQtWiKiBk7dwuHv7mjiSIgMQ6tBo1ZWVli+fDkqKysNFQ8RUYMjCAIu36pKOAKYcJCF0nqWypNPPomEhARDxEJE1CDlFpWjoLQSEgnQzNXB1OEQGYTWg0b79u2LN954A6dOnULHjh3h6KiZjQ8aNEhvwRERNQTq1g1vZzvYWctMHA2RYWidcEyaNAkAsHLlymr7JBKJxsquRA2BxEoG53FPi/eJtJWWUwyA4zfIsmmdcKhY2IhIg8TWBk2Wxz78QKIacMAoNQR1Wi22tLRUX3EQETVY4oBRNyYcZLm0TjiUSiUWLlwIX19fNGrUCJcuXQIAzJ49G59//rneAySq7wRBgDLnNpQ5tw1WbZcsmzrhYAsHWTKtE47Fixfjyy+/xPLlyzWKfLVp0wafffaZXoMjMgdCcSkuhw3C5bBBEIrZ6kfaEQQBl9VjONw4Q4Usl9YJx4YNG/Dpp59i1KhRkMnuDpBr164dUlJS9BocEZGlyyksR2FZ1ZRYP06JJQumdcJx/fp1BAUFVduuUqlQUVGhl6CIiBoKdXeKj9yeU2LJomk9S6VVq1b4448/0Lx5c43tP/74Izp06KC3wIiILFn6rWIcvJCDk1fzALDCKFk+rROOOXPmYMyYMbh+/TpUKhU2b96M1NRUbNiwAb/88oshYiQisjgvfJ2E5EyF+JgJB1k6rbtUBg8ejO3bt2Pv3r1wdHTEnDlzkJycjO3bt6NXr16GiJGIyKKoVAIu3CgAAPQIaYKnO/hifNcAE0dFZFhat3AAQLdu3bBnzx59x0JE1CDkFJahQilAKgHWPhsBK1mdSiIRmQWdEg4AOHr0KJKTkwFUjevo2LGj3oIiMicSKxmchj8l3id6mOt5JQAAT2c7JhvUYGidcFy7dg0jR47EoUOH4OLiAgDIy8tD586dsXHjRjRt2lTfMRLVaxJbG3h8+JapwyAzkplfVa/FW25n4kiIjEfr1Pq5555DRUUFkpOTkZubi9zcXCQnJ0OlUuG5554zRIxERBYl404Lh4+LvYkjITIerVs4EhIS8OeffyIkJETcFhISgg8++ADdunXTa3BE5kAQBLHCqMTBDhKJxMQRUX2XkVf198KEgxoSrVs4/Pz87lvgS6lUwsfHRy9BEZkTobgUaf69kebfm6XNqVYy8++0cLBLhRoQrROOd955By+//DKOHj0qbjt69CheeeUVrFixQq/BERFZInWXijdbOKgB0bpLZezYsSguLkZkZCSsrKpOr6yshJWVFcaPH4/x48eLx+bm5uovUiIiC5FxZ9Coj5wJBzUcWicc8fHxBgiDiKhhKKtU4mZBGQDAx4VdKtRwaJ1wjBkzxhBxEBE9VGZ+CYrLlaYOAwAglUjg19he6zoa2flVyYatlRSujjaGCI2oXtI64Th27Bisra0RHh4OANi6dSvWrVuHVq1aYd68ebCx4X8gItK/TUev4vUf/zF1GBr6tPbEJ6MjtDrn+j1TYjmjiRoSrROOF154AW+88QbCw8Nx6dIlDB8+HEOHDsWmTZtQXFzMLhciMogjaVVjwuyspbCtBxVdFaUV2H0mG/tTb6B7iEetz1PPUGHRL2potE44zp07h/bt2wMANm3ahCeeeALffvstDh06hBEjRjDhoIZHJoXjwO7ifTIM9cyOJU+HY+gjpq9ovOiXs/jsYBoW/nIWXYLcYV3Lf3t1lVHW4KCGRuuEQxAEqFQqAMDevXsxYMAAAFX1OXJycvQbHZEZkNrZwuuLhaYOw+LdLQdeP76oX34yGD8fv46LN4vwxcE0DH/U777HOdpaaSQjYpcKWziogdE64YiIiMCiRYsQHR2NhIQErFmzBgCQlpYGT09PvQdIRCQIgtjC4VtPWgbk9tZ4tXcI3vz5FJbuTMHSnSn3Pc69kS12TO0KT+eqBCOTZc2pgdK6/Tc+Ph7Hjh3DlClT8NZbbyEoKAgA8OOPP6Jz5856D/D69ev473//Czc3N9jb2yM8PFyj6JggCJgzZw68vb1hb2+P6OhonD9/Xu9xEJHp5BaVo6yyqmXVU25r4mjuGv6oHzoHuj3wmJzCMry9624yoi5rzqJf1NBo3cLRtm1bnDp1qtr2d955BzKZfgdy3b59G126dEGPHj2wc+dONGnSBOfPn0fjxo3FY5YvX45Vq1Zh/fr1CAgIwOzZs9GnTx+cPXsWdnZssiTDUxWVIM2/NwAg4PJvkDryi0Tf1N0pTZxs68WAUTWZVIJvn38MlUrVfff/cz0fQz/6E5uPXcezUf5o7+eCDJY1pwZKpxFueXl5+OyzzxAXFydWEz179ixu3Lih1+Defvtt+Pn5Yd26dejUqRMCAgLQu3dvBAYGAqhq3YiPj8esWbMwePBgtG3bFhs2bEBGRga2bNmi11iIyHTq+7gHK5n0vrdHmjXG0Ed8AQALtp+BorQCBaWVANjCQQ2P1gnHP//8g+DgYLz99ttYsWIF8vLyAACbN29GXFycXoPbtm0bIiIi8H//93/w8PBAhw4dsHbtWnF/WloasrKyEB0dLW6Ty+WIjIxEYmJijdctKyuDQqHQuBFR/WXO4x5mPhUKBxsZjqXnof383wAAznZWaGSrdQMzkVnTOuGIjY3FuHHjcP78eY0ui379+uHAgQN6De7SpUtYs2YNgoODsXv3brz00kuYOnUq1q9fDwDIysoCgGqDVT09PcV997N06VLI5XLx5ud3/9HlRFQ/ZNSzGSra8HS2w6u9QwAAKqFq2xNa1O0gshRap9h///03Pvnkk2rbfX19H/glrwuVSoWIiAgsWbIEANChQwecPn0aH3/8cZ1KrMfFxSE2NlZ8rFAomHQQ1WMZYgtH/exSeZgJXQMQ84gvyitVgARo0qj+DHwlMhatWzhsbW3v2wVx7tw5NGnSRC9BqXl7e6NVq1Ya28LCwpCeng4A8PLyAgBkZ2drHJOdnS3uux9bW1s4Oztr3Iio/sow4y4VNRcHG3g428HDyY4lzalB0jrhGDRoEBYsWICKigoAgEQiQXp6OmbOnImYmBi9BtelSxekpqZqbDt37hyaN28OAAgICICXlxf27dsn7lcoFDhy5AiioqL0GgsRmc7dol/m2cJBRDokHO+++y4KCwvh4eGBkpISPPHEEwgKCoKTkxMWL16s1+CmT5+Ow4cPY8mSJbhw4QK+/fZbfPrpp5g8eTKAqmRn2rRpWLRoEbZt24ZTp07h2WefhY+PD4YMGaLXWIhqJJPCIfoxOEQ/xtLmBlCpVCFbUZVw1JeiX0SkPa3HcMjlcuzZsweHDh3CyZMnUVhYiEceeURjpoi+PProo/j5558RFxeHBQsWICAgAPHx8Rg1apR4zIwZM1BUVISJEyciLy8PXbt2xa5du1iDg4xGamcL7+/eMXUYFiu7oAwqAbCWSeDOsQ9EZksiCIJg6iBMTaFQQC6XIz8/n+M5iOqZo5dz8Z+PE+Hnao8/ZvQ0dThE9C+1/Q5l+y8R1Wvqol/mOCWWiO5iwkFUR6qiElxq3guXmveCqqjE1OFYHPWAUY7fIDJvLHVHpAdCcampQ7BYGWILB8dlEZkztnAQUb2mXl3VnGtwEJGOLRxKpRJbtmxBcnIyAKB169YYNGiQ3leLJaKGqUKpwuwtp3H1djH+uZYPwHyrjBJRFa0TjgsXLqB///64du0aQkKq1gdYunQp/Pz8sGPHDnElVyIiXf2VlouNf18VH0slQLCHkwkjIqK60jrhmDp1Klq0aIHExES4uroCAG7duoX//ve/mDp1Knbs2KH3IImoYbl+u2rcRmsfZ0x8vAX83Rzh5+pg4qiIqC60TjgSEhJw+PBhMdkAADc3NyxbtgxdunTRa3BE1DCpp8K2bSrH4Pa+Jo6GiPRB64TD1tYWBQUF1bYXFhbCxsZGL0ERmRWpFHad24v3qe4y8+8s1sbaG0QWQ+tPxwEDBmDixIk4cuQIBEGAIAg4fPgwXnzxRQwaNMgQMRLVa1J7W/hu/QC+Wz+A1J6lt/VBPTPFmzNTiCyG1gnHqlWrEBgYiKioKNjZ2cHOzg5dunRBUFAQ4uPjDRAiETU0GeoWDs5MIbIYWnepuLi4YOvWrbhw4YI4LTYsLAxBQUF6D46IGh5BEMRiX+xSIbIcWrdwLFiwAMXFxQgKCsLAgQMxcOBABAUFoaSkBAsWLDBEjET1mqqoBGmhA5AWOoClzfUgr7gCpRUqAIAXq4sSWQytE4758+ejsLCw2vbi4mLMnz9fL0ERmRvVrXyobuWbOgyLoJ6h4t7IBnbWLCZIZCm0TjgEQYBEIqm2/eTJkxpTZYmIdKFerI2rwxJZllqP4WjcuDEkEgkkEglatmypkXQolUoUFhbixRdfNEiQRNRwiOM3OGCUyKLUOuGIj4+HIAgYP3485s+fD7lcLu6zsbGBv78/oqKiDBIkEZmXzPwSbD2RgYpKlcb2EC8n9G7t9cBz1TNU2MJBZFlqnXCMGTMGABAQEIAuXbrAyoor2xPR/S3bmYKtJzLuu2/Ti1F41L/m7ld1DQ5f1uAgsihaj+FwcnISp8MCwNatWzFkyBC8+eabKC8v12twRGSeLt0sAgD0CGmCkZ2aYWSnZujYvDEAYP72M1CphBrPzbzTpeLNLhUii6J1wvHCCy/g3LlzAIBLly5h+PDhcHBwwKZNmzBjxgy9B0hU70mlsG0fCtv2oSxtfod6HMZrfUKwdGg4lg4NxyejO8LJ1gqnryvwY9K1h57rwxYOIouidb/IuXPn0L59ewDApk2b8MQTT+Dbb7/FoUOHMGLECFYbraMjl26hiZMtWjRpZOpQqJak9rZoumetqcOoN0orlLhVVNXaeW/hLvdGtpj6ZDAW/5qM5btTUa5U4d4JbwHujogMcEN2QVm1c4nI/GmdcAiCAJWqaiDY3r17MWDAAACAn58fcnJy9BtdA5OVX4oRaw/DR26PgzN73Hf6MVF9l3VnWqu9tQwuDtYa+8Z09se3f6UjLacIs7acrnbuqpEdoFQJsJJK0MSJ69IQWRKtE46IiAgsWrQI0dHRSEhIwJo1awAAaWlp8PT01HuADUlmfgkEoarwUbaijFUWySxl3DMG499Js42VFO+PaI9PDlxCpfLuDJb03BIkZyow+04S4ulsB5mUCTeRJdE64YiPj8eoUaOwZcsWvPXWW+IaKj/++CM6d+6s9wAbkoLSSvH+mYx8JhxmQlVciqtdRwMA/A5+BalDw/53y8h/8CyTtk1dsPqZRzS25RSWocc7+5FfUgGANTiILJHWCUfbtm1x6tSpatvfeecdyGQsQ1wXmgmHAk+GmVeLUXKmAlduFWlss7GSonOgu2WXqBYEVF7NEu83dGILhxYJs3sjW7z8ZBCW/JoCgANGiSyRzsU0kpKSxOmxrVq1wiOPPPKQM+hhCkorxPtnMsxrXY7reSXov+oP3G+247CIplj+n3bGD4pMIlPHwl1jOwfgu7+uIi2niAkHkQXSOuG4ceMGhg8fjoSEBLi4uAAA8vLy0KNHD2zcuBFNmjTRd4wNRmGZZguHOTmXVQCVADSytUKolxMAQACQdOU2fjh6Df99rDnaNnUxaYxkHNd1LNxlYyXFqhEd8PGBixj5aDNDhEZEJqR10YCXX34ZhYWFOHPmDHJzc5Gbm4vTp09DoVBg6tSphoixwVDc06Vy7XYJ8osrHnB0/aJe4fOxFm748aXO+PGlzvjppc54uoMvAGDB9rMQ2N3QINSlcFd4UzlWP/MImrk56DssIjIxrROOXbt24aOPPkJYWJi4rVWrVli9ejV27typ1+Aamnu7VADz6lZRN6P/e7DfzKdCYW8tw9Ert/H5wTT8fTkXl3OK7ncJ0hNBEHD6ej7+vpyLvy/nQlFqvMRVEAQW7iKi+9K6S0WlUsHa2rradmtra7E+B+nm3kGjQFW3SucgdxNFox31+hf//pLxktthUvdAvLvnHBbtqBrzI5EA26d0RRtfebXrUN2tO3QZC345Kz5u6dkIO6Z2g7XM8FVQFaWVKCpXAmDhLiLSpPUnUM+ePfHKK68gI+PuwkzXr1/H9OnT8eSTT+o1uHnz5kEikWjcQkNDxf2lpaWYPHky3Nzc0KhRI8TExCA7O1uvMRhT4Z2Ew9O5quCRObVwPGhmwvOPt0B0mCdauDtCbm8NQQB2nMo0doiGI5HAOsQf1iH+QD0o1nbyWh4AwL2RDeyspTiXXYgNiVeM8tzqlq7GDtawt7HgmUlEpDWtE44PP/wQCoUC/v7+CAwMRGBgIAICAqBQKPDBBx/oPcDWrVsjMzNTvB08eFDcN336dGzfvh2bNm1CQkICMjIyMHToUL3HYCwFZVVN34+1cANgXgNHMx9Qe8HOWobPxkTg99e6Y/6g1gCA/ak3jRqfIUkd7NDs4FdoVk9qcGTeaW2aO7A15gyoer/f33sOuUWGX1zxbuLJ1g0i0qR1l4qfnx+OHTuGvXv3IiWlas58WFgYoqOj9R4cAFhZWcHLy6va9vz8fHz++ef49ttv0bNnTwDAunXrEBYWhsOHD+Oxxx4zSDyGpO5SiQxww9YTGbh4sxAl5cp6/0tRpRLuToV8SL/94y2bQCKpqtmRlV/K4mYGcP2eMRTt/Vzw1eErSM5UYNnOZLzwRKBensNbbgcHm+ofHzV1rRER6VSHQyKRoFevXujVq5e+46nm/Pnz8PHxgZ2dHaKiorB06VI0a9YMSUlJqKio0Eh0QkND0axZMyQmJj4w4SgrK0NZWZn4WKGoHy0J6i6VwCaOcG9kg5zCchxLv40u9XwcR05RGSqUAqQSwPMh61+4OtqgXVMXnLiah/2pNzCiE6c/6pNSJSBbof7SryoPPndgK4z49DB+OHoNPxyteZVWbTRtbI9d0x5HI1vNj5C7A0aZSBKRplp3qfz+++9o1arVfb+c8/Pz0bp1a/zxxx96DS4yMhJffvkldu3ahTVr1iAtLQ3dunVDQUEBsrKyYGNjI9YCUfP09ERWVtYDr7t06VLI5XLx5ufnp9e4daWeFutkZ40nQ6uqjK74LbXeTydV/6r1dLaDVS0GJvYI8QBgOd0qquJSpHcdjfSuo6EqLjVpLDcLylCpEiCTSuDhVPWl/1gLN4zr4g8XB2vI7et+s5ZJcO12CT7634Vqz6/uWmMLBxH9W61bOOLj4/H888/D2dm52j65XI4XXngBK1euRLdu3fQWXN++fcX7bdu2RWRkJJo3b44ffvgB9va6f6DFxcUhNjZWfKxQKOpF0qGeFutkZ4XY3i2x/Z8MHE/Pw9YTGRhyp55FfZSpZSnr7iFN8N7eczh4IQfllSrYWBl+9oRBCQIqUi+L900p407Xlte/Fj+bO7A15g5srZfn+O1MFiZ+lYTPDqZhxKPNNGpmXNehrDkRNQy1/qQ/efIknnrqqRr39+7dG0lJSXoJqiYuLi5o2bIlLly4AC8vL5SXlyMvL0/jmOzs7PuO+biXra0tnJ2dNW6mVl6pQlll1bRiZztreDrbYXKPqoXxlu1MQbaiFHnF5Qa53btqpy6ua1l3IdxXDjdHGxSWVSLpyu06PTdpMkaXRq9Wnuga5I7yShUW/3pW42+JNTiIqCa1buHIzs6+b/0N8UJWVrh507BN5IWFhbh48SJGjx6Njh07wtraGvv27UNMTAwAIDU1Fenp6YiKijJoHIZwb1lzR9uqQaITugbgu7/Sce12CSKX7DPYc/u62GPH1K5wcbDR6Xxtm9GlUgmeaNkEm49fx+4zWYgKdNPpeak69QwVQ84SkUgkmD2gFfq+fwC7z2Rj95k91Y5hwkFE/1brFg5fX1+cPn26xv3//PMPvL299RKU2muvvYaEhARcvnwZf/75J55++mnIZDKMHDkScrkcEyZMQGxsLP73v/8hKSkJ48aNQ1RUlJnOUKnqTnGwkYnjIOysZVg4pA1sDdzlcD2vBPF7z+t8vvirVotm9IHtfAAA3/6Vjqu5xTo/N2nStrVJVyFeTpjUPei+ZUcimjeGtzO7VIhIU61bOPr164fZs2fjqaeegp2d5odJSUkJ5s6diwEDBug1uGvXrmHkyJG4desWmjRpgq5du+Lw4cPiAnHvvfcepFIpYmJiUFZWhj59+uCjjz7SawzGUiAOGNX8J+kR4oHkBU9BZaCxAYmXbmH053/hq8NX8N/HmiHIw0nra2TcaeF42JTYe3UPaYIuQW44dOEWlvyajDX/7aj181J1NZWYN4TX+oRgeq+W1QY1y6RVRfqIiO5V64Rj1qxZ2Lx5M1q2bIkpU6YgJCQEAJCSkoLVq1dDqVTirbfe0mtwGzdufOB+Ozs7rF69GqtXr9br8+pDpVKF28UVaPKQaaJqCnHAaPVuK6lUAikM8wHeLbgJerXyxJ6z2Vj4SzLWj++k9TXUg0a1WR1U3Szf7/0/sPN0Fg5fuiUWPCPdZRihS+VeVQNTmVwQ0cPVOuHw9PTEn3/+iZdeeglxcXHirxqJRII+ffpg9erV8PT0NFig5mTP2Wy8+sMJdGjWuNZf4OoaHP+ua2AMb/ULw/7UG0g4dxMt4nY88NepBMB/OjbFspi2AKoGu94srKppou3MhFAvZ4yKbI6vDl/BiE8Pa8yqeBCZRILJPYLwSnSwVs9nMBIJrPy8xPumZMwWDiIibWj17da8eXP8+uuvuH37Ni5cuABBEBAcHIzGjRsbKj6z1MzVAYrSShy+dKvWlUJr6lIxBn93R0zuEYT4veehEvDQqZ0b/76Kge180CXIHdmKUggCYGslhauj9oNOY3u1xJ6z2chSlEKpql23kRICVv1+Hv3beunUBaRvUgc7ND+2ydRhoLRCiZzCqvLlXDitYRMEAZWVlVAqlaYOhSyATCaDlZVVnbtKdfp2a9y4MR599NE6PbEla+nZCD5yO2Tkl+LwpVvoEerx0HPUg0ad79OlYgzTolvi2Sj/h06RXfX7eXx9OB0Ltp/FjqldNQYp6vLH2NjRBgkzuiO/uPZLqL/58ynsTb6hcxeQpcq6M5bG3loGFwfT/B2R6ZWXlyMzMxPFxRyMTfrj4OAAb29v2NjoNpsR0DHhoAeTSCToHuqBb4+k43+pN2qVcKinxZqihUOtNi0Ur/UOwS//ZCI1uwDf/X0Vje5M4a1LoSdbKxk8nGu/Xsys/q2QcO4mEs7dxP9Savf+NgTiwmkudhy02UCpVCqkpaVBJpPBx8cHNjY2/FugOhEEAeXl5bh58ybS0tIQHBwMqVS3mZNMOAyke8sm+PZIOvan3oQgCA/9T19gwjEc2nBxsMH06JaYu+0MFmw/A1urqkTBmHUX/N0dMb5LAD45cAkLfzmLLkHuJq1WqiopQ8agKQAAn20fQmpfu4HCtXWrsAxj1/2NrDtrpAR7NMJnYyKqLZ6W8YAVe6lhKC8vh0qlgp+fHxwcHB5+AlEt2Nvbw9raGleuXEF5eXm1maq1ZeY1peuvLkHusJZJkJ5bjEs5RQ89/t51VOq7UZHN0NrHGRVKQWyZiWhu3HE8U3oGwb2RDS7lFGFD4mWjPnc1KhXKTqSg7EQKoKpb1db72Z96E6eu5+NmQRluFpThz4u38EnCpWrHZbCsON2h6y9Qopro42+Kf5UG4mhrhciAqmmetVmk7N51VOo7K5kUP73UGTtf6Yadr3TDgdd7GH3VVyc7a7zWu2pq9vv7zuNWYdlDzjBfV25VJaz923pj4ZA2AICPEy6K42fU7s5QYQsHEdU/TDgMqHtIVYGy/ak3HnqsuqWgkRkkHEBVFdQwb2eEeTtrLN5lTP8X4YdW3s4oKK3Eyj3nTBKDMaTdqhr8166pHP+NbIZOAa4oq1Rh2c4UjeOu36nBwRkqRFQfMeEwoO53lmE/cilXY62U+1GP4XA2k4SjPpBJJZg7sBUA4Lu/0pGcqTBxRIZx+U6XXHM3R0gkEswZ0AoSCbD9ZAb6vHcAT8VX3Y5cugWgatAoEQHz5s1D+/btDXLt/fv3QyKRVFtAlGrGhMOAAps4ooW7I8qVKqw9UL3P/V4FD6g0SjWLbOGG/uHeUAnAgu1nq5XZNneCIIgJR4C7IwCgja8cz9zpwkrNLkBKVtWtrFIFG5kUIV6mr01CRA+3evVq+Pv7w87ODpGRkfjrr78eePzmzZsREREBFxcXODo6on379vjqq6+qHdO7d2+4ublBIpHgxIkT1a7TvXt3SCQSjduLL76oz5d2X/w5bUASiQSv9g7B5G+P4ZMDFzH8Ub8a+9dNWfjL3L3RNxR7krOReOkWdp/JxlNtvEwdkt7cKipHQVklJJKqgnJq8wa1xqB2PqhQaiZYzd0c4OHEFg4iXZWXl9ep1kRtff/994iNjcXHH3+MyMhIxMfHo0+fPkhNTYWHx/2n+ru6uuKtt95CaGgobGxs8Msvv2DcuHHw8PBAnz59AABFRUXo2rUrhg0bhueff77G53/++eexYMEC8bExZjWxhcPA+oV7oZO/K0orqve538uUpc3NnZ+rAyZ2awEAWPJrMsoqjV9dUeomh9RNrvfrqgeM+sjtYWd9t1aJtUyKyBZu6BrsrnHzc+VUSLo/VVFJzbfSstofW1K7Y7Xl7++P+Ph4jW3t27fHvHnzAFT9gPvkk08wYMAAODg4ICwsDImJibhw4QK6d+8OR0dHdO7cGRcvXqx27U8++UScKjxs2DDk5+eL+8aOHYshQ4Zg8eLF8PHxEdcJ++qrrxAREQEnJyd4eXnhmWeewY0bDx+PV1srV67E888/j3HjxqFVq1b4+OOP4eDggC+++KLGc7p3746nn34aYWFhCAwMxCuvvIK2bdvi4MGD4jGjR4/GnDlzEB0d/cDnd3BwgJeXl3hzdnbW22urCb/dDEwikWDOwFYY+OFBbDuZgWejmiPC31XjGJVKQGG5+UyLrY9e6h6IH45eRXpuMYZ+9KdRK232CvPE2JRfDHLttJyqAaP+7kwkqG7S/HvXuM8h+jF4f/eO+Phyq0EQikvve6xd5/bw3fqB+PhKx/+D6lZ+teMCb/5Rh2jvb+HChVi5ciVWrlyJmTNn4plnnkGLFi0QFxeHZs2aYfz48ZgyZQp27twpnnPhwgX88MMP2L59OxQKBSZMmIBJkybhm2++EY/Zt28fnJ2dsWfPHnFbRUUFFi5ciJCQENy4cQOxsbEYO3Ysfv311/vGlp6ejlatWj0w/jfffBNvvvkmysvLkZSUhLi4OHGfVCpFdHQ0EhMTa/VeCIKA33//HampqXj77bdrdc69vvnmG3z99dfw8vLCwIEDMXv2bIO3cjDhMII2vnIM6+iH749exfztZ7F1chdI71morLC8Uly+hF0qunG0tUJcv1BM//4kzmQYd/Do4Uu5eLpDU8gNkOTcO2CUqKEbN24chg0bBgCYOXMmoqKiMHv2bLE74ZVXXsG4ceM0ziktLcWGDRvg6+sLAPjggw/Qv39/vPvuu/Dyqup+dXR0xGeffabRlTJ+/HjxfosWLbBq1So8+uijKCwsRKNGjarF5uPjc9/xEvdyda36sZmTkwOlUlltwVNPT0+kpNTcEg4A+fn58PX1RVlZGWQyGT766CP06tXrgef82zPPPIPmzZvDx8cH//zzD2bOnInU1FRs3rxZq+toi99uRvJanxDsOJWJU9fz8dOxa/i/CD9xn7o7xUYm1Wg2J+083aEpPJzskGPEmhwr95zDlVvF+OPCTQxo66P366fd6VIJYMJBdRRw+bead8o0e9f9z26r+dh/FYBqnmS8hQvbtm0r3ld/WYeHh2tsKy0thUKhELsImjVrJiYbABAVFQWVSoXU1FQx4QgPD682biMpKQnz5s3DyZMncfv2bajuFPWrqSXDysoKQUFBenqlNXNycsKJEydQWFiIffv2ITY2Fi1atED37t1rfY2JEyeK98PDw+Ht7Y0nn3wSFy9eRGBgoAGirsKEw0iaONliSs8gLNuZguW7U9E33FscryGWNWfrRp11CXI36vOdvp6P9f87B+cX38L1Jo3gvXGFXkubq1s4/N2ZcFDdSB1rX5/FUMc+8DpSabVZZhUVmos6WlvfbUVULxdxv20qLSv+Ojpq/v8qKipCnz590KdPH3zzzTdo0qQJ0tPT0adPH5SXl9/3Gtp0qbi7u0MmkyE7O1tjf3Z2tpgE1UQqlYqJTfv27ZGcnIylS5dqlXD8W2RkJICq7icmHBZiXBd/fPdXOq7cKsaYL/6Cj4s9fF3s8UTLqgJh7E4xPz1CPPDV76nwPX8Bpeeh19LmgiDgyp2iXwEcw0EWrkmTJsjMzBQfKxQKpKWl1fm66enpyMjIgI9PVQvk4cOHIZVKxcGh95OSkoJbt25h2bJl8POrao0+evToA59Hmy4VGxsbdOzYEfv27cOQIUMAVCVJ+/btw5QpU2r5yiCeV1ZWt1Zdddze3t51us7D8BvOiGytZJjVvxWe33AUSVduI+nKbQDAqet5AJhwmKMIf1c42BimGyynsByFd6bEcvYJWbqePXviyy+/xMCBA+Hi4oI5c+ZAJqv7/y07OzuMGTMGK1asgEKhwNSpUzFs2LAHtiQ0a9YMNjY2+OCDD/Diiy/i9OnTWLhw4QOfR9suldjYWIwZMwYRERHo1KkT4uPjUVRUpDEG5dlnn4Wvry+WLl0KAFi6dCkiIiIQGBiIsrIy/Prrr/jqq6+wZs0a8Zzc3FwxyQKA1NRUABBno1y8eBHffvst+vXrBzc3N/zzzz+YPn06Hn/8cY0uK0PgN5yR9WrlibXPRuDa7WKk5RRhQ+IVHLpQVSGSU2LNj42VFFEt3Axy7cv3TIlVr8pLZKni4uKQlpaGAQMGQC6XY+HChXpp4QgKCsLQoUPRr18/5ObmYsCAAfjoo48eeE6TJk3w5Zdf4s0338SqVavwyCOPYMWKFRg0aFCd41EbPnw4bt68iTlz5iArKwvt27fHrl27NAaSpqenayyaVlRUhEmTJuHatWuwt7dHaGgovv76awwfPlw8Ztu2bRpJy4gRIwAAc+fOxbx582BjY4O9e/eKCY6fnx9iYmIwa9Ysvb22mkgESyvNqAOFQgG5XI78/HyjzEVWU6kEDFp9EKevV82qUCcjZF6+P3AOETETAFQNzNNXn/YPR69ixo//oGuQO75+LlIv1yTLVlpairS0NAQEBOi8hDjR/Tzob6u236H8SW1CUqkEcwe2xv99XDXvml0q5qlbsDvUZY4W7zgLpZ4+6E9eywPAGhxEZBn4DWdij/q7YkBbb/zyTya85fxFYo68nO2hbvj95kg6Sq31WxY5xJNroxCR+WPCUQ+8HdMWj7VwQ79ww44QJsMR7G2hVAl44fFAKO30Ny1Wbm+NmI5N9XY9IiJTYcJRDzjaWuG/jzU3dRikI6mjPYLS9wIAap5oR0TUsHHxNiIiC8O5AKRv+vibYsJBRGQh1FU3i4uLTRwJWRr139S9lV21xS4VojpSlZYhe1zVHHbPdYsg1eMYDiJtyGQyuLi4iMuoOzg4iOW+iXQhCAKKi4tx48YNuLi41KkYGxMOorpSqlC897B4n8iU1BU01UkHkT64uLg8dJ2Xh2HCQURkQSQSCby9veHh4VFt8TMiXVhbW+ulzDwTDiIiCySTyfTyJUGkL2Y1aHTZsmWQSCSYNm2auK20tBSTJ0+Gm5sbGjVqhJiYmGpL/hIREZFpmU3C8ffff+OTTz6ptprd9OnTsX37dmzatAkJCQnIyMjA0KFDTRQlERER3Y9ZJByFhYUYNWoU1q5di8aNG4vb8/Pz8fnnn2PlypXo2bMnOnbsiHXr1uHPP//E4cOHTRgxERER3cssxnBMnjwZ/fv3R3R0NBYtWiRuT0pKQkVFBaKjo8VtoaGhaNasGRITE/HYY4/d93plZWUoKysTH+fn5wOoWvGOSFuqohIUqCoBVP0NSZUcqEdEDYf6u/NhxcHqfcKxceNGHDt2DH///Xe1fVlZWbCxsYGLi4vGdk9PT2RlZdV4zaVLl2L+/PnVtvv5+dU5XmrgfOo2bYyIyFwVFBRALpfXuL9eJxxXr17FK6+8gj179sBOT0t+A0BcXBxiY2PFxyqVCrm5uXBzc2ORHANTKBTw8/PD1atX4ezsbOpwGgy+76bB9900+L4blyAIKCgogI+PzwOPq9cJR1JSEm7cuIFHHnlE3KZUKnHgwAF8+OGH2L17N8rLy5GXl6fRypGdnf3AAiW2trawtdWsBvnvVhIyLGdnZ34QmADfd9Pg+24afN+N50EtG2r1OuF48skncerUKY1t48aNQ2hoKGbOnAk/Pz9YW1tj3759iImJAQCkpqYiPT0dUVFRpgiZiIiI7qNeJxxOTk5o06aNxjZHR0e4ubmJ2ydMmIDY2Fi4urrC2dkZL7/8MqKiomocMEpERETGV68Tjtp47733IJVKERMTg7KyMvTp0wcfffSRqcOiGtja2mLu3LnVurTIsPi+mwbfd9Pg+14/SQR9LHJPRERE9ABmUfiLiIiIzBsTDiIiIjI4JhxERERkcEw4iIiIyOCYcJDerV69Gv7+/rCzs0NkZCT++uuvGo9du3YtunXrhsaNG6Nx48aIjo5+4PFUM23e93tt3LgREokEQ4YMMWyAFkrb9z0vLw+TJ0+Gt7c3bG1t0bJlS/z6669GitZyaPu+x8fHIyQkBPb29vDz88P06dNRWlpqpGgJACAQ6dHGjRsFGxsb4YsvvhDOnDkjPP/884KLi4uQnZ193+OfeeYZYfXq1cLx48eF5ORkYezYsYJcLheuXbtm5MjNm7bvu1paWprg6+srdOvWTRg8eLBxgrUg2r7vZWVlQkREhNCvXz/h4MGDQlpamrB//37hxIkTRo7cvGn7vn/zzTeCra2t8M033whpaWnC7t27BW9vb2H69OlGjrxhY8JBetWpUydh8uTJ4mOlUin4+PgIS5curdX5lZWVgpOTk7B+/XpDhWiRdHnfKysrhc6dOwufffaZMGbMGCYcOtD2fV+zZo3QokULoby83FghWiRt3/fJkycLPXv21NgWGxsrdOnSxaBxkiZ2qZDelJeXIykpCdHR0eI2qVSK6OhoJCYm1uoaxcXFqKiogKurq6HCtDi6vu8LFiyAh4cHJkyYYIwwLY4u7/u2bdsQFRWFyZMnw9PTE23atMGSJUugVCqNFbbZ0+V979y5M5KSksRul0uXLuHXX39Fv379jBIzVTH7SqNUf+Tk5ECpVMLT01Nju6enJ1JSUmp1jZkzZ8LHx0fjw4QeTJf3/eDBg/j8889x4sQJI0RomXR53y9duoTff/8do0aNwq+//ooLFy5g0qRJqKiowNy5c40RttnT5X1/5plnkJOTg65du0IQBFRWVuLFF1/Em2++aYyQ6Q62cFC9sWzZMmzcuBE///wz7OzsTB2OxSooKMDo0aOxdu1auLu7mzqcBkWlUsHDwwOffvopOnbsiOHDh+Ott97Cxx9/bOrQLNr+/fuxZMkSfPTRRzh27Bg2b96MHTt2YOHChaYOrUFhCwfpjbu7O2QyGbKzszW2Z2dnw8vL64HnrlixAsuWLcPevXvRtm1bQ4ZpcbR93y9evIjLly9j4MCB4jaVSgUAsLKyQmpqKgIDAw0btAXQ5e/d29sb1tbWkMlk4rawsDBkZWWhvLwcNjY2Bo3ZEujyvs+ePRujR4/Gc889BwAIDw9HUVERJk6ciLfeegtSKX97GwPfZdIbGxsbdOzYEfv27RO3qVQq7Nu3D1FRUTWet3z5cixcuBC7du1CRESEMUK1KNq+76GhoTh16hROnDgh3gYNGoQePXrgxIkT8PPzM2b4ZkuXv/cuXbrgwoULYoIHAOfOnYO3tzeTjVrS5X0vLi6ullSokz6By4kZj6lHrZJl2bhxo2Brayt8+eWXwtmzZ4WJEycKLi4uQlZWliAIgjB69GjhjTfeEI9ftmyZYGNjI/z4449CZmameCsoKDDVSzBL2r7v/8ZZKrrR9n1PT08XnJychClTpgipqanCL7/8Inh4eAiLFi0y1UswS9q+73PnzhWcnJyE7777Trh06ZLw22+/CYGBgcKwYcNM9RIaJHapkF4NHz4cN2/exJw5c5CVlYX27dtj165d4gCv9PR0jV8aa9asQXl5Of7zn/9oXGfu3LmYN2+eMUM3a9q+76Qf2r7vfn5+2L17N6ZPn462bdvC19cXr7zyCmbOnGmql2CWtH3fZ82aBYlEglmzZuH69eto0qQJBg4ciMWLF5vqJTRIXJ6eiIiIDI4/eYiIiMjgmHAQERGRwTHhICIiIoNjwkFEREQGx4SDiIiIDI4JBxERERkcEw4iIiIyOCYcREREZHBMOIio3rp8+TIkEglOnDhhkOv7+/sjPj7eINcmIk1MOIiozrp3745p06ZV2/7ll1/CxcXF6PEQUf3DhIOILIogCKisrDR1GET0L0w4iMgoxo4diyFDhmDJkiXw9PSEi4sLFixYgMrKSrz++utwdXVF06ZNsW7dumrnpqSkoHPnzrCzs0ObNm2QkJAg7tu/fz8kEgl27tyJjh07wtbWFgcPHsTFixcxePBgeHp6olGjRnj00Uexd+9eY75kIroHEw4iMprff/8dGRkZOHDgAFauXIm5c+diwIABaNy4MY4cOYIXX3wRL7zwAq5du6Zx3uuvv45XX30Vx48fR1RUFAYOHIhbt25pHPPGG29g2bJlSE5ORtu2bVFYWIh+/fph3759OH78OJ566ikMHDgQ6enpxnzJRHQHEw4iMhpXV1esWrUKISEhGD9+PEJCQlBcXIw333wTwcHBiIuLg42NDQ4ePKhx3pQpUxATE4OwsDCsWbMGcrkcn3/+ucYxCxYsQK9evRAYGAhXV1e0a9cOL7zwAtq0aYPg4GAsXLgQgYGB2LZtmzFfMhHdwYSDiIymdevWkErvfux4enoiPDxcfCyTyeDm5oYbN25onBcVFSXet7KyQkREBJKTkzWOiYiI0HhcWFiI1157DWFhYXBxcUGjRo2QnJzMFg4iE7EydQBEZP6cnZ2Rn59fbXteXh7kcrn42NraWmO/RCK57zaVSqV1DI6OjhqPX3vtNezZswcrVqxAUFAQ7O3t8Z///Afl5eVaX5uI6o4tHERUZyEhITh27Fi17ceOHUPLli3rfP3Dhw+L9ysrK5GUlISwsLAHnnPo0CGMHTsWTz/9NMLDw+Hl5YXLly/XORYi0g1bOIiozl566SV8+OGHmDp1Kp577jnY2tpix44d+O6777B9+/Y6X3/16tUIDg5GWFgY3nvvPdy+fRvjx49/4DnBwcHYvHkzBg4cCIlEgtmzZ+vUckJE+sEWDiKqsxYtWuDAgQNISUlBdHQ0IiMj8cMPP2DTpk146qmn6nz9ZcuWYdmyZWjXrh0OHjyIbdu2wd3d/YHnrFy5Eo0bN0bnzp0xcOBA9OnTB4888kidYyEi3UgEQRBMHQQRERFZNrZwEBERkcEx4SAiIiKDY8JBREREBseEg4iIiAyOCQcREREZHBMOIiIiMjgmHERERGRwTDiIiIjI4JhwEBERkcEx4SAiIiKDY8JBREREBvf/QfE4TK90cUQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Umbral elegido: 0.31499999999999995\n", + "Métricas en desarrollo (incluye matriz de confusión tp/fp/fn/tn): {'tp': 45, 'fp': 18, 'fn': 5, 'tn': 132, 'accuracy': 0.885, 'precision': 0.7142857142857143, 'recall': 0.9, 'especificidad': 0.88, 'f1': 0.7964601769911505}\n" + ] + } + ], + "source": [ + "from lib_modelos import buscar_umbral, metricas\n", + "\n", + "historia = mejor['historia']\n", + "epocas_transcurridas = range(1, len(historia['loss_train']) + 1)\n", + "\n", + "figura, ejes = plt.subplots(1, 2, figsize=(10, 3.5))\n", + "ejes[0].plot(epocas_transcurridas, historia['loss_train'], label='train')\n", + "ejes[0].plot(epocas_transcurridas, historia['loss_dev'], label='dev')\n", + "ejes[0].set(xlabel='Época', ylabel='Pérdida BCE ponderada', title='Curvas de pérdida')\n", + "ejes[0].legend()\n", + "ejes[1].plot(epocas_transcurridas, historia['accuracy_dev'], label='accuracy dev')\n", + "ejes[1].plot(epocas_transcurridas, historia['f1_dev'], label='F1 dev')\n", + "ejes[1].set(xlabel='Época', ylabel='Métrica', title='Desarrollo')\n", + "ejes[1].legend()\n", + "plt.show()\n", + "\n", + "# El umbral de \"mejor\" ya minimiza el costo en desarrollo; recalculamos el\n", + "# recorrido completo únicamente para graficar costo vs. umbral.\n", + "probabilidades_dev = mejor['modelo'].probabilidad(x_dev)\n", + "umbral_elegido, recorrido_umbrales = buscar_umbral(y_dev, probabilidades_dev, costo_fn=5, costo_fp=1)\n", + "\n", + "plt.figure(figsize=(6, 3.5))\n", + "plt.plot([f['umbral'] for f in recorrido_umbrales], [f['costo'] for f in recorrido_umbrales])\n", + "plt.axvline(umbral_elegido['umbral'], color='crimson', linestyle='--',\n", + " label=f\"umbral={umbral_elegido['umbral']:.3f}\")\n", + "plt.xlabel('Umbral'); plt.ylabel('Costo esperado en desarrollo'); plt.legend()\n", + "plt.show()\n", + "\n", + "metricas_dev = metricas(y_dev, probabilidades_dev, umbral_elegido['umbral'])\n", + "print('Umbral elegido:', umbral_elegido['umbral'])\n", + "print('Métricas en desarrollo (incluye matriz de confusión tp/fp/fn/tn):', metricas_dev)\n" + ] + }, + { + "cell_type": "markdown", + "id": "justificacionDecisionFinal1", + "metadata": { + "id": "justificacionDecisionFinal1" + }, + "source": [ + "**Justificación de la decisión final.**\n", + "\n", + "Se elige la configuración con menor costo esperado en desarrollo (`costo_fn=5`, `costo_fp=1`); si dos configuraciones quedan con costo igual, se desempata por mayor F1. El umbral se fija con el mismo criterio de costo mínimo, calculado exclusivamente sobre desarrollo, nunca sobre el test privado. Las curvas de pérdida permiten revisar sobreajuste: si `loss_dev` empieza a subir mientras `loss_train` sigue bajando, convendría un checkpoint de una época anterior en vez de la última.\n" + ] + }, + { + "cell_type": "markdown", + "id": "oSs_-a31tsGt", + "metadata": { + "id": "oSs_-a31tsGt" + }, + "source": [ + "## 6. Exportación\n", + "\n", + "Guarde los pesos y el estandarizador del modelo seleccionado. La inferencia debe poder reconstruir la arquitectura desde un diccionario de configuración. Guarde en una carpeta entrega que no sustituya los artefactos del instructor.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "A1BlaJqNtsGt", + "metadata": { + "id": "A1BlaJqNtsGt" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'ruta_pesos': PosixPath('/home/aleleba/projects/cursos/Universidad/Procesamiento de Imagenes y Vision por Computadora/Labs/Lab2/entrega/modelo_elegido.npz'),\n", + " 'arquitectura': {'tipo': 'mlp', 'entrada': 4, 'ocultas': [48, 24]},\n", + " 'umbral': 0.31499999999999995}" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from lib_modelos import guardar_modelo\n", + "\n", + "# Carpeta propia del estudiante: \"entrega\", distinta de \"entrega_solucion\"\n", + "# (que es la referencia del instructor y no debe sobrescribirse).\n", + "ruta_modelo_elegido = RAIZ / 'entrega' / 'modelo_elegido.npz'\n", + "guardar_modelo(\n", + " ruta_modelo_elegido,\n", + " mejor['modelo'],\n", + " mejor['configuracion']['arquitectura'],\n", + " media_entrenamiento,\n", + " desviacion_entrenamiento,\n", + ")\n", + "\n", + "# Este diccionario es el que se copia a inferencia_configurable.ipynb para\n", + "# reconstruir exactamente este modelo (arquitectura, pesos y umbral).\n", + "configuracion_inferencia = {\n", + " 'ruta_pesos': ruta_modelo_elegido,\n", + " 'arquitectura': mejor['configuracion']['arquitectura'],\n", + " 'umbral': umbral_elegido['umbral'],\n", + "}\n", + "configuracion_inferencia\n" + ] + }, + { + "cell_type": "markdown", + "id": "5Ci3fWhHtsGt", + "metadata": { + "id": "5Ci3fWhHtsGt" + }, + "source": [ + "## Entrega\n", + "\n", + "Entregue este notebook completado, su tabla de búsqueda, las curvas, las métricas en desarrollo, la justificación del manejo del desbalance y la configuración exportada. No incluya resultados del test privado.\n" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Lab2/notebooks/laboratorio_resuelto.ipynb b/Lab2/notebooks/laboratorio_resuelto.ipynb new file mode 100755 index 0000000..6ddf4b5 --- /dev/null +++ b/Lab2/notebooks/laboratorio_resuelto.ipynb @@ -0,0 +1,200 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Laboratorio resuelto: clasificación tabular con MLP\n", + "\n", + "Esta referencia separa 800/200 de forma estratificada, ajusta el estandarizador sólo en entrenamiento, pondera la clase positiva y elige configuración y umbral con desarrollo. El bloque final de evaluación privada es exclusivamente para el instructor.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pathlib import Path\n", + "import sys\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "candidatos = [Path.cwd().resolve(), Path.cwd().resolve() / 'dist' / 'laboratorio_clasificacion', Path.cwd().resolve().parent]\n", + "RAIZ = next((ruta for ruta in candidatos if (ruta / 'lib_modelos.py').exists()), None)\n", + "if RAIZ is None:\n", + " raise FileNotFoundError('No se encontró la carpeta laboratorio_clasificacion.')\n", + "sys.path.insert(0, str(RAIZ))\n", + "print('Raíz del laboratorio:', RAIZ)\n", + "from lib_modelos import (cargar_csv, division_estratificada, ajustar_estandarizador, transformar, buscar_hiperparametros, buscar_umbral, metricas, guardar_modelo)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Datos y división\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "x, y, ids = cargar_csv(RAIZ / 'datos_publicos' / 'train_1000_desbalanceado.csv')\n", + "indice_train, indice_dev = division_estratificada(y, proporcion_dev=.20, semilla=31)\n", + "media, desviacion = ajustar_estandarizador(x[indice_train])\n", + "x_train = transformar(x[indice_train], media, desviacion)\n", + "x_dev = transformar(x[indice_dev], media, desviacion)\n", + "y_train, y_dev = y[indice_train], y[indice_dev]\n", + "print('Train/dev:', len(y_train), len(y_dev))\n", + "print('Proporción positiva train/dev:', y_train.mean(), y_dev.mean())\n", + "peso_positivo = (y_train == 0).sum() / (y_train == 1).sum()\n", + "print('Peso positivo:', peso_positivo)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Decisiones para el desbalance\n", + "\n", + "Se usa una BCE ponderada con peso positivo igual a negativos/positivos. Accuracy no basta: un clasificador que siempre predice cero tendría 75% de accuracy y recall nulo. La selección minimiza costo esperado en desarrollo, con costo de falso negativo 5 y costo de falso positivo 1; se reportan también precision, recall y F1.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "configuraciones = [\n", + " {'arquitectura': {'tipo': 'mlp', 'entrada': 4, 'ocultas': [24, 16]},\n", + " 'entrenamiento': {'epocas': 100, 'batch_size': 64, 'learning_rate': .003}, 'costo_fn': 5, 'costo_fp': 1},\n", + " {'arquitectura': {'tipo': 'mlp', 'entrada': 4, 'ocultas': [48, 24]},\n", + " 'entrenamiento': {'epocas': 100, 'batch_size': 64, 'learning_rate': .002}, 'costo_fn': 5, 'costo_fp': 1},\n", + " {'arquitectura': {'tipo': 'mlp_residual_bn', 'entrada': 4, 'ancho': 24},\n", + " 'entrenamiento': {'epocas': 100, 'batch_size': 64, 'learning_rate': .002}, 'costo_fn': 5, 'costo_fp': 1},\n", + " {'arquitectura': {'tipo': 'mlp_residual_bn', 'entrada': 4, 'ancho': 40},\n", + " 'entrenamiento': {'epocas': 100, 'batch_size': 64, 'learning_rate': .0015}, 'costo_fn': 5, 'costo_fp': 1},\n", + "]\n", + "mejor, resultados = buscar_hiperparametros(configuraciones, x_train, y_train, x_dev, y_dev, semilla=41)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for n, r in enumerate(resultados, 1):\n", + " a = r['configuracion']['arquitectura']\n", + " print(n, a, 'costo=', r['costo'], 'umbral=', round(r['umbral'], 3),\n", + " 'F1=', round(r['f1'], 3), 'recall=', round(r['recall'], 3),\n", + " 'precision=', round(r['precision'], 3))\n", + "print('Selección:', mejor['configuracion']['arquitectura'])\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Curvas y umbral\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "historia = mejor['historia']\n", + "epocas = np.arange(1, len(historia['loss_train']) + 1)\n", + "fig, ax = plt.subplots(1, 2, figsize=(11, 3.5))\n", + "ax[0].plot(epocas, historia['loss_train'], label='train')\n", + "ax[0].plot(epocas, historia['loss_dev'], label='dev')\n", + "ax[0].set(xlabel='Época', ylabel='BCE ponderada', title='Pérdida'); ax[0].legend()\n", + "ax[1].plot(epocas, historia['accuracy_dev'], label='accuracy dev')\n", + "ax[1].plot(epocas, historia['f1_dev'], label='F1 dev')\n", + "ax[1].set(xlabel='Época', ylabel='Métrica', title='Desarrollo'); ax[1].legend()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "prob_dev = mejor['modelo'].probabilidad(x_dev)\n", + "umbral, recorrido = buscar_umbral(y_dev, prob_dev, costo_fn=5, costo_fp=1)\n", + "plt.figure(figsize=(6, 3.5))\n", + "plt.plot([f['umbral'] for f in recorrido], [f['costo'] for f in recorrido])\n", + "plt.axvline(umbral['umbral'], color='crimson', linestyle='--', label=f\"umbral={umbral['umbral']:.3f}\")\n", + "plt.xlabel('Umbral'); plt.ylabel('Costo esperado en desarrollo'); plt.legend(); plt.show()\n", + "print(umbral)\n", + "print(metricas(y_dev, prob_dev, umbral['umbral']))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. Exportación\n", + "\n", + "La selección se hizo sólo con desarrollo. El siguiente artefacto contiene los pesos, media, desviación y configuración necesaria para reproducir inferencia.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "guardar_modelo(RAIZ / 'entrega_solucion' / 'modelo_elegido.npz', mejor['modelo'],\n", + " mejor['configuracion']['arquitectura'], media, desviacion)\n", + "CONFIGURACION = {\n", + " 'ruta_pesos': str(RAIZ / 'entrega_solucion' / 'modelo_elegido.npz'),\n", + " 'arquitectura': mejor['configuracion']['arquitectura'],\n", + " 'umbral': umbral['umbral'],\n", + "}\n", + "CONFIGURACION\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5. Evaluación privada — instructor\n", + "\n", + "Ejecute este bloque sólo cuando las decisiones estén cerradas. Nunca se devuelve este CSV al estudiantado.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# BLOQUE DEL INSTRUCTOR\n", + "# x_test, y_test, _ = cargar_csv(RAIZ / 'instructor_privado' / 'test_200_balanceado.csv')\n", + "# prob_test = mejor['modelo'].probabilidad(transformar(x_test, media, desviacion))\n", + "# print(metricas(y_test, prob_test, CONFIGURACION['umbral']))\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.x" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Lab2/plantilla_reporte_laboratorio.pdf b/Lab2/plantilla_reporte_laboratorio.pdf new file mode 100755 index 0000000000000000000000000000000000000000..1a84bd16f925d41407eb5bf8fac6148359d88f20 GIT binary patch literal 172913 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

gN1gX*I_Poc6qgmdYoYg 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 x7kK)uVE}6?q>;G&jwoxu8U8} +\usepackage{amsmath,booktabs,array} +\usepackage{xcolor} +\usepackage{graphicx} +\setlength{\parindent}{0pt} +\newcommand{\campo}[1]{\underline{\hspace{#1}}} +\begin{document} + +\begin{center} +{\LARGE Reporte de laboratorio: clasificación tabular con MLP}\\[0.4em] +Nombre: Alejandro Lembke Barrientos\hfill Fecha: 25 de agosto de 2026\\ +Repositorio o archivo entregado: \texttt{https://gitea.p-lao.com/aleleba/Procesamiento-de-Imagenes-y-Vision-Por-Computadora} +\end{center} + +\textbf{Propósito.} Documentar una comparación reproducible entre un MLP convencional y un MLP residual con Batch Normalization, usando una división estratificada 800/200 y un conjunto de entrenamiento desbalanceado. Los valores de este reporte provienen de la ejecución real de \texttt{notebooks/laboratorio\_estudiante.ipynb}. + +\section*{1. Datos, división y control de fuga} +\small +\begin{tabular}{@{}p{2.4cm}p{5.8cm}p{6.8cm}c@{}} +\toprule +Elemento & Valor & Evidencia o justificación & Estado\\ +\midrule +Archivo público & train\_1000\_desbalanceado.csv & 1,000 ejemplos & Real\\ +División & 800 train / 200 dev & Estratificada, semilla 31 & Real\\ +Clases en train / dev & 600/200 clase 0 y 1 en train; 150/50 en dev & Proporción 75/25 conservada en ambas particiones & Real\\ +Estandarización & Media y desviación de train & Sin usar dev ni test & Real\\ +Test privado & No usado durante selección & Sólo evaluación final (a cargo del instructor) & Real\\ +\bottomrule +\end{tabular} +\normalsize + +\vspace{0.7em} +\textbf{Respuesta.} Describa una fuente posible de fuga de información y cómo la evitó: + +\vspace{0.3em} +La fuente de fuga más directa habría sido ajustar la media y la desviación estándar del estandarizador (\texttt{ajustar\_estandarizador}) usando todo el conjunto de 1,000 ejemplos antes de dividir en train/dev, o recalcularlas después de ver las métricas de desarrollo. Se evitó ajustando el estandarizador exclusivamente con \texttt{x[indice\_train]} (800 ejemplos) y aplicando esa misma transformación a dev y, al final, al artefacto exportado; el umbral y la arquitectura también se eligieron mirando solo el costo en desarrollo, sin usar en ningún momento \texttt{test\_200\_balanceado.csv}. + +\vspace{1.0cm} + +\section*{2. Estrategia ante el desbalance} +\begin{tabular}{@{}p{3.1cm}p{5.4cm}p{5.3cm}@{}} +\toprule +Decisión & Valor elegido & Justificación\\ +\midrule +Pérdida & BCE ponderada; peso positivo = 3.0 & Compensa la relación 600/200 de train.\\ +Selección de modelo & Costo esperado en dev & Falso negativo cuesta 5; falso positivo cuesta 1.\\ +Métricas reportadas & Precision, recall, F1, especificidad y accuracy & Accuracy sola oculta el desempeño de la clase minoritaria.\\ +Umbral & Se elige sólo en dev & Se congela antes del test privado.\\ +\bottomrule +\end{tabular} + +\vspace{0.6em} +\textbf{Respuesta.} Declare los costos y explique por qué el umbral 0.5 puede no ser adecuado: + +\vspace{0.3em} +Se asumió costo de falso negativo = 5 y costo de falso positivo = 1 (dejar pasar un caso positivo real es cinco veces más costoso que una falsa alarma). Con esos costos, el umbral que minimiza el costo esperado en desarrollo resultó ser 0.315, por debajo de 0.5: un umbral de 0.5 favorece la precisión pero deja escapar más falsos negativos, que en este problema son mucho más caros que los falsos positivos adicionales que introduce un umbral más bajo. + +\vspace{0.8cm} + +\section*{3. Búsqueda de hiperparámetros} +\small +\begin{tabular}{@{}lcccccccc@{}} +\toprule +ID & Arquitectura & Capas/ancho & LR & Épocas & Costo dev & F1 dev & Recall dev & Umbral\\ +\midrule +A & MLP & [24,16] & 0.003 & 100 & 43 & 0.715 & 0.980 & 0.050\\ +B & MLP & [48,24] & 0.002 & 100 & 43 & 0.796 & 0.900 & 0.315\\ +C & Residual + BN & 24 & 0.002 & 100 & 55 & 0.686 & 0.940 & 0.060\\ +D & Residual + BN & 40 & 0.0015 & 100 & 56 & 0.804 & 0.820 & 0.400\\ +\bottomrule +\end{tabular} +\normalsize + +\vspace{0.5em} +\textbf{Decisión.} Se elige la configuración de menor costo esperado en desarrollo; A y B empataron en costo (43), por lo que se desempató por mayor F1 en desarrollo, lo que favoreció a B (MLP, capas [48,24], learning rate 0.002, 100 épocas, umbral 0.315). + +\vspace{0.8cm} + +\section*{4. Curvas de entrenamiento y desarrollo} +\begin{center} +\includegraphics[width=\linewidth]{entrega/curvas_entrenamiento.png} +\end{center} + +\textbf{Interpretación.} Indique la época o checkpoint seleccionado y explique si observa sobreajuste, subajuste o estabilidad: + +\vspace{0.3em} +Se entrenaron las 100 épocas completas y se usó el modelo final (época 100). La pérdida de train baja de forma monótona hasta $\approx 0.09$, mientras que la pérdida de dev baja rápido hasta $\approx 0.27$ (época $\approx 20$) y luego se mantiene estable con una leve subida hacia el final ($\approx 0.30$–$0.33$ después de la época 70), señal de un sobreajuste leve. Accuracy y F1 en dev crecen rápido y se estabilizan alrededor de la época 20–30 (accuracy $\approx 0.88$–$0.91$, F1 $\approx 0.78$–$0.82$), con ruido pero sin caída sostenida, por lo que la configuración es razonablemente estable y no sería indispensable un checkpoint anterior. + +\vspace{0.5cm} + +\section*{5. Selección de umbral y reporte de métricas} +\begin{center} +\includegraphics[width=0.7\linewidth]{entrega/curva_umbral.png} +\end{center} + +\begin{center} +\begin{tabular}{@{}lccccc@{}} +\toprule +Conjunto & Accuracy & Precision & Recall & F1 & Especificidad\\ +\midrule +Desarrollo, umbral 0.315 & 0.885 & 0.714 & 0.900 & 0.796 & 0.880\\ +Test privado, umbral congelado & \campo{1cm} & \campo{1cm} & \campo{1cm} & \campo{1cm} & \campo{1cm}\\ +\bottomrule +\end{tabular} +\end{center} +\footnotesize +La fila de test privado se deja en blanco a propósito: \texttt{instructor\_privado/test\_200\_balanceado.csv} nunca se usa ni se lee durante el desarrollo del laboratorio; esa evaluación final es exclusiva del instructor. +\normalsize + +\vspace{0.5em} +\textbf{Matriz de confusión en desarrollo (umbral 0.315).} +\[ +\begin{array}{c|cc} + & \text{Pred. 0} & \text{Pred. 1}\\ \hline +\text{Real 0} & 132 & 18\\ +\text{Real 1} & 5 & 45 +\end{array} +\] + +\section*{6. Conclusión reproducible} +\begin{enumerate} +\item Arquitectura final, pesos y ruta del artefacto: MLP con capas ocultas [48, 24], entrada de dimensión 4; pesos guardados en \texttt{entrega/modelo\_elegido.npz}. +\item Umbral congelado y costos asumidos: umbral 0.315, elegido minimizando el costo esperado en desarrollo con costo de falso negativo = 5 y costo de falso positivo = 1. +\item Cambio que haría antes de desplegar: repetir la búsqueda de hiperparámetros con más de una semilla por configuración para verificar que la elección de arquitectura y umbral no dependa de una sola inicialización, y monitorear en producción la distribución de \texttt{x1..x4} para detectar drift respecto a los datos de entrenamiento. +\end{enumerate} +\end{document} diff --git a/Lab2/resolver_laboratorio.py b/Lab2/resolver_laboratorio.py new file mode 100755 index 0000000..80d1280 --- /dev/null +++ b/Lab2/resolver_laboratorio.py @@ -0,0 +1,61 @@ +"""Ejecuta la solución de referencia y guarda el artefacto para inferencia.""" +from __future__ import annotations +import json +from pathlib import Path +import matplotlib.pyplot as plt +from lib_modelos import ( + ajustar_estandarizador, buscar_hiperparametros, buscar_umbral, cargar_csv, + division_estratificada, guardar_modelo, metricas, transformar, +) + +RAIZ = Path(__file__).resolve().parent + +def fila_publica(resultado): + return { + "arquitectura": resultado["configuracion"]["arquitectura"], + "costo_dev": resultado["costo"], "umbral_dev": resultado["umbral"], + "accuracy_dev": resultado["accuracy"], "precision_dev": resultado["precision"], + "recall_dev": resultado["recall"], "f1_dev": resultado["f1"], + } + +def main(): + x, y, _ = cargar_csv(RAIZ/"datos_publicos"/"train_1000_desbalanceado.csv") + indice_train, indice_dev = division_estratificada(y, .20, semilla=31) + media, desviacion = ajustar_estandarizador(x[indice_train]) + xt = transformar(x[indice_train], media, desviacion) + xd = transformar(x[indice_dev], media, desviacion) + + configuraciones = [ + {"arquitectura": {"tipo": "mlp", "entrada": 4, "ocultas": [32, 16]}, + "entrenamiento": {"epocas": 100, "batch_size": 64, "learning_rate": .003}, + "costo_fn": 5, "costo_fp": 1}, + {"arquitectura": {"tipo": "mlp_residual_bn", "entrada": 4, "ancho": 32}, + "entrenamiento": {"epocas": 100, "batch_size": 64, "learning_rate": .002}, + "costo_fn": 5, "costo_fp": 1}, + ] + mejor, resultados = buscar_hiperparametros(configuraciones, xt, y[indice_train], xd, y[indice_dev], semilla=41) + carpeta = RAIZ/"instructor_privado"/"artefactos" + guardar_modelo(carpeta/"modelo_mejor.npz", mejor["modelo"], mejor["configuracion"]["arquitectura"], media, desviacion) + + xpriv, ypriv, _ = cargar_csv(RAIZ/"instructor_privado"/"test_200_balanceado.csv") + ppriv = mejor["modelo"].probabilidad(transformar(xpriv, media, desviacion)) + mpriv = metricas(ypriv, ppriv, mejor["umbral"]) + resumen = { + "split": {"train": int(len(indice_train)), "dev": int(len(indice_dev)), "clase_1_train": int(y[indice_train].sum()), "clase_1_dev": int(y[indice_dev].sum())}, + "candidatos": [fila_publica(r) for r in resultados], + "mejor": fila_publica(mejor), + "evaluacion_privada": mpriv, + } + (carpeta/"resumen_solucion.json").write_text(json.dumps(resumen, indent=2), encoding="utf-8") + + historia = mejor["historia"]; ejes = range(1, len(historia["loss_train"])+1) + fig, ax = plt.subplots(1, 2, figsize=(10, 3.5)) + ax[0].plot(ejes, historia["loss_train"], label="train"); ax[0].plot(ejes, historia["loss_dev"], label="dev") + ax[0].set(xlabel="Época", ylabel="Pérdida BCE ponderada", title="Curvas de pérdida"); ax[0].legend() + ax[1].plot(ejes, historia["accuracy_dev"], label="Accuracy dev"); ax[1].plot(ejes, historia["f1_dev"], label="F1 dev") + ax[1].set(xlabel="Época", ylabel="Métrica", title="Desarrollo"); ax[1].legend() + fig.tight_layout(); fig.savefig(carpeta/"curvas_solucion.png", dpi=160); plt.close(fig) + print(json.dumps(resumen, indent=2)) + +if __name__ == "__main__": + main() diff --git a/README.md b/README.md index a0709a0..fb7d26b 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ Repositorio con los laboratorios de la asignatura. ## Laboratorios -| # | Laboratorio | Notebook | -|---|---|---| -| 1 | MLPs, verosimilitud, entrenamiento y evaluación | [Lab 1 - MLP](Lab1/lab1_mlp.ipynb) | +| # | Laboratorio | Notebook | Reporte | +|---|---|---|---| +| 1 | MLPs, verosimilitud, entrenamiento y evaluación | [Lab 1 - MLP](Lab1/lab1_mlp.ipynb) | — | +| 2 | Clasificación tabular con MLP (desbalance de clases) | [Lab 2 - Clasificación](Lab2/notebooks/laboratorio_estudiante.ipynb) | [Reporte PDF](Lab2/plantilla_reporte_laboratorio.pdf) |