{ "cells": [ { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🚀 FASE 1.1: Ingesta Acelerada Estructural ===\n", " 🔍 Heurística Principal: Separador ';' detectado por Sniffer.\n", " ⚡ Ejecutando ingesta paralela con motor POLARS (Multi-core)...\n", " ✔️ Archivo cargado a velocidad extrema y convertido a Pandas Mutable.\n", "\n", "📊 Diagnóstico de Ingesta:\n", " ⏱️ Tiempo de lectura : 0.0501 segundos\n", " 📐 Dimensiones : 32,561 filas x 15 columnas\n", " 💾 Consumo de RAM : 17.65 MB\n", "\n", "--- 👁️ Radiografía de Estructura Inicial (Primeras 3 filas) ---\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclassfnlwgteducationeducation.nummarital.statusoccupationrelationshipracesexcapital.gaincapital.losshours.per.weeknative.countryincome
090?77053HS-grad9Widowed?Not-in-familyWhiteFemale0435640United-States<=50 K
182Private132870HS-grad9WidowedExec-managerialNot-in-familyWhiteFemale0435618United-States<=50K
266?186061Some-college10Widowed?UnmarriedBlackFemale0435640United-States<=50K
\n", "
" ], "text/plain": [ " age workclass fnlwgt education education.num marital.status \\\n", "0 90 ? 77053 HS-grad 9 Widowed \n", "1 82 Private 132870 HS-grad 9 Widowed \n", "2 66 ? 186061 Some-college 10 Widowed \n", "\n", " occupation relationship race sex capital.gain capital.loss \\\n", "0 ? Not-in-family White Female 0 4356 \n", "1 Exec-managerial Not-in-family White Female 0 4356 \n", "2 ? Unmarried Black Female 0 4356 \n", "\n", " hours.per.week native.country income \n", "0 40 United-States <=50 K \n", "1 18 United-States <=50K \n", "2 40 United-States <=50K " ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "\n", "✅ Datos iniciales cargados de forma segura en la memoria de 'manager.datos_crudos'.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import os\n", "import csv\n", "import time\n", "import logging # 🚀 NUEVO: Librería de Telemetría Estándar\n", "import pandas as pd\n", "from typing import Tuple, Any, Optional\n", "from IPython.display import display\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# ==========================================\n", "# 🚀 FIX ARQUITECTÓNICO: Configuración del Sistema de Telemetría (Logging)\n", "# ==========================================\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "logger.setLevel(logging.INFO)\n", "\n", "# Evitar duplicación de handlers si se ejecuta la celda varias veces\n", "if not logger.handlers:\n", " # 1. Handler para archivo físico (Persistencia en Servidor/K8s para Datadog/CloudWatch)\n", " file_handler = logging.FileHandler(\"mlops_pipeline_auditoria.log\", encoding='utf-8')\n", " file_formatter = logging.Formatter('%(asctime)s [%(levelname)s] %(message)s')\n", " file_handler.setFormatter(file_formatter)\n", " \n", " # 2. Handler para la consola (Mantiene la estética en Jupyter Notebook)\n", " console_handler = logging.StreamHandler()\n", " console_formatter = logging.Formatter('%(message)s') \n", " console_handler.setFormatter(console_formatter)\n", " \n", " logger.addHandler(file_handler)\n", " logger.addHandler(console_handler)\n", "\n", "# Intentamos cargar el motor de ultra-alta velocidad (Polars)\n", "try:\n", " import polars as pl\n", " MOTOR_PRINCIPAL = 'polars'\n", "except ImportError:\n", " MOTOR_PRINCIPAL = 'pandas'\n", " logger.warning(\"⚠️ Aviso: 'polars' no detectado. Usando 'pandas' (Motor C) como respaldo de emergencia.\")\n", "\n", "\n", "# ==========================================\n", "# 🚀 EL CONTENEDOR DE ESTADO (PIPELINE MANAGER)\n", "# ==========================================\n", "class PipelineManager:\n", " \"\"\"\n", " Cerebro MLOps que transporta datos, artefactos y modelos entre fases.\n", " Elimina dependencias globales y expone una API clara para serializacion.\n", " \"\"\"\n", " def __init__(self):\n", " self.datos_crudos = None\n", " self.X_train = None\n", " self.y_train = None\n", " self.X_test = None\n", " self.y_test = None\n", " self.rutas = {\n", " 'num_vars': [],\n", " 'cat_vars': [],\n", " 'bool_vars': [],\n", " 'date_vars': []\n", " }\n", " self.pesos_train = None\n", " self.grupos_cv = None\n", " self.artefactos_preprocesamiento = {}\n", " self.artefactos = {}\n", " self.modelos_preprocesamiento = {}\n", "\n", " def cargar_split(self, X_tr: pd.DataFrame, X_te: pd.DataFrame, y_tr: pd.Series, y_te: pd.Series):\n", " \"\"\"Inicializa las 4 matrices sagradas del Machine Learning.\"\"\"\n", " self.X_train = X_tr\n", " self.X_test = X_te\n", " self.y_train = y_tr\n", " self.y_test = y_te\n", "\n", " def guardar_artefacto(self, nombre: str, artefacto: Any):\n", " \"\"\"Registra un artefacto serializable en ambos almacenes compatibles.\"\"\"\n", " self.artefactos_preprocesamiento[nombre] = artefacto\n", " self.artefactos[nombre] = artefacto\n", "\n", " def guardar_modelo_preprocesamiento(self, nombre: str, modelo: Any):\n", " \"\"\"Registra un modelo pesado que debe viajar al pipeline final.\"\"\"\n", " self.modelos_preprocesamiento[nombre] = modelo\n", "\n", " def obtener_artefactos_serializables(self) -> dict:\n", " \"\"\"Fusiona recetas y artefactos en un unico contrato de despliegue.\"\"\"\n", " return {\n", " **self.artefactos_preprocesamiento,\n", " **self.artefactos\n", " }\n", "\n", " def obtener_modelos_serializables(self) -> dict:\n", " \"\"\"Entrega una copia segura de la caja fuerte de modelos.\"\"\"\n", " return dict(self.modelos_preprocesamiento)\n", "\n", "\n", "def ingesta_acelerada_multicore(\n", " ruta_archivo: str,\n", " convertir_a_pandas_mutable: bool = True\n", ") -> Tuple[Optional[Any], int]:\n", " \"\"\"\n", " [FASE 1 - Paso 1.1] Ingesta Acelerada Multi-core (Nivel Producción 2026).\n", " - Motor: Usa Polars (Rust) para leer millones de filas usando todos los hilos del CPU.\n", " - Inteligencia Escalonada: Sniffer primario + Escáner de frecuencia de respaldo para delimitadores rebeldes.\n", " - Tolerancia a Encodings (NUEVO): Ignora caracteres corruptos al detectar el separador.\n", " - Mutabilidad: Extrae los datos al backend nativo de NumPy permitiendo cirugía de datos posterior.\n", " \"\"\"\n", " # ==========================================\n", " # 1. Cláusulas de Guarda (Seguridad del File System)\n", " # ==========================================\n", " if not ruta_archivo or not isinstance(ruta_archivo, str):\n", " logger.error(\"🛑 Error Crítico: Ruta de archivo inválida o nula.\")\n", " return None, 0\n", "\n", " if not os.path.exists(ruta_archivo):\n", " logger.error(f\"🛑 Error Crítico: El archivo '{ruta_archivo}' no fue encontrado en el sistema.\")\n", " return None, 0\n", "\n", " logger.info(\"=== 🚀 FASE 1.1: Ingesta Acelerada Estructural ===\")\n", "\n", " # ==========================================\n", " # 2. Inteligencia de Detección de Separador (Escudo Doble + Tolerancia a Fallos)\n", " # ==========================================\n", " separador_detectado = ',' # Default absoluto\n", " try:\n", " # 🔧 FIX MLOPS: errors='replace' evita que el código crashee si hay bytes corruptos (ej. 0xa0)\n", " with open(ruta_archivo, 'r', encoding='utf-8', errors='replace') as archivo:\n", " # Leemos solo un bloque minúsculo para no ahogar la RAM\n", " muestra = archivo.read(10240) \n", "\n", " try:\n", " # INTENTO 1: Motor Sniffer oficial de Python\n", " separador_detectado = csv.Sniffer().sniff(muestra).delimiter\n", "\n", " # Manejo especial: A veces el sniffer confunde letras normales con separadores en textos sucios\n", " if separador_detectado.isalnum():\n", " raise ValueError(\"Sniffer detectó una letra/número como separador. Activando respaldo.\")\n", "\n", " logger.info(f\" 🔍 Heurística Principal: Separador '{separador_detectado}' detectado por Sniffer.\")\n", "\n", " except Exception:\n", " # INTENTO 2: Escáner de Frecuencia (El Fallback Inteligente)\n", " separadores_candidatos = [',', ';', '\\t', '|']\n", " lineas = muestra.strip().split('\\n')[:10] # Analizamos las primeras 10 líneas\n", "\n", " # Contamos cuántas veces aparece cada candidato en la muestra\n", " conteos = {sep: sum(linea.count(sep) for linea in lineas) for sep in separadores_candidatos}\n", " mejor_candidato = max(conteos, key=conteos.get)\n", "\n", " if conteos[mejor_candidato] > 0:\n", " separador_detectado = mejor_candidato\n", " if separador_detectado == '\\t':\n", " logger.info(\" 🛡️ Heurística de Respaldo: Sniffer falló, pero se detectó 'TABULADOR' por frecuencia.\")\n", " else:\n", " logger.info(f\" 🛡️ Heurística de Respaldo: Sniffer falló, pero se detectó '{separador_detectado}' por frecuencia.\")\n", " else:\n", " logger.warning(\" ⚠️ Alerta MLOps: Formato irreconocible o archivo de una sola columna. Forzando coma (',').\")\n", "\n", " except Exception as e:\n", " logger.error(f\" 🛑 Error fatal al inspeccionar el archivo: {e}. Forzando coma (',').\")\n", "\n", " # ==========================================\n", " # 3. Motor de Ingesta de Alta Velocidad\n", " # ==========================================\n", " df_resultante = None\n", " inicio_timer = time.time()\n", "\n", " try:\n", " if MOTOR_PRINCIPAL == 'polars':\n", " logger.info(f\" ⚡ Ejecutando ingesta paralela con motor POLARS (Multi-core)...\")\n", "\n", " # Polars lee en paralelo, ignora errores de codificación (utf8-lossy) y líneas corruptas\n", " df_polars = pl.read_csv(\n", " ruta_archivo,\n", " separator=separador_detectado,\n", " ignore_errors=True,\n", " infer_schema_length=10000,\n", " encoding='utf8-lossy'\n", " )\n", "\n", " # MLOps: Convertimos a Pandas nativo (NumPy backend).\n", " if convertir_a_pandas_mutable:\n", " df_resultante = df_polars.to_pandas()\n", " logger.info(\" ✔️ Archivo cargado a velocidad extrema y convertido a Pandas Mutable.\")\n", " else:\n", " df_resultante = df_polars\n", " logger.info(\" ✔️ Archivo cargado a velocidad extrema (Mantenido en Polars).\")\n", "\n", " else:\n", " # Fallback a Pandas si el usuario no tiene Polars instalado\n", " logger.info(f\" 🐢 Ejecutando ingesta con motor PANDAS (C-Engine)...\")\n", " df_resultante = pd.read_csv(\n", " ruta_archivo,\n", " sep=separador_detectado,\n", " engine='c',\n", " on_bad_lines='skip',\n", " low_memory=False\n", " )\n", " logger.info(\" ✔️ Archivo cargado mediante fallback de seguridad (Nativo Mutable).\")\n", "\n", " except Exception as e:\n", " logger.error(f\"🛑 Error crítico durante la lectura del archivo: {e}\")\n", " return None, 0\n", "\n", " tiempo_total = time.time() - inicio_timer\n", "\n", " # ==========================================\n", " # 4. Snapshot de Memoria y Reporte UI\n", " # ==========================================\n", " filas, columnas = df_resultante.shape\n", "\n", " # Cálculo de memoria seguro (Dependiendo si es Pandas o Polars)\n", " if isinstance(df_resultante, pd.DataFrame):\n", " memoria_mb = df_resultante.memory_usage(deep=True).sum() / (1024 ** 2)\n", " else:\n", " memoria_mb = df_resultante.estimated_size() / (1024 ** 2)\n", "\n", " logger.info(f\"\\n📊 Diagnóstico de Ingesta:\")\n", " logger.info(f\" ⏱️ Tiempo de lectura : {tiempo_total:.4f} segundos\")\n", " logger.info(f\" 📐 Dimensiones : {filas:,} filas x {columnas} columnas\")\n", " logger.info(f\" 💾 Consumo de RAM : {memoria_mb:.2f} MB\")\n", "\n", " logger.info(\"\\n--- 👁️ Radiografía de Estructura Inicial (Primeras 3 filas) ---\")\n", " \n", " # 🛡️ Aplicación de la Cláusula de Seguridad Visual\n", " if MODO_VISUAL:\n", " display(df_resultante.head(3))\n", " else:\n", " logger.info(\"\\n\" + df_resultante.head(3).to_string())\n", "\n", " return df_resultante, filas\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb\n", "# ==========================================\n", "# IMPORTANTE: Si no tienes Polars, instálalo en una celda arriba con: !pip install polars\n", "\n", "ruta_dataset = 'adult.csv' # Cambia esto por tu archivo real (compas-scores-raw)\n", "\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Instanciar el Manager en la Línea 1 del flujo principal\n", " manager = PipelineManager()\n", " \n", " df_crudo, total_filas_originales = ingesta_acelerada_multicore(\n", " ruta_archivo=ruta_dataset,\n", " convertir_a_pandas_mutable=True # 🔥 La clave para habilitar la cirugía de datos posterior\n", " )\n", " \n", " # 🚀 FIX ARQUITECTÓNICO: Guardar el estado crudo directamente en el Manager\n", " if df_crudo is not None:\n", " manager.datos_crudos = df_crudo\n", " logger.info(\"\\n✅ Datos iniciales cargados de forma segura en la memoria de 'manager.datos_crudos'.\")\n", "\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo en la celda de ejecución: {e}\")\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\n", "=== 🧬 FASE 1.1.5: Escáner Topológico de Atributos (15 columnas en total) ===\n" ] }, { "data": { "text/markdown": [ "#### 📦 Bloque 1 (Columnas 1 a 15)\n", "| # | 🗂️ Atributo (Izquierda) | ⚙️ Dtype | # | 🗂️ Atributo (Derecha) | ⚙️ Dtype |\n", "|:---:|---|:---:|:---:|---|:---:|\n", "| **1** | `age` | *int64* | **11** | `capital.gain` | *int64* |\n", "| **2** | `workclass` | *object* | **12** | `capital.loss` | *int64* |\n", "| **3** | `fnlwgt` | *int64* | **13** | `hours.per.week` | *int64* |\n", "| **4** | `education` | *object* | **14** | `native.country` | *object* |\n", "| **5** | `education.num` | *int64* | **15** | `income` | *object* |\n", "| **6** | `marital.status` | *object* | - | - | - |\n", "| **7** | `occupation` | *object* | - | - | - |\n", "| **8** | `relationship` | *object* | - | - | - |\n", "| **9** | `race` | *object* | - | - | - |\n", "| **10** | `sex` | *object* | - | - | - |\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "✔️ Mapeo estructural completado con éxito.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "from typing import Optional\n", "from IPython.display import display, Markdown\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# ==========================================\n", "# FASE 1.2: ESCÁNER TOPOLÓGICO DE ATRIBUTOS\n", "# ==========================================\n", "def mapear_columnas_oraculo(df: Optional[pd.DataFrame]) -> None:\n", " \"\"\"\n", " [FASE 1 - Paso 1.1.5] Escáner Topológico de Atributos.\n", " - Blindaje: Valida la existencia y estado de la matriz en memoria.\n", " - Paginación Dinámica: Muestra las columnas en bloques de 20.\n", " - UI Inteligente: Renderiza en 2 columnas (10 a la izquierda, 10 a la derecha) usando Markdown.\n", " - Telemetría MLOps: Extrae y loguea el tipo de dato subyacente (dtype).\n", " \"\"\"\n", " if df is None or df.empty:\n", " logger.error(\"🛑 Error Crítico [Escáner]: El DataFrame proporcionado está vacío o no existe en memoria.\")\n", " return\n", "\n", " columnas = df.columns.tolist()\n", " tipos = df.dtypes.astype(str).tolist()\n", " total_cols = len(columnas)\n", "\n", " logger.info(f\"\\n=== 🧬 FASE 1.1.5: Escáner Topológico de Atributos ({total_cols} columnas en total) ===\")\n", "\n", " # Procesamiento por lotes (chunks de 20)\n", " for i in range(0, total_cols, 20):\n", " # Extracción segura del bloque actual\n", " chunk_cols = columnas[i:i+20]\n", " chunk_tipos = tipos[i:i+20]\n", "\n", " # División interna: 10 a la izquierda, 10 a la derecha\n", " mitad = 10\n", " left_cols = chunk_cols[:mitad]\n", " left_tipos = chunk_tipos[:mitad]\n", " right_cols = chunk_cols[mitad:]\n", " right_tipos = chunk_tipos[mitad:]\n", "\n", " # Construcción dinámica de la tabla Markdown para Jupyter/Logs\n", " md_table = f\"#### 📦 Bloque { (i // 20) + 1 } (Columnas {i + 1} a {min(i + 20, total_cols)})\\n\"\n", " md_table += \"| # | 🗂️ Atributo (Izquierda) | ⚙️ Dtype | # | 🗂️ Atributo (Derecha) | ⚙️ Dtype |\\n\"\n", " md_table += \"|:---:|---|:---:|:---:|---|:---:|\\n\"\n", "\n", " for j in range(mitad):\n", " # Índices absolutos para la visualización\n", " idx_left = i + j\n", " idx_right = i + j + mitad\n", "\n", " # Renderizado de la celda izquierda (con protección de desbordamiento)\n", " if j < len(left_cols):\n", " str_idx_l = f\"**{idx_left + 1}**\"\n", " str_col_l = f\"`{left_cols[j]}`\"\n", " str_typ_l = f\"*{left_tipos[j]}*\"\n", " else:\n", " str_idx_l, str_col_l, str_typ_l = \"-\", \"-\", \"-\"\n", "\n", " # Renderizado de la celda derecha (con protección de desbordamiento)\n", " if j < len(right_cols):\n", " str_idx_r = f\"**{idx_right + 1}**\"\n", " str_col_r = f\"`{right_cols[j]}`\"\n", " str_typ_r = f\"*{right_tipos[j]}*\"\n", " else:\n", " str_idx_r, str_col_r, str_typ_r = \"-\", \"-\", \"-\"\n", "\n", " # Inserción de la fila en la tabla\n", " md_table += f\"| {str_idx_l} | {str_col_l} | {str_typ_l} | {str_idx_r} | {str_col_r} | {str_typ_r} |\\n\"\n", "\n", " # 🛡️ Cláusula de Seguridad Visual Integrada con Logging\n", " if MODO_VISUAL:\n", " display(Markdown(md_table))\n", " # Logueamos en el archivo físico de manera silenciosa para no ensuciar el notebook\n", " logger.debug(f\"Renderizado visual del Bloque {(i // 20) + 1} completado.\")\n", " else:\n", " # En Headless/Producción, imprime la estructura raw para DataDog/CloudWatch\n", " logger.info(md_table) \n", "\n", " logger.info(\"✔️ Mapeo estructural completado con éxito.\")\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Verificamos que el manager centralizado exista\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Fase 1.1 primero.\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extraemos los datos crudos directamente desde el manager\n", " if not hasattr(manager, 'datos_crudos') or manager.datos_crudos is None:\n", " raise ValueError(\"El Manager no tiene cargados 'datos_crudos'. Ejecuta la ingesta primero.\")\n", "\n", " mapear_columnas_oraculo(manager.datos_crudos)\n", " \n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo en el escáner de atributos: {e}\")" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🧬 FASE 1.2: Purga de Clones Absolutos ===\n", " 🔍 Escaneando la matriz en busca de espejos perfectos...\n", " 🚨 ALERTA: Se detectaron 24 filas 100% idénticas.\n", " ↳ Acción: Ejecutando guillotina (Conservando solo el registro original)...\n", "\n", "✅ Purga completada en 0.214s.\n", " 📉 Filas eliminadas : 24\n", " 📊 Filas puras : 32,537\n", " 🚀 RAM Liberada : 0.01 MB\n", "\n", "📦 [MLOps] Matriz purgada y actualizada de forma segura en 'manager.datos_crudos'.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import time\n", "from typing import Tuple\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def purgar_clones_absolutos(df_crudo: pd.DataFrame) -> Tuple[pd.DataFrame, int]:\n", " \"\"\"\n", " [FASE 1 - Paso 1.2] Purga de Clones Absolutos (Nivel Producción).\n", " - Inteligencia Estructural: Busca filas 100% idénticas en todas sus dimensiones.\n", " - Prevención de Leakage Temprano: Elimina duplicados originados por errores \n", " de extracción (SQL JOINs cruzados) que inflarían el conteo estadístico.\n", " - MLOps: Perfila la memoria RAM liberada en el proceso y lo registra en Logs.\n", " \"\"\"\n", " # ==========================================\n", " # 1. Cláusulas de Guarda (Seguridad)\n", " # ==========================================\n", " if not isinstance(df_crudo, pd.DataFrame) or df_crudo.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz está vacía o es inválida.\")\n", " return df_crudo, 0\n", "\n", " logger.info(\"=== 🧬 FASE 1.2: Purga de Clones Absolutos ===\")\n", "\n", " inicio_timer = time.time()\n", " filas_originales = len(df_crudo)\n", "\n", " # 📸 Snapshot de memoria real (Deep)\n", " mem_antes = df_crudo.memory_usage(deep=True).sum() / (1024 ** 2)\n", "\n", " # ==========================================\n", " # 2. Escáner de Redundancia Total (Fuerza Bruta C)\n", " # ==========================================\n", " logger.info(\" 🔍 Escaneando la matriz en busca de espejos perfectos...\")\n", "\n", " # duplicated() en Pandas usa tablas hash en C subyacente, es ultra-rápido\n", " # keep='first' marca como True a los impostores (copias) y salva al original\n", " mascara_clones = df_crudo.duplicated(keep='first')\n", " cantidad_clones = mascara_clones.sum()\n", "\n", " # ==========================================\n", " # 3. La Guillotina de Clones\n", " # ==========================================\n", " if cantidad_clones > 0:\n", " logger.warning(f\" 🚨 ALERTA: Se detectaron {cantidad_clones:,} filas 100% idénticas.\")\n", " logger.info(\" ↳ Acción: Ejecutando guillotina (Conservando solo el registro original)...\")\n", "\n", " # Filtramos la matriz quedándonos solo con los que NO son clones (~mascara)\n", " df_sin_clones = df_crudo[~mascara_clones].copy()\n", "\n", " # Reseteamos el índice para que FLAML/LightGBM no colapsen por saltos numéricos\n", " df_sin_clones.reset_index(drop=True, inplace=True)\n", "\n", " # ==========================================\n", " # 4. Reporte Ejecutivo de Hardware (Logs)\n", " # ==========================================\n", " mem_despues = df_sin_clones.memory_usage(deep=True).sum() / (1024 ** 2)\n", " ahorro_ram = mem_antes - mem_despues\n", " tiempo_total = time.time() - inicio_timer\n", "\n", " logger.info(f\"\\n✅ Purga completada en {tiempo_total:.3f}s.\")\n", " logger.info(f\" 📉 Filas eliminadas : {cantidad_clones:,}\")\n", " logger.info(f\" 📊 Filas puras : {len(df_sin_clones):,}\")\n", " logger.info(f\" 🚀 RAM Liberada : {ahorro_ram:.2f} MB\")\n", "\n", " else:\n", " df_sin_clones = df_crudo.copy()\n", " tiempo_total = time.time() - inicio_timer\n", " logger.info(f\"\\n ✔️ Matriz impecable. No se encontraron clones absolutos ({tiempo_total:.3f}s).\")\n", "\n", " return df_sin_clones, cantidad_clones\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Verificamos que el manager centralizado exista\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Fase 1.1 primero.\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extraemos los datos crudos directamente desde el manager\n", " if not hasattr(manager, 'datos_crudos') or manager.datos_crudos is None:\n", " raise ValueError(\"El Manager no tiene cargados 'datos_crudos'. Ejecuta la ingesta primero.\")\n", "\n", " # Ejecutamos la purga consumiendo los datos directamente del manager\n", " df_sin_clones, total_clones_destruidos = purgar_clones_absolutos(df_crudo=manager.datos_crudos)\n", " \n", " # 🚀 FIX ARQUITECTÓNICO: Actualizamos el estado del manager con la matriz limpia\n", " manager.datos_crudos = df_sin_clones\n", " logger.info(\"\\n📦 [MLOps] Matriz purgada y actualizada de forma segura en 'manager.datos_crudos'.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante: {env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en la Purga de Clones: {e}\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🪓 FASE 1.3: Guillotina Temprana (IA Estructural y Migración de IDs) ===\n", " 🎯 [TARGET SELECCIONADO]: 'income' se mantendrá intacto.\n", " 🪓 [DECRETO DEL ARQUITECTO]: 1 variables decapitadas manualmente: ['fnlwgt']\n", " 🧠 Activando Motor de Correlación para buscar Fugas de Datos ocultas...\n", " ✅ La matriz parece estar libre de Fugas de Datos obvias.\n", "\n", "✅ Cirugía Estructural Completada en 0.1388s:\n", " 🎯 Target Definitivo : income\n", " 🔪 Filas destruidas (Basura) : 0\n", " 📉 Columnas destruidas : 2\n", " 🪓 Eliminaciones Manuales : 1\n", " 🛡️ Columnas migradas a Index : 0\n", " 📊 Variables predictoras : 13\n", "\n", "📦 Variable guardada con éxito en memoria: target_ganador_fase1 = 'income'\n", "📦 [MLOps] Matriz decapitada y actualizada de forma segura en 'manager.datos_crudos'.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import re\n", "from typing import Tuple, List, Optional\n", "import time\n", "import warnings\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def ejecutar_guillotina_inteligente(\n", " df: pd.DataFrame,\n", " targets_potenciales: List[str],\n", " columnas_a_eliminar_manual: Optional[List[str]] = None # 🚀 FIX: Nuevo parámetro manual\n", ") -> Tuple[pd.DataFrame, dict]:\n", " \"\"\"\n", " [FASE 1 - Paso 1.3] La Guillotina Temprana (Nivel AutoML Avanzado).\n", " - Batalla de Targets: Conserva el primero de la lista y destruye a sus rivales explícitos.\n", " - Guillotina Manual: Elimina variables forzadas por el Arquitecto.\n", " - IA Anti-Leakage: Escanea TODA la matriz y decapita automáticamente variables 'tramposas'.\n", " - Regla de Oro: Purga filas si el Target es nulo.\n", " - Escáner de Degradación: Destruye columnas con >90% de nulos.\n", " - Escáner de Entropía V3 (NUEVO): Detecta IDs en CamelCase/PascalCase y llaves primarias desordenadas.\n", " \"\"\"\n", " if not isinstance(df, pd.DataFrame) or df.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz está vacía o es inválida.\")\n", " return df, {}\n", "\n", " logger.info(\"=== 🪓 FASE 1.3: Guillotina Temprana (IA Estructural y Migración de IDs) ===\")\n", "\n", " inicio_timer = time.time()\n", " df_opt = df.copy()\n", "\n", " # 👑 Se extrae al ganador inmediatamente\n", " target_principal = targets_potenciales[0]\n", "\n", " reporte_operaciones = {\n", " 'target_escogido': target_principal, \n", " 'filas_sin_target_eliminadas': 0, \n", " 'targets_secundarios_eliminados': [], \n", " 'fugas_datos_detectadas_ia': [], \n", " 'nulos_masivos_eliminados': [], \n", " 'constantes_eliminadas': [],\n", " 'isomorficas_redundantes_eliminadas': [],\n", " 'ids_migrados_al_index': [],\n", " 'eliminadas_manualmente': [] # 🚀 FIX: Registro manual\n", " }\n", "\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", "\n", " # ==========================================\n", " # 1. LA BATALLA, BLINDAJE Y AUTO-LEAKAGE\n", " # ==========================================\n", " if target_principal in df_opt.columns:\n", " logger.info(f\" 🎯 [TARGET SELECCIONADO]: '{target_principal}' se mantendrá intacto.\")\n", " filas_antes = len(df_opt)\n", "\n", " patron_regex = r'(?i)^(unknown|n/?a|null|nan|missing|none|-1|)$|^[^a-zA-Z0-9]+$'\n", " mask_basura = df_opt[target_principal].astype(str).str.match(patron_regex)\n", "\n", " if mask_basura.any():\n", " df_opt.loc[mask_basura, target_principal] = np.nan\n", "\n", " df_opt.dropna(subset=[target_principal], inplace=True)\n", "\n", " filas_destruidas = filas_antes - len(df_opt)\n", " if filas_destruidas > 0:\n", " reporte_operaciones['filas_sin_target_eliminadas'] = filas_destruidas\n", " logger.info(f\" 🧹 [REGLA DE ORO]: {filas_destruidas} filas aniquiladas por contener Target nulo.\")\n", " else:\n", " logger.warning(f\" ⚠️ Alerta: El target '{target_principal}' no se encontró en la matriz.\")\n", " return df, {}\n", "\n", " # 🚀 FIX: EJECUCIÓN DE GUILLOTINA MANUAL ANTES DE LA IA\n", " if columnas_a_eliminar_manual:\n", " a_borrar_manual = [col for col in columnas_a_eliminar_manual if col in df_opt.columns and col != target_principal]\n", " if a_borrar_manual:\n", " df_opt.drop(columns=a_borrar_manual, inplace=True)\n", " reporte_operaciones['eliminadas_manualmente'] = a_borrar_manual\n", " logger.info(f\" 🪓 [DECRETO DEL ARQUITECTO]: {len(a_borrar_manual)} variables decapitadas manualmente: {a_borrar_manual}\")\n", "\n", " if len(targets_potenciales) > 1:\n", " targets_secundarios = targets_potenciales[1:]\n", " a_borrar_targets = [t for t in targets_secundarios if t in df_opt.columns]\n", "\n", " if a_borrar_targets:\n", " df_opt.drop(columns=a_borrar_targets, inplace=True)\n", " reporte_operaciones['targets_secundarios_eliminados'] = a_borrar_targets\n", " logger.info(f\" 🗑️ [BATALLA]: Decapitando rivales explícitos: {a_borrar_targets}\")\n", "\n", " logger.info(\" 🧠 Activando Motor de Correlación para buscar Fugas de Datos ocultas...\")\n", "\n", " trampas_descubiertas = []\n", " umbral_trampa = 0.85 \n", "\n", " rey_numerico = pd.factorize(df_opt[target_principal])[0] if df_opt[target_principal].dtype == 'object' or df_opt[target_principal].dtype == 'category' else df_opt[target_principal]\n", "\n", " for col in df_opt.columns:\n", " if col == target_principal: continue\n", "\n", " if pd.api.types.is_numeric_dtype(df_opt[col]) or pd.api.types.is_bool_dtype(df_opt[col]):\n", " mask = ~df_opt[col].isna() & (rey_numerico != -1) \n", " if mask.sum() > 100: \n", " correlacion = np.abs(np.corrcoef(df_opt.loc[mask, col], rey_numerico[mask])[0, 1])\n", "\n", " if correlacion >= umbral_trampa:\n", " trampas_descubiertas.append(col)\n", " logger.warning(f\" 🚨 [Fuga Detectada]: '{col}' predice al Rey con {correlacion*100:.1f}% de exactitud. Es trampa.\")\n", "\n", " if trampas_descubiertas:\n", " df_opt.drop(columns=trampas_descubiertas, inplace=True)\n", " reporte_operaciones['fugas_datos_detectadas_ia'] = trampas_descubiertas\n", " logger.info(f\" 🔪 Decapitando fugas del futuro automáticas: {trampas_descubiertas}\")\n", " else:\n", " logger.info(\" ✅ La matriz parece estar libre de Fugas de Datos obvias.\")\n", "\n", " filas_totales_actuales = len(df_opt)\n", "\n", " # ==========================================\n", " # 🚀 2. ESCÁNER DE DEGRADACIÓN (Nulos Masivos)\n", " # ==========================================\n", " umbral_nulos = 0.90 \n", " nulos_ratios = df_opt.isna().mean()\n", " a_borrar_nulos = nulos_ratios[nulos_ratios >= umbral_nulos].index.tolist()\n", "\n", " if target_principal in a_borrar_nulos:\n", " a_borrar_nulos.remove(target_principal)\n", "\n", " if a_borrar_nulos:\n", " df_opt.drop(columns=a_borrar_nulos, inplace=True)\n", " reporte_operaciones['nulos_masivos_eliminados'] = a_borrar_nulos\n", " logger.info(f\" 🕳️ [DEGRADACIÓN]: {len(a_borrar_nulos)} variables destruidas por nulos irrecuperables (>90%).\")\n", "\n", " # ==========================================\n", " # 🧠 3. ESCÁNER DE ENTROPÍA V3 (IDs Inteligentes & CamelCase)\n", " # ==========================================\n", " patron_id_base = re.compile(r'(^id$|_id$|^id_|^cod_|^codigo|_codigo$|_code$|^idx$|uuid|hash|pk|cedula)', re.IGNORECASE)\n", " a_borrar_constantes = []\n", " ids_encontrados = []\n", "\n", " for col in df_opt.columns:\n", " if col == target_principal: continue\n", "\n", " unicos = df_opt[col].nunique(dropna=False) \n", "\n", " if unicos <= 1:\n", " a_borrar_constantes.append(col)\n", " continue\n", " elif not pd.api.types.is_float_dtype(df_opt[col]):\n", " frecuencia_top = df_opt[col].value_counts(normalize=True, dropna=False).iloc[0]\n", " if frecuencia_top >= 0.995: \n", " a_borrar_constantes.append(col)\n", " continue\n", "\n", " ratio_unicidad = unicos / filas_totales_actuales\n", " es_id = False\n", "\n", " # 🚀 FIX: Soporte semántico para CamelCase/PascalCase (ej. PatientId, AppointmentID)\n", " es_id_semantico = bool(patron_id_base.search(col))\n", " if not es_id_semantico and len(col) > 2:\n", " if col.endswith('Id') or col.endswith('ID'):\n", " es_id_semantico = True\n", "\n", " if es_id_semantico and unicos > 10: \n", " es_id = True\n", " elif pd.api.types.is_integer_dtype(df_opt[col]) and ratio_unicidad >= 0.95:\n", " # 🚀 FIX: Si un entero es >95% único, es Llave Primaria (no requiere estar ordenado).\n", " es_id = True\n", " elif pd.api.types.is_object_dtype(df_opt[col]) or pd.api.types.is_string_dtype(df_opt[col]):\n", " if ratio_unicidad >= 0.80:\n", " longitudes = df_opt[col].dropna().astype(str).str.len()\n", " if longitudes.nunique() == 1 and longitudes.iloc[0] >= 10:\n", " es_id = True\n", " elif ratio_unicidad >= 0.99 and not pd.api.types.is_float_dtype(df_opt[col]):\n", " es_id = True\n", "\n", " if es_id:\n", " ids_encontrados.append(col)\n", "\n", " if a_borrar_constantes:\n", " df_opt.drop(columns=a_borrar_constantes, inplace=True)\n", " reporte_operaciones['constantes_eliminadas'] = a_borrar_constantes\n", "\n", " if ids_encontrados:\n", " df_opt.set_index(ids_encontrados, inplace=True)\n", " reporte_operaciones['ids_migrados_al_index'] = ids_encontrados\n", " logger.info(f\" 🔒 IDs migrados de forma segura al Index: {ids_encontrados}\")\n", "\n", " # ==========================================\n", " # 4. DETECCIÓN DE ISOMORFISMO (1:1 Redundancia)\n", " # ==========================================\n", " dicc_unicos = {}\n", " for col in df_opt.columns:\n", " if col == target_principal: continue\n", "\n", " n_val = df_opt[col].nunique()\n", " if 1 < n_val <= 100: \n", " dicc_unicos.setdefault(n_val, []).append(col)\n", "\n", " a_borrar_isomorfismo = []\n", " for n_val, columnas in dicc_unicos.items():\n", " if len(columnas) > 1: \n", " for i in range(len(columnas)):\n", " for j in range(i + 1, len(columnas)):\n", " col_A = columnas[i]\n", " col_B = columnas[j]\n", "\n", " if col_A in a_borrar_isomorfismo or col_B in a_borrar_isomorfismo:\n", " continue\n", "\n", " combinaciones = len(df_opt[[col_A, col_B]].drop_duplicates())\n", "\n", " if combinaciones == n_val:\n", " if pd.api.types.is_numeric_dtype(df_opt[col_A]) and not pd.api.types.is_numeric_dtype(df_opt[col_B]):\n", " a_borrar_isomorfismo.append(col_B)\n", " else:\n", " a_borrar_isomorfismo.append(col_A)\n", "\n", " if a_borrar_isomorfismo:\n", " df_opt.drop(columns=a_borrar_isomorfismo, inplace=True)\n", " reporte_operaciones['isomorficas_redundantes_eliminadas'] = a_borrar_isomorfismo\n", "\n", " # ==========================================\n", " # 5. Reporte Ejecutivo de MLOps\n", " # ==========================================\n", " tiempo_total = time.time() - inicio_timer\n", "\n", " columnas_destruidas = (\n", " len(reporte_operaciones['targets_secundarios_eliminados']) +\n", " len(reporte_operaciones['fugas_datos_detectadas_ia']) +\n", " len(reporte_operaciones['nulos_masivos_eliminados']) +\n", " len(reporte_operaciones['constantes_eliminadas']) +\n", " len(reporte_operaciones['isomorficas_redundantes_eliminadas']) +\n", " len(reporte_operaciones['eliminadas_manualmente']) # 🚀 FIX: Sumadas al total\n", " )\n", "\n", " logger.info(f\"\\n✅ Cirugía Estructural Completada en {tiempo_total:.4f}s:\")\n", " logger.info(f\" 🎯 Target Definitivo : {reporte_operaciones['target_escogido']}\")\n", " logger.info(f\" 🔪 Filas destruidas (Basura) : {reporte_operaciones['filas_sin_target_eliminadas']}\")\n", " logger.info(f\" 📉 Columnas destruidas : {columnas_destruidas}\")\n", " if reporte_operaciones['eliminadas_manualmente']:\n", " logger.info(f\" 🪓 Eliminaciones Manuales : {len(reporte_operaciones['eliminadas_manualmente'])}\")\n", " logger.info(f\" 🛡️ Columnas migradas a Index : {len(reporte_operaciones['ids_migrados_al_index'])}\")\n", " logger.info(f\" 📊 Variables predictoras : {df_opt.shape[1]}\")\n", "\n", " return df_opt, reporte_operaciones\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación robusta del Manager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1).\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Validación segura de los datos crudos\n", " if getattr(manager, 'datos_crudos', None) is None:\n", " raise ValueError(\"El Manager no tiene datos cargados. Ejecuta la Fase 1.1 y 1.2.\")\n", "\n", " mis_targets = [\n", " 'income', # 👑 EL REY (ScoreText)\n", " 'DecileScore', # Su rival a eliminar\n", " ] \n", "\n", " # 🚀 FIX MLOps: Agrega aquí las columnas que deseas matar manualmente\n", " columnas_basura = [\n", " 'fnlwgt'\n", " ]\n", "\n", " # Ejecutamos consumiendo y sobreescribiendo en el PipelineManager\n", " df_purgado, reporte_guillotina = ejecutar_guillotina_inteligente(\n", " df=manager.datos_crudos,\n", " targets_potenciales=mis_targets,\n", " columnas_a_eliminar_manual=columnas_basura # 🚀 FIX: Pasamos el parámetro\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Actualizamos el Manager y guardamos metadatos\n", " manager.datos_crudos = df_purgado\n", " \n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos el reporte EXPLÍCITAMENTE en el manager para la Fase 1.3.1\n", " manager.reporte_guillotina = reporte_guillotina\n", " \n", " target_ganador_fase1 = reporte_guillotina.get('target_escogido')\n", " \n", " # 💡 TRUCO: Guardamos el nombre del target ganador como metadato en las rutas\n", " if target_ganador_fase1:\n", " if not hasattr(manager, 'rutas'):\n", " manager.rutas = {}\n", " manager.rutas['target_name'] = target_ganador_fase1\n", " \n", " logger.info(f\"\\n📦 Variable guardada con éxito en memoria: target_ganador_fase1 = '{target_ganador_fase1}'\")\n", " logger.info(\"📦 [MLOps] Matriz decapitada y actualizada de forma segura en 'manager.datos_crudos'.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante: {env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en La Guillotina Temprana: {e}\")" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "{\n", " \"target_escogido\": \"income\",\n", " \"filas_sin_target_eliminadas\": 0,\n", " \"targets_secundarios_eliminados\": [],\n", " \"fugas_datos_detectadas_ia\": [],\n", " \"nulos_masivos_eliminados\": [],\n", " \"constantes_eliminadas\": [],\n", " \"isomorficas_redundantes_eliminadas\": [\n", " \"education\"\n", " ],\n", " \"ids_migrados_al_index\": [],\n", " \"eliminadas_manualmente\": [\n", " \"fnlwgt\"\n", " ]\n", "}\n" ] } ], "source": [ "\n", "\n", "# Ejecuta esto para ver el acta de defunción de tus columnas:\n", "import json\n", "logger.info(json.dumps(reporte_guillotina, indent=4))\n" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== ⚖️ FASE 1.3.1: Auditoría y Justificación del Dictamen ===\n" ] }, { "data": { "text/markdown": [ "### 📜 Resolución Oficial: Justificación de Limpieza Estructural\n", "**🎯 Target Protegido:** `income`\n", "\n", "---\n", "👯 **Isomorfismo (Redundancia 1:1):**\n", "* **Decisión MLOps:** Se detectaron pares de columnas que dicen exactamente lo mismo en diferente formato (ej. 'ID_Ciudad' y 'Nombre_Ciudad'). Mantener ambas infla la dimensionalidad de la matriz, ralentiza el entrenamiento y causa multicolinealidad sin aportar nueva información.\n", "* **Columnas Afectadas (1):** `education`\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "from IPython.display import display, Markdown\n", "from typing import Dict\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# ==========================================\n", "# MOTOR MLOPS: AUDITOR DE EXPLICABILIDAD\n", "# ==========================================\n", "def auditar_dictamen_guillotina(reporte: Dict) -> None:\n", " \"\"\"\n", " [FASE 1 - Paso 1.3.1] Auditor del Dictamen (Explainable AI).\n", " - Transparencia: Traduce las eliminaciones técnicas a explicaciones de negocio.\n", " - Audit Trail: Justifica por qué cada columna era un riesgo matemático o estructural.\n", " - Clean UI: Renderiza un informe en formato Markdown ideal para Jupyter Notebooks o texto plano en Headless.\n", " \"\"\"\n", " if not reporte:\n", " logger.error(\"🛑 Error: El reporte de la guillotina está vacío o no se generó correctamente.\")\n", " return\n", "\n", " logger.info(\"=== ⚖️ FASE 1.3.1: Auditoría y Justificación del Dictamen ===\")\n", "\n", " # Textos de justificación arquitectónica\n", " justificaciones = {\n", " 'targets_secundarios_eliminados': (\n", " \"🗑️ **Targets Secundarios (Evitar la Bola de Cristal):**\",\n", " \"Se eliminaron porque dejar un target alternativo en la matriz de entrenamiento causa una 'Fuga del Futuro'. \"\n", " \"El modelo aprendería a predecir el resultado usando la respuesta de su rival, lo cual es imposible en el mundo real.\"\n", " ),\n", " 'fugas_datos_detectadas_ia': (\n", " \"🚨 **Fugas de Datos (Correlación Extrema):**\",\n", " \"La IA detectó que estas variables predecían al Target con más de un 85% de exactitud por sí solas. \"\n", " \"En MLOps, esto casi siempre es un 'Caballo de Troya' (ej. usar 'impuestos_pagados' para predecir si alguien es 'rico'). Destruyen la capacidad de generalizar.\"\n", " ),\n", " 'nulos_masivos_eliminados': (\n", " \"🕳️ **Degradación Masiva (>90% Nulos):**\",\n", " \"Se eliminaron porque carecen de señal estadística. Intentar imputar (rellenar) una variable donde falta el 90% \"\n", " \"de la información equivale a inventar datos, lo que induciría alucinaciones matemáticas en el modelo.\"\n", " ),\n", " 'constantes_eliminadas': (\n", " \"🧊 **Variables Constantes (Varianza Cero):**\",\n", " \"Se eliminaron porque tienen un único valor para casi todos los registros (ej. un dataset donde todos son del mismo país). \"\n", " \"Matemáticamente, si no hay variación, el algoritmo no puede trazar fronteras de decisión. Son peso muerto.\"\n", " ),\n", " 'isomorficas_redundantes_eliminadas': (\n", " \"👯 **Isomorfismo (Redundancia 1:1):**\",\n", " \"Se detectaron pares de columnas que dicen exactamente lo mismo en diferente formato (ej. 'ID_Ciudad' y 'Nombre_Ciudad'). \"\n", " \"Mantener ambas infla la dimensionalidad de la matriz, ralentiza el entrenamiento y causa multicolinealidad sin aportar nueva información.\"\n", " ),\n", " 'ids_migrados_al_index': (\n", " \"🔒 **Protección de Identidad (Migración al Index):**\",\n", " \"Los IDs no se eliminan, se protegen moviéndolos al índice de la matriz. Si se dejan como variables predictoras, \"\n", " \"los árboles de decisión (como Random Forest o LightGBM) 'memorizarán' a los pacientes por su ID en lugar de aprender los verdaderos patrones.\"\n", " )\n", " }\n", "\n", " # Renderizado Inteligente\n", " contenido_md = f\"### 📜 Resolución Oficial: Justificación de Limpieza Estructural\\n\"\n", " contenido_md += f\"**🎯 Target Protegido:** `{reporte.get('target_escogido', 'Desconocido')}`\\n\\n\"\n", "\n", " if reporte.get('filas_sin_target_eliminadas', 0) > 0:\n", " contenido_md += f\"> **Regla de Oro Aplicada:** Se aniquilaron **{reporte['filas_sin_target_eliminadas']} filas** porque su valor en el Target era nulo. Un modelo no puede aprender de una respuesta que no existe.\\n\\n\"\n", "\n", " contenido_md += \"---\\n\"\n", "\n", " operaciones_realizadas = 0\n", "\n", " # Recorremos el diccionario y solo mostramos las secciones donde la guillotina actuó\n", " for llave, (titulo, explicacion) in justificaciones.items():\n", " elementos = reporte.get(llave, [])\n", " if elementos:\n", " operaciones_realizadas += 1\n", " lista_formateada = \", \".join([f\"`{e}`\" for e in elementos])\n", " contenido_md += f\"{titulo}\\n\"\n", " contenido_md += f\"* **Decisión MLOps:** {explicacion}\\n\"\n", " contenido_md += f\"* **Columnas Afectadas ({len(elementos)}):** {lista_formateada}\\n\\n\"\n", "\n", " if operaciones_realizadas == 0:\n", " contenido_md += \"✅ **Matriz Impecable:** La Guillotina evaluó la matriz y no encontró anomalías estructurales severas. Ninguna columna fue alterada.\\n\"\n", "\n", " # 🛡️ Aplicación de la Cláusula de Seguridad Visual\n", " if MODO_VISUAL:\n", " display(Markdown(contenido_md))\n", " # Logueamos en silencio que la operación visual fue exitosa\n", " logger.debug(\"Auditoría visual renderizada en Jupyter con éxito.\")\n", " else:\n", " # En entornos Headless, limpiamos el Markdown para que el log de texto quede inmaculado y legible\n", " texto_plano = contenido_md.replace('**', '').replace('`', '').replace('### ', '').replace('> ', '')\n", " logger.info(\"\\n\" + texto_plano)\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Verificación estricta del PipelineManager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Instáncialo en la línea 1 (Fase 1.1).\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción segura y exclusiva desde el contenedor de estado\n", " if not hasattr(manager, 'reporte_guillotina') or manager.reporte_guillotina is None:\n", " raise ValueError(\"El Manager no tiene cargado el 'reporte_guillotina'. Ejecuta la Fase 1.3 y asegúrate de guardar el reporte en 'manager.reporte_guillotina'.\")\n", "\n", " # Ejecutamos el auditor consumiendo el diccionario interno del manager\n", " auditar_dictamen_guillotina(manager.reporte_guillotina)\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante: {env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en la Auditoría: {e}\")" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "✅ No hay variables acusadas de ser fugas del futuro o targets secundarios para auditar.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias UI y Matemáticas\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "from IPython.display import display, Markdown\n", "import warnings\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# ==========================================\n", "# MOTOR MLOPS: AUTOPSIA DE FUGA DE DATOS (LEAKAGE)\n", "# ==========================================\n", "def autopsia_fuga_datos(df_original: pd.DataFrame, target_principal: str, columnas_sospechosas: list) -> None:\n", " \"\"\"\n", " [FASE 1 - Paso 1.3.2] Autopsia de Fuga del Futuro (Target Leakage Proof).\n", " - MLOps Core: Demuestra estadísticamente por qué una variable es un \"Caballo de Troya\".\n", " - Conversión Inteligente: Factoriza variables categóricas automáticamente para medir correlación matemática.\n", " - Renderizado Táctico: Muestra cómo cambia el comportamiento de la variable sospechosa según la clase del Target.\n", " \"\"\"\n", " if df_original is None or df_original.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz original está vacía o es inválida.\")\n", " return\n", "\n", " if not columnas_sospechosas:\n", " logger.info(\"✅ [BYPASS] No hay targets secundarios ni fugas detectadas para auditar.\")\n", " return\n", "\n", " if target_principal not in df_original.columns:\n", " logger.error(f\"🛑 Error Crítico: El Target Principal '{target_principal}' no existe en la matriz.\")\n", " return\n", "\n", " logger.info(\"=== 🔮 FASE 1.3.2: Autopsia de Fuga del Futuro (Prueba de Fraude Predictivo) ===\")\n", "\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", "\n", " # Preparación del Target (Lo pasamos a números si es texto para medir correlación)\n", " y_real = df_original[target_principal]\n", " if y_real.dtype == 'object' or y_real.dtype == 'category':\n", " y_numerico = pd.factorize(y_real)[0]\n", " else:\n", " y_numerico = y_real\n", "\n", " for col in columnas_sospechosas:\n", " if col not in df_original.columns:\n", " continue\n", "\n", " # 🛡️ Cláusula de Seguridad Visual\n", " if MODO_VISUAL:\n", " display(Markdown(f\"### 🔍 Expediente de Fraude: `{col}` vs `{target_principal}`\"))\n", " logger.info(f\"\\n[AUDITORÍA] Evaluando Expediente de Fraude: '{col}' vs '{target_principal}'\")\n", " else:\n", " logger.info(f\"\\n### 🔍 Expediente de Fraude: `{col}` vs `{target_principal}`\")\n", "\n", " # 1. Blindaje contra Nulos para el cálculo matemático\n", " mask = ~df_original[col].isna() & ~y_real.isna()\n", " datos_limpios = df_original.loc[mask, col]\n", " y_limpio = y_numerico[mask]\n", "\n", " if len(datos_limpios) < 10:\n", " logger.warning(f\" ⚠️ Datos insuficientes para auditar '{col}'.\")\n", " continue\n", "\n", " # 2. Factorización Inteligente si el rival también es categórico\n", " es_numerica = pd.api.types.is_numeric_dtype(datos_limpios)\n", " if not es_numerica:\n", " datos_numericos = pd.factorize(datos_limpios)[0]\n", " else:\n", " datos_numericos = datos_limpios\n", "\n", " # 3. Cálculo de Correlación (La prueba del delito)\n", " correlacion = np.abs(np.corrcoef(datos_numericos, y_limpio)[0, 1])\n", "\n", " # Veredicto de Correlación\n", " if correlacion >= 0.85:\n", " alerta = \"🔴 FRAUDE EXTREMO (Clon del Target)\"\n", " elif correlacion >= 0.50:\n", " alerta = \"🟠 ALTO RIESGO (Bola de Cristal parcial)\"\n", " else:\n", " alerta = \"🟡 RIESGO ESTRUCTURAL (Variable redundante o Target secundario de negocio)\"\n", "\n", " logger.info(f\" 📈 Correlación Matemática : {correlacion:.2%} -> {alerta}\")\n", " logger.info(f\" 💡 Explicación MLOps : Si la correlación es muy alta, el modelo simplemente memoriza esta columna y deja de pensar. Si no es alta, al ser un 'Target Secundario', representa un evento del futuro que no conocerás cuando llegue un cliente nuevo.\\n\")\n", "\n", " # 4. Tabla de Comportamiento Dinámico (¿Cómo delata al target?)\n", " logger.info(f\" 📊 Radiografía del Comportamiento (Promedios / Distribución por Clase de Target):\")\n", "\n", " try:\n", " if es_numerica:\n", " # Si el rival es numérico, agrupamos para ver cómo su promedio delata al target\n", " resumen = df_original.groupby(target_principal)[col].agg(['mean', 'median', 'std']).reset_index()\n", " resumen.columns = [f'Target ({target_principal})', 'Promedio', 'Mediana', 'Desviación']\n", "\n", " # 🛡️ Aplicación de la Cláusula de Seguridad Visual\n", " if MODO_VISUAL:\n", " tabla_estilizada = (\n", " resumen.style\n", " .format({'Promedio': '{:.2f}', 'Mediana': '{:.2f}', 'Desviación': '{:.2f}'})\n", " .background_gradient(cmap='Oranges', subset=['Promedio'])\n", " .hide(axis=\"index\")\n", " )\n", " display(tabla_estilizada)\n", " # Registro silencioso en texto plano para los logs\n", " logger.debug(\"\\n\" + resumen.to_string(index=False, float_format=\"{:.2f}\".format))\n", " else:\n", " logger.info(\"\\n\" + resumen.to_string(index=False, float_format=\"{:.2f}\".format))\n", "\n", " else:\n", " # Si el rival es categórico, hacemos una tabla cruzada (Crosstab)\n", " resumen = pd.crosstab(df_original[target_principal], df_original[col], normalize='index') * 100\n", "\n", " # 🛡️ Aplicación de la Cláusula de Seguridad Visual\n", " if MODO_VISUAL:\n", " tabla_estilizada = (\n", " resumen.style\n", " .format(\"{:.1f}%\")\n", " .background_gradient(cmap='Oranges', axis=1)\n", " )\n", " display(tabla_estilizada)\n", " # Registro silencioso en texto plano para los logs\n", " logger.debug(\"\\n\" + resumen.to_string(float_format=\"{:.1f}%\".format))\n", " else:\n", " logger.info(\"\\n\" + resumen.to_string(float_format=\"{:.1f}%\".format))\n", "\n", " except Exception as e:\n", " logger.warning(f\" ⚠️ No se pudo renderizar la tabla de cruce: {e}\")\n", "\n", " logger.info(\"-\" * 80)\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución Maestra en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Verificación estricta del PipelineManager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1).\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción de datos crudos desde el manager\n", " if not hasattr(manager, 'datos_crudos') or manager.datos_crudos is None:\n", " raise ValueError(\"El Manager no tiene datos cargados. Ejecuta la Fase 1.1 y 1.2.\")\n", " \n", " df_para_autopsia = getattr(manager, 'datos_crudos_pre_guillotina', manager.datos_crudos)\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción del reporte desde el contenedor de estado (sin fallbacks inseguros)\n", " if not hasattr(manager, 'reporte_guillotina') or manager.reporte_guillotina is None:\n", " raise ValueError(\"El Manager no tiene cargado el 'reporte_guillotina'. Ejecuta la Fase 1.3.\")\n", "\n", " # 1. Extraemos a los acusados (Targets secundarios + Fugas detectadas por la IA)\n", " target_rey = manager.reporte_guillotina.get('target_escogido', '')\n", "\n", " acusados = []\n", " acusados.extend(manager.reporte_guillotina.get('targets_secundarios_eliminados', []))\n", " acusados.extend(manager.reporte_guillotina.get('fugas_datos_detectadas_ia', []))\n", "\n", " # 2. Ejecutamos el juicio visual\n", " if acusados and target_rey:\n", " logger.info(f\">>> ⚖️ LLEVANDO AL ESTRADO A {len(acusados)} VARIABLES ACUSADAS DE LEAKAGE <<<\")\n", " autopsia_fuga_datos(\n", " df_original=df_para_autopsia, \n", " target_principal=target_rey,\n", " columnas_sospechosas=acusados\n", " )\n", " else:\n", " logger.info(\"✅ No hay variables acusadas de ser fugas del futuro o targets secundarios para auditar.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante: {env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en la Autopsia de Fugas: {e}\")" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "✅ No se detectaron variables constantes para auditar en el reporte previo.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias UI y Matemáticas\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "from IPython.display import display, Markdown\n", "import warnings\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# ==========================================\n", "# MOTOR MLOPS: AUTOPSIA FORENSE (PROFILING VIRTUAL)\n", "# ==========================================\n", "def autopsia_forense_variables(df_original: pd.DataFrame, columnas_condenadas: list) -> None:\n", " \"\"\"\n", " [FASE 1 - Paso 1.3.3] Autopsia Forense de Variables (Análisis Post-Mortem).\n", " - Perfilado Matemático: Extrae la Moda, el Porcentaje absoluto y la frecuencia.\n", " - UI de Calor (Color Mapping): Aplica un gradiente térmico para resaltar visualmente el desbalance.\n", " - Escudo de Memoria (AutoML): Limita la tabla visual al Top 10 para evitar colapsar el Notebook.\n", " - Tolerancia a Nulos: Incluye los NaN en el cálculo de porcentajes para dar la imagen real.\n", " \"\"\"\n", " if df_original is None or df_original.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz original está vacía o es inválida.\")\n", " return\n", "\n", " if not columnas_condenadas:\n", " logger.info(\"✅ [BYPASS] La lista de columnas a auditar está vacía. No hay autopsia necesaria.\")\n", " return\n", "\n", " logger.info(\"=== 🔬 FASE 1.3.3: Autopsia Forense de Variables (Radiografía de Varianza) ===\")\n", "\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", "\n", " for col in columnas_condenadas:\n", " if col not in df_original.columns:\n", " logger.warning(f\" ⚠️ Alerta: La columna '{col}' no existe en el DataFrame proporcionado.\")\n", " continue\n", "\n", " # 1. Extracción de Datos Crudos\n", " serie = df_original[col]\n", " total_filas = len(serie)\n", " nulos = serie.isna().sum()\n", "\n", " # 2. Cálculos Estadísticos MLOps\n", " # Calculamos la Moda (El valor que más se repite)\n", " moda_serie = serie.mode(dropna=True)\n", " moda_val = moda_serie.iloc[0] if not moda_serie.empty else \"N/A (100% Nulo)\"\n", "\n", " # Distribución absoluta y relativa (Top 10 para blindaje de RAM UI)\n", " conteo = serie.value_counts(dropna=False).head(10)\n", " porcentajes = serie.value_counts(dropna=False, normalize=True).head(10)\n", "\n", " # 3. Construcción de la Tabla de Autopsia\n", " df_reporte = pd.DataFrame({\n", " 'Valor / Categoría': conteo.index.astype(str),\n", " 'Frecuencia (Filas)': conteo.values,\n", " 'Porcentaje (%)': porcentajes.values * 100\n", " })\n", "\n", " # 4. Inteligencia de UI: Estilizado Térmico (Color Gradient)\n", " # Entre más alto el porcentaje, más oscuro será el color (usamos la paleta Reds/Rojos)\n", " \n", " if MODO_VISUAL:\n", " tabla_estilizada = (\n", " df_reporte.style\n", " .format({\n", " 'Frecuencia (Filas)': '{:,.0f}', \n", " 'Porcentaje (%)': '{:.3f}%'\n", " })\n", " .background_gradient(cmap='Reds', subset=['Porcentaje (%)'])\n", " .set_caption(f\"Distribución Top 10 de la variable '{col}'\")\n", " .hide(axis=\"index\") # Ocultamos el index por defecto para mayor limpieza visual\n", " )\n", "\n", " # 5. Renderizado Ejecutivo y Logging\n", " if MODO_VISUAL:\n", " display(Markdown(f\"### 🩻 Análisis Post-Mortem: `{col}`\"))\n", " logger.debug(f\"Renderizando visualmente autopsia de la variable '{col}'\")\n", " else:\n", " logger.info(f\"\\n### 🩻 Análisis Post-Mortem: `{col}`\")\n", " \n", " logger.info(f\" 📌 Valor Dominante (Moda) : {moda_val}\")\n", " logger.info(f\" 🕳️ Total de Datos Nulos : {nulos:,} ({nulos/total_filas:.2%})\")\n", " logger.info(f\" 🔍 Renderizando distribución...\\n\")\n", "\n", " if MODO_VISUAL:\n", " display(tabla_estilizada)\n", " # Logging silencioso en texto plano para los registros del servidor\n", " logger.debug(\"\\n\" + df_reporte.to_string(index=False, float_format=\"{:.3f}%\".format))\n", " else:\n", " # Impresión en texto plano para Headless\n", " logger.info(\"\\n\" + df_reporte.to_string(index=False, float_format=\"{:.3f}%\".format))\n", " \n", " logger.info(\"-\" * 80)\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución Maestra en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Fase 1.1 primero.\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extraemos la matriz pre-guillotina desde el Manager\n", " # Usamos 'datos_crudos_pre_guillotina' si existe, o 'datos_crudos' si falló el guardado previo\n", " df_para_autopsia = getattr(manager, 'datos_crudos_pre_guillotina', getattr(manager, 'datos_crudos', None))\n", " \n", " if df_para_autopsia is None:\n", " raise ValueError(\"El Manager no tiene datos cargados. Ejecuta la Ingesta (1.1).\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción exclusiva y estricta desde el contenedor de estado\n", " if not hasattr(manager, 'reporte_guillotina') or manager.reporte_guillotina is None:\n", " raise ValueError(\"El Manager no tiene cargado el 'reporte_guillotina'. Ejecuta la Fase 1.3.\")\n", "\n", " # Extraemos automáticamente las variables constantes que la guillotina condenó\n", " # (Por ejemplo: 'entrada_es_home')\n", " columnas_constantes = manager.reporte_guillotina.get('constantes_eliminadas', [])\n", "\n", " if columnas_constantes:\n", " logger.info(f\">>> 🩺 INICIANDO AUTOPSIA PARA {len(columnas_constantes)} VARIABLES CONSTANTES <<<\")\n", " autopsia_forense_variables(\n", " df_original=df_para_autopsia, \n", " columnas_condenadas=columnas_constantes\n", " )\n", " else:\n", " logger.info(\"✅ No se detectaron variables constantes para auditar en el reporte previo.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante: {env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en la Autopsia Forense: {e}\")" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 32537 entries, 0 to 32536\n", "Data columns (total 13 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 32537 non-null int64 \n", " 1 workclass 32537 non-null object\n", " 2 education.num 32537 non-null int64 \n", " 3 marital.status 32537 non-null object\n", " 4 occupation 32537 non-null object\n", " 5 relationship 32537 non-null object\n", " 6 race 32537 non-null object\n", " 7 sex 32537 non-null object\n", " 8 capital.gain 32537 non-null int64 \n", " 9 capital.loss 32537 non-null int64 \n", " 10 hours.per.week 32537 non-null int64 \n", " 11 native.country 32537 non-null object\n", " 12 income 32537 non-null object\n", "dtypes: int64(5), object(8)\n", "memory usage: 3.2+ MB\n" ] } ], "source": [ "\n", "\n", "df_purgado.info()\n" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation.nummarital.statusoccupationrelationshipracesexcapital.gaincapital.losshours.per.weeknative.countryincome
090?9Widowed?Not-in-familyWhiteFemale0435640United-States<=50 K
182Private9WidowedExec-managerialNot-in-familyWhiteFemale0435618United-States<=50K
266?10Widowed?UnmarriedBlackFemale0435640United-States<=50K
354Private4DivorcedMachine-op-inspctUnmarriedWhiteFemale0390040United-States<=50K
441Private10SeparatedProf-specialtyOwn-childWhiteFemale0390040United-States<=50K
\n", "
" ], "text/plain": [ " age workclass education.num marital.status occupation \\\n", "0 90 ? 9 Widowed ? \n", "1 82 Private 9 Widowed Exec-managerial \n", "2 66 ? 10 Widowed ? \n", "3 54 Private 4 Divorced Machine-op-inspct \n", "4 41 Private 10 Separated Prof-specialty \n", "\n", " relationship race sex capital.gain capital.loss hours.per.week \\\n", "0 Not-in-family White Female 0 4356 40 \n", "1 Not-in-family White Female 0 4356 18 \n", "2 Unmarried Black Female 0 4356 40 \n", "3 Unmarried White Female 0 3900 40 \n", "4 Own-child White Female 0 3900 40 \n", "\n", " native.country income \n", "0 United-States <=50 K \n", "1 United-States <=50K \n", "2 United-States <=50K \n", "3 United-States <=50K \n", "4 United-States <=50K " ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "df_purgado.head()\n" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🔗 Conectando MLOps: Heredando Target 'income' desde la Guillotina <<<\n", "=== 🗜️ FASE 1.4: Downcasting Matemático Inteligente (IA de Contenido) ===\n", " 🔍 Escaneando contenido para inferencia de tipos profundos...\n", " 🎯 Target 'income' blindado y convertido a categoría.\n", "\n", "✅ Compresión Matemática Completada en 0.324s:\n", " 📉 Transformaciones: 5 Int | 0 Float | 8 Cat | 0 Date | 0 Bool\n", " 💾 Memoria Inicial : 15.60 MB\n", " 💽 Memoria Final : 0.54 MB (-96.6%)\n", "📦 [MLOps] Matriz comprimida y actualizada de forma segura en 'manager.datos_crudos'.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import re\n", "import time\n", "import warnings # 🔧 NUEVO: Módulo para controlar las alertas de la consola\n", "from typing import Tuple\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def downcasting_matematico_inteligente(\n", " df: pd.DataFrame, \n", " umbral_categoria: float = 0.50,\n", " target_col: str = None\n", ") -> Tuple[pd.DataFrame, dict]:\n", " \"\"\"\n", " [FASE 1 - Paso 1.4] Downcasting Matemático (Nivel AutoML).\n", " - Regla Target: Convierte el target directamente a 'category' blindándolo.\n", " - Detección Temporal Avanzada con Auto-Limpieza (NUEVO): Elimina basura léxica ('?', '*', etc.) de fechas y horas automáticamente.\n", " - Auto-Parsing IoT: Detecta columnas numéricas que en realidad son fechas ocultas.\n", " - Detección Booleana Oculta: Usa Regex para filtrar basura y mapea textos 'yes/no' a 'boolean'.\n", " - Compresión Numérica: Reduce float64 a float32 y asigna tipos INT firmados (int8, 16, 32).\n", " - Muro Anti-Objetos: Obliga a todo texto sobreviviente a ser 'category' para proteger LightGBM.\n", " \"\"\"\n", " if not isinstance(df, pd.DataFrame) or df.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz está vacía o es inválida.\")\n", " return df, {}\n", "\n", " logger.info(\"=== 🗜️ FASE 1.4: Downcasting Matemático Inteligente (IA de Contenido) ===\")\n", "\n", " # 🚀 FIX MLOps: SILENCIADOR BLINDADO CONTRA AVISOS DE FECHAS Y REGEX\n", " warnings.filterwarnings(\"ignore\", category=UserWarning)\n", " warnings.filterwarnings(\"ignore\", message=\".*Could not infer format.*\")\n", "\n", " inicio_timer = time.time()\n", " df_opt = df.copy()\n", "\n", " mem_antes = df_opt.memory_usage(deep=True).sum() / (1024 ** 2)\n", " filas_totales = len(df_opt)\n", " contadores = {'int': 0, 'float': 0, 'category': 0, 'datetime': 0, 'bool': 0}\n", "\n", " logger.info(\" 🔍 Escaneando contenido para inferencia de tipos profundos...\")\n", "\n", " # Motor Regex para Falsos Nulos\n", " patron_nulos_ocultos = re.compile(r'(?i)^(unknown|n/?a|null|nan|missing|none|-1|)$|^[^a-zA-Z0-9]+$')\n", "\n", " for col in df_opt.columns:\n", " tipo_actual = df_opt[col].dtype\n", " unicos_count = df_opt[col].nunique(dropna=False)\n", "\n", " # ==========================================\n", " # 1. EL TARGET ES REY (Blindaje Prioritario)\n", " # ==========================================\n", " if target_col and col == target_col:\n", " if df_opt[col].dtype.name != 'category':\n", " df_opt[col] = df_opt[col].astype('category')\n", " contadores['category'] += 1\n", " logger.info(f\" 🎯 Target '{col}' blindado y convertido a categoría.\")\n", " continue\n", "\n", " # ==========================================\n", " # 2. Inferencia Profunda en Textos (Objects)\n", " # ==========================================\n", " if pd.api.types.is_object_dtype(tipo_actual) or pd.api.types.is_string_dtype(tipo_actual):\n", "\n", " valores_limpios = df_opt[col].dropna()\n", " if valores_limpios.empty: continue\n", "\n", " valores_puros = valores_limpios.astype(str).str.lower().str.strip()\n", " unicos_texto = set(valores_puros.unique())\n", "\n", " # Escudo Regex contra Falsos Nulos\n", " textos_reales = {x for x in unicos_texto if not patron_nulos_ocultos.match(x)}\n", "\n", " # A. Detección de Booleanos Ocultos en Texto\n", " diccionario_bool = {\n", " 'yes': True, 'no': False, \n", " 'si': True, 'true': True, 'false': False, 'verdadero': True, 'falso': False,\n", " 't': True, 'f': False, 'y': True, 'n': False,\n", " '1': True, '0': False\n", " }\n", "\n", " if textos_reales and textos_reales.issubset(diccionario_bool.keys()):\n", " df_opt[col] = df_opt[col].astype(str).str.lower().str.strip().map(diccionario_bool)\n", " df_opt[col] = df_opt[col].astype('boolean') \n", " contadores['bool'] += 1\n", " logger.info(f\" ⚖️ Texto Booleano detectado en '{col}': Convertido a boolean (Soporta Nulos).\")\n", " continue\n", "\n", " # 🚀 B. Detección Heurística de Fechas y Tiempos (Super-Regex + Auto-Limpieza)\n", " muestra = valores_puros.head(50)\n", "\n", " # 🛡️ ESCUDO DE AUTO-LIMPIEZA: Simulamos quitar caracteres extraños de la muestra\n", " # Mantenemos números, letras (AM/PM, Meses), espacios y separadores típicos de tiempo (- / : .)\n", " muestra_limpia = muestra.str.replace(r'[^0-9a-zA-Z\\s\\-\\/:\\.]', '', regex=True).str.strip()\n", "\n", " patron_fecha_clasica = r'(?i)[-/:]|(?:jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)'\n", " patron_unix_txt = r'^1\\d{9}(?:\\.\\d+)?$|^1\\d{12}(?:\\.\\d+)?$'\n", "\n", " es_fecha_clasica = muestra_limpia.str.contains(patron_fecha_clasica, regex=True).any()\n", " es_unix_txt = muestra_limpia.str.contains(patron_unix_txt, regex=True).any()\n", "\n", " if len(muestra_limpia) > 0 and (es_fecha_clasica or es_unix_txt):\n", " try:\n", " # Probamos la conversión matemática en el entorno seguro (muestra)\n", " if es_unix_txt:\n", " prueba_fecha = pd.to_datetime(pd.to_numeric(muestra_limpia, errors='coerce'), unit='s', errors='coerce')\n", " else:\n", " prueba_fecha = pd.to_datetime(muestra_limpia, errors='coerce', dayfirst=True)\n", "\n", " if prueba_fecha.notna().mean() >= 0.80:\n", " # 🚀 ¡Aprobado! Aplicamos la limpieza léxica a toda la columna real (salvaguardando los NaNs)\n", " mask_viva = df_opt[col].notna()\n", " df_opt.loc[mask_viva, col] = (\n", " df_opt.loc[mask_viva, col]\n", " .astype(str)\n", " .str.replace(r'[^0-9a-zA-Z\\s\\-\\/:\\.]', '', regex=True)\n", " .str.strip()\n", " )\n", "\n", " # Conversión Final\n", " if es_unix_txt:\n", " df_opt[col] = pd.to_datetime(pd.to_numeric(df_opt[col], errors='coerce'), unit='s', errors='coerce')\n", " logger.info(f\" 🕒 Unix Timestamp Textual detectado en '{col}': Auto-limpiado y convertido a Datetime.\")\n", " else:\n", " df_opt[col] = pd.to_datetime(df_opt[col], errors='coerce', dayfirst=True)\n", " logger.info(f\" 📅 Fecha/Hora detectada en '{col}': Basura purgada y convertida a Datetime (NaNs protegidos).\")\n", " contadores['datetime'] += 1\n", " continue\n", " except Exception:\n", " pass \n", "\n", " # C. FIX MLOPS: Optimización y Forzado de Categóricas\n", " ratio_unicidad = unicos_count / filas_totales\n", " if ratio_unicidad < umbral_categoria:\n", " df_opt[col] = df_opt[col].astype('category')\n", " contadores['category'] += 1\n", " else:\n", " # El Muro Anti-Objetos: Forzamos la conversión para proteger Fases futuras\n", " df_opt[col] = df_opt[col].astype('category')\n", " contadores['category'] += 1\n", " logger.warning(f\" ⚠️ '{col}' tiene alta cardinalidad ({ratio_unicidad:.1%}). Forzado a 'category' por seguridad algorítmica.\")\n", "\n", " # ==========================================\n", " # 3. Compresión de Numéricas y Booleanas Nativas\n", " # ==========================================\n", " elif pd.api.types.is_numeric_dtype(tipo_actual):\n", " # 🚀 3.0 Detección Heurística de Unix Timestamps Numéricos (Sensores IoT)\n", " muestra_num = df_opt[col].dropna().head(50)\n", " if len(muestra_num) > 0:\n", " es_unix_segundos = (muestra_num >= 631152000).all() and (muestra_num <= 2208988800).all()\n", " es_unix_milisegundos = (muestra_num >= 631152000000).all() and (muestra_num <= 2208988800000).all()\n", "\n", " if (es_unix_segundos or es_unix_milisegundos) and unicos_count > 2:\n", " unidad_tiempo = 'ms' if es_unix_milisegundos else 's'\n", " df_opt[col] = pd.to_datetime(df_opt[col], unit=unidad_tiempo, errors='coerce')\n", " contadores['datetime'] += 1\n", " logger.info(f\" 🕒 Unix Timestamp Numérico ({unidad_tiempo}) detectado en '{col}': Convertido a Datetime IoT.\")\n", " continue\n", "\n", " c_min = df_opt[col].min()\n", " c_max = df_opt[col].max()\n", " tiene_nulos = df_opt[col].isna().any()\n", "\n", " # 3.1 Detección Booleana Numérica Nativa\n", " unicos_numericos = df_opt[col].dropna().unique()\n", " if set(unicos_numericos).issubset({0, 1, 0.0, 1.0}):\n", " df_opt[col] = df_opt[col].astype('boolean') \n", " contadores['bool'] += 1\n", " continue\n", "\n", " # 3.2 Compresión de Enteros (Signed INT exactos)\n", " if pd.api.types.is_integer_dtype(tipo_actual) and not tiene_nulos:\n", " if c_min >= np.iinfo(np.int8).min and c_max <= np.iinfo(np.int8).max:\n", " df_opt[col] = df_opt[col].astype(np.int8)\n", " elif c_min >= np.iinfo(np.int16).min and c_max <= np.iinfo(np.int16).max:\n", " df_opt[col] = df_opt[col].astype(np.int16)\n", " elif c_min >= np.iinfo(np.int32).min and c_max <= np.iinfo(np.int32).max:\n", " df_opt[col] = df_opt[col].astype(np.int32)\n", "\n", " if df_opt[col].dtype != tipo_actual:\n", " contadores['int'] += 1\n", "\n", " # 3.3 Compresión de Flotantes \n", " elif pd.api.types.is_float_dtype(tipo_actual):\n", " if c_min >= np.finfo(np.float32).min and c_max <= np.finfo(np.float32).max:\n", " df_opt[col] = df_opt[col].astype(np.float32)\n", " contadores['float'] += 1\n", "\n", " # ==========================================\n", " # D. Reporte Ejecutivo de MLOps\n", " # ==========================================\n", " mem_despues = df_opt.memory_usage(deep=True).sum() / (1024 ** 2)\n", " ahorro_mb = mem_antes - mem_despues\n", " porcentaje_ahorro = 100 * (ahorro_mb / mem_antes) if mem_antes > 0 else 0\n", "\n", " # 🔧 Limpieza final: Restauramos las advertencias generales para el resto del cuaderno\n", " warnings.filterwarnings(\"default\", category=UserWarning)\n", "\n", " logger.info(f\"\\n✅ Compresión Matemática Completada en {time.time() - inicio_timer:.3f}s:\")\n", " logger.info(f\" 📉 Transformaciones: {contadores['int']} Int | {contadores['float']} Float | {contadores['category']} Cat | {contadores['datetime']} Date | {contadores['bool']} Bool\")\n", " logger.info(f\" 💾 Memoria Inicial : {mem_antes:.2f} MB\")\n", " logger.info(f\" 💽 Memoria Final : {mem_despues:.2f} MB (-{porcentaje_ahorro:.1f}%)\")\n", "\n", " metricas_ram = {\n", " 'mem_inicial_mb': mem_antes,\n", " 'mem_final_mb': mem_despues,\n", " 'ahorro_mb': ahorro_mb,\n", " 'porcentaje_ahorro': porcentaje_ahorro\n", " }\n", "\n", " return df_opt, metricas_ram\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Verificación estricta del PipelineManager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1).\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción segura de la matriz desde el manager\n", " if not hasattr(manager, 'datos_crudos') or manager.datos_crudos is None:\n", " raise ValueError(\"El Manager no tiene datos cargados. Ejecuta la Fase 1.1 y 1.3.\")\n", "\n", " # 🔗 CONEXIÓN MLOps: Extraemos el target dinámicamente guardado en la Guillotina\n", " target_heredado = manager.rutas.get('target_name', None)\n", "\n", " if target_heredado:\n", " logger.info(f\">>> 🔗 Conectando MLOps: Heredando Target '{target_heredado}' desde la Guillotina <<<\")\n", " else:\n", " logger.warning(\">>> ⚠️ Advertencia: No se encontró un Target en las rutas del manager. Procesando sin escudo. <<<\")\n", "\n", " # Ejecutamos el downcasting consumiendo la matriz del manager\n", " df_comprimido, metricas_downcast = downcasting_matematico_inteligente(\n", " df=manager.datos_crudos,\n", " umbral_categoria=0.50,\n", " target_col=target_heredado # <- Alimentación dinámica desde el manager\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Actualizamos el estado de la matriz en el manager\n", " manager.datos_crudos = df_comprimido\n", " logger.info(\"📦 [MLOps] Matriz comprimida y actualizada de forma segura en 'manager.datos_crudos'.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en el Downcasting Matemático: {e}\")" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 32537 entries, 0 to 32536\n", "Data columns (total 13 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 32537 non-null int64 \n", " 1 workclass 32537 non-null object\n", " 2 education.num 32537 non-null int64 \n", " 3 marital.status 32537 non-null object\n", " 4 occupation 32537 non-null object\n", " 5 relationship 32537 non-null object\n", " 6 race 32537 non-null object\n", " 7 sex 32537 non-null object\n", " 8 capital.gain 32537 non-null int64 \n", " 9 capital.loss 32537 non-null int64 \n", " 10 hours.per.week 32537 non-null int64 \n", " 11 native.country 32537 non-null object\n", " 12 income 32537 non-null object\n", "dtypes: int64(5), object(8)\n", "memory usage: 3.2+ MB\n" ] } ], "source": [ "\n", "\n", "df_purgado.info()\n" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🛡️ FASE 2.1: Auditoría de Integridad y Sanitización de Columnas ===\n", "\n", "✅ Auditoría Estructural Completada en 0.003s:\n", " ✨ Columnas Sanitizadas : 13\n", " ✔️ Duplicados : Ninguno detectado (Esquema saludable)\n", "\n", " 📊 Mapa de Tipos de Datos (dtypes):\n", " - category : 8 columnas\n", " - int8 : 3 columnas\n", " - int32 : 1 columnas\n", " - int16 : 1 columnas\n", "\n", "📦 [MLOps] Nombres de columnas sanitizados y matriz actualizada de forma segura en 'manager.datos_crudos'.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import re\n", "import time\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def auditar_y_sanitizar_columnas(df: pd.DataFrame) -> pd.DataFrame:\n", " \"\"\"\n", " [FASE 2 - Paso 2.1] Detección de Tipos y Prevención de Crash.\n", " - Sanitización Regex: Limpia espacios, tildes y caracteres especiales de los nombres de columnas.\n", " - Resolución de Duplicados: Detecta nombres idénticos y les asigna un sufijo (evita el colapso de LightGBM/FLAML).\n", " - Auditoría de Tipos: Genera un reporte rápido de la integridad del esquema.\n", " \"\"\"\n", " if not isinstance(df, pd.DataFrame) or df.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz está vacía o es inválida.\")\n", " return df\n", "\n", " logger.info(\"=== 🛡️ FASE 2.1: Auditoría de Integridad y Sanitización de Columnas ===\")\n", "\n", " inicio_timer = time.time()\n", " df_opt = df.copy()\n", "\n", " # ==========================================\n", " # 1. Motor Regex de Sanitización (Formato Producción)\n", " # ==========================================\n", " # Convierte \"Edad del Cliente (%)\" a \"edad_del_cliente\"\n", " nombres_originales = list(df_opt.columns)\n", " nombres_limpios = []\n", "\n", " for col in nombres_originales:\n", " # Convertimos a string, minúsculas y quitamos espacios a los lados\n", " col_str = str(col).strip().lower()\n", " # Reemplazamos cualquier cosa que NO sea letra o número por un guion bajo\n", " col_str = re.sub(r'[^a-z0-9_]', '_', col_str)\n", " # Eliminamos guiones bajos múltiples consecutivos (ej. '__' a '_')\n", " col_str = re.sub(r'_+', '_', col_str)\n", " # Quitamos guiones bajos al principio o al final\n", " col_str = col_str.strip('_')\n", " nombres_limpios.append(col_str)\n", "\n", " df_opt.columns = nombres_limpios\n", "\n", " # ==========================================\n", " # 2. Escudo Anti-Crash (Resolución de Duplicados)\n", " # ==========================================\n", " columnas_finales = []\n", " dicc_vistos = {}\n", " duplicados_corregidos = 0\n", "\n", " for col in df_opt.columns:\n", " if col not in dicc_vistos:\n", " dicc_vistos[col] = 0\n", " columnas_finales.append(col)\n", " else:\n", " dicc_vistos[col] += 1\n", " duplicados_corregidos += 1\n", " # Si \"ingreso\" ya existe, lo llama \"ingreso_v1\"\n", " nuevo_nombre = f\"{col}_v{dicc_vistos[col]}\"\n", " columnas_finales.append(nuevo_nombre)\n", " logger.warning(f\" ⚠️ Peligro de Crash Evitado: Columna '{col}' renombrada a '{nuevo_nombre}'\")\n", "\n", " df_opt.columns = columnas_finales\n", "\n", " # ==========================================\n", " # 3. Auditoría de Tipos (Alternativa Limpia a .info)\n", " # ==========================================\n", " conteo_tipos = df_opt.dtypes.astype(str).value_counts().to_dict()\n", "\n", " tiempo_total = time.time() - inicio_timer\n", " logger.info(f\"\\n✅ Auditoría Estructural Completada en {tiempo_total:.3f}s:\")\n", " logger.info(f\" ✨ Columnas Sanitizadas : {len(df_opt.columns)}\")\n", " if duplicados_corregidos > 0:\n", " logger.info(f\" 🩹 Duplicados Resueltos : {duplicados_corregidos} (Prevención LightGBM activada)\")\n", " else:\n", " logger.info(f\" ✔️ Duplicados : Ninguno detectado (Esquema saludable)\")\n", "\n", " logger.info(\"\\n 📊 Mapa de Tipos de Datos (dtypes):\")\n", " for tipo, cantidad in conteo_tipos.items():\n", " logger.info(f\" - {tipo.ljust(12)}: {cantidad} columnas\")\n", "\n", " return df_opt\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Verificación estricta del PipelineManager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1).\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción segura de la matriz desde el manager\n", " if getattr(manager, 'datos_crudos', None) is None:\n", " raise ValueError(\"El Manager no tiene datos cargados. Ejecuta la Fase 1.4 primero.\")\n", "\n", " # Ejecutamos la sanitización consumiendo la matriz central\n", " df_sanitizado = auditar_y_sanitizar_columnas(df=manager.datos_crudos)\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Sobrescribimos el estado en el Manager\n", " manager.datos_crudos = df_sanitizado\n", " logger.info(\"\\n📦 [MLOps] Nombres de columnas sanitizados y matriz actualizada de forma segura en 'manager.datos_crudos'.\")\n", " \n", " # 💡 TRUCO: Si sanitizamos las columnas, también debemos sanitizar el nombre del target en las rutas\n", " if hasattr(manager, 'rutas') and 'target_name' in manager.rutas:\n", " target_original = manager.rutas['target_name']\n", " target_limpio = re.sub(r'[^a-z0-9_]', '_', str(target_original).strip().lower())\n", " target_limpio = re.sub(r'_+', '_', target_limpio).strip('_')\n", " manager.rutas['target_name'] = target_limpio\n", " logger.debug(f\"Target enrutado sanitizado a: {target_limpio}\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en la Auditoría de Columnas: {e}\")" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation.nummarital.statusoccupationrelationshipracesexcapital.gaincapital.losshours.per.weeknative.countryincome
090?9Widowed?Not-in-familyWhiteFemale0435640United-States<=50 K
182Private9WidowedExec-managerialNot-in-familyWhiteFemale0435618United-States<=50K
266?10Widowed?UnmarriedBlackFemale0435640United-States<=50K
354Private4DivorcedMachine-op-inspctUnmarriedWhiteFemale0390040United-States<=50K
441Private10SeparatedProf-specialtyOwn-childWhiteFemale0390040United-States<=50K
534Private9DivorcedOther-serviceUnmarriedWhiteFemale0377045United-States<=50K
638Private6SeparatedAdm-clericalUnmarriedWhiteMale0377040United-States<=50K
774State-gov16Never-marriedProf-specialtyOther-relativeWhiteFemale0368320United-States> 50 K
868Federal-gov9DivorcedProf-specialtyNot-in-familyWhiteFemale0368340United-States<=50K
\n", "
" ], "text/plain": [ " age workclass education.num marital.status occupation \\\n", "0 90 ? 9 Widowed ? \n", "1 82 Private 9 Widowed Exec-managerial \n", "2 66 ? 10 Widowed ? \n", "3 54 Private 4 Divorced Machine-op-inspct \n", "4 41 Private 10 Separated Prof-specialty \n", "5 34 Private 9 Divorced Other-service \n", "6 38 Private 6 Separated Adm-clerical \n", "7 74 State-gov 16 Never-married Prof-specialty \n", "8 68 Federal-gov 9 Divorced Prof-specialty \n", "\n", " relationship race sex capital.gain capital.loss hours.per.week \\\n", "0 Not-in-family White Female 0 4356 40 \n", "1 Not-in-family White Female 0 4356 18 \n", "2 Unmarried Black Female 0 4356 40 \n", "3 Unmarried White Female 0 3900 40 \n", "4 Own-child White Female 0 3900 40 \n", "5 Unmarried White Female 0 3770 45 \n", "6 Unmarried White Male 0 3770 40 \n", "7 Other-relative White Female 0 3683 20 \n", "8 Not-in-family White Female 0 3683 40 \n", "\n", " native.country income \n", "0 United-States <=50 K \n", "1 United-States <=50K \n", "2 United-States <=50K \n", "3 United-States <=50K \n", "4 United-States <=50K \n", "5 United-States <=50K \n", "6 United-States <=50K \n", "7 United-States > 50 K \n", "8 United-States <=50K " ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "df_purgado[0:9]\n" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🧹 FASE 2.2: Normalización Categórica y Fusión Tipográfica ===\n", " 🧬 'income': 4 variantes tipográficas fusionadas.\n", "\n", "✅ Normalización Textual Completada en 0.047s:\n", " 📊 Columnas Procesadas : 8\n", " 🩹 Conflictos Resueltos : 4 (Clases canónicas consolidadas)\n", "\n", "📦 [MLOps] Categorías normalizadas y fusionadas de forma segura en 'manager.datos_crudos'.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import time\n", "from typing import Tuple\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def normalizar_categoricas_y_fusionar(df: pd.DataFrame) -> Tuple[pd.DataFrame, dict]:\n", " \"\"\"\n", " [FASE 2 - Paso 2.2] Normalización de Categóricas y Corrección por Mayoría.\n", " - Limpieza Textual: Minúsculas, sin tildes, strip.\n", " - Escáner de Espacios Internos: Fusiona tokens como \"<=50 k\" a \"<=50k\".\n", " - Fusión Canónica: Al mapear el texto sucio a su versión limpia, los errores \n", " tipográficos se agrupan automáticamente, sumando sus frecuencias y \n", " preservando la distribución estadística real.\n", " - Zero-RAM Overhead: Trabaja sobre los diccionarios de categorías, no sobre la matriz entera.\n", " \"\"\"\n", " if not isinstance(df, pd.DataFrame) or df.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz está vacía o es inválida.\")\n", " return df, {}\n", "\n", " logger.info(\"=== 🧹 FASE 2.2: Normalización Categórica y Fusión Tipográfica ===\")\n", "\n", " inicio_timer = time.time()\n", " df_opt = df.copy()\n", " contadores = {'procesadas': 0, 'conflictos_resueltos': 0}\n", "\n", " for col in df_opt.columns:\n", " tipo = df_opt[col].dtype\n", "\n", " # Filtro: Solo actuamos si la variable es de texto o una categoría de Pandas\n", " if pd.api.types.is_object_dtype(tipo) or pd.api.types.is_string_dtype(tipo) or isinstance(tipo, pd.CategoricalDtype):\n", "\n", " # 1. Extracción Eficiente (Extraemos solo los valores únicos para no saturar RAM)\n", " if isinstance(tipo, pd.CategoricalDtype):\n", " categorias_crudas = df_opt[col].cat.categories\n", " else:\n", " categorias_crudas = df_opt[col].dropna().unique()\n", "\n", " if len(categorias_crudas) == 0:\n", " continue\n", "\n", " # Convertimos a Series para usar la API vectorizada de Pandas .str\n", " s_limpia = pd.Series(categorias_crudas).astype(str)\n", "\n", " # ==========================================\n", " # 2. MOTOR REGEX DE SANITIZACIÓN MULTICAPA\n", " # ==========================================\n", " # A. Minúsculas\n", " s_limpia = s_limpia.str.lower()\n", "\n", " # B. Remover Tildes y Acentos (Normalización NFKD)\n", " s_limpia = s_limpia.str.normalize('NFKD').str.encode('ascii', errors='ignore').str.decode('utf-8')\n", "\n", " # C. Colapsar múltiples espacios seguidos a uno solo\n", " s_limpia = s_limpia.str.replace(r'\\s+', ' ', regex=True)\n", "\n", " # D. Remover espacios alrededor de símbolos (Ej: \"<= 50\" -> \"<=50\")\n", " s_limpia = s_limpia.str.replace(r'\\s*([^\\w\\s])\\s*', r'\\1', regex=True)\n", "\n", " # E. Remover espacios entre números y letras (Ej: \"50 k\" -> \"50k\")\n", " s_limpia = s_limpia.str.replace(r'(?<=\\d)\\s+(?=[a-z])|(?<=[a-z])\\s+(?=\\d)', '', regex=True)\n", "\n", " # F. Strip final y convertir espacios restantes a guiones bajos (Ej: \"united states\" -> \"united_states\")\n", " s_limpia = s_limpia.str.strip().str.replace(r'\\s+', '_', regex=True)\n", "\n", " # ==========================================\n", " # 3. FUSIÓN Y MAPEO (Corrección por Mayoría)\n", " # ==========================================\n", " # Creamos un diccionario: { \" <=50 k \" : \"<=50k\", \"<=50K\" : \"<=50k\" }\n", " mapper = dict(zip(categorias_crudas, s_limpia))\n", "\n", " # Calculamos cuántas clases \"basura\" se agruparon en una clase canónica\n", " unicos_antes = len(categorias_crudas)\n", " unicos_despues = s_limpia.nunique()\n", " conflictos = unicos_antes - unicos_despues\n", "\n", " # Aplicamos el diccionario directamente a la matriz\n", " # Al usar .map(), los NaNs originales se respetan y se quedan como NaNs.\n", " if isinstance(tipo, pd.CategoricalDtype):\n", " df_opt[col] = df_opt[col].map(mapper).astype('category')\n", " else:\n", " df_opt[col] = df_opt[col].map(mapper)\n", "\n", " contadores['procesadas'] += 1\n", " contadores['conflictos_resueltos'] += conflictos\n", "\n", " if conflictos > 0:\n", " logger.info(f\" 🧬 '{col}': {conflictos} variantes tipográficas fusionadas.\")\n", "\n", " tiempo_total = time.time() - inicio_timer\n", "\n", " logger.info(f\"\\n✅ Normalización Textual Completada en {tiempo_total:.3f}s:\")\n", " logger.info(f\" 📊 Columnas Procesadas : {contadores['procesadas']}\")\n", " logger.info(f\" 🩹 Conflictos Resueltos : {contadores['conflictos_resueltos']} (Clases canónicas consolidadas)\")\n", "\n", " return df_opt, contadores\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Verificación estricta del PipelineManager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1).\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción segura de la matriz desde el manager\n", " if not hasattr(manager, 'datos_crudos') or getattr(manager, 'datos_crudos', None) is None:\n", " raise ValueError(\"El Manager no tiene datos cargados. Ejecuta la Fase 2.1 primero.\")\n", "\n", " # Ejecutamos la normalización consumiendo la matriz central\n", " df_normalizado, reporte_cat = normalizar_categoricas_y_fusionar(df=manager.datos_crudos)\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Sobrescribimos el estado en el Manager\n", " manager.datos_crudos = df_normalizado\n", " logger.info(\"\\n📦 [MLOps] Categorías normalizadas y fusionadas de forma segura en 'manager.datos_crudos'.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en la Normalización de Categóricas: {e}\")" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation.nummarital.statusoccupationrelationshipracesexcapital.gaincapital.losshours.per.weeknative.countryincome
090?9Widowed?Not-in-familyWhiteFemale0435640United-States<=50 K
182Private9WidowedExec-managerialNot-in-familyWhiteFemale0435618United-States<=50K
266?10Widowed?UnmarriedBlackFemale0435640United-States<=50K
354Private4DivorcedMachine-op-inspctUnmarriedWhiteFemale0390040United-States<=50K
441Private10SeparatedProf-specialtyOwn-childWhiteFemale0390040United-States<=50K
534Private9DivorcedOther-serviceUnmarriedWhiteFemale0377045United-States<=50K
638Private6SeparatedAdm-clericalUnmarriedWhiteMale0377040United-States<=50K
774State-gov16Never-marriedProf-specialtyOther-relativeWhiteFemale0368320United-States> 50 K
868Federal-gov9DivorcedProf-specialtyNot-in-familyWhiteFemale0368340United-States<=50K
\n", "
" ], "text/plain": [ " age workclass education.num marital.status occupation \\\n", "0 90 ? 9 Widowed ? \n", "1 82 Private 9 Widowed Exec-managerial \n", "2 66 ? 10 Widowed ? \n", "3 54 Private 4 Divorced Machine-op-inspct \n", "4 41 Private 10 Separated Prof-specialty \n", "5 34 Private 9 Divorced Other-service \n", "6 38 Private 6 Separated Adm-clerical \n", "7 74 State-gov 16 Never-married Prof-specialty \n", "8 68 Federal-gov 9 Divorced Prof-specialty \n", "\n", " relationship race sex capital.gain capital.loss hours.per.week \\\n", "0 Not-in-family White Female 0 4356 40 \n", "1 Not-in-family White Female 0 4356 18 \n", "2 Unmarried Black Female 0 4356 40 \n", "3 Unmarried White Female 0 3900 40 \n", "4 Own-child White Female 0 3900 40 \n", "5 Unmarried White Female 0 3770 45 \n", "6 Unmarried White Male 0 3770 40 \n", "7 Other-relative White Female 0 3683 20 \n", "8 Not-in-family White Female 0 3683 40 \n", "\n", " native.country income \n", "0 United-States <=50 K \n", "1 United-States <=50K \n", "2 United-States <=50K \n", "3 United-States <=50K \n", "4 United-States <=50K \n", "5 United-States <=50K \n", "6 United-States <=50K \n", "7 United-States > 50 K \n", "8 United-States <=50K " ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "df_purgado[0:9]\n" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🚑 FASE 2.3: Rescate de Falsos Textos y Compresión Flotante ===\n", " 🔍 Buscando números disfrazados de texto...\n", " 🛡️ [INMUNIDAD] Columna Target 'income' protegida. Omitiendo casteo.\n", "\n", "✅ Rescate y Casteo Completado en 0.532s:\n", " ✔️ Columnas Rescatadas : 0 (No se detectaron falsos textos)\n", " 🛡️ Protecciones Activas: 7 textos reales ignorados con éxito\n", " 👑 Target Protegido : Sí ('income')\n", " 💾 Memoria Inicial : 0.54 MB\n", " 💽 Memoria Final : 0.54 MB (-0.0%)\n", "\n", "📦 [MLOps] Falsos textos rescatados y matriz actualizada de forma segura en 'manager.datos_crudos'.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def rescate_numerico_y_compresion(\n", " df: pd.DataFrame, \n", " target_principal: str, # 👑 NUEVO: El nombre del Target para blindarlo\n", " tolerancia_destruccion: float = 0.05\n", ") -> Tuple[pd.DataFrame, dict]:\n", " \"\"\"\n", " [FASE 2 - Paso 2.3] Casteo Forzado y Rescate de Falsos Textos.\n", " - Escudo del Rey: Inmunidad absoluta para la variable Target. Jamás será casteada.\n", " - Motor Regex: Limpia símbolos de moneda, porcentajes y comas miliares.\n", " - Casteo Coerce: Fuerza la conversión a numérico aislando textos irreconocibles como NaNs.\n", " - Rollback AutoML: Si la conversión genera demasiados NaNs (>5%), revierte los cambios.\n", " - Downcasting Integrado: Al rescatar el número, evalúa min/max y asigna el float ideal.\n", " \"\"\"\n", " if not isinstance(df, pd.DataFrame) or df.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz está vacía o es inválida.\")\n", " return df, {}\n", "\n", " # 🚀 FIX MLOps: Búsqueda dinámica insensible a mayúsculas (Case-Insensitive)\n", " target_lower = str(target_principal).lower()\n", " cols_lower = [str(c).lower() for c in df.columns]\n", "\n", " if target_lower not in cols_lower:\n", " logger.error(f\"🛑 Error Crítico: El Target '{target_principal}' (ni sus variantes en minúscula) se encontró en la matriz.\")\n", " return df, {}\n", "\n", " # Reasignamos el target al nombre exacto que tiene actualmente en la matriz\n", " target_principal = df.columns[cols_lower.index(target_lower)]\n", "\n", " logger.info(\"=== 🚑 FASE 2.3: Rescate de Falsos Textos y Compresión Flotante ===\")\n", "\n", " inicio_timer = time.time()\n", " df_opt = df.copy()\n", " filas_totales = len(df_opt)\n", "\n", " mem_antes = df_opt.memory_usage(deep=True).sum() / (1024 ** 2)\n", " contadores = {'rescatadas_float32': 0, 'rescatadas_float64': 0, 'ignoradas_texto_real': 0, 'target_protegido': 1}\n", "\n", " logger.info(\" 🔍 Buscando números disfrazados de texto...\")\n", "\n", " for col in df_opt.columns:\n", " # 👑 ESCUDO DEL REY: Si es el Target, lo saltamos inmediatamente\n", " if col == target_principal:\n", " logger.info(f\" 🛡️ [INMUNIDAD] Columna Target '{col}' protegida. Omitiendo casteo.\")\n", " continue\n", "\n", " tipo_actual = df_opt[col].dtype\n", "\n", " # Solo intentamos el rescate en columnas que son texto o categorías\n", " if pd.api.types.is_object_dtype(tipo_actual) or pd.api.types.is_string_dtype(tipo_actual) or isinstance(tipo_actual, pd.CategoricalDtype):\n", "\n", " # 1. Snapshot de Seguridad (Rollback)\n", " nulos_originales = df_opt[col].isna().sum()\n", "\n", " # 2. Extracción y Limpieza Regex\n", " # Reemplazamos símbolos comunes que disfrazan números ($, €, £, %, comas miliares y espacios)\n", " serie_limpia = df_opt[col].astype(str).str.replace(r'[$,€£%\\s]', '', regex=True)\n", "\n", " # 3. Casteo Forzado\n", " serie_numerica = pd.to_numeric(serie_limpia, errors='coerce')\n", "\n", " # 4. Auditoría de Destrucción (¿Era realmente un número?)\n", " nulos_nuevos = serie_numerica.isna().sum()\n", " tasa_destruccion = (nulos_nuevos - nulos_originales) / filas_totales\n", "\n", " # Si se destruyó menos del 5% de los datos, ¡era un falso texto! Procedemos.\n", " if tasa_destruccion <= tolerancia_destruccion:\n", "\n", " c_min = serie_numerica.min()\n", " c_max = serie_numerica.max()\n", "\n", " # 5. Downcasting Integrado Inteligente (Asignación del Float Ideal)\n", " if c_min >= np.finfo(np.float32).min and c_max <= np.finfo(np.float32).max:\n", " df_opt[col] = serie_numerica.astype(np.float32)\n", " contadores['rescatadas_float32'] += 1\n", " else:\n", " df_opt[col] = serie_numerica.astype(np.float64)\n", " contadores['rescatadas_float64'] += 1\n", "\n", " logger.info(f\" 🚑 Rescate Exitoso: '{col}' convertida a {df_opt[col].dtype}\")\n", "\n", " else:\n", " # Era una categoría de texto real (ej. \"Married-civ-spouse\"). Abortamos y protegemos.\n", " contadores['ignoradas_texto_real'] += 1\n", "\n", " # ==========================================\n", " # Reporte Ejecutivo de MLOps\n", " # ==========================================\n", " mem_despues = df_opt.memory_usage(deep=True).sum() / (1024 ** 2)\n", " ahorro_mb = mem_antes - mem_despues\n", " porcentaje_ahorro = 100 * (ahorro_mb / mem_antes) if mem_antes > 0 else 0\n", "\n", " tiempo_total = time.time() - inicio_timer\n", " total_rescatadas = contadores['rescatadas_float32'] + contadores['rescatadas_float64']\n", "\n", " logger.info(f\"\\n✅ Rescate y Casteo Completado en {tiempo_total:.3f}s:\")\n", " if total_rescatadas > 0:\n", " logger.info(f\" 📉 Columnas Rescatadas : {total_rescatadas} ({contadores['rescatadas_float32']} float32 | {contadores['rescatadas_float64']} float64)\")\n", " else:\n", " logger.info(f\" ✔️ Columnas Rescatadas : 0 (No se detectaron falsos textos)\")\n", "\n", " logger.info(f\" 🛡️ Protecciones Activas: {contadores['ignoradas_texto_real']} textos reales ignorados con éxito\")\n", " logger.info(f\" 👑 Target Protegido : Sí ('{target_principal}')\")\n", " logger.info(f\" 💾 Memoria Inicial : {mem_antes:.2f} MB\")\n", " logger.info(f\" 💽 Memoria Final : {mem_despues:.2f} MB (-{porcentaje_ahorro:.1f}%)\")\n", "\n", " return df_opt, contadores\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Verificación estricta del PipelineManager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1).\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción segura de la matriz desde el manager\n", " if not hasattr(manager, 'datos_crudos') or getattr(manager, 'datos_crudos', None) is None:\n", " raise ValueError(\"El Manager no tiene datos cargados. Ejecuta las fases previas.\")\n", "\n", " # 🔗 CONEXIÓN MLOps: Extraemos el target dinámicamente guardado\n", " if not hasattr(manager, 'rutas') or 'target_name' not in manager.rutas:\n", " raise ValueError(\"No se encontró el Target protegido en las rutas del Manager. Asegúrate de ejecutar la Fase 1.3.\")\n", " \n", " target_heredado = manager.rutas['target_name']\n", "\n", " # Ejecutamos el rescate consumiendo los datos del manager\n", " df_rescatado, reporte_rescate = rescate_numerico_y_compresion(\n", " df=manager.datos_crudos,\n", " target_principal=target_heredado, # 👑 Pasamos dinámicamente el ganador\n", " tolerancia_destruccion=0.05 # Si falla en >5% de filas, asume que es texto puro y no lo toca\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Sobrescribimos el estado en el Manager\n", " manager.datos_crudos = df_rescatado\n", " logger.info(\"\\n📦 [MLOps] Falsos textos rescatados y matriz actualizada de forma segura en 'manager.datos_crudos'.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en el Rescate Numérico: {e}\")" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "🎯 Target auto-detectado del pipeline: 'income'\n", "--- 🔬 Simulando un entorno Train/Test para probar la validación ---\n", "=== 🕵️‍♂️ FASE 3.1: Validación Adversaria (Train vs Test) ===\n", " 🚀 Entrenando LightGBM Adversario...\n", " ⚖️ Veredicto del AUC: 0.5113 (Umbral de peligro: 0.6)\n", " ✔️ Matriz Segura. Train y Test provienen de la misma distribución estadística.\n", " ⏱️ Tiempo de validación: 0.13s\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import time\n", "from typing import Tuple, List\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.metrics import roc_auc_score\n", "import lightgbm as lgb\n", "import warnings\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def validacion_adversaria_automl(\n", " df_train: pd.DataFrame, \n", " df_test: pd.DataFrame, \n", " target_col: str,\n", " umbral_auc: float = 0.60\n", ") -> Tuple[List[str], float]:\n", " \"\"\"\n", " [FASE 3 - Paso 3.1] Validación Adversaria (Detector de Concept Drift).\n", " - Objetivo: Entrenar un LightGBM para distinguir entre Train y Test.\n", " - Inteligencia: Si el AUC > umbral, extrae las variables culpables del drift.\n", " - Blindaje: Ignora automáticamente la variable objetivo real para no hacer trampa.\n", " - Pre-procesamiento: Descompone variables Datetime en numéricas para evitar crasheos de LightGBM.\n", " - MLOps: Retorna la lista de variables tóxicas para ejecutarlas en la guillotina.\n", " \"\"\"\n", " if df_train.empty or df_test.empty:\n", " logger.error(\"🛑 Error Crítico: Uno de los DataFrames está vacío.\")\n", " return [], 0.0\n", "\n", " logger.info(\"=== 🕵️‍♂️ FASE 3.1: Validación Adversaria (Train vs Test) ===\")\n", "\n", " inicio_timer = time.time()\n", "\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", "\n", " # ==========================================\n", " # 1. Preparación del Escenario Adversario\n", " # ==========================================\n", " # Copiamos para no alterar los originales\n", " X_tr = df_train.copy()\n", " X_te = df_test.copy()\n", "\n", " # Eliminamos el Target real de negocio (ej. 'income') si existe, \n", " # porque el Test no lo debería tener (o no debemos usarlo aquí)\n", " if target_col in X_tr.columns: X_tr.drop(columns=[target_col], inplace=True)\n", " if target_col in X_te.columns: X_te.drop(columns=[target_col], inplace=True)\n", "\n", " # Alineamos columnas por si el Test viene con menos variables\n", " columnas_comunes = list(set(X_tr.columns).intersection(set(X_te.columns)))\n", " X_tr = X_tr[columnas_comunes]\n", " X_te = X_te[columnas_comunes]\n", "\n", " # Creamos el Target Adversario: 0 = Train, 1 = Test\n", " X_tr['is_test'] = 0\n", " X_te['is_test'] = 1\n", "\n", " # Unimos todo en un solo DataFrame\n", " df_adversario = pd.concat([X_tr, X_te], axis=0, ignore_index=True)\n", "\n", " # 🚀 NUEVO ESCUDO: Descomposición de Datetimes para LightGBM\n", " cols_datetime = df_adversario.select_dtypes(include=['datetime64', 'datetimetz']).columns\n", " if len(cols_datetime) > 0:\n", " logger.info(f\" 🗓️ Descomponiendo {len(cols_datetime)} variables Datetime para LightGBM...\")\n", " for col in cols_datetime:\n", " df_adversario[f'{col}_year'] = df_adversario[col].dt.year\n", " df_adversario[f'{col}_month'] = df_adversario[col].dt.month\n", " df_adversario[f'{col}_day'] = df_adversario[col].dt.day\n", " df_adversario[f'{col}_dayofweek'] = df_adversario[col].dt.dayofweek\n", " # Destruimos las originales que causan el crasheo\n", " df_adversario.drop(columns=cols_datetime, inplace=True)\n", "\n", " # 🚀 NUEVO ESCUDO 2: Compatibilidad de Booleanos\n", " # LightGBM prefiere los booleanos nativos de pandas como numéricos o categóricos\n", " cols_bool = df_adversario.select_dtypes(include=['boolean']).columns\n", " if len(cols_bool) > 0:\n", " for col in cols_bool:\n", " df_adversario[col] = df_adversario[col].astype('float32') # Float soporta NaNs y LightGBM lo entiende\n", "\n", " y_adv = df_adversario['is_test']\n", " X_adv = df_adversario.drop(columns=['is_test'])\n", "\n", " # ==========================================\n", " # 2. División Interna para Evaluación Justa\n", " # ==========================================\n", " # Separamos 30% solo para medir el AUC del modelo adversario\n", " X_adv_train, X_adv_val, y_adv_train, y_adv_val = train_test_split(\n", " X_adv, y_adv, test_size=0.30, random_state=42, stratify=y_adv\n", " )\n", "\n", " # ==========================================\n", " # 3. Entrenamiento del Modelo Espía (LightGBM)\n", " # ==========================================\n", " logger.info(\" 🚀 Entrenando LightGBM Adversario...\")\n", "\n", " # LightGBM es ideal porque detecta las variables 'category' nativamente\n", " modelo_adv = lgb.LGBMClassifier(\n", " n_estimators=50, # Rápido, solo queremos ver si hay un patrón obvio\n", " learning_rate=0.1,\n", " max_depth=4,\n", " random_state=42,\n", " n_jobs=-1,\n", " verbosity=-1 # Muteamos los warnings de C++\n", " )\n", "\n", " modelo_adv.fit(X_adv_train, y_adv_train)\n", "\n", " # ==========================================\n", " # 4. Veredicto del Tribunal (AUC y SHAP/Gain)\n", " # ==========================================\n", " preds = modelo_adv.predict_proba(X_adv_val)[:, 1]\n", " auc_score = roc_auc_score(y_adv_val, preds)\n", "\n", " variables_a_neutralizar = []\n", "\n", " logger.info(f\" ⚖️ Veredicto del AUC: {auc_score:.4f} (Umbral de peligro: {umbral_auc})\")\n", "\n", " if auc_score > umbral_auc:\n", " logger.warning(\" 🚨 PELIGRO: Concept Drift Detectado. El modelo puede distinguir Train de Test.\")\n", "\n", " # Extraemos la importancia de las variables (Feature Importance by Gain)\n", " importancias = pd.DataFrame({\n", " 'Variable': X_adv.columns,\n", " 'Importancia': modelo_adv.feature_importances_\n", " }).sort_values(by='Importancia', ascending=False)\n", "\n", " # Regla AutoML: Tomamos las variables que acumulan el 80% de la importancia del drift\n", " importancias['Acumulado'] = importancias['Importancia'].cumsum() / importancias['Importancia'].sum()\n", " variables_toxicas = importancias[importancias['Acumulado'] <= 0.80]['Variable'].tolist()\n", "\n", " # Si solo una variable causa el 100% del drift, la lista podría estar vacía, la forzamos\n", " if not variables_toxicas:\n", " variables_toxicas = [importancias.iloc[0]['Variable']]\n", "\n", " variables_a_neutralizar = variables_toxicas\n", " logger.warning(f\" 🪓 Variables Tóxicas marcadas para la guillotina: {variables_a_neutralizar}\")\n", "\n", " else:\n", " logger.info(\" ✔️ Matriz Segura. Train y Test provienen de la misma distribución estadística.\")\n", "\n", " tiempo_total = time.time() - inicio_timer\n", " logger.info(f\" ⏱️ Tiempo de validación: {tiempo_total:.2f}s\")\n", "\n", " # Mapeo Inverso: Si una variable tóxica fue 'Date_year', significa que la original 'Date' debe morir\n", " variables_finales_a_neutralizar = set()\n", " for var_tox in variables_a_neutralizar:\n", " if '_year' in var_tox or '_month' in var_tox or '_day' in var_tox or '_dayofweek' in var_tox:\n", " base_col = var_tox.rsplit('_', 1)[0]\n", " if base_col in df_train.columns:\n", " variables_finales_a_neutralizar.add(base_col)\n", " else:\n", " variables_finales_a_neutralizar.add(var_tox)\n", "\n", " return list(variables_finales_a_neutralizar), auc_score\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta del PipelineManager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Fase 1.1 primero.\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción segura de la matriz central\n", " if not hasattr(manager, 'datos_crudos') or getattr(manager, 'datos_crudos', None) is None:\n", " raise ValueError(\"El Manager no tiene datos cargados. Ejecuta las fases previas.\")\n", "\n", " # ==========================================\n", " # 🧠 AUTO-DETECCIÓN DEL TARGET (MLOps Wiring)\n", " # ==========================================\n", " # 🚀 FIX ARQUITECTÓNICO: Extraemos el target de las rutas del Manager\n", " if not hasattr(manager, 'rutas') or 'target_name' not in manager.rutas:\n", " raise ValueError(\"🛑 No se encontró el Target ('target_name') en las rutas del Manager. Ejecuta la Fase 1.3.\")\n", " \n", " target_detectado = manager.rutas['target_name']\n", "\n", " logger.info(f\"🎯 Target auto-detectado del pipeline: '{target_detectado}'\")\n", "\n", " # 💡 PARADOJA DE UN SOLO DATASET:\n", " logger.info(\"--- 🔬 Simulando un entorno Train/Test para probar la validación ---\")\n", " df_train_simulado, df_test_simulado = train_test_split(manager.datos_crudos, test_size=0.20, random_state=99)\n", "\n", " vars_toxicas, score_auc = validacion_adversaria_automl(\n", " df_train=df_train_simulado,\n", " df_test=df_test_simulado,\n", " target_col=target_detectado, # <--- Se inyecta automáticamente aquí\n", " umbral_auc=0.60\n", " )\n", "\n", " # Si detectamos variables del futuro/drift, las aniquilamos del dataset principal de una vez\n", " if vars_toxicas:\n", " logger.info(f\"\\n 🔪 Ejecutando Neutralización en manager.datos_crudos...\")\n", " manager.datos_crudos.drop(columns=vars_toxicas, inplace=True, errors='ignore')\n", " logger.info(f\" ✅ Variables {vars_toxicas} eliminadas de la matriz principal.\")\n", " logger.info(\"📦 [MLOps] Matriz protegida contra Concept Drift y actualizada de forma segura en 'manager.datos_crudos'.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en la Validación Adversaria: {e}\")" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation.nummarital.statusoccupationrelationshipracesexcapital.gaincapital.losshours.per.weeknative.countryincome
090?9Widowed?Not-in-familyWhiteFemale0435640United-States<=50 K
182Private9WidowedExec-managerialNot-in-familyWhiteFemale0435618United-States<=50K
266?10Widowed?UnmarriedBlackFemale0435640United-States<=50K
354Private4DivorcedMachine-op-inspctUnmarriedWhiteFemale0390040United-States<=50K
441Private10SeparatedProf-specialtyOwn-childWhiteFemale0390040United-States<=50K
\n", "
" ], "text/plain": [ " age workclass education.num marital.status occupation \\\n", "0 90 ? 9 Widowed ? \n", "1 82 Private 9 Widowed Exec-managerial \n", "2 66 ? 10 Widowed ? \n", "3 54 Private 4 Divorced Machine-op-inspct \n", "4 41 Private 10 Separated Prof-specialty \n", "\n", " relationship race sex capital.gain capital.loss hours.per.week \\\n", "0 Not-in-family White Female 0 4356 40 \n", "1 Not-in-family White Female 0 4356 18 \n", "2 Unmarried Black Female 0 4356 40 \n", "3 Unmarried White Female 0 3900 40 \n", "4 Own-child White Female 0 3900 40 \n", "\n", " native.country income \n", "0 United-States <=50 K \n", "1 United-States <=50K \n", "2 United-States <=50K \n", "3 United-States <=50K \n", "4 United-States <=50K " ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "df_purgado.head()\n" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "🎯 Target heredado dinámicamente desde el manager: 'income'\n", "\n", "=== 🧱 FASE 3.2: Aislamiento del Target ('income') y Enrutamiento ===\n", " 🔍 Mapeando la topología de las características predictoras (X)...\n", "\n", "✅ Aislamiento y Enrutamiento Completado en 0.006s:\n", " ✔️ Regla de Oro : 0 filas destruidas (Target 100% íntegro).\n", " 📦 Matriz Predictora (X): 32,537 filas x 12 columnas\n", " 🎯 Vector Objetivo (y) : 32,537 etiquetas aisladas\n", "\n", " 🛣️ Mapas de Ruteo Creados:\n", " - Numéricas (num_vars) : 5 columnas\n", " - Categóricas (cat_vars) : 7 columnas\n", " - Booleanas (bool_vars): 0 columnas\n", " - Temporales (date_vars): 0 columnas\n", "📦 [MLOps] Matriz predictora (X), vector objetivo (y) y rutas de variables inyectadas de forma segura en el Manager.\n", "🧹 [RAM Shield] Matriz 'datos_crudos' original eliminada para liberar memoria.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import time\n", "import re # 🚀 NUEVO: Importamos regex para la limpieza profunda\n", "from typing import Tuple, Dict, List\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def aislar_target_y_enrutar(\n", " df: pd.DataFrame, \n", " target_col: str\n", ") -> Tuple[pd.DataFrame, pd.Series, Dict[str, List[str]]]:\n", " \"\"\"\n", " [FASE 3 - Paso 3.2] Aislamiento del Target y Regla de Oro.\n", " - Auto-Corrección Extendida: Detecta el target ignorando mayúsculas, espacios, guiones y guiones bajos.\n", " - Regla Estricta: Purga (elimina) cualquier registro donde la variable objetivo sea nula.\n", " - Aislamiento Temprano: Separa la matriz en características (X) y objetivo (y).\n", " - Enrutamiento (AutoML): Escanea los dtypes y crea listas explícitas de variables.\n", " \"\"\"\n", " if not isinstance(df, pd.DataFrame) or df.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz está vacía o es inválida.\")\n", " raise ValueError(\"La matriz está vacía o es inválida.\")\n", "\n", " # ==========================================\n", " # 🚀 NUEVO: Auto-Corrección Inteligente de Columnas (Bulletproof)\n", " # ==========================================\n", " if target_col not in df.columns:\n", " # Función destructiva: borra todo lo que no sea letra o número para una comparación pura\n", " def normalizar(nombre):\n", " return re.sub(r'[^a-z0-9]', '', str(nombre).lower())\n", "\n", " target_norm = normalizar(target_col) # 'No-show' se convierte en 'noshow'\n", " mapa_cols = {normalizar(c): c for c in df.columns}\n", "\n", " if target_norm in mapa_cols:\n", " target_real = mapa_cols[target_norm]\n", " logger.info(f\" 🪄 [AUTO-CORRECCIÓN] Target original '{target_col}' mapeado a -> '{target_real}'\")\n", " target_col = target_real # Actualizamos la variable para usar la que sí existe en el DataFrame\n", " else:\n", " logger.error(f\"🛑 Error Crítico: La variable objetivo '{target_col}' (o su versión '{target_norm}') no existe. Columnas vistas: {list(df.columns)}\")\n", " raise KeyError(f\"La variable objetivo '{target_col}' no existe.\")\n", "\n", " logger.info(f\"=== 🧱 FASE 3.2: Aislamiento del Target ('{target_col}') y Enrutamiento ===\")\n", "\n", " inicio_timer = time.time()\n", "\n", " # ==========================================\n", " # 1. La Regla de Oro (Purga de Target Nulo)\n", " # ==========================================\n", " filas_iniciales = len(df)\n", "\n", " # Copiamos y eliminamos las filas sin piedad donde el target es NaN\n", " df_limpio = df.dropna(subset=[target_col]).copy() \n", "\n", " filas_finales = len(df_limpio)\n", " nulos_purgados = filas_iniciales - filas_finales\n", "\n", " # ==========================================\n", " # 2. El Aislamiento (Split X, y)\n", " # ==========================================\n", " y = df_limpio[target_col]\n", " X = df_limpio.drop(columns=[target_col])\n", "\n", " # ==========================================\n", " # 3. Escáner de Enrutamiento (AutoML Routing)\n", " # ==========================================\n", " rutas = {\n", " 'num_vars': [],\n", " 'cat_vars': [],\n", " 'date_vars': [],\n", " 'bool_vars': []\n", " }\n", "\n", " logger.info(\" 🔍 Mapeando la topología de las características predictoras (X)...\")\n", "\n", " for col in X.columns:\n", " tipo = X[col].dtype\n", "\n", " # Booleanas (Damos prioridad a las bool_vars para que no se confundan con numéricas)\n", " if pd.api.types.is_bool_dtype(tipo):\n", " rutas['bool_vars'].append(col)\n", " # Numéricas (Int y Float)\n", " elif pd.api.types.is_numeric_dtype(tipo):\n", " rutas['num_vars'].append(col)\n", " # Categóricas y Textos\n", " elif isinstance(tipo, pd.CategoricalDtype) or pd.api.types.is_object_dtype(tipo) or pd.api.types.is_string_dtype(tipo):\n", " rutas['cat_vars'].append(col)\n", " # Fechas y Tiempos\n", " elif pd.api.types.is_datetime64_any_dtype(tipo):\n", " rutas['date_vars'].append(col)\n", " else:\n", " logger.warning(f\" ⚠️ Advertencia: Tipo de dato no reconocido en '{col}': {tipo}\")\n", "\n", " # ==========================================\n", " # 4. Reporte Ejecutivo de MLOps\n", " # ==========================================\n", " tiempo_total = time.time() - inicio_timer\n", "\n", " logger.info(f\"\\n✅ Aislamiento y Enrutamiento Completado en {tiempo_total:.3f}s:\")\n", " if nulos_purgados > 0:\n", " logger.info(f\" 🔪 Regla de Oro Aplicada: {nulos_purgados} filas destruidas por no tener Target.\")\n", " else:\n", " logger.info(f\" ✔️ Regla de Oro : 0 filas destruidas (Target 100% íntegro).\")\n", "\n", " logger.info(f\" 📦 Matriz Predictora (X): {X.shape[0]:,} filas x {X.shape[1]} columnas\")\n", " logger.info(f\" 🎯 Vector Objetivo (y) : {len(y):,} etiquetas aisladas\")\n", " logger.info(f\"\\n 🛣️ Mapas de Ruteo Creados:\")\n", " logger.info(f\" - Numéricas (num_vars) : {len(rutas['num_vars'])} columnas\")\n", " logger.info(f\" - Categóricas (cat_vars) : {len(rutas['cat_vars'])} columnas\")\n", " logger.info(f\" - Booleanas (bool_vars): {len(rutas['bool_vars'])} columnas\")\n", " logger.info(f\" - Temporales (date_vars): {len(rutas['date_vars'])} columnas\")\n", "\n", " return X, y, rutas\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Verificación estricta del PipelineManager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Fase 1.1 primero.\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción segura de la matriz central\n", " if not hasattr(manager, 'datos_crudos') or manager.datos_crudos is None:\n", " raise ValueError(\"El Manager no tiene datos cargados. Ejecuta las fases previas.\")\n", "\n", " # ==========================================\n", " # 🧠 AUTO-DETECCIÓN DEL TARGET (Protegido)\n", " # ==========================================\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción estricta del target\n", " if not hasattr(manager, 'rutas') or 'target_name' not in manager.rutas:\n", " raise ValueError(\"🛑 No se encontró la variable objetivo ('target_name') en el Manager. Ejecuta la guillotina (Fase 1.3) primero.\")\n", "\n", " variable_objetivo = manager.rutas['target_name']\n", " logger.info(f\"🎯 Target heredado dinámicamente desde el manager: '{variable_objetivo}'\\n\")\n", "\n", " # Generamos la división definitiva y el enrutamiento\n", " X, y, rutas_variables = aislar_target_y_enrutar(\n", " df=manager.datos_crudos, \n", " target_col=variable_objetivo\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos X, y en el contenedor de estado central\n", " manager.X_train = X\n", " manager.y_train = y\n", " \n", " # 🚀 FIX ARQUITECTÓNICO: Acoplamos las rutas al manager, manteniendo el 'target_name'\n", " rutas_variables['target_name'] = variable_objetivo\n", " manager.rutas = rutas_variables\n", "\n", " logger.info(\"📦 [MLOps] Matriz predictora (X), vector objetivo (y) y rutas de variables inyectadas de forma segura en el Manager.\")\n", "\n", " # Liberamos la memoria de 'datos_crudos' ya que la matriz se ha dividido\n", " del manager.datos_crudos\n", " logger.info(\"🧹 [RAM Shield] Matriz 'datos_crudos' original eliminada para liberar memoria.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en el Aislamiento del Target: {e}\")" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['age', 'education_num', 'capital_gain', 'capital_loss', 'hours_per_week']" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "manager.rutas['num_vars']" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['workclass',\n", " 'marital_status',\n", " 'occupation',\n", " 'relationship',\n", " 'race',\n", " 'sex',\n", " 'native_country']" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "manager.rutas['cat_vars']" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "manager.rutas['date_vars']" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "manager.rutas['bool_vars']" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🧱 FASE 3.3: Levantando el Muro de Hierro (Split 80/20) ===\n", " ✨ [TARGET LIMPIO] No se detectaron nulos ocultos en la variable objetivo.\n", "\n", "✅ Muro de Hierro levantado en 0.051s:\n", " 🧠 Naturaleza del Target : Clasificación (Estratificado)\n", " 🚂 Matriz de TRAIN : 26,029 filas (80.0%)\n", " 🔒 Matriz de TEST : 6,508 filas (20.0%)\n", "\n", "📜 EDICTO DE MLOPS (Regla de Oro para las Fases 4 y 5):\n", " 1. Todo Imputador, Scaler o Encoder debe ENTRENARSE estrictamente sobre TRAIN usando .fit()\n", " 2. TEST es ciego. Solo se le aplicará .transform() usando las reglas aprendidas de TRAIN.\n", "\n", "📦 [MLOps] Matrices Train/Test divididas y aseguradas en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple, Dict, Any\n", "from sklearn.model_selection import train_test_split\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def levantar_muro_de_hierro(\n", " X: pd.DataFrame, \n", " y: pd.Series, \n", " test_size: float = 0.20,\n", " random_state: int = 42\n", ") -> Tuple[pd.DataFrame, pd.DataFrame, pd.Series, pd.Series]:\n", " \"\"\"\n", " [FASE 3 - Paso 3.3] División Inmediata y Muro de Hierro.\n", " - Purga de Target: Aplica Regex avanzado para destruir nulos ocultos en 'y' y alinear 'X'.\n", " - Inteligencia (AutoML): Detecta la naturaleza del Target (y) para aplicar \n", " estratificación automática si es clasificación, o corte simple si es regresión.\n", " - Seguridad: Verifica integridad dimensional antes del corte.\n", " - Arquitectura MLOps: Prepara el terreno para la regla sagrada: \n", " Transformadores usarán .fit_transform() en Train y SOLO .transform() en Test.\n", " \"\"\"\n", " if X.empty or y.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz X o el vector y están vacíos.\")\n", " raise ValueError(\"La matriz X o el vector y están vacíos.\")\n", "\n", " if len(X) != len(y):\n", " logger.error(f\"🛑 Desalineación Crítica: X tiene {len(X)} filas pero y tiene {len(y)}.\")\n", " raise ValueError(\"Desalineación Crítica entre X e y.\")\n", "\n", " logger.info(f\"=== 🧱 FASE 3.3: Levantando el Muro de Hierro (Split {100-test_size*100:.0f}/{test_size*100:.0f}) ===\")\n", "\n", " inicio_timer = time.time()\n", "\n", " # ==========================================\n", " # 0.5. Purga de Nulos Ocultos en el Target (El Escudo Regex)\n", " # ==========================================\n", " # Usamos tu regex convirtiendo temporalmente a string para evitar errores si 'y' es numérica\n", " patron_regex = r'(?i)^(unknown|n/?a|null|nan|missing|none|-1|)$|^[^a-zA-Z0-9]+$'\n", " mascara_regex = y.astype(str).str.match(patron_regex, na=True)\n", "\n", " # Combinamos con los NaNs nativos de Pandas por si acaso\n", " mascara_nulos_reales = y.isna()\n", " mascara_borrar = mascara_regex | mascara_nulos_reales\n", "\n", " filas_a_borrar = mascara_borrar.sum()\n", "\n", " if filas_a_borrar > 0:\n", " logger.warning(f\" 🧹 [PURGA TARGET] Detectados {filas_a_borrar} registros con respuesta (y) nula/inválida.\")\n", " # Filtramos 'y' y luego usamos sus índices sobrevivientes para filtrar 'X'\n", " y = y[~mascara_borrar].copy()\n", " X = X.loc[y.index].copy()\n", " logger.info(f\" 🗑️ Filas eliminadas de X e y para mantener integridad dimensional (Dataset restante: {len(y):,}).\")\n", "\n", " if len(y) == 0:\n", " logger.error(\"🛑 Error Fatal: El dataset quedó vacío tras purgar los Targets inválidos.\")\n", " raise ValueError(\"El dataset quedó vacío tras purgar los Targets inválidos.\")\n", " else:\n", " logger.info(\" ✨ [TARGET LIMPIO] No se detectaron nulos ocultos en la variable objetivo.\")\n", "\n", " # ==========================================\n", " # 1. Detección Inteligente de Estratificación\n", " # ==========================================\n", " # Si 'y' tiene pocos valores únicos (ej. < 100) o es texto/categoría, asumimos CLASIFICACIÓN.\n", " es_clasificacion = False\n", " if pd.api.types.is_object_dtype(y.dtype) or isinstance(y.dtype, pd.CategoricalDtype):\n", " es_clasificacion = True\n", " elif pd.api.types.is_numeric_dtype(y.dtype) and y.nunique() < 100:\n", " es_clasificacion = True\n", "\n", " estrategia_stratify = y if es_clasificacion else None\n", "\n", " # ==========================================\n", " # 2. La División (La Guillotina Temporal)\n", " # ==========================================\n", " X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, \n", " test_size=test_size, \n", " random_state=random_state, \n", " stratify=estrategia_stratify\n", " )\n", "\n", " # ==========================================\n", " # 3. Reporte de Arquitectura\n", " # ==========================================\n", " tiempo_total = time.time() - inicio_timer\n", "\n", " logger.info(f\"\\n✅ Muro de Hierro levantado en {tiempo_total:.3f}s:\")\n", " logger.info(f\" 🧠 Naturaleza del Target : {'Clasificación (Estratificado)' if es_clasificacion else 'Regresión (Corte Simple)'}\")\n", " logger.info(f\" 🚂 Matriz de TRAIN : {X_train.shape[0]:,} filas ({len(X_train)/len(X):.1%})\")\n", " logger.info(f\" 🔒 Matriz de TEST : {X_test.shape[0]:,} filas ({len(X_test)/len(X):.1%})\")\n", "\n", " logger.info(\"\\n📜 EDICTO DE MLOPS (Regla de Oro para las Fases 4 y 5):\")\n", " logger.info(\" 1. Todo Imputador, Scaler o Encoder debe ENTRENARSE estrictamente sobre TRAIN usando .fit()\")\n", " logger.info(\" 2. TEST es ciego. Solo se le aplicará .transform() usando las reglas aprendidas de TRAIN.\")\n", "\n", " return X_train, X_test, y_train, y_test\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Verificación estricta del PipelineManager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Obtenemos los datos sin dividir que guardamos temporalmente en la Fase 3.2\n", " # El manager guarda provisionalmente la matriz X completa en X_train antes del split real\n", " X_sin_dividir = getattr(manager, 'X_train', None)\n", " y_sin_dividir = getattr(manager, 'y_train', None)\n", "\n", " if X_sin_dividir is None or y_sin_dividir is None:\n", " raise ValueError(\"El Manager no tiene 'X' o 'y' cargados. Ejecuta el Aislamiento (Fase 3.2) primero.\")\n", "\n", " # 2. Ejecutamos la división consumiendo los datos centrales\n", " X_tr, X_te, y_tr, y_te = levantar_muro_de_hierro(\n", " X=X_sin_dividir, \n", " y=y_sin_dividir, \n", " test_size=0.20,\n", " random_state=42 \n", " )\n", "\n", " # 3. Guardamos los resultados DE VUELTA en el manager para que viajen a las siguientes fases\n", " if hasattr(manager, 'cargar_split'):\n", " manager.cargar_split(X_tr, X_te, y_tr, y_te)\n", " else:\n", " # Fallback de seguridad si el método cargar_split no existe en la versión actual del Manager\n", " manager.X_train = X_tr\n", " manager.X_test = X_te\n", " manager.y_train = y_tr\n", " manager.y_test = y_te\n", " \n", " logger.info(\"\\n📦 [MLOps] Matrices Train/Test divididas y aseguradas en el PipelineManager.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en el Train/Test Split: {e}\")" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_losshours_per_weeknative_country
2525221?10never-married?own-childwhitemale0020united-states
334941private11married-civ-spousesaleshusbandwhitemale4386060united-states
458424private9never-marriedhandlers-cleanersunmarriedblackfemale0040united-states
700359private9widowedprof-specialtynot-in-familywhitefemale0018united-states
88235private9married-civ-spousesaleshusbandasian-pac-islandermale0188750iran
\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation \\\n", "25252 21 ? 10 never-married ? \n", "3349 41 private 11 married-civ-spouse sales \n", "4584 24 private 9 never-married handlers-cleaners \n", "7003 59 private 9 widowed prof-specialty \n", "882 35 private 9 married-civ-spouse sales \n", "\n", " relationship race sex capital_gain capital_loss \\\n", "25252 own-child white male 0 0 \n", "3349 husband white male 4386 0 \n", "4584 unmarried black female 0 0 \n", "7003 not-in-family white female 0 0 \n", "882 husband asian-pac-islander male 0 1887 \n", "\n", " hours_per_week native_country \n", "25252 20 united-states \n", "3349 60 united-states \n", "4584 40 united-states \n", "7003 18 united-states \n", "882 50 iran " ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "manager.X_train.head()\n" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_losshours_per_weeknative_country
2110239self-emp-inc10divorcedcraft-repairnot-in-familywhitemale0099united-states
2146935private13married-civ-spouseadm-clericalhusbandwhitemale0040united-states
2081531private13married-civ-spouseprof-specialtyhusbandwhitemale0035united-states
2213867self-emp-inc13widowedother-serviceunmarriedwhitefemale0035united-states
1143656self-emp-not-inc9married-spouse-absentexec-managerialnot-in-familywhitemale0070united-states
\n", "
" ], "text/plain": [ " age workclass education_num marital_status \\\n", "21102 39 self-emp-inc 10 divorced \n", "21469 35 private 13 married-civ-spouse \n", "20815 31 private 13 married-civ-spouse \n", "22138 67 self-emp-inc 13 widowed \n", "11436 56 self-emp-not-inc 9 married-spouse-absent \n", "\n", " occupation relationship race sex capital_gain \\\n", "21102 craft-repair not-in-family white male 0 \n", "21469 adm-clerical husband white male 0 \n", "20815 prof-specialty husband white male 0 \n", "22138 other-service unmarried white female 0 \n", "11436 exec-managerial not-in-family white male 0 \n", "\n", " capital_loss hours_per_week native_country \n", "21102 0 99 united-states \n", "21469 0 40 united-states \n", "20815 0 35 united-states \n", "22138 0 35 united-states \n", "11436 0 70 united-states " ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "manager.X_test.head()\n" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Index: 26029 entries, 25252 to 7084\n", "Data columns (total 12 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null int8 \n", " 1 workclass 26029 non-null category\n", " 2 education_num 26029 non-null int8 \n", " 3 marital_status 26029 non-null category\n", " 4 occupation 26029 non-null category\n", " 5 relationship 26029 non-null category\n", " 6 race 26029 non-null category\n", " 7 sex 26029 non-null category\n", " 8 capital_gain 26029 non-null int32 \n", " 9 capital_loss 26029 non-null int16 \n", " 10 hours_per_week 26029 non-null int8 \n", " 11 native_country 26029 non-null category\n", "dtypes: category(7), int16(1), int32(1), int8(3)\n", "memory usage: 613.3 KB\n" ] } ], "source": [ "\n", "\n", "manager.X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🧭 FASE 3.4: Motor de Estrategia de Validación (Cross-Validation) ===\n", " 🔍 Analizando topología de la matriz para Validación Cruzada...\n", " ⚖️ Matriz transversal simple (Clasificación). Activando estratificación equilibrada.\n", "\n", "✅ Estrategia de Validación Definida en 0.003s:\n", " 🎯 Esquema Final : StratifiedKFold (Mantiene proporción real de clases)\n", " 🔪 Folds (Cortes) : 5\n", "\n", "📦 [MLOps] Mapa topológico de validación (Folds) guardado de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple, Any, List, Optional\n", "from sklearn.model_selection import StratifiedKFold, KFold, TimeSeriesSplit, GroupKFold\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def definir_estrategia_validacion(\n", " X_train: pd.DataFrame,\n", " y_train: pd.Series,\n", " n_splits: int = 5,\n", " date_vars: Optional[List[str]] = None\n", ") -> Tuple[Any, Optional[np.ndarray]]:\n", " \"\"\"\n", " [FASE 3 - Paso 3.4] Esquema de Validación Inteligente (Árbitro Topológico).\n", " - Analiza la presencia simultánea o individual de Tiempo (Fechas) e Identidad (IDs).\n", " - Elige matemáticamente la estrategia de K-Folds más segura para evitar Fugas de Datos.\n", " \"\"\"\n", " if X_train.empty or y_train.empty:\n", " logger.error(\"🛑 Error Crítico: X_train o y_train están vacíos.\")\n", " raise ValueError(\"X_train o y_train están vacíos.\")\n", "\n", " logger.info(f\"=== 🧭 FASE 3.4: Motor de Estrategia de Validación (Cross-Validation) ===\")\n", "\n", " inicio_timer = time.time()\n", " date_vars = date_vars or []\n", " es_clasificacion = False\n", " grupos_cv = None\n", "\n", " # ==========================================\n", " # 1. Detección de Naturaleza del Problema (Target)\n", " # ==========================================\n", " if pd.api.types.is_object_dtype(y_train.dtype) or isinstance(y_train.dtype, pd.CategoricalDtype):\n", " es_clasificacion = True\n", " elif pd.api.types.is_numeric_dtype(y_train.dtype) and y_train.nunique() < 100:\n", " es_clasificacion = True\n", "\n", " # ==========================================\n", " # 2. Extracción de Grupos (Desde el Índice)\n", " # ==========================================\n", " nombre_indice = X_train.index.name\n", " tiene_ids_reales = isinstance(X_train.index, pd.MultiIndex) or (nombre_indice is not None and nombre_indice != 'auto_id')\n", "\n", " if tiene_ids_reales:\n", " if isinstance(X_train.index, pd.MultiIndex):\n", " grupos_cv = np.array(['_'.join(map(str, idx)) for idx in X_train.index])\n", " else:\n", " grupos_cv = X_train.index.to_numpy()\n", "\n", " # ==========================================\n", " # 3. El Árbitro Inteligente (Matriz de Decisión MLOps)\n", " # ==========================================\n", " estrategia_cv = None\n", " nombre_estrategia = \"\"\n", " tiene_tiempo = len(date_vars) > 0\n", "\n", " logger.info(\" 🔍 Analizando topología de la matriz para Validación Cruzada...\")\n", "\n", " # Escenario A: Datos de Panel (Tiempo + Identidad)\n", " if tiene_tiempo and tiene_ids_reales:\n", " # Sklearn no tiene un \"GroupTimeSeriesSplit\" nativo perfecto, usamos GroupKFold como la opción más segura \n", " # para evitar que un mismo ID se filtre entre Folds, asumiendo que los Lags (Fase 14.1) ya encapsularon la historia.\n", " estrategia_cv = GroupKFold(n_splits=n_splits)\n", " nombre_estrategia = f\"GroupKFold (Prioridad ID sobre Tiempo - {len(np.unique(grupos_cv))} grupos)\"\n", " logger.warning(\" ⚠️ Conflicto detectado: La matriz tiene TIEMPO y tiene IDs simultáneamente (Datos de Panel).\")\n", " logger.info(\" ↳ Decisión Arquitectónica: Predomina el ID. Es más crítico evitar que el modelo memorice\")\n", " logger.info(\" el futuro de un mismo paciente/ciudad. Se usará Agrupación por Identidad.\")\n", "\n", " # Escenario B: Serie de Tiempo Pura (Solo Tiempo, un solo protagonista)\n", " elif tiene_tiempo and not tiene_ids_reales:\n", " estrategia_cv = TimeSeriesSplit(n_splits=n_splits)\n", " nombre_estrategia = \"TimeSeriesSplit (Corte Secuencial Histórico)\"\n", " logger.info(\" ⏱️ Solo hay Tiempo (Sin IDs múltiples). Activando validación secuencial estricta.\")\n", "\n", " # Escenario C: Transversal Múltiple (Solo IDs, sin reloj)\n", " elif not tiene_tiempo and tiene_ids_reales:\n", " estrategia_cv = GroupKFold(n_splits=n_splits)\n", " nombre_estrategia = f\"GroupKFold (Agrupado estricto por Índice - {len(np.unique(grupos_cv))} grupos)\"\n", " logger.info(\" 🧬 Solo hay IDs (Sin reloj). Activando blindaje de identidad transversal.\")\n", "\n", " # Escenario D: Transversal Simple (Ni Tiempo, Ni IDs complejos)\n", " else:\n", " if es_clasificacion:\n", " estrategia_cv = StratifiedKFold(n_splits=n_splits, shuffle=True, random_state=42)\n", " nombre_estrategia = \"StratifiedKFold (Mantiene proporción real de clases)\"\n", " logger.info(\" ⚖️ Matriz transversal simple (Clasificación). Activando estratificación equilibrada.\")\n", " else:\n", " estrategia_cv = KFold(n_splits=n_splits, shuffle=True, random_state=42)\n", " nombre_estrategia = \"Standard KFold (Corte Aleatorio Simple)\"\n", " logger.info(\" 📈 Matriz transversal simple (Regresión). Activando partición aleatoria.\")\n", "\n", " # ==========================================\n", " # 4. Reporte Ejecutivo\n", " # ==========================================\n", " logger.info(f\"\\n✅ Estrategia de Validación Definida en {time.time() - inicio_timer:.3f}s:\")\n", " logger.info(f\" 🎯 Esquema Final : {nombre_estrategia}\")\n", " logger.info(f\" 🔪 Folds (Cortes) : {n_splits}\")\n", "\n", " if grupos_cv is not None:\n", " logger.warning(\" ⚠️ IMPORTANTE : El motor ha devuelto el vector 'grupos_cv'. Asegúrate de inyectarlo en tu modelo.\")\n", "\n", " return estrategia_cv, grupos_cv\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Verificación estricta del PipelineManager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción segura de datos desde el manager\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None:\n", " raise ValueError(\"El Manager no tiene datos de entrenamiento (X_train/y_train). Ejecuta el Split (Fase 3.3).\")\n", "\n", " # Extraemos las fechas detectadas de forma segura desde las rutas del manager\n", " fechas_detectadas = []\n", " if hasattr(manager, 'rutas'):\n", " fechas_detectadas = manager.rutas.get('date_vars', [])\n", "\n", " # Generamos la estrategia y extraemos los grupos ocultos consumiendo datos del manager\n", " cv_strategy, grupos_cv_extraidos = definir_estrategia_validacion(\n", " X_train=manager.X_train,\n", " y_train=manager.y_train,\n", " n_splits=5,\n", " date_vars=fechas_detectadas\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos generados estrictamente en el Manager\n", " manager.grupos_cv = grupos_cv_extraidos\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('cv_strategy', cv_strategy)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['cv_strategy'] = cv_strategy\n", " \n", " logger.info(\"\\n📦 [MLOps] Mapa topológico de validación (Folds) guardado de forma segura en el PipelineManager.\")\n", "\n", " # (Transición): Reflejamos temporalmente en variables globales por si tus celdas de abajo aún las piden\n", " estrategia_cv = cv_strategy\n", " grupos_cv = manager.grupos_cv\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en la Definición de Estrategia CV: {e}\")" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== ⚓ FASE 3.5: Desanclaje del Índice y Sincronización (TRAIN) ===\n", " ✅ Completado en 0.0011s\n", " 🗑️ Índices destruidos : Índice numérico nativo\n", " 🔗 Sincronización : X e y (26029 filas) perfectamente alineados.\n", "=== ⚓ FASE 3.5: Desanclaje del Índice y Sincronización (TEST) ===\n", " ✅ Completado en 0.0009s\n", " 🗑️ Índices destruidos : Índice numérico nativo\n", " 🔗 Sincronización : X e y (6508 filas) perfectamente alineados.\n", "\n", "⚙️ Estado Global: Matrices purificadas devueltas de forma segura al PipelineManager y listas para Scikit-Learn.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import time\n", "from typing import Tuple, Optional\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def desanclar_indice_estructural(\n", " X: pd.DataFrame, \n", " y: Optional[pd.Series] = None,\n", " nombre_dataset: str = \"Matriz\"\n", ") -> Tuple[pd.DataFrame, Optional[pd.Series]]:\n", " \"\"\"\n", " [FASE 1 - Paso 3.5] Desanclaje del Índice y Purificación.\n", " - Purga de Identidad: Elimina los IDs del índice para liberar memoria y evitar \n", " que transformadores de Scikit-Learn/Categorical Encoders fallen por desalineación.\n", " - Sincronización Estricta: Resetea (X, y) en paralelo garantizando la topología.\n", " - Arquitectura Modular: Se ejecuta por separado para Train y Test.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(f\"🛑 Error Crítico: La matriz X ({nombre_dataset}) está vacía o es inválida.\")\n", " raise ValueError(f\"La matriz X ({nombre_dataset}) está vacía o es inválida.\")\n", "\n", " logger.info(f\"=== ⚓ FASE 3.5: Desanclaje del Índice y Sincronización ({nombre_dataset}) ===\")\n", "\n", " inicio_timer = time.time()\n", "\n", " # 1. Captura de metadatos para el reporte\n", " nombres_indices = X.index.names\n", "\n", " # 2. Desanclaje de X\n", " X_clean = X.reset_index(drop=True)\n", " y_clean = None\n", "\n", " # 3. Desanclaje de y (Si existe) y Auditoría\n", " if y is not None:\n", " if y.empty:\n", " logger.error(f\"🛑 Error Crítico: La variable objetivo y ({nombre_dataset}) está vacía.\")\n", " raise ValueError(f\"La variable objetivo y ({nombre_dataset}) está vacía.\")\n", "\n", " y_clean = y.reset_index(drop=True)\n", " assert len(X_clean) == len(y_clean), f\"🚨 Ruptura dimensional en {nombre_dataset} detectada tras desanclaje.\"\n", "\n", " # ==========================================\n", " # Reporte Ejecutivo de MLOps\n", " # ==========================================\n", " tiempo_total = time.time() - inicio_timer\n", "\n", " logger.info(f\" ✅ Completado en {tiempo_total:.4f}s\")\n", " if nombres_indices and nombres_indices[0] is not None:\n", " logger.info(f\" 🗑️ Índices destruidos : {list(nombres_indices)}\")\n", " else:\n", " logger.info(f\" 🗑️ Índices destruidos : Índice numérico nativo\")\n", "\n", " if y is not None:\n", " logger.info(f\" 🔗 Sincronización : X e y ({len(X_clean)} filas) perfectamente alineados.\")\n", " else:\n", " logger.info(f\" 🔗 Sincronización : X ({len(X_clean)} filas) desanclada de forma independiente.\")\n", "\n", " return X_clean, y_clean\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación limpia y estricta usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1).\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Verificación segura de atributos en el Manager\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene las matrices cargadas. Ejecuta la división Train/Test (Fase 3.3).\")\n", "\n", " # 2. Desanclamos TRAIN extrayendo los datos del Manager\n", " X_train_clean, y_train_clean = desanclar_indice_estructural(\n", " X=manager.X_train, \n", " y=manager.y_train,\n", " nombre_dataset=\"TRAIN\"\n", " )\n", "\n", " # 3. Desanclamos TEST extrayendo los datos del Manager\n", " X_test_clean, y_test_clean = desanclar_indice_estructural(\n", " X=manager.X_test, \n", " y=manager.y_test,\n", " nombre_dataset=\"TEST\"\n", " )\n", "\n", " # 4. Guardamos los resultados purificados de vuelta en el Manager\n", " manager.X_train = X_train_clean\n", " manager.y_train = y_train_clean\n", " manager.X_test = X_test_clean\n", " manager.y_test = y_test_clean\n", "\n", " logger.info(\"\\n⚙️ Estado Global: Matrices purificadas devueltas de forma segura al PipelineManager y listas para Scikit-Learn.\")\n", "\n", " # (Transición): Reflejamos en variables globales por si tus celdas de abajo aún las piden\n", " X_train = manager.X_train\n", " y_train = manager.y_train\n", " X_test = manager.X_test\n", " y_test = manager.y_test\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except AssertionError as assert_err:\n", " logger.error(f\"🛑 Falla Crítica de Integridad Matemática: {assert_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Fallo inesperado en el Desanclaje: {e}\")\n", "\n", "\n", "# # FASE 2: Exploración Visual y Pre-procesamiento de Texto\n", "# Entendemos el negocio, limpiamos el ruido obvio y preparamos las categorías." ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 📊 FASE 4.1: Diagnóstico MLOps del Target ('income') ===\n", " 🧠 Naturaleza Detectada: Clasificación Binaria (2 clases)\n", " 📈 Clase Mayoritaria : '<=50k' (75.9%)\n", " 📉 Clase Minoritaria : '>50k' (24.1%)\n", " ⚖️ Imbalance Ratio (IR): 1:3.15 (Por cada minoría hay 3.2 mayorías)\n", "\n", " 🚨 DIAGNÓSTICO ESTRATÉGICO PARA FASE 6:\n", " [ALERTA AMARILLA] Desbalance Moderado. Se sugiere activar Class Weights en LightGBM/XGBoost.\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "\n", "⏱️ Diagnóstico completado en 0.557s\n", "📦 [MLOps] Clase minoritaria '>50k' capturada en el Manager y lista para Fase 4.3.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import matplotlib.pyplot as plt # El único import correcto para gráficos\n", "import seaborn as sns\n", "import time\n", "import warnings\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def diagnosticar_balance_target(y: pd.Series, nombre_target: str = \"Target\"):\n", " \"\"\"\n", " [FASE 2 - Paso 4.1] Radiografía Estadística y Diagnóstico del Target.\n", " - IA Analítica: Detecta automáticamente si el problema es Regresión, Binario o Multiclase.\n", " - Diagnóstico MLOps: Calcula el Imbalance Ratio (IR) y emite alertas estratégicas adaptadas al tipo.\n", " - Extracción Automática: Retorna la clase minoritaria para ser usada en fases posteriores.\n", " \"\"\"\n", " if y is None or y.empty:\n", " logger.error(\"🛑 Error Crítico: El vector objetivo (y) está vacío o no existe.\")\n", " raise ValueError(\"El vector objetivo (y) está vacío o no existe.\")\n", "\n", " logger.info(f\"=== 📊 FASE 4.1: Diagnóstico MLOps del Target ('{nombre_target}') ===\")\n", " inicio_timer = time.time()\n", "\n", " # Configuración estética profesional\n", " if MODO_VISUAL:\n", " sns.set_theme(style=\"whitegrid\", palette=\"muted\")\n", " warnings.simplefilter(\"ignore\", category=FutureWarning)\n", "\n", " # Variable para guardar la clase que retornaremos\n", " clase_minoritaria_detectada = None\n", "\n", " # ==========================================\n", " # 1. Detección Inteligente de la Topología\n", " # ==========================================\n", " es_clasificacion = False\n", "\n", " # Soporte ultra-robusto para inferir clasificación\n", " if pd.api.types.is_object_dtype(y.dtype) or isinstance(y.dtype, pd.CategoricalDtype) or pd.api.types.is_bool_dtype(y.dtype):\n", " es_clasificacion = True\n", " elif pd.api.types.is_numeric_dtype(y.dtype) and y.nunique(dropna=True) <= 20: # Si es número pero tiene pocas opciones, es clasificación\n", " es_clasificacion = True\n", "\n", " if MODO_VISUAL:\n", " plt.figure(figsize=(10, 5), dpi=100)\n", "\n", " # ==========================================\n", " # 2.A. Ruta AutoML para CLASIFICACIÓN\n", " # ==========================================\n", " if es_clasificacion:\n", " conteo = y.value_counts(dropna=True)\n", " porcentajes = y.value_counts(normalize=True, dropna=True) * 100\n", "\n", " # Extraemos la clase con menos registros sin importar el tipo\n", " clase_minoritaria_detectada = conteo.index[-1]\n", "\n", " # --- BIFURCACIÓN 1: BINARIO EXACTO (2 CLASES) ---\n", " if len(conteo) == 2:\n", " clase_mayoritaria = conteo.index[0]\n", " imbalance_ratio = conteo.iloc[0] / conteo.iloc[-1]\n", "\n", " logger.info(f\" 🧠 Naturaleza Detectada: Clasificación Binaria (2 clases)\")\n", " logger.info(f\" 📈 Clase Mayoritaria : '{clase_mayoritaria}' ({porcentajes.iloc[0]:.1f}%)\")\n", " logger.info(f\" 📉 Clase Minoritaria : '{clase_minoritaria_detectada}' ({porcentajes.iloc[-1]:.1f}%)\")\n", " logger.info(f\" ⚖️ Imbalance Ratio (IR): 1:{imbalance_ratio:.2f} (Por cada minoría hay {imbalance_ratio:.1f} mayorías)\")\n", "\n", " logger.info(\"\\n 🚨 DIAGNÓSTICO ESTRATÉGICO PARA FASE 6:\")\n", " if imbalance_ratio > 9: \n", " logger.warning(\" [ALERTA ROJA] Desbalance Severo. Requisito obligatorio: Aplicar SMOTE o Class Weights extremos.\")\n", " elif imbalance_ratio > 3: \n", " logger.warning(\" [ALERTA AMARILLA] Desbalance Moderado. Se sugiere activar Class Weights en LightGBM/XGBoost.\")\n", " else:\n", " logger.info(\" [VERDE] Balance Aceptable. No se requieren técnicas de sobre-muestreo.\")\n", "\n", " # --- BIFURCACIÓN 2: MULTICLASE (3 O MÁS CLASES) ---\n", " elif len(conteo) >= 3:\n", " clase_dominante = conteo.index[0]\n", " imbalance_ratio_extremo = conteo.iloc[0] / conteo.iloc[-1]\n", "\n", " logger.info(f\" 🧠 Naturaleza Detectada: Clasificación Multiclase ({len(conteo)} clases únicas)\")\n", " logger.info(f\" 👑 Clase Dominante : '{clase_dominante}' ({porcentajes.iloc[0]:.1f}%)\")\n", " logger.info(f\" ⚠️ Clase más débil : '{clase_minoritaria_detectada}' ({porcentajes.iloc[-1]:.1f}%)\")\n", " logger.info(f\" ⚖️ IR Extremo (Max/Min): 1:{imbalance_ratio_extremo:.2f} (Brecha entre el mayor y el menor)\")\n", "\n", " logger.info(\"\\n 🚨 DIAGNÓSTICO ESTRATÉGICO MULTICLASE PARA FASE 6:\")\n", " if imbalance_ratio_extremo > 9: \n", " logger.warning(\" [ALERTA ROJA] Desbalance Severo Multiclase. La clase más débil está casi extinta. Requisito: SMOTE Multiclase o pesos balanceados.\")\n", " elif imbalance_ratio_extremo > 3: \n", " logger.warning(\" [ALERTA AMARILLA] Desbalance Moderado. Ciertas clases tienen poca representación. Sugerencia: Evaluar usando F1-Macro.\")\n", " else:\n", " logger.info(\" [VERDE] Balance Aceptable. Las clases están distribuidas de forma segura.\")\n", "\n", " # --- BIFURCACIÓN 3: ERROR DE VARIANZA CERO ---\n", " else:\n", " logger.error(\" 🛑 [ERROR CRÍTICO] Target de una sola clase (Varianza Cero). El modelo no puede aprender a discriminar.\")\n", "\n", " if MODO_VISUAL:\n", " # 🚀 FIX MLOps: Forzamos el 'order' para que Seaborn dibuje de mayor a menor frecuencia\n", " ax = sns.barplot(x=conteo.index, y=conteo.values, order=conteo.index, edgecolor=\".2\")\n", " plt.title(f\"Distribución de Clases: {nombre_target}\", fontsize=14, pad=15)\n", " plt.ylabel(\"Frecuencia (N° de filas)\")\n", "\n", " # 🚀 FIX MLOps: Cálculo matemático directo. Extraemos la altura de la barra dibujada \n", " # y calculamos el % en tiempo real. Cero posibilidad de desfase.\n", " total_filas = len(y.dropna())\n", " for p in ax.patches:\n", " altura_barra = p.get_height()\n", " pct_real = (altura_barra / total_filas) * 100\n", "\n", " ax.annotate(f'{pct_real:.1f}%', \n", " (p.get_x() + p.get_width() / 2., altura_barra), \n", " ha='center', va='bottom', fontsize=11, color='black', xytext=(0, 5), \n", " textcoords='offset points')\n", "\n", " # ==========================================\n", " # 2.B. Ruta AutoML para REGRESIÓN\n", " # ==========================================\n", " else:\n", " media = y.mean()\n", " mediana = y.median()\n", " sesgo = y.skew()\n", "\n", " logger.info(f\" 🧠 Naturaleza Detectada: Regresión (Valores continuos)\")\n", " logger.info(f\" 📏 Media : {media:.2f}\")\n", " logger.info(f\" 📍 Mediana : {mediana:.2f}\")\n", " logger.info(f\" 📐 Sesgo : {sesgo:.2f}\")\n", "\n", " if MODO_VISUAL:\n", " # Histograma con curva de densidad (KDE)\n", " sns.histplot(y, kde=True, bins=50, color='steelblue')\n", " plt.axvline(media, color='red', linestyle='--', label=f'Media: {media:.2f}')\n", " plt.axvline(mediana, color='green', linestyle='-', label=f'Mediana: {mediana:.2f}')\n", " plt.title(f\"Distribución Continua: {nombre_target}\", fontsize=14, pad=15)\n", " plt.legend()\n", "\n", " logger.info(\"\\n 🚨 DIAGNÓSTICO ESTRATÉGICO PARA FASE 6:\")\n", " if abs(sesgo) > 1:\n", " logger.warning(\" [ALERTA AMARILLA] Cola pesada detectada (Sesgo alto). Se sugiere evaluar Log-Transform (np.log1p) antes de entrenar.\")\n", " else:\n", " logger.info(\" [VERDE] Distribución simétrica aceptable.\")\n", "\n", " # ==========================================\n", " # 3. Finalización\n", " # ==========================================\n", " if MODO_VISUAL:\n", " plt.tight_layout()\n", " plt.show()\n", " logger.debug(\"Visualización de distribución de Target completada.\")\n", " else:\n", " plt.close() # Liberar memoria de la figura en Headless/Producción\n", " \n", " logger.info(f\"\\n⏱️ Diagnóstico completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " # Retornamos la clase minoritaria al entorno\n", " return clase_minoritaria_detectada\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta del Manager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Verificación del vector objetivo en el Manager\n", " if getattr(manager, 'y_train', None) is None:\n", " raise ValueError(\"El Manager no tiene cargado el vector 'y_train'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " # AUTO-DETECCIÓN DEL NOMBRE DEL TARGET (De los pasos anteriores, o por defecto)\n", " if hasattr(manager.y_train, 'name') and manager.y_train.name:\n", " nombre_target_heredado = manager.y_train.name\n", " elif hasattr(manager, 'rutas') and 'target_name' in manager.rutas:\n", " nombre_target_heredado = manager.rutas['target_name']\n", " else:\n", " nombre_target_heredado = 'Target_Manager'\n", "\n", " # Ejecutamos la radiografía usando el target almacenado en el manager\n", " clase_minoritaria_global = diagnosticar_balance_target(\n", " y=manager.y_train, \n", " nombre_target=nombre_target_heredado \n", " )\n", "\n", " if clase_minoritaria_global is not None:\n", " # Guardamos la clase minoritaria en la memoria del manager (rutas) para usarla en el futuro\n", " if not hasattr(manager, 'rutas'):\n", " manager.rutas = {}\n", " manager.rutas['clase_minoritaria'] = clase_minoritaria_global\n", " logger.info(f\"📦 [MLOps] Clase minoritaria '{clase_minoritaria_global}' capturada en el Manager y lista para Fase 4.3.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el Diagnóstico: {e}\")" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🔬 FASE 4.2: Auditoría Integral y Mapa de Calor de Varianza (Agnóstico) ===\n" ] }, { "data": { "text/markdown": [ "### 🔢 1. Variables Numéricas (Anomalías de Signo y Outliers Extremos)" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " ☄️ [ANOMALÍA GRAVITACIONAL] 'capital_loss': Máximo (4356.0) está a >10 desviaciones estándar de la media. Extremo absurdo.\n", " ☄️ [ANOMALÍA GRAVITACIONAL] 'capital_gain': Máximo (99999.0) está a >10 desviaciones estándar de la media. Extremo absurdo.\n", " 🤖 [CÓDIGO SISTEMA LEGACY] 'capital_gain': Máximo (99999.0) parece un NaN codificado por sistemas antiguos (999...).\n" ] }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 countmeanstdmin25%50%75%maxtopfreq% Moda
capital_loss26029.00000088.634638406.6258570.0000000.0000000.0000000.0000004356.00000002479795.27%
capital_gain26029.0000001095.6581127466.7780710.0000000.0000000.0000000.00000099999.00000002384791.62%
hours_per_week26029.00000040.43885712.2871181.00000040.00000040.00000045.00000099.000000401219446.85%
education_num26029.00000010.0800262.5724951.0000009.00000010.00000012.00000016.0000009838332.21%
age26029.00000038.50389913.62071717.00000028.00000037.00000047.00000090.000000367252.79%
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "--------------------------------------------------------------------------------\n" ] }, { "data": { "text/markdown": [ "### 🔠 2. Variables Categóricas (Ruido y Máscaras Regex)" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 🎭 [MÁSCARA DETECTADA] 'native_country': Contiene nulos camuflados ('?').\n", " 🎭 [MÁSCARA DETECTADA] 'workclass': Contiene nulos camuflados ('?').\n", " 🎭 [MÁSCARA DETECTADA] 'occupation': Contiene nulos camuflados ('?').\n" ] }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 countuniquetopfreq% Moda
native_country2602941united-states2333489.65%
race260295white2221485.34%
income260292<=50k1975875.91%
workclass260299private1818269.85%
sex260292male1744067.00%
marital_status260297married-civ-spouse1197546.01%
relationship260296husband1056940.60%
occupation2602915prof-specialty331512.74%
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "--------------------------------------------------------------------------------\n" ] }, { "data": { "text/markdown": [ "### 🛑 Total de Anomalías Inter-Dominio Detectadas: **6**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "💡 Acción: Utiliza esta información para el Paso 8 (Desenmascarar Nulos) y el Paso 12 (Outliers).\n", "\n", "⏱️ Auditoría Integral completada en 0.420s\n", "\n", "📦 [MLOps] Resultados de la auditoría de dominio guardados en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import re\n", "from IPython.display import display, Markdown\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def auditar_logica_dominio_integral(X: pd.DataFrame, y: pd.Series = None):\n", " \"\"\"\n", " [FASE 2 - Paso 4.2] Escáner AutoML Multidimensional Agolnóstico de Anomalías de Distribución.\n", " - Arquitectura Modular: Analiza Numéricos, Categóricos, Fechas y Booleanos independientemente de los nombres de columnas.\n", " - Inteligencia Estadística: Detecta valores imposibles (ej. negativos donde no debe), \n", " outliers extremos (fences), varianza cero y fechas huérfanas/futuras.\n", " - Visualización Térmica: Aplica Heatmap de degradado al % de dominancia (Moda) si está en Jupyter.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz de características (X) está vacía.\")\n", " raise ValueError(\"La matriz de características (X) está vacía.\")\n", "\n", " logger.info(f\"=== 🔬 FASE 4.2: Auditoría Integral y Mapa de Calor de Varianza (Agnóstico) ===\")\n", " inicio_timer = time.time()\n", " alertas_totales = 0\n", " diccionario_resultados = {} \n", "\n", " # Ensamblaje temporal blindado de X e y\n", " df_analisis = X.copy()\n", " if y is not None:\n", " target_name = y.name if y.name else 'Target_y'\n", " # Evitamos colisiones de nombres\n", " if target_name in df_analisis.columns: target_name = f\"{target_name}_TargetInyectado\"\n", " df_analisis[target_name] = y\n", "\n", " total_filas = len(df_analisis)\n", "\n", " # ==========================================\n", " # Funciones Auxiliares de Visualización (Blindadas)\n", " # ==========================================\n", " def inyectar_moda_y_ordenar(df_stats, cols, df_origen):\n", " tops, freqs = [], []\n", " for c in cols:\n", " vc = df_origen[c].value_counts(dropna=True)\n", " if not vc.empty:\n", " tops.append(vc.index[0])\n", " freqs.append(vc.iloc[0])\n", " else:\n", " tops.append(np.nan); freqs.append(0)\n", " if 'top' not in df_stats.columns: df_stats['top'] = tops\n", " if 'freq' not in df_stats.columns: df_stats['freq'] = freqs\n", " df_stats['% Moda'] = (df_stats['freq'].astype(float) / total_filas) * 100\n", " return df_stats.sort_values(by='% Moda', ascending=False)\n", "\n", " def mostrar_tabla_con_gradiente(df_stats):\n", " if MODO_VISUAL:\n", " estilo = df_stats.style.background_gradient(\n", " subset=['% Moda'], cmap='YlOrRd'\n", " ).format({'% Moda': '{:.2f}%', 'freq': '{:.0f}'})\n", " display(estilo)\n", " # Log silencioso de la tabla para el servidor\n", " logger.debug(\"\\n\" + df_stats.to_string(float_format=\"{:.2f}\".format))\n", " else:\n", " # Texto plano seguro para servidores Headless\n", " logger.info(\"\\n\" + df_stats.to_string(float_format=\"{:.2f}\".format))\n", "\n", " # ==========================================\n", " # 1. Análisis de Variables Numéricas (Inteligencia Híbrida)\n", " # ==========================================\n", " num_cols = df_analisis.select_dtypes(include=[np.number]).columns\n", " if len(num_cols) > 0:\n", " if MODO_VISUAL:\n", " display(Markdown(\"### 🔢 1. Variables Numéricas (Anomalías de Signo y Outliers Extremos)\"))\n", " else:\n", " logger.info(\"\\n### 🔢 1. Variables Numéricas (Anomalías de Signo y Outliers Extremos)\")\n", " \n", " stats_num = df_analisis[num_cols].describe().T\n", " stats_num = inyectar_moda_y_ordenar(stats_num, num_cols, df_analisis)\n", " diccionario_resultados['Numericas'] = stats_num\n", "\n", " for col in stats_num.index:\n", " min_val = stats_num.loc[col, 'min']\n", " max_val = stats_num.loc[col, 'max']\n", " std_val = stats_num.loc[col, 'std']\n", " mean_val = stats_num.loc[col, 'mean']\n", " q3_val = stats_num.loc[col, '75%']\n", " q1_val = stats_num.loc[col, '25%']\n", "\n", " # --- 1. Signos Imposibles ---\n", " if min_val < 0:\n", " logger.warning(f\" 🚨 [SIGNO NEGATIVO] '{col}': Contiene valores negativos ({min_val}). Verificar lógica de negocio.\")\n", " alertas_totales += 1\n", "\n", " # --- 2. Varianza Cero ---\n", " if std_val == 0:\n", " logger.warning(f\" 🧊 [VARIANZA CERO] '{col}': Todos los valores son idénticos. Inútil para predictivo.\")\n", " alertas_totales += 1\n", "\n", " # --- 3. Outliers Estadísticos Extremos (IQR) ---\n", " iqr = q3_val - q1_val\n", " techo_iqr = q3_val + (3 * iqr)\n", "\n", " if iqr > 0 and max_val > techo_iqr and max_val > 100:\n", " logger.warning(f\" 🔥 [OUTLIER IQR] '{col}': Máximo ({max_val}) rompe el techo estadístico IQR ({techo_iqr:.2f}).\")\n", " alertas_totales += 1\n", "\n", " # --- 4. Anomalías Gravitacionales (Para distribuciones dominadas por ceros donde IQR=0) ---\n", " elif std_val > 0 and max_val > (mean_val + (10 * std_val)):\n", " logger.warning(f\" ☄️ [ANOMALÍA GRAVITACIONAL] '{col}': Máximo ({max_val}) está a >10 desviaciones estándar de la media. Extremo absurdo.\")\n", " alertas_totales += 1\n", "\n", " # --- 5. Códigos Legacy Universales (El detector de 9999s) ---\n", " # Convierte el número a entero (para ignorar decimales) y busca si empieza con tres o más nueves\n", " if max_val >= 999 and re.match(r'^9{3,}', str(int(max_val))):\n", " logger.warning(f\" 🤖 [CÓDIGO SISTEMA LEGACY] '{col}': Máximo ({max_val}) parece un NaN codificado por sistemas antiguos (999...).\")\n", " alertas_totales += 1\n", "\n", " mostrar_tabla_con_gradiente(stats_num)\n", " logger.info(\"-\" * 80)\n", "\n", " # ==========================================\n", " # 2. Variables Categóricas (Ruido y Máscaras Regex - Intactas/Genéricas)\n", " # ==========================================\n", " cat_cols = df_analisis.select_dtypes(include=['object', 'category', 'string']).columns\n", " if len(cat_cols) > 0:\n", " if MODO_VISUAL:\n", " display(Markdown(\"### 🔠 2. Variables Categóricas (Ruido y Máscaras Regex)\"))\n", " else:\n", " logger.info(\"\\n### 🔠 2. Variables Categóricas (Ruido y Máscaras Regex)\")\n", " \n", " stats_cat = df_analisis[cat_cols].describe().T\n", " stats_cat = inyectar_moda_y_ordenar(stats_cat, cat_cols, df_analisis)\n", " diccionario_resultados['Categoricas'] = stats_cat\n", "\n", " patron_mascara = re.compile(r'(?i)^(unknown|n/?a|null|nan|missing|none|-1|)$|^[^a-zA-Z0-9]+$')\n", "\n", " for col in stats_cat.index:\n", " unicos = stats_cat.loc[col, 'unique']\n", "\n", " if unicos > (total_filas * 0.9):\n", " logger.warning(f\" 🌪️ [RUIDO ABSOLUTO] '{col}': {unicos} valores únicos. Actúa como un ID basura.\")\n", " alertas_totales += 1\n", "\n", " valores_distintos = df_analisis[col].dropna().astype(str).unique()\n", " mascaras_encontradas = [val for val in valores_distintos if patron_mascara.match(val.strip())]\n", "\n", " if mascaras_encontradas:\n", " ejemplos = \", \".join(f\"'{m}'\" for m in mascaras_encontradas[:3])\n", " logger.warning(f\" 🎭 [MÁSCARA DETECTADA] '{col}': Contiene nulos camuflados ({ejemplos}).\")\n", " alertas_totales += 1\n", "\n", " mostrar_tabla_con_gradiente(stats_cat)\n", " logger.info(\"-\" * 80)\n", "\n", " # ==========================================\n", " # 3. Variables Booleanas (Desbalance - Intactas/Genéricas)\n", " # ==========================================\n", " bool_cols = df_analisis.select_dtypes(include=['bool', 'boolean']).columns\n", " if len(bool_cols) > 0:\n", " if MODO_VISUAL:\n", " display(Markdown(\"### ⚖️ 3. Variables Booleanas (Desbalance Extremo)\"))\n", " else:\n", " logger.info(\"\\n### ⚖️ 3. Variables Booleanas (Desbalance Extremo)\")\n", " \n", " # Los booleanos modernos (boolean) de pandas necesitan un casteo temporal a string para describe()\n", " stats_bool = df_analisis[bool_cols].astype(str).describe().T\n", " stats_bool = inyectar_moda_y_ordenar(stats_bool, bool_cols, df_analisis)\n", " diccionario_resultados['Booleanas'] = stats_bool\n", "\n", " for col in stats_bool.index:\n", " porcentaje_top = stats_bool.loc[col, '% Moda']\n", " if porcentaje_top > 99.0:\n", " logger.warning(f\" 🧊 [VARIANZA CONGELADA] '{col}': El {porcentaje_top:.1f}% es '{stats_bool.loc[col, 'top']}'. Inútil.\")\n", " alertas_totales += 1\n", "\n", " mostrar_tabla_con_gradiente(stats_bool)\n", " logger.info(\"-\" * 80)\n", "\n", " # ==========================================\n", " # 4. Variables de Fecha (Viajes en el Tiempo)\n", " # ==========================================\n", " date_cols = df_analisis.select_dtypes(include=['datetime', 'datetimetz']).columns\n", " if len(date_cols) > 0:\n", " if MODO_VISUAL:\n", " display(Markdown(\"### 📅 4. Variables de Fecha (Viajes en el Tiempo)\"))\n", " else:\n", " logger.info(\"\\n### 📅 4. Variables de Fecha (Viajes en el Tiempo)\")\n", "\n", " # 🔧 FIX APLICADO: Eliminado datetime_is_numeric=True para compatibilidad con Pandas >= 2.0\n", " stats_date = df_analisis[date_cols].describe().T\n", " stats_date = inyectar_moda_y_ordenar(stats_date, date_cols, df_analisis)\n", " diccionario_resultados['Fechas'] = stats_date\n", "\n", " fecha_actual = pd.Timestamp.now()\n", " fecha_pivote_antigua = pd.Timestamp('1900-01-01')\n", "\n", " for col in stats_date.index:\n", " min_date, max_date = stats_date.loc[col, 'min'], stats_date.loc[col, 'max']\n", "\n", " if max_date > fecha_actual:\n", " logger.warning(f\" 🚀 [VIAJE AL FUTURO] '{col}': Fecha máxima ({max_date.date()}) es mayor a hoy.\")\n", " alertas_totales += 1\n", "\n", " if min_date <= fecha_pivote_antigua:\n", " logger.warning(f\" 🦖 [FECHA FÓSIL] '{col}': Fecha mínima ({min_date.date()}). Sospecha de error.\")\n", " alertas_totales += 1\n", "\n", " mostrar_tabla_con_gradiente(stats_date)\n", " logger.info(\"-\" * 80)\n", "\n", " # ==========================================\n", " # 5. Reporte Ejecutivo\n", " # ==========================================\n", " if alertas_totales == 0:\n", " if MODO_VISUAL:\n", " display(Markdown(\"### ✅ [DOMINIO COMPLETAMENTE LIMPIO] Ninguna anomalía de distribución detectada.\"))\n", " else:\n", " logger.info(\"\\n### ✅ [DOMINIO COMPLETAMENTE LIMPIO] Ninguna anomalía de distribución detectada.\")\n", " else:\n", " if MODO_VISUAL:\n", " display(Markdown(f\"### 🛑 Total de Anomalías Inter-Dominio Detectadas: **{alertas_totales}**\"))\n", " else:\n", " logger.warning(f\"\\n### 🛑 Total de Anomalías Inter-Dominio Detectadas: {alertas_totales}\")\n", " logger.info(\"💡 Acción: Utiliza esta información para el Paso 8 (Desenmascarar Nulos) y el Paso 12 (Outliers).\")\n", "\n", " logger.info(f\"\\n⏱️ Auditoría Integral completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return diccionario_resultados\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta las fases previas.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'y_train'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " # Ejecutar la sonda multiespectral agnóstica extrayendo los datos del manager\n", " dicc_describe = auditar_logica_dominio_integral(X=manager.X_train, y=manager.y_train)\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardar los resultados en el manager\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('diccionario_auditoria_dominio', dicc_describe)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['diccionario_auditoria_dominio'] = dicc_describe\n", " \n", " logger.info(\"\\n📦 [MLOps] Resultados de la auditoría de dominio guardados en el PipelineManager.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Validación Integral: {e}\")" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🔗 Conectando MLOps: Heredando Clase Favorable '>50k' desde el Diagnóstico <<<\n", "=== ⚖️ FASE 4.3: Auditoría de Atributos Protegidos (Línea Base de Sesgo) ===\n", " 🛡️ Atributos Protegidos detectados automáticamente: ['age', 'workclass', 'education_num', 'marital_status', 'race', 'sex', 'native_country']\n", " 🔒 ESTATUS: Aislados lógicamente. NO SERÁN ELIMINADOS de la matriz.\n", "\n", " 🎯 Clase Favorable inyectada por MLOps: '>50k'\n" ] }, { "data": { "text/markdown": [ "### 🔍 Analizando Sesgo Sociodemográfico en: `age`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 🧠 [AutoML] Transformando variable continua 'age' en rangos demográficos para medir el sesgo de forma justa...\n" ] }, { "data": { "image/png": "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65XS+y4rVqywYsWK2RlnnOH2oc/hl19+cf9TEKlA68ILL4z43J07d7ann37aLaOQ0QikAABAzqHegGi3nTvTvu2OHenfNo5UuVTqk083U+v82WefbePGjbMWLVq4CrVa3tesWWM9evRwaWbNmze3d95554DUPqWunXnmme6+a665JpRSqNZ/pVbpsepl6d69uws+DoWOR5VgHbuCGQUdCjKClI6l9Kvjjz/errvuOhs+fLj725s9e7Y7TlWUldp43nnn2XvvvRfTcSio0DF88MEHB/RG6f2LdQr91157zb2/2mc4Ld7aqVMnF2yp10MUDCg187LLLrN69erZBRdckCKo0aKv6t069dRT3f+VIqgetGgUFGl/ei/SwvfIKCD3FFSqB03vu94Dpdj9/fffKY6pb9++7nPTe6/j0zkR3gMWPEf1WSvFToGp3h/1CO3fvz/qcWn9N30G6hlVr6vOVwX8VatWDX322l9QkyZN7LvvvnONAXqv1TOnc1fn6m+//WaVK1d2zzl48GBXFvLkiRzG6BzX55Pa+xwvBFIAACDnKFYs+u2SS1JuW65c9G3DK6pHHhl92+bNM/UlquKqwEApf0ppUsVcFXRVYtVbooqs0p7UKh+kyqfSv0RBlFrmFfBcddVVrndDldnnn3/eVarVA7Z9+/Z0HZ8e58cuvf766zZmzBgrXbq0Cyb0fKJgYMiQIW68ioKjRo0auRQtT9upF0LBhQITjYdRxV+Vei2UGgsFHeHpfdOmTbPWrVvHtJ+dO3faokWL3LioaFT5V2Awf/780H2q2Ldt29a9ztNPP91uu+22UA/ZM888Yz/99JP7LBVY6LNTUKKgNxIFGFu2bHHbHYwCjIcfftj13PgAevHixS5oVcrcpEmT3LH9+OOP7lzw70+vXr3sq6++cp+PAnYFHeHjk4I0VkvbaIyYzkvtSz1HM2bMiPqYRx991H3Gp5xyiktZ1ef74osvhnpOV69ebRUqVEjxGC2OqyBP57UC5FtvvdWd93pP27Rp484PNTQoSEvt/VG6pwLXzOilI5ACAADIRvbu3evG6RxzzDGuEqmJBY466ihXQfY/tZBoeA+QxqEo/UtKlizpFh194403XIX1gQcecClU6vlR2pN6CsJ7cdJKlW5V9tUroWPTcarirAq90t9k1KhRrrepffv2Vr16dVcZ95V93/Ny++23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8yIe2xb+t9wn7d5lSTqP9fv+vGbb/ilfIcou8K2JOtf/f9uICv9b7k1rF+7ZE59tdc3QtSPWbbVdhDUUQwoWNPv/WWtj2jabfkdE3VbnWGpj3mLZVu+B3gtRmUhtYqlYto2lbnAI9YiYtt2eerl3ZSM92+r9TaXcW3B8eizb6nxIpdzHtG0s5Z7viH/wHRG93OtnWnulktPg3nvvjekWi7179yY/8cQTyU2aNEmuX79+cteuXZNXrFjh/qefxxxzTPL48eND2y9dujT5hhtuSD7ppJOSGzVqlNy7d+/kzZs3J6fXvHnzkudNnKi3LPLt/PNTPqBIkejbnn56aLNXp/6VvK34YVG3XXVU/eRB/1kTum06/Iio266rXCvFtvo72rbaT3BbPU+0bXV8wW1/P/aUqNvuLlg4xba/1j8r+vtglmLbxY0uSHXbp0ctDW07v9nlqW47/LkfQ9vOOeu6VLd94elZoW2/bX1LqtuOHvhZaNuv2vVIddsxD38Q2va/V/ZJddtx908IbftRpwGpbju+x+uhbafe8Eyq277X7UV3jjlvvZXqtskvv/zv+Tt5curbDh/+77affpr6tk888e+2336b6rYrbrkn+esfN7jb9+99leq2f1x3W2jbOdO/T3XbVVdcH9p21hc/p7rt2rZXhradOWtFqtuub3VhaFvdUtt2Q/OzU2y7t3D074jNDU9Nse3u0tG/I7bWbZBi252Von9HbKtRK8W2+jvattpPcFs9T7RtdXzBbXX80bbV6w5uq/cltfctuK3e79S21eflt9XnmOp5uXbtv+flLamX++Rly/7dtkfq5T55wYJ/t+3bN/VtVR48lZPUtlU581T+UttW5ddTuU5tW30veDngO8K9p57e69S21Wfl6TNMbVudA57OjdS27dTp323//jv1bdu3T04htW3TWY9wDj88+rYnn5xy22rVom9bp07KbfV3tG21nyA9T7RtdXxBOv5o2+p1B+l9Se19C9L7ndq2+rw8fY6pbct3BN8Rlvp3hOICxQdpkaYeKaXeBWkM0969e61SpUpWtmxZ27Rpk1uMVz1MSteLRd68eV0Pk27hqlSpYj/99FOK+9QLpkktAAAAACCrJCmaiuUB77//vkvF08x9SqkLznBxyy232NVXX22dOnWynGL+/PkuJq0XbYxVOrvkX5u2wTauij6FO6l9/yK1L32pfWUPL2TXnFcm26btzF+2xXaQ2pcCqX3xTe0rXCiv1av+z3jZENJ2/kHazj9I7fv/QkZqH98RYfiOiPodMf/XX12Z8TOExzWQatmypd1xxx3Wtm3bA/43depUGzBggH3xxReWowKpwHTq8aJAau3GVHJ0gUNUrnS+fwKpbGre0i22/f8DKSAjFCmU144/KiyQAgAgk2KD/x85m3aaIc/PmBcuX758bk0pAAAAAMjNYg6k6tevb88995ybMS983JTS/Ro3bhzP4wMAAACAnD/9ea9evaxjx45uuvEGDRq4xXD/+usvmzt3rpUsWdIFWQAAAACQm8XcI6VZ+SZPnmyXX365/f3337ZgwQLbuXOnde7c2SZNmuRm2gMAAACA3CxdC/KWL1/e9UwBAAAAQCKKuUcKAAAAABIdgRQAAAAAxIhACgAAAABiRCAFAAAAADEikAIAAACAjJi1r3fv3jHtdMCAAbEeBwAAAADkrkBq5syZKf5eu3at7d271ypVqmRly5a1TZs22YoVK6xAgQJunSkAAAAAsEQPpGbMmBH6/f3337fBgwfbsGHD7Pjjjw/dv2TJErvlllvsvPPOy5gjBQAAAICcOkZqyJAhdvfdd6cIoqRmzZp255132ksvvRTP4wMAAACAnB9Ibdy40UqUKBHxf/ny5bPt27fH47gAAAAAIPcEUvXr17fnnnvONm/efMC4KaX7NW7cOJ7HBwAAAAA5c4xUUK9evaxjx452xhlnWIMGDaxUqVL2119/2dy5c61kyZIuyAIAAACA3CzmHinNyjd58mS7/PLL7e+//7YFCxbYzp07rXPnzjZp0iSrUqVKxhwpAAAAAOTUHikpX76865kCAAAAgESUrkBqzZo19t1339nu3btD9+3fv9927Nhhs2fPdjP7AQAAAEBuFXMg9cEHH1iPHj3cgrxJSUnuvuTk5NDvRx11VPyPEgAAAABy8hip559/3urWrWsTJkywdu3aWdu2bW3KlCnWs2dPy5s3r913330Zc6QAAAAAkFN7pJYtW2ZPPvmk1alTx011Pnr0aKtRo4a7rV+/3gVap556asYcLQAAAADkxB6pPHnyuGnOpVq1arZ06VI3PkqaN29uS5Ysif9RAgAAAEBODqQ0BmrOnDmh3zXhxOLFi93fW7ZsSTEBBQAAiUrjhwHONSD3ijm174orrrC+ffva9u3b7a677rImTZpY7969rX379vb666+78VMAACQ6TcK0ZdlC27dzW1YfCnKxvIWKWonqdbL6MICEFHMgdemll7pep5UrV7q/+/fvb127drVHH33UKleubPfff39GHCcAADmOgqi9O/7O6sMAAGSXdaSuvvrq0O9HHHGETZs2zTZu3GhlypSJ57EBAAAAQO4YIxUtfYEgCgAAAECiSFOPVO3atUML7qbFokWLDuWYAAAAACDnB1K33nprKJDatWuXvfzyy3bkkUfaOeecY2XLlrVNmzbZjBkz7Oeff7abb745o48ZAAAAALJ/IHX77beHfr/vvvusRYsWNmzYsBS9VDfddJP17NnTfvzxx4w5UgAAAADIqWOkNLHE5ZdfHjHVr23btvbFF1/E69gAAAAAIHcEUkWLFrXff/894v8WLlxoJUuWjMdxAQAAAEDumf68devW9tRTT1n+/Pldil/p0qXtr7/+sg8++MCeffZZt6YUAAAAAORmMQdS3bt3t1WrVlmfPn1SpPclJyfbZZdd5iamAAAAAIDcLOZAqkCBAjZ06FD75ZdfbPbs2bZlyxbXK9WkSROrWrVqxhwlAAAAAOTkQMo7+uij3Q0AAAAAEk2aAqlrrrnG+vbtazVq1HC/p0bpfq+++mq8jg8AAAAAcmYgpfFPkX4/2LYAAAAAkLCB1JgxYyL+DgAAAACJKOZ1pAAAAAAg0aWpR6p27doppjpPjbbTwrwAAAAAkNCBlNaGSmsgBQAAAAC5XZoCqdtvvz3jjwQAAAAAclMgNXHiRDv99NPdwrv6/WAuuuiieBwbAAAAAOTcQOree++1t956ywVS+j01SgEkkAIAAABgiR5IffLJJ1a2bNnQ7wAAAACQyNIUSFWuXDni7zt27LCtW7daqVKlrECBAuk6gP3799vw4cPt7bffdvtq2LCh9enTx4444oiI2//yyy82aNAg++GHHyxPnjxue/WSVapUKV3PDwAAAACZso6UeqXat29vJ510khs7deKJJ1qHDh1s9uzZMe9rxIgRNnbsWOvfv7+NGzfOBVZdunSx3bt3H7Dtxo0b7brrrrNChQq5hYFffPFF27Bhg9t+165d6XkpAAAAAJDxgdTUqVPddOgKeG677Tbr16+f3XTTTbZ582a79tpr7ZtvvknzvhQsjR492rp162YtWrRw61UNGTLEVq9ebdOn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MWNs2rRpoW1OPPFE+9///mc7duzgU0CuRDkAUqd6kXqgdE0ZOHCg3Xnnna6+pIwFZTNIuXLlXI/U0qVLbffu3Qn7lhJIIUfbsmWLG+z4wAMP2JVXXml//vnnAel8oq7n+vXru0Kv+5o2bWodOnSwyZMnu94pOeWUU2zjxo0umAJy2li/n3/+OdVBv8pr17nerFkzK1OmjOXJk8euu+46l9L3xhtvhLZr3ry5a3T466+/MunogfhdD5S23bt3b5dtoHIRjnKARLZ582Z79913beTIkS5DJ7UsntmzZ9vFF18cuq9GjRp29tln21dffeXqWnnz5nX3KehSCmCiIpBCjjNz5ky75557rEWLFta4cWMbMWKEa2FXoS5btmyKbVVZ1IVTY0D8jHx+RrLzzjvP/W/+/Pnub42V0na//PILs5YhR9C5e/XVV9upp55q3bp1sz59+riAKtiI4KklUel7/n61NCrX/cILL3QXVP84lam///7blixZkgWvCIiNek8VOPnrwYABA1xFUed58eLFD+ilpRwgUX399dfWrl07e+WVV2zu3LnWpUsXN9YpnMqM6kLbtm2zXbt2ufv8daNhw4au90nBlFStWtXVu/zfiYhACtmWvwCuWLEilG6n3iK1nqulUQMgv/32W/vPf/7jWtUVGCltKZwCrNKlS4daJ1WZ1L6V81u5cmVXgVQrjVrzNX5KfzNrGbIbXdQ8nb9KvdMFUef2p59+6gIp9ST169cv1IgQVKFCBddA4FP2fO/VSSed5MqEn3jiiCOOcBdHNViEB2NAVlPjlzdjxgx78sknXdnQGFhVDp955hmrXr16qCU9vJeWcoDcTg1j06dPT7Gci7731Uvbpk0b19AwfPhwO+uss9y4J9WxgnyZqVmzZihjx9N4qUqVKoV6oCpXruzuU+9VoiKQQrakiqIKswqrWsx96pEqecpv1zgnTb2pFkd9aagCqenLI1FwpVze7du3h1rd/bgoTTihlne1wItS/n7//fcDvliArLBo0SK77bbb3AQQanVXo4FaA1U2dN6qInn99de7yVF0/qtSOWfOnBRjnnx5Klq0qEvp++2332zDhg2h+1WG1IDgAylRy74aKVRmgKykc1TLUug8V6/T/fffb1OmTHH/U5rq+PHjbejQoXbBBRe4HlZtqwYAfbdH2hflALmVgqJzzjnHTSCkTB0N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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Grupo Históricamente Privilegiado: '(37.0, 47.0]' (Tasa base: 36.2%)\n", " =====================================================================================\n", " ✅ [JUSTO] '(47.0, 90.0]': DIR = 0.94 (34.2%) | 🚨 [ALERTA] '(16.999, 28.0]': DIR = 0.11 (4.1%)\n", " 🚨 [ALERTA] '(28.0, 37.0]': DIR = 0.68 (24.6%) | \n", " =====================================================================================\n", " 💡 ACCIÓN REQUERIDA (Fase 5): Implementar Reweighing sobre 'age' para neutralizar el sesgo.\n", "\n", "\n" ] }, { "data": { "text/markdown": [ "### 🔍 Analizando Sesgo Sociodemográfico en: `workclass`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAGpCAYAAACH7Af0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAijJJREFUeJztnQeYVNX5hw+9iIio2LCjEowGVFRiL7EbS+y9GzUaGyr2XlFU7FGi0Rhj7L0bS1QEu2JD0WABLBSVDvt/3pP/We8OM8vOMltm932fZ5/dnblz595zzz3n+33fd77boqKioiKIiIiIiIhIjWlZ801FREREREREISUiIiIiIlILjEiJiIiIiIgUiUJKRERERESkSBRSIiIiIiIiRaKQEhERERERKRKFlIiIiIiISJEopERERERERIpEISUiIiIiIlIkCikRKZrBgweHlVdeuUY/J598ctm08AknnBCP+csvv6z37+Y7+W6OoaZ8/vnnobFw7733xuP/17/+VXCb3XffPW7z2GOP1dtxDRo0KH7n0KFDS7I/9sP+9tlnn1rv4+qrry54v3BvZfn666/DiSeeGNZbb73wm9/8Juy6667hmWeeqVXf4ZhL2RZNlXSN6TulILX7zJkzS7I/EWk8tG7oAxCR8uN3v/tdWHrppau8duGFF4bx48eHSy65pMrrudtJaTjjjDPCf/7znzmM6oaib9++8dr36dMn7/tvvvlm/EFMbbXVVqE58+GHH4ZOnTrFa5gLBnfi22+/DXvvvXeYMGFCNMYXXXTRcPfdd4cjjjgiDBw4MGy33Xb1fOQiIpJFISUiRdOzZ8/4k+XKK6+MQmr77be3ReuBf//736F168YzhC+11FLxpxBPP/10+O1vfxtOOeWUUM60b9++yu8pU6aENm3aFHUtEFIrrrjiXO8VIldfffVVuOOOO8Iaa6wRX9tpp53CLrvsEs4///yw6aabho4dO9b4e9u1axd/d+jQocafERGRwpjaJyIidU7//v3DX//610pjvlxZYYUV4u8ePXrE3++8807YeOONw1VXXRXGjBkz18///PPPMRVvpZVWqna7WbNmhQcffDCm8yURlQQc0SmcFojpYo+9RYsWlecgIiLzhkJKROqcJ554Ihx44IFh7bXXDqusskr8/cc//jG89957VbYbPXp0OOaYY6Jh+utf/zpsuOGGYcCAAXGdSJaffvopXHHFFTG1qXfv3nHbzTbbLFx00UXRUK0J//znP+PnV1tttfjZ2267reC2Dz30UFybwneRurbXXnuFZ599tsbn//zzz4f99tsvrL766vH7iET87W9/C7Nnz867Pe9xTKuuumrYZptt4v8VFRVV1sOMHTs2Rity19V89tln4bjjjgv9+vWL7bL55pvHtpo6dWqV7+BzpJY9+eST4Q9/+EM8Lq4L63HGjRs3xzE9/vjjMc0Mo36ttdaKxvzLL7881zVSNTn3dE433nhjvC7bbrttPHfWBZ1zzjnxete0nxGt4TptsMEGUdwgSPLx4osvhn333TceF2KFSA/nMDdIyVt88cUrU/CIwiGKrrvuurDJJpvEtLsXXnih8nrl8tFHH8X3iEjBtGnTwowZM+bY7pNPPgmTJ0+Ox5YL7Qhvv/12wePkPthzzz3Dr371q3DXXXfF1/jOJZdcMsw333xzXR9EWxBl5hrQnjvvvHNs31wmTpwY7zuiY/Q3+h3979NPP62yHWsluab0B+5v/ma7fHCvcV2y7cLfvEYknFTHLOxvt912q/wfQXvaaafFPsAx8Zv/c4UufXjLLbcM99xzT4yW0ta5qcnZNEtSUmn7rIClnS+//PKwxRZbxPc4Fu6rfPdQFt4nqpg+x8/WW28drrnmmjnWUv3973+P/ZPzZ/yhfXL7KpFR0qs5n3QvH3bYYeH111+v9jhEZN5oPHkhItIkueWWW+IEz8T+pz/9KaZBIaDuv//+8Nprr8WUr65du4ZJkyZFwxYDe4899ggLLbRQNCZJa8K4e/TRR6M3HiOD7T7++OO43oa/MWYoYEDEAwMFw6Y6Lr300nDTTTdFo4QF+t99913BheVp23XXXTcafhi+jzzySDj88MOjyNt///2r/a4hQ4aEiy++OCyzzDLhkEMOiWlVnDNGFOeFCGrZ8hefFmue+EG0LLLIIuHhhx+O2/73v/+NxiBthbHHa3yOY0hGPdERjgdjH7HHtm+99Va4/vrrwyuvvBIFTDYi9NJLL0WRSDtiiL766qvhgQceiIL2H//4R+V2GHeIEr4HAcw+7rzzznDwwQfH9zAeS3Hu7DMJAMQKhjtGJH2DNUHVQT85++yzo6j585//HEUIr2Fg5sI+zz333GjM0yc5Btqctvzggw/CqaeeWu13ZQ3pJZZYItx8881RDCIiMXDZV/fu3WObIlLpy9m0PuAewDAfNWpU/P4111wznHTSSdHRAAhloB1yWWyxxeLvQkVRaEPam2tP+//+97+PryOG+KkJpBWyH/ohwgsxdvTRR0eRQN8C7hvuVfrLDjvsEA14jom+g6OB+4bzSnDvcr+xzy5dulSeRy6IMkQix8/aO+Dv5CSh7yBAUnviaEnHhIDjb8Q3ggPxiHhlbRnXhT6x3HLLVX7XN998E++ngw46KP6PaMwVwYgoxhmE2A033BDFItC3uHcYi3DKcO/RFvQvjpH+0Llz5znO78cff4x9g35NX2cdKeKQMZH7DKfH8ccfX2X8xKHC+SAo77vvvthX2Y7PA2MTayY59+WXXz5eG44DJwbnnpuKLSIlokJEpARsvPHGFSuttFKV12bOnFmx9tprV2y//fbx7ywXX3xx3P6xxx6L//Ob/x955JEq2w0ZMqRiu+22q3j33Xfj/08//XTc7uabb66y3fTp0yvWX3/9it69e1d7nJ9//nnFr371q4oDDjigyjGNGDGiYpVVVon7Hj16dHzt7bffjv+fddZZc3zXPvvsE7f/5ptvCn7Xf//734pevXpVbLXVVhU///xz5euzZ8+uOO644+K+77333vga38n/K6+8csVbb71V5bt22WWX+Pqnn35a+TrnSptn97nNNttUbLjhhhXjx4+vchx33XVX3PeNN95Y+Rr/8/P6669X2XbvvfeOr48aNaryHGivvfbaq2LatGmV2/Eda621Vry2cM8998TP8V21Pfdf//rX8XOJWbNmVWy22WaxnSdPnlywnX/88cd43Tn/7HZff/11Rd++feO+X3311fga14v9HXbYYfFYssfVv3//uC3XvbbQp5566qmKQw89NLYb33XMMcdUvn/GGWfE79h0000rbr/99tifBw8eXNGnT5+KVVddtfLaP/TQQ3G7f/zjH3N8x9SpU+N79OFs+x1//PGxrffcc8/4vU888UTRx087sa/VVlst3ivZNt5oo41iO0+aNCm+NmDAgLjtv/71ryr7+OCDD+L3c+3SPXbSSSfFba+44oq5HsMnn3wSt73ssssqX7v88stjf+P7zzzzzMrXr7nmmrhtOtZ99903/v/yyy9X2efzzz8fX6d/5/b13ONPbcB3fvvtt7EPr7766hXDhw+vst3VV18dt7vjjjuqvH7ffffF12+55ZYq3zNjxoz4/6233hr/f/zxx6t8buLEibHd6McJ/ub7s3CNef3000+P/3///fdxf9l2gTfeeKNi8803r7wnRaT0mNonInVGq1atYprTrbfeGv9OEC0gMgUpbSt53vFi4zlmGzjggAPiWhFSdJK3Gm8vXu0seGAXWGCB+LlCKXPw3HPPxXQvPLnZYyIFiqhTFqJBQMrNDz/8UPmDR5nX8A6zv0I89dRT0QtPdCBbFIB1Kscee2z8m0hbllTmOkE70QZ4yYnmFAKvOxE80iE5/+zxEjEiisTxZCFqQrpQltTOtCdwLWgv0qDatm1buR0RBTze1157bcnOnQhhtmAFkRquC+2cm86VhWgb151oS7aQAn2KNMEsRLnYH9Eg1hmlNuJvvP5AumNtoU+RlkkkiCgG35U9T9LMiOoRJSB6QH8mKkbkgfY677zz4naFUgOz79GWWYiQHHrooWH48OExkkpaZ20hBZNIYoIoJ/cM7UxaJH2MduJ6EXXLQvSDdieK+v7771d5jxS6ucH6M76biGmCaMs666wTo4hc7wT3H1FItuc6MjaQepqiRtl253Wi4N9//32NjontuIakyxJdza5VS32JiBORoiz0I6JRpOPlg32SFkv10ywc//zzz18llZWoHVFLorcpXZL7ibGJtNd0bfgcx8P3EkFL91NKdxWRusHUPhGpUzC+ydMn9Q6DgHU9pNMkYzD9RjyQLsc6GdaZICB4DQOItCFKP2f3icEwbNiwaKyRTsRajWRYYuRlU8aysD1kjcQEi/CzaVscL+SKtiycTyHSd6XCBLkiBoMoNz0r37YpFemLL74o+F0Yeyk9jp+aHCupg7kksZTWFpGqBKQL5ZLvWOfl3GtyPNV917LLLjvHe7mFFdI1ZS1Yba7p3EDEsM4LA3b69Olh/fXXr0y/AoQTP7mQFofhy+dJ+UrrmHLXtkFKV8xNG0Nop36PYJiXMvPZMuyJ1AfoEwhPHAqIi1xBB2kNGNc4remCbJpjddBGpOoiZjgnBBmCAJGAqCDNjkqJ7777bhw30ndl15/lOybahe2yx7Hwwgvn3Z4xhu9mn4w1uevVaAfaJOuQAcau7Dnng/0izkhhpP+yr5S6mB3rqHLJeEiqJT+8h8MHkbzRRhvFtuceYZ0a6X6k/wLiEqcMKYe9evWaS2uLSG1RSIlInUKuP95TDGrWH7AgH481Bi1rWrJQaAIvPWIGDzRGD4Yla3wwqvg8Bgfb4L3Fw8wPhirvnXnmmXH7msBap1xyowApsoUBU2iBfr41LIX2lwv7z0Z5IJ9RmvaTa7Dl24Y1G2n9SC65JbrzfVcuacF/TbbNdzzzeu7FUMw1Peuss/KKaWBtWTEg4lnfwjqikSNHxmgdfZR+WV1J+FyScY9BjdiEfJUA0/qp3DVGiFOKXtBfWaeEsZ0bmakpudcmK2bpR3O7vmnb3P1U14dzhRRCg6gUwoTrRuSISClCiqgU38FxpMhObY+pkNMFYU97sq6LwhtEdrPCnAhibfosaxkpvsPnibIhthF5RIeJ/GYj6gg1Ipo4o4jup3WMrMXj+qZCM0RBEVhEC2kzInO0H+MmYowomIiUHoWUiNQZiBpEFJ5xijlkjQ4Wj2fB00xqGovT8Tzzg2GE0cAifIwCFmIjqjAkiVyRxpa7j7mRjGciOCmNLfH5559X+T8ZsxhUCLUsRIfYR3XP8UkPI8a4JiUpC4KQaEOuEEsRoCwppSe7SD6XdKy0WW6qEoYZEZJijPrc/SJ8c6NLFK8gpRBPeCnOvbZkr2kuha4p0ZzcdqJQCUZuMe1EpISCC4g4ohBEBkj7zFfmnetA+iGGfL6oIdeZ/kR/44d0LY4nl1StLzctE/GBYU67UmCCohmkxZL6VSwpcpcltS/9ELHJfrm+9LlcQcHrUNtrzLnxHYgCisxw3bguFPegXRBSCE6qEKaIS7pujCP54Jg4zmzEpzpIWaTvUhyFqDTjENHGJAY5JqJJuRFwBBsOJMayfNFsiuGQvse1yZbBx2lBpI8UZUBoUcgC4UrRjVR4gygd6aGkVvI+bcJ9yPEgrlJKJ4VTEFAUhFFIidQNrpESkTojrWvB25o1tIgmsUYEUqlf/mctUHYdEJ9JAiYZLxgakPscHoRCSn2rLg0M7zUeboQZqVdZIwuPbxZKCQNe32xJYgwexAPGTIoOFPoujvsvf/lL5ZovwPCkJHn2OxIcQ0pVA46RdWPsJ7umgv+znmtEIUYlwjPXCMb4I9pHmediwdPNdbj99turtAFRGMTsm2++mddQr8251xY88RifqcJfAoOT9siCkYnRiyDPreiHCDryyCPnKMtfHbQJ64GIEJAKtuOOOxZ8Vhbfy3HSZrnPgCKiRR8kFQvDmR8E2RtvvBF/EghQrgXpaKS9FhKWVC4kRZFzqg30Fe7TBO3K9y644IKxvTkXrjFpcrn9CuOeKArCprZpZeyf1DXWEhGFSaKXPkUUmtdz1xkhvNI6qOw6KkCQ4djh/WIjjggiIoykEdLnE3w39wFV9HLHIlKZ81WMTGMY4jA3IsojGLi+afyibyHEiIhlS8ETuUyOCtoDEUX0M3e9IuMuorMxPbhbpKnh3SUidQZeZdKcMKYxEJj8k+HF+gpIv4lAkY6EF51oFUYABgciAOFDykvyulMAgUX1fAbvPusXUnl0vgejL996G8B7S7EDSh6zSJz1VxwDRiJGbnYhOmlRRBAQeWzLInK+D08ykQKMl+rWQnC+CJjLLrssfg+Lz1MJcIw9UoVSaeoEKYTsFw8y34WBjWcZD3eKpiRjasSIEVEQ0s4ITgoV8OwYjpkUPww1jD/am2NhrUWxkFqEYCTFiZLNGPqIIdLYEMqcW6nOvbawX1L1aCO+h+PkGCl1nYqaJFhHddRRR8VULY4L4UN0ij6Fsc1xFVOkgXUz+Z71VAgEONcXocNxEt2hL2GM4xxIZa+B46SMOAU7cDIgAOiLRFyIalT3cGPKXmPMI+44n0KiqxCIgNSPENLch9yPRJbT93KsXEvW5SBSaAfub9odA/+CCy6Yp3RN7vX0vKRUoAQQclwvyC3YQHov7Uub0b5EUWkv+itjEe/XBsqLU9gilfsnPZkxiOPg/Em9YywgAso4RpGUVJI933mxH64pIpy+igMFcc0YRrSK1/ibRwzQV9kXwpq+jrAm0p9SDVMUmignYx9iETHG9UdME0kTkbpBISUidQaGH4Y+Rh+GDNEV0mpYw4MRQUSCnH4MEjzsqQocxjbGCGlOLGbHeEuChXQbxBLb8mwhhAdGOxWsiNDwnBv2WahiFvDMGFKOeP4P+8bAwvAkPYtIRRbECSIFQ5LIFAYixjiv1+SZPJwbYoSqbDyDBjCeOU5SwnLXZyDYOG/Oj4gAhhJiJLf6HIYdRiFtiyDhGDGmaGdEDwYoApF1NBiWCKxC4nJuIIg4BzzmtBfGHBEwKtNVJySLPfd5ASOTaAkGKn0IIxTRh5hM1c0SCEoMbFITiTDQb4ieUIACwV7TdTy1AbGEGKIv8QwvrhH3BGtmKJpABCHB9eI+4PpzrEQlKAJBW+amtebCOfD8IcQihj6Gd75nGhWC+wERlCK3iCSiW9nnQnF8nAvtjeDjO7iXiGIivnMLfRQLgonryH2ZXeuVolM4E3LTG7mu9H36AZEh7luOk3uV9q1pWl8ujDPc84xbPFwYgUokluvDd1GlEgcL9xt9m+8qlPZL/+P64CThGuHA4b5gPzg+GIMQqDx7j227desWz4P7mugu4x1CPD37iutEf+JaIZ5StBOxxxjJfSAidUMLaqDX0b5FRESkjKBIAdFQhFA2CiQiInPiGikREREREZEiUUiJiIiIiIgUiUJKRERERESkSFwjJSIiIiIiUiRGpERERERERIqk2Zc/58GIFC7MfdaIiIiIiIg0L2bMmBEfK9CnT5+5btvshRQiygrwIiIiIiJSUcSToZq9kEqRqFVXXdWeIyIiIiLSjHn33XdrvK1rpERERERERIpEISUiIiIiIlIkCikREREREZEiUUiJiIiIiIgUiUJKRERERESkSJp91T4RERFpvMyaNSs+10VEpFQVu1u1alWSfSmkREREpFE+y2XMmDFhwoQJDX0oItLE6NKlS1hsscXig3fnBYWUiIiINDqSiOrWrVvo2LHjPBs8IiIVFRVh8uTJYdy4cbExFl988XlqFIWUiIiINLp0viSiFlpooYY+HBFpQnTo0CH+RkwxxsxLmp/FJkRERKRRkdZEEYkSESk1aWyZ1/WXCikRERFplJjOJyKNeWxRSImIiIiIiBSJQkpERERERKRIFFIiIiIidcQmm2wSBg8eXO02f//738Ovf/3r8NZbb9XqO/bZZ59w8sknV/7/3HPPhZEjR4bacu+994aVV145NDScE+dWCN7jOM8777y87994443x/dQ2X375Zfx/6NChc/3uRx55JOy9995hjTXWCH369Ak77LBD+Otf/xqmT58e6oOnn346HH744fFvjpfjzv707NkzrL766mH33XcPr7zySkm/uxTX/+effw5nn312WG+99cKaa64ZDjnkkPDpp59W2Ybj3mmnncJvfvObsOWWW8Y2z3L//ffHz/fr1y/ccsstVd5777334r01bdq0OdrtiCOOCPWFQkpERESkgcAwx+A//fTTQ+/evWu1D4TaqaeeGv/+6quvwh//+Mfw/fffh+bycNUnn3wylrXO5dFHH63VWhiuBe2JEf/Pf/4z3HfffWGvvfYKQ4YMieINkVCXTJw4MZx77rlVxDH861//Ci+99FL8ef7558NNN90UWrduHQ477LB43RsT5557bhSAV111VWxDKuMdfPDBlcIHUcVxr7/++lG47bLLLuHEE0+sFIXjx48PZ511VtzPNddcE/eTdQ5ceuml4eijjw7t2rWr8r2bbbZZ+PHHH8NDDz1UL+epkBIRERFpIDCEH3744bDbbrvN08NF559//vh3PkHRlFl77bXDt99+G954440qr48aNSp8/vnnYZVVVilqf4ime+65J4oUBGmPHj3CsssuGw39u+66K+7z4osvDnXJrbfeGqM0yyyzTJXXu3btGhZZZJH4s+iii8aI1CWXXBLFyTPPPBMaE08//XTYY4894jGusMIK4Zhjjglff/11pRjiHIl6HXvssfH9gw46KEalaHcYPXp06NSpU9h4443jPrgOn3zySXwPEYnQ+v3vf5/3uw888MBwxRVXxMco1DUKKRERESkfiAYU+pk6tebbTplS+21LCMYlqU8p3Qzv/O9+97tw5513ho022iga1Hjex44dG0444YSYZrbBBhuEu+++e47UPlLXNt100/javvvuW5lSiPef1Co+S5Tl+OOPj+JjXuB4MII5dsQMogORkYV0LNKvVltttXDAAQeEq6++Ov6fGD58eDxODGVSG7faaqvwwAMPFHUciAqO4fHHH58jGkX7FVtC/29/+1tsX/aZCw9v3W+//aLYIuoBiAFSM3fdddew6qqrhu22266KqJkyZUqMbq277rrxfVIEiaAVAlHE/miLmpAiMgjyBKKSCBrtThuQYvfTTz9VOaYzzzwzXjfanuOjT+RGwLJ9lGtNih3ClPYhIjR79uyCx8Xz37gGREaJutJfEfxLL7105bVnf1nWWWed8Prrr0dnAG1NZI6+S1/94osvwpJLLhm/c+DAgfFeaNkyv4yhj3N9qmvnJiOkaBDCdYT2CGlzo6NCC0G998suu6xye/JXP/jgg3o9ZhEREWkgOnUq/POHP1Tdtlu3wtvmGqrLLlt42w02qNdTxHBFGJDyh42EYY6BjhFLtARDlrQnvPJZMD5J/wJEFJ55BM+ee+4ZoxsYs9dff300qomATZ48uVbHx+fS2qXbb7893HbbbWHBBReMYoLvA8TAoEGD4noVxNFaa60VU7QSbEcUAnGBMGE9DIY/Rv13331X1PEgOnLT+x577LGwzTbbFLWfqVOnRpuSdVGFwPhHGLz77ruV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1DRoah8gli6//PK4SA7BRNSJBZHkSvLUZ8phZkOmrJFCeBGuY3tyQbkxa1sswtQ+ERGRxoWpfSJSl5Qqta/BhVRDo5ASERFpXCikRKQuaRJrpEREREQK0cx9vSLSyMcWhZSIiIg0KtIicR64KSJSatLYMq8FKRr0OVIiIiIiuVBEigX348aNi//zLJxinu0iIlIoEoWIYmxhjJnX59QppERERKTRQQVfSGJKRKRUIKLSGDMvKKRERESk0UEEavHFFw/dunULM2bMaOjDEZEmQps2beY5EpVQSImIiEijBYOnVEaPiEgpsdiEiIiIiIhIkSikREREREREikQhJSIiIiIiUiQKKRERERERkSJRSImIiIiIiBSJQkpERERERKRIFFIiIiIiIiJFopASEREREREpEoWUiIiIiIhIkSikREREREREikQhJSIiIiIiUiQKKRERkSZIRUVFQx9Co8M2EZFS0rqkexMREZFGQYsWLcKkUSPCrKk/N/ShNApatZ8vdF6uV0Mfhog0IRRSIiIiTRRE1MwpPzX0YYiINElM7RMRERERESkShZSIiIiIiEiRKKRERERERESKRCElIiIiIiJSJAopERERERGRIlFIiYiIiIiIFIlCSkREREREpEgUUiIiIiIiIkWikBIRERERESkShZSIiIiIiEiRKKRERERERESKRCElIiIiIiJSJAopERERERGRIlFIiYiIiIiIFIlCSkREREREpNyE1OzZs8NVV10V1l9//dC7d+9wyCGHhNGjRxfc/sEHHwwrr7zyHD9ffvllvR63iIiIiIg0X1o39AFce+214Y477ggXXXRRWGyxxcKll14aDj744PDQQw+Ftm3bzrH9Rx99FNZaa61w+eWXV3m9a9eu9XjUIiIiIiLSnGnQiNT06dPDkCFDwtFHHx022mij0LNnzzBo0KAwZsyY8OSTT+b9zMcffxwjUIssskiVn1atWtX78YuIiIiISPOkQYXUhx9+GH7++efQr1+/ytc6d+4cevXqFYYNG5b3M0SkVlhhhXo8ShERERERkUaU2kfkCRZffPEqr3fr1q3yvSwTJ04MY8eODcOHD4/pgOPHjw+rrbZa6N+/f1huueVqfRwVFRVh8uTJtf68iIhIY6JFixahQ4cODX0YjZIpU6bEeV9EJB+MD4yhjV5IMZhB7lqodu3aRdGUyyeffFJ5ghdeeGGYOnVquO6668Kee+4Z11QtvPDCtTqOGTNmhA8++KBWnxUREWlsIKLI7pA5GTVqVKX9ISKSj3x1GhqdkGrfvn3lWqn0N0ybNi2vJ23NNdcMr7zySlhwwQUrleLVV18d11fde++94dBDD63VcbRp0yb06NGj1uchIiLSmKipN7U5QgaLESkRKcTIkSNDTWlQIZVS+saNGxeWXnrpytf5n4IS+citzofg6t69e0z5m5cJp2PHjrX+vIiIiJQHpjyKSKkcUQ1abIIqfZ06dQpDhw6tfG3SpElhxIgRoW/fvnNs/89//jOsvfbaVdYz/fTTT+Hzzz83oiQiIiIiIvVGy4bOP9x7773DwIEDwzPPPBOr+B177LHxeVKbb755mDVrVvj222/jWijYYIMN4gN8TzzxxLhe6t133w1HHXVUjFLttNNODXkqIiIiIiLSjGhQIQU8Q2rnnXcOp512Wthjjz3i86BuvvnmuG7pm2++Ceutt1549NFHK1MBb7nllhiRYtv9998/zD///OFvf/tbLFAhIiIiIiJSH7SomIcVl59++mn48ccfY/GHZZZZJpQjRLVg1VVXbehDERERKSnjPxgWZk75yVZlUXiHTmHBX825bEBEpLbaoFbFJh5++OFw8cUXh++++67yNUqPH3/88WGHHXaozS5FRERERETKhqKF1LPPPhsfgLvOOuuE4447Lgooquw9+OCDYcCAAaFLly6xHLmIiIiIiEhTpWghxQNwt9xyyzBo0KAqr//hD3+IhSJuuOEGhZSIiIiIiDRpii428fHHH4cdd9wx73u8TuU9ERERERGRpkzRQorCEhMnTsz73oQJE2JJcxERERERkaZM0UKqX79+4eqrrw5jxoyp8jqlyq+55pqw7rrrlvL4REREREREyn+NFAUmWA/FA3P79OkTi01Qve/NN98MnTt3jpX7REREREREmjJFR6QWWWSRcN9994V99tknTJkyJbz33nvxN//ff//9Yckll6ybIxURERERESnXiNSwYcNCr169Ygn0XCZNmhQeeeSRsM0225Tq+ERERERERMo/IrXvvvuGTz/9NO97I0aMiM+SEhERERERCc09InXSSSfFYhJQUVERzjrrrNCpU6c5tvv888/jmikREREREZHQ3CNSW2yxRRRQ/CTS/+mnZcuWoXfv3uHCCy+sy+MVEREREREpj4jUJptsEn+AohJEpFZYYYW6PjYREREREZGmUWzitttuq5sjERERERERaUpCatNNN40P2+3Zs2f8uzpatGgRnn766VIdn4iIiIiISHkKqbXWWivMN9988e++fftGsSQiIiIiItJcqZGQyhaQuOiii+ryeERERERERJrec6Suu+66KtX7sowdOzYccsghpTguERERERGRpiOkrrrqqrD33nuHr776qsrr9913X9h2223DW2+9VcrjExERERERKX8h9de//jU+nHf77bcP999/f/j222/DH//4xzBgwICw9tprh4cffrhujlRERERERKRcy5+vs8464cEHHwwXX3xxFE9t27YNCy64YLj66qvDZpttFsoSUhV//jn/e61ahdC+/S//F9oOWrYMoUOH2m07efL/jiMfFPfo2LF2206ZEsLs2YWP4/+LiBS97dSpIcyaVZptOd5UwGTatBBmzizNtrQv7QzTp4cwY0ZptqU/0C+K3Zbt2L4Q7dqF0Lp18dvSBrRFIdq2DaFNm+K35Zpx7QrBdmxf7Lb0MfpaKbalDWgL4J7g3ijFtsXc944Rv+AY0UjHiFkhzKhm29ZtQmhTi22576s7Br4/O57UdFvu++rGqWK2pW3TeFLdXJ/26xihHZFFO6J52hEVFb/YmnOjohaMHz++YsCAARU9e/asWHXVVSv69etX8dBDD1WUI++8807FO/ffT5Pl/9l666of6Nix8LYbblh124UXLrztmmtW3XaZZQpv26tX1W35v9C27CcL31NoW44vC8dfaFvOOwvtUmjb3G61887Vb/vTT79su99+1W87btwv2x5xRPXbjhr1y7YnnFD9tu+998u2Z55Z/bavvfbLtpdcUv22zz33y7ZXX139tg8//Mu2f/1r9dveddcv2/J3dduyrwTfUd22HGOCY69uW849QZtUty1tmqCtq9uWa5XgGla3LX0gQd+oblv6VoI+V9229Nks1W3rGOEY0YjHiB9GvFYx4aIzqt124pknVox7/dn4M+GKC6rddtJJR1duO/6Gy6vd9sc/H1q57Q9/u7babX86dN/Kbb+/6+Zqt/15n10rt/3uoTuq3XbyLtv/crwvPeEYkdCO+B/aEdoRR8xpR6AL0Ac1oejUPtL5ttpqq/D444+H008/PbzwwguhX79+4YQTTgiHHnpoTPsTERERERFpyrT4n7O15vBQXp4ldcEFF4Slllqq8vUnn3wynHXWWWHatGnh9ddfD+XCu+++G/1Wq66wQv4NTNv5BdN2Gmnajql9EYYyU/v+h+m//2sH03/D+A+GhZk/TjS1jwye9vOFBZdZpfC4amrf/3CJwC+Y2tcsU/ve/fTTeB+suuqqoeRC6rbbbgv77LNP3vd++OGHcM4554QrrrgilJWQCqFGjSUiIlJORCE15aeGPoxGQesOncKCv+rb0IchIk1IGxSd2ldIREHXrl3LSkSJiIiIiIjUhhoJqeOPPz6MHj26ymvvv/9+TOPL8t5774W11lqrVgciIiIiIiLSpITUI488EsaPH1/5/6xZs8LOO+8cRo4cWWU7Xv/xxx9Lf5QiIiIiIiKNXUhNnz49zK7ueUL/K5teV8ckIiIiIiJSfkLqyy+/DAcffLDRJRERERERkZoKqU6dOoUPP/ww7LLLLvneFhERERERadbkFVLdunULzz77bNh1113r/4hERERERETKtdhE+/btw4EHHljth1vw0DYREREREZFmRuuabnjttdeGBRdcsMprgwcPDl26dKn8P1vZT0REREREpFkLqSWWWCJ8/PHHc7z20UcfzbHt4osvXrqjExERERERKVchxXopERERERERKeKBvHUJz6u66qqrwvrrrx969+4dDjnkkDB69OgaffbBBx8MK6+8cizXLiIiIiIi0myEFGuv7rjjjnDuueeGO++8MwornmHFQ4Gr46uvvgrnnHNOvR2niIiIiIhIoxBSiKUhQ4aEo48+Omy00UahZ8+eYdCgQWHMmDHhySefLPg5xFb//v3DKqusUq/HKyIiIiIiUlTVvrqAh/7+/PPPoV+/fpWvde7cOfTq1SsMGzYsbLvttnk/d/3114cZM2aEP/3pT+HVV1+d5+OoqKgIkydPnuf9iIiINAZ4PEmHDh0a+jAaJVOmTInzvohIPhgfavqIpwYVUkSe8lX644HA6b1c3nnnnRjFuvvuu8PYsWNLchyIsg8++KAk+xIREWloEFE4JWVORo0aFcWUiEgh2rZtG+pUSE2cODEMHz48jBs3LmyxxRZhwoQJYbnllivqIb1pIMs92Hbt2sX950LU6IQTTog/yy67bMmEVJs2bUKPHj1Ksi8REZGGppi5uLmBrWJESkQKMXLkyFBTaiWkrrvuunDDDTeEqVOnxsF6tdVWC1dccUV8IC/RItLzakL79u0r10qlv2HatGl5UxLOO++8OADuvvvuoZRwDh07dizpPkVERKTxYcqjiJTKEVV0sYnbb789DB48OBxwwAHhrrvuqvTq7L333rFs+ZVXXlnjfaWUPqJaWfh/0UUXnWP7e+65J7z88suhT58+8YdS6cBaKtZNiYiIiIiI1AdFR6Ruu+22cOihh4Y///nPYdasWZWvb7jhhuGYY44JN954Yzj99NNrtC+q9HXq1CkMHTo0LL300vG1SZMmhREjRkRhlktuJb+33347Vu/jO1daaaViT0VERERERKR+hNTXX38d1lprrbzvLb/88uG7776r8b5YG4VgGjhwYOjatWtYcsklw6WXXhoWW2yxsPnmm0eh9sMPP4T5558/pv4ts8wyVT6fClIsscQSoUuXLsWeioiIiIiISK0oOrWPdLw333wz73vvvffeHBX45gbPkNp5553DaaedFvbYY4/QqlWrcPPNN8cCEN98801Yb731wqOPPlrsYYqIiIiIiDSeiBSihzVSRIh4iG6qpvfEE0/EAhSsnSoGhBPpefzk0r179/DRRx8V/Ozaa69d7fsiIiIiIiKNQkhR4OHLL7+M6Xj8wL777ht/b7fdduGwww4r/VGKiIiIiIiUs5CiJOA555wTI0+vvvpqfN4Ta5j69u1rwQcREREREWkW1PqBvDzPiR8REREREZHmRo2E1IABA4ra6YUXXljb45FmxuyKitCyiAefNQdsExEREZEmIqR4zlPuA3NnzpwZy44vssgiYcKECfFhvJQz59lQIjUFEfXIyxPD9xN/eSZZc2ahBVqFbX67QEMfhoiIiIiUQkg9++yzlX8/9NBDscgElftWW221ytdHjhwZjjjiiLDVVlvVZJcilSCixo2faYuIiIiISNN9jtSgQYPCcccdV0VEQY8ePcIxxxwTbrrpplIen4iIiIiISPkLqfHjx4fOnTvnfa9169bxmVIiIiIiIiJNmaKFVO/evcN1110Xy57nrpsi3Y+H5IqIiIiIiDRlii5/ftJJJ4V99tknbLzxxqFPnz6hS5cu4fvvvw9vvvlmWGCBBaLIEhERERERacoUHZGiKt/DDz8cdtttt/DTTz+F9957L0ydOjUceOCB4cEHHwzdu3evmyMVEREREREp5wfyLrroojEyJSIiIiIi0hwpOiIlIiIiIiLS3FFIiYiIiIiIFIlCSkREREREpEgUUiIiIiIiIkWikBIREREREamLqn0DBgwoaqcXXnhhscchIiIiIiLStITU0KFDq/w/bty4MHPmzLDEEkuERRZZJEyYMCGMHj06tG3bNj5nSkREREREJDR3IfXss89W/v3QQw+FgQMHhsGDB4fVVlut8vWRI0eGI444Imy11VZ1c6QiIiIiIiLlukZq0KBB4bjjjqsioqBHjx7hmGOOCTfddFMpj09ERERERKT8hdT48eND586d877XunXrMHny5FIcl4iIiIiISNMRUr179w7XXXddmDhx4hzrpkj3W3vttUt5fCIiIiIiIuW5RirLSSedFPbZZ5+w8cYbhz59+oQuXbqE77//Prz55pthgQUWiCJLRERERESkKVN0RIqqfA8//HDYbbfdwk8//RTee++9MHXq1HDggQeGBx98MHTv3r1ujlRERERERKRcI1Kw6KKLxsiUiIiIiIhIc6RWQmrs2LHh9ddfD9OnT698bfbs2WHKlClh+PDhsbKfiIiIiIhIU6VoIfX444+HE044IT6Qt0WLFvG1ioqKyr+XX3750h+liIiIiIhIOa+Ruv7668Mqq6wS7r333rDTTjuF7bffPjzyyCOhf//+oVWrVuGUU06pmyMVEREREREp14jUqFGjwmWXXRZ69eoVS50PGTIkrLDCCvHnu+++i0Jr3XXXrZujFRERERERKceIVMuWLWOZc1hmmWXCZ599FtdHwQYbbBBGjhxZ+qMUEREREREpZyHFGqg33nij8m8KTnz44Yfx/0mTJlUpQCEiIiIiItIUKTq1b/fddw9nnnlmmDx5cjj22GPDOuusEwYMGBB23nnncPvtt8f1UyIiIiIiIk2ZoiNSu+yySzj11FMrI0/nnntumDZtWjj//PNjJT/eExERERERacrU6jlSe+21V+XfSy21VHjsscfC+PHjQ9euXUt5bCIiIiIiIk0jIpUPniFVWxFFoYqrrroqrL/++qF3797hkEMOCaNHjy64/fvvvx/222+/0KdPn5hWeMYZZ4Qff/xxHo5eRERERESkDiJSPXv2rHzgbk344IMParzttddeG+64445w0UUXhcUWWyxceuml4eCDDw4PPfRQaNu2bZVtKa9+wAEHhM022yycddZZMQp2+umnh5NPPjlcc801Nf5OERERERGROhdSRx55ZKWQYj3UX//617DsssuGLbbYIiyyyCJhwoQJ4dlnnw0ff/xxOPzww2v85ayz4jlUJ5xwQthoo43ia4MGDYrRqSeffDJsu+22Vbb/6quvwnrrrRfOOeec0Lp167DccsuFXXfdNX5GRERERESkUQmpo446qvLvU045JYqewYMHV4lS/fGPfwz9+/ePqXc1hbLpP//8c+jXr1/la507d44P+x02bNgcQuo3v/lNuPzyyyv///TTT8MDDzzgA4BFRERERKRxF5ugsARrmvKl+m2//fZVRNfcGDNmTPy9+OKLV3m9W7dule8VgmjY559/HpZccslw9dVXh3mhoqIilnOX+oU+1KFDB5s9D1OmTIn9srbt2q59+9CyiHTc5sDsioowberUWrerSDnh+Fo346uINH0qKipqvKSpaCE133zzhf/+97953xsxYkRYYIEFihrMIHctVLt27cLEiROr/ezAgQPj51lTte+++8bIFMdWG2bMmFHUui4pDYgooo8yJ6NGjaq8P2rbrkM/nBomTZ5t8xLp7tgyrN2z/Ty1q0g54fhaGMcBEZkbudqkZEJqm222iel1bdq0iSl+Cy64YPj+++/D448/Hgs+UHWvprRv375yrVT6O63DmlukYtVVV42/iUZtuOGG4amnngo77LBDqA2cS48ePWr1Wak9xRQwaW6w/m9eIlKAiJrws0KqVO0qUk44vhbGcUBEqmPkyJGhphQtpI4//vjwzTffxLLj2YEa44TCDxSmqCkppW/cuHFh6aWXrnyd/1deeeU5tv/ss89iNCwVpoBFF100dOnSJYwdOzbUFs6jY8eOtf68SKkx5bFusF1FxHFARErliGpdm1AXa6Q++eSTMHz48DBp0qQYleKZTlkxVNOy6p06dQpDhw6t/Cz7I0Vw7733nmP7l19+OVxyySXhpZdeikUpAGFFGfQVVlih2FMRERERERGpFUULqcSKK64Yf+YFRBmCifVOPNCXwhGseeJ5UptvvnmYNWtW+OGHH8L8888fU/+o4nfjjTfG6oCUTGcd1XnnnRdWW221sPHGG8/TsYiIiIiIiJRUSFHM4cwzz4xRH/6eWzjs1ltvrfEBHH300WHmzJnhtNNOC1OnTg19+/YNN998c1y39OWXX4ZNN900XHjhhWGnnXaKKXzsm4f37rHHHqFVq1bxfR7Iy98iIiIidU1FxezQokVLG9r2kGZOjYRUdnH23BZqF7uQGwFEhImfXLp37x4++uijORaJ3nDDDUV9h4iIiEipQERNeuO5MOunCc2+UVt16hI6r25WkDRPaiSkbrvttrx/i4iIiDRHEFEzJ37f0IchIg2IcWkREREREZG6iEhRXa+mpQDZjqp7IiIiIiIizVpI8WwoH+4nIiIiIiJShJA66qijarKZiIiIiIhIs6BGQur+++8PG264YXzwLn/PjR122KEUxyYiIiIiIlK+QornNN11111RSPF3dZACqJASEREREZHQ3IXUM888ExZZZJHKv0VERERERJozNRJSSy65ZN6/p0yZEn788cfQpUuX0LZt27o5QhERERERkXIUUrkQlbruuutimfOKiorQqlWr0Lt373DMMceENddcs/RHKSIiIiJNmorZs0OLlj7i1DZpwkLq0UcfDccdd1zo1atX+NOf/hQWWmih8O2334Ynnngi7L///uGmm24K66yzTt0crYiIiIg0SRBR4x77Z5j+w7iGPpRGQduu3UK3rXZr6MOQUgopIlHbbLNNuOyyy+Z41tQRRxwRLr300nDPPfcUu1sRERERaeYgoqaP+7qhD0OkRhQdP/3888/DjjvumLda35577hk++eSTYncpIiIiIiLStIVUjx49wgcffJD3vW+++SYsvfTSpTguERERERGR8k7t+/rrX0KsBx54YDjjjDNCmzZtwlZbbRUWXnjhMHHixPDvf/87DB48OFx00UV1ebwiIiIiIiLlIaQ22WSTmLqXoFIfguniiy+ush2vH3zwwQUjViIiIiIiIs1GSF1wwQVVhJSIiIiIiEhzpkZCaqeddqr7IxEREREREWnKD+QdO3ZseP3118P06dMrX5s9e3aYMmVKGD58eBg0aFApj1FERERERKS8hdTjjz8eTjjhhDBz5szKdD/WRqW/l19++dIfpYiIiIiISDmXP7/++uvDKqusEu69996Y8rf99tuHRx55JPTv3z+0atUqnHLKKXVzpCIiIiIiIuUakRo1alS47LLLQq9evcLaa68dhgwZElZYYYX4891330Whte6669bN0YqIiIiIiJRjRKply5ZhgQUWiH8vs8wy4bPPPovro2CDDTYII0eOLP1RioiIiIiIlLOQYg3UG2+8Ufk3BSc+/PDD+P+kSZOqFKAQERERERFpihSd2rf77ruHM888M0yePDkce+yxYZ111gkDBgwIO++8c7j99tvj+ikREREREZGmTNERqV122SWceuqplZGnc845J0ybNi2cf/75sZIf74mIiIiIiDRlavUcqb322qvy76WXXjo89thjYfz48aFr166lPDYREREREZGmI6R4btQLL7wQhg0bFtdFLbTQQrGCH2l+IiIiIiIiTZ2ihdQPP/wQDjvssPDuu++G1q1bhy5duoQJEyZUlj2/+uqrQ/v27evmaEVERERERMpxjdQll1wSRo8eHa655poopl566aXwzjvvxGdLvf3222HgwIF1c6QiIiIiIiLlKqSeeeaZcMIJJ4RNN900tGjR4n87adkybL311rGK38MPP1wXxykiIiIiIlK+QgrxxJqofCy33HI+R0pERIpedyu2iYhIk18j9fvf/z7cdNNN4be//W1o165d5euzZ88Ot912W9h2221LfYwiItKEwUE3buxYHXH/T9u2bUO3RRdt2IsiIiKlEVI8cDfBs6LeeuutmNq30UYbhYUXXjhMnDgx/Oc//wnffvtt2GOPPWqySxERkUp4NmF6PqGIiEiTEVJDhw6t8v+i/+8pe/nll6u8vuCCC4YnnnginHjiiaU8RhERERERkfITUs8++2zdH4mIiIiIiEhTLTaR4EG8PJT3kUceCa+88kr46aefan0QrK+66qqrwvrrrx969+4dDjnkkFhivRCffPJJOPTQQ+NDgPv16xeOPvro8PXXX9f6+0VEREREROpcSN14441hgw02iGLm+OOPDwcccEAsPsGzpWrDtddeG+64445w7rnnhjvvvDMKq4MPPjhvvvz48ePj9/HQX4pb/OUvf4kPCWb7adOm1er7RURERERE6rRq3z333BMuv/zysPPOO8cKfhSboMjEAw88EK6++uqwxBJLhB133LHG+0MsDRkyJD6biuIVMGjQoBidevLJJ+eoAvj000+HyZMnxwcDI6bg0ksvjZ994403YoRKRERERESkUQmpW265JVbmO/PMMytfW3755WOaHcLmb3/7W1FC6sMPPww///xzFQHUuXPn0KtXrzBs2LA5hBTbEcFKIio9EDilG9b2GSaIM6n/kscdOnSw2fMwZcqUWj9bx3atm3aVusH+WhjHgcY5Dthnbdf6xrmrfmF84D6vEyH1xRdfhJNPPjnve5REJ2JVDGPGjIm/F1988Sqvd+vWrfK9LN27d48/uamGCKu+ffuG2jBjxozwwQcf1OqzUnsQUQhmmZNRo0bFgdN2bTztKnWD40BhHAca5zhgn7Vd6xvnroZ5nl+dCClKnxcq7PDll1+GTp06FbW/NJjlHjAP++X5VHODdVK33357OO2000LXrl1DbWjTpk3o0aNHrT4rtaemar85stxyy81TREpK365SN9hfC+M40DjHAfus7VrfOHfVLyNHjqzxtkULqU022SRceeWVYeWVVw6rrbZa5etvv/12GDx4cHy/GFKKHmulsul6FI6oLu2LQZDjuO6668Lhhx8e9tlnnzAvg2LHjh1r/XmRUmPKY91gu0o5YX+1XcsJ+6tt21QoxllStJA66qij4oN4d9ttt7DkkkvGYhPfffdd+Oqrr8IKK6wQq/gVQ0rpGzduXFh66aUrX+d/xFqhVLwBAwaEhx9+OP7ef//9iz0NERERERGRWlO0kCJ17+67745roSgGQfrdqquuGg488MCw0047VYkq1YSePXvGfQ4dOrRSSFE0YsSIEWHvvffO+5kTTzwxPPXUU+Gyyy4L22yzTbGnICIiIiIiUr9C6qCDDorPbNpzzz3jz7zC2igE08CBA+MaJ6JclDNfbLHFwuabbx5mzZoVnxM1//zzR5F27733hkcffTSKqbXWWiuWXk+kbURERERERBrVA3l5VlOpF1oeffTR8blUFIygtHqrVq3CzTffHItAfPPNN2G99daL4glI5wOeI8Xr2Z+0jYiIiIiISKOKSPGg3AcffDCsscYaUeiUAoRT//79408ulDr/6KOPKv/n4b0iIiIiIiJlJaQoS46Qeuyxx2Jxidxqd0Srbr311lIeo4iIiIiISHkLKR6S26dPn8r/c5/F4DNaRERERESkqVO0kOIBuCIiIiIiIs2ZooTUO++8E58Xtcwyy4RevXrV3VGJiIiIiIiUu5DiuU6HHXZYeOutt2LqHuugSO/jOU7pgboiIiIiIiLNhRqVP7/iiiviA3KPOuqocOONN4aTTjopfPbZZ+GMM86o+yMUEREREREpx4jUc889F4477riw3377xf832GCDsOiii4YTTjghTJ48eY7KfSIiIiIiIqG5R6S+/fbbsMoqq1R5be211w6zZs2KD8wVERERERFpTtRISM2cOTO0bdu2ymsLLLBA/D1t2rS6OTIREREREZFyFlLV4XOjRERERESkuTHPQooKfiIiIiIiIs2JGj9H6qyzzgqdOnWaIxJ1+umnh/nmm6+KsLr11ltLfZwiIiIiIiLlJaT69u2bN40v3+um+omIiIiISFOnRkLqtttuq/sjERERERERaS5rpERERERERJobCikREREREZEiUUiJiIiIiIgUiUJKRERERESkSBRSIiIiIiIiRaKQEhERERERKRKFlIiIiIiISJEopERERERERIpEISUiIiIiIlIkCikREREREZEiUUiJiIiIiIgUiUJKRERERESkSBRSIiIiIiIiRaKQEhERERERKRKFlIiIiIiISJEopERERERERIpEISUiIiIiIlIkCikREREREZEiUUiJiIiIiIgUiUJKRERERESkSBRSIiIiIiIi5SakZs+eHa666qqw/vrrh969e4dDDjkkjB49ukafO/jgg8PgwYPr5ThFREREREQajZC69tprwx133BHOPffccOedd1YKpOnTpxf8DO+dcsop4cUXX6y345w9u6LevqtcsE1EREREpLnSuiG/HEE0ZMiQcMIJJ4SNNtoovjZo0KAYnXryySfDtttuO8dn3njjjXDGGWeEqVOnhs6dO9fbsbZs2SLccu9/w5hvp9XbdzZmFlukXdh/p6Ub+jBERERERJqfkPrwww/Dzz//HPr161f5GuKoV69eYdiwYXmF1PPPPx+F1pFHHhl+//vf1+vxIqJGj5lSr98pIiIiIiKNjwYVUmPGjIm/F1988Sqvd+vWrfK9XI499tiSH0dFRUWYPHlywfdbtGgROnToUPLvbQpMmTIltl9tsF1t13Lqr1I3OA4UxvG1cY4D9lnbtb5x7qpfGB+4zxu9kKJjQNu2bau83q5duzBx4sR6O44ZM2aEDz74oOD7iCiiZDIno0aNqryOxWK7FsZ2bXztKnWD40BhHAca5zhgn7Vd6xvnrvonV5s0SiHVvn37yrVS6W+YNm1avUaA2rRpE3r06FHw/Zqq0ubIcsstN08RKbFdy6W/St3gOFAYx9fGOQ7YZ23X+sa5q34ZOXJkjbdtUCGVUvrGjRsXll76l8IF/L/yyivX23EwKHbs2LHevq8pYcqj7VpO2F+lnLC/2q7lhP3Vtm0qFOMsadDy5z179gydOnUKQ4cOrXxt0qRJYcSIEaFv374NeWgiIiIiIiKNMyJF/uHee+8dBg4cGLp27RqWXHLJcOmll4bFFlssbL755mHWrFnhhx9+CPPPP3+V1D8REREREZFm/UDeo48+Ouy8887htNNOC3vssUdo1apVuPnmm+O6pW+++Sast9564dFHH23owxQREREREWkcESlAOPXv3z/+5NK9e/fw0UcfFfzss88+W8dHJyIiIiIi0ggjUiIiIiIiIuWGQkpERERERKRIFFIiIiIiIiJFopASEREREREpEoWUiIiIiIhIkSikREREREREikQhJSIiIiIiUiQKKRERERERkSJRSImIiIiIiBSJQkpERERERKRIFFIiIiIiIiJFopASEREREREpEoWUiIiIiIhIkSikREREREREikQhJSIiIiIiUiQKKRERERERkSJRSImIiIiIiBSJQkpERERERKRIFFIiIiIiIiJFopASEREREREpEoWUiIiIiIhIkSikREREREREikQhJSIiIiIiUiQKKRERERERkSJRSImIiIiIiBSJQkpERERERKRIFFIiIiIiIiJFopASEREREREpEoWUiIiIiIhIkSikREREREREikQhJSIiIiIiUiQKKRERERERkSJRSImIiIiIiBSJQkpERERERKRIFFIiIiIiIiJFopASEREREREpNyE1e/bscNVVV4X1118/9O7dOxxyyCFh9OjRBbcfP358OP7440Pfvn3DWmutFc4+++wwZcqUej1mERERERFp3jS4kLr22mvDHXfcEc4999xw5513RmF18MEHh+nTp+fd/uijjw5ffPFFuOWWW8KVV14Znn/++XDWWWfV+3GLiIiIiEjzpUGFFGJpyJAhURxttNFGoWfPnmHQoEFhzJgx4cknn5xj+zfffDO89tpr4eKLLw6rrLJK6NevXzjnnHPCAw88EMaOHdsg5yAiIiIiIs2P1g355R9++GH4+eefoyBKdO7cOfTq1SsMGzYsbLvttlW2Hz58eFhkkUXCCiusUPka6X0tWrQIr7/+eth6662LPoYZM2aEioqK8M4771S7Hd+x4W9mhpmrVhT9HU2R1i1/Cu+++25su3mBdl15kdlhxYVKdmhlTcuWIbz77lcladcFQ0VYoGPJDq3sPUbvvttinttV6gb666xZs0Lw+qQGCeMnTCjJODB7ZqsQwvwluU5lz9SW4csSzFuVbTtf9xA6LFGSQytrWpa2XWet2DeE5WeV5NDKnlatwvgSta0Upw3oi41eSBF5gsUXX7zK6926dat8LwtRp9xt27ZtG7p06RK++eabWh1DaqiaNFin+Rq0uRolNe1o1dGxXYNnmDbJdm3XZt730dQoRbtK3dCqFQa/lLq/tmzdxkato3GgZdv2tm0dtGurDvPZrjk4d9V/e5eFkEpFIhBDWdq1axcmTpyYd/vcbdP206ZNq9Ux9OnTp1afExERERGR5kuDhgLat/+fNye3sASiqEOHDnm3z1eEgu07djSHSUREREREmoGQSml648aNq/I6/y+66KJzbL/YYovNsS3CasKECTEdUEREREREpMkLKar0derUKQwdOrTytUmTJoURI0bE50TlwmusnaL8eYIqfrDGGmvU01GLiIiIiEhzp0HXSLHeae+99w4DBw4MXbt2DUsuuWS49NJLY+Rp8803j1WcfvjhhzD//PPHtL7f/OY3YfXVVw/HHntsfHbU5MmTwxlnnBF22GGHvBEsERERERGRuqBFRQPXVEQsXX755eHee+8NU6dOjVEnxFH37t3Dl19+GTbddNNw4YUXhp122ilu//3334ezzz47vPjii7HIxJZbbhkGDBgQ/xYREREREWkWQkpERERERKTc8AE+IiIiIiIiRaKQEhERERERKRKFlIiIiIiISJEopERERERERIpEISUiIiIiIlIkCikREREREZEiUUiVGdOnT2/oQxARqfFzAkVERJoqrRv6AGTufPjhh+GOO+4Ir7/+elhqqaXiQ4p5QHGrVq1sPhFpdEyZMiUcfvjhoV+/fuGwww5r6MMREWm08DjXFi1aNPRhSC0xItXI+f7778P5558fJkyYEI488siwzDLLhNNPPz3ceOONYfLkyQ19eFJCZs+ebXvafmXPzJkzQ4cOHeKYNXLkyDBx4sTQnPAZ9+WB16lh255xwjnvfyiiyhuFVCPnuuuuC6NHjw5//vOfw9Zbbx0GDBgQPb0PP/xwGDFiREMfnpQw5ally5ZxcpHat9+MGTNsvgY2TFu3/l+iw4Ybbhg+/fTT8NVXXzW5a/Lll1/Oce6pT2oUNV64Rqmfep0aDtqecYIx+6effgpTp04NzYFCwvHVV1+NmUdSP7YCdsLbb78dxo8fX5LvUEiVwYS99tprhxVWWKHSSOTvH374ISy44IINfXhSS+9nvrTMiy++OPzxj3/US1eDCShf+7344ouhb9++YdKkSfbLBvDmJ8P0k08+CS+88EJYbLHFwo8//hg+++yzJnU9vv3223DzzTeHL774onKi5txTn/zggw/C8OHDm41xWE5wjbhWY8aMCUOHDtXxUiKwR3Lhvii0RpJxASfxJptsErbaaqtw4oknhscee6xJRQrznT/CMV8a9P77798kHU6Noc2ztkKyI/7+97/HPoeILwWukWrkEIlKF79Nmzbx98svvxxT/FgvJY0XrhuTdvpJcPM+/fTTYf7554/r3dKNz2TETc9gy2fzDbrNiaznOLct7rvvvhi923777UPbtm3ja++9917o1atXNGA7d+7cIMfc1K8HP1yL1J+zuf3049NOOy08+eST4de//nX8/+uvv45RqabUn/Eev/TSS2HzzTeP4zD3LH3xH//4RzQOaZP0+lFHHRXWWWcd10DUAe+8805Ycsklw0ILLVT5Gv2M9i+0fvg///lPdFhhtHbr1i0suuii4cADDwwbbLCB16iW7L777mGllVYKJ598cujYsWPl69lr8PPPP4f55puvchx45JFHwqOPPhqOP/740L1793DLLbeEO++8M6y33npxXmwK5OuDZBJddtll4S9/+Uvo0aNHfO3zzz+P/XCBBRaI/7teqnRtji1w1VVXRWceY3Oag9q3bx/7IjZ0KeampjGzNWF+9atfhVVWWaXyf0TUQw89FPbbb79KA1IaHga/3KhJMjjxYD/33HPho48+qpxUuIZnn312mDZtWrz5+SyTe8+ePSuN1eZGblpjEqAIzMcffzy88sorlV5+Cq9ceeWVMfKRSEJ0kUUWqfdjL3douwcffDB899138X/6YzYNKitoiYzjzed6ZB0E9957bxyfmLBuvfXWcMIJJ0Qj6f33349rPcvdu5n6ZxJJ/fv3D3vvvXd87c0334xeToQkIuuaa64Jyy+/fDjzzDOj48Q0stL310MOOaRyTE3QP5MxRWQ0GylhfOW6IPIZNy666KKw+OKLh3fffTe+7zUqjjTfXXrppeGcc86pIqLo89wTe+65Z1h33XXjvcJ4wfUZO3ZsuPbaa6N43WabbcJvfvObMGjQoOg0Ts7icprz80XQWL/OHH/00UdHsfj888/HsYR05y5dusS5K0Wg/vvf/8bsomTP2Q8LQ3sXSo9kjsGZhfPqjDPOiDYCgoksFear66+/vnIf48aNi+N4qRx8zc9aK1NS58Fr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hEp9QpSJYhL8pGIP5Jjj1WfNHqKfNVM8QBMxRQoQa/sofU66Xy72X2nI6mYsMKdYD32UMsbJ40yVw/Q8mHzPc2rqHn/WN5LSyLpG1orw/CEqlpJ2m61sSBof6xxzKxuyjoSUSZwlCFMMVCLWqeBGocqGfFfuNiL1ARGo7D0vpadFhXVjpYErJBk+lsYAgog8clLzUp8kLYp+yroGqhaxEB9DipSI9ABpkcYCqXikqFZX3aypPsagps/Ry1Y2pKRzqmxIhTIW36fKhnjyU2VDvPk4WaisSXSaZ+awrhIHCxVkqYZWk/WoTaGyoZQnuU4TKR1GpKTBcMGoNCZ4SCHr9Eh7St5jXsO4wrMPePwpFS1SrtXNmqOASljZUJoriqi6QyElIvL/aU887Dn7QEFSfkTKDaub5cfKhiJSakztExERkWZFbmXDCy64ID5zh2fE5VY2pFhHIZpiZUMRqTne/SIiItLksbKhiJQaI1IiIiLSLKA4BI8uYB1ktrLh7373u7zbu0hfRKpDISUiIiLNAisbikgpUUiJiIhIsyW3sqGISE1RSImIiEizrWwoIlJbFFIiIiIiIiJF0nyfzCciIiIiIlJLFFIiIiIiIiJFopASEREREREpEoWUiIiIiIhIkSikREREREREikQhJSIiIiIiUiQKKRERafKsvPLKYfDgwbX+PJ9lHyIiIgmFlIiIiIiISJEopERERERERIpEISUiIg3CjjvuGA4//PAqr2222WZho402qvLaEUccEQ466KAwa9as8Pe//z1st912YbXVVovbDRw4MEybNq1y25NPPjnst99+4cwzzwyrr7562HrrrePncrnqqqvCr371q3DfffdVvvb888+H3XffPfTu3Tust9564YwzzgiTJk3Ke+zs88YbbwzbbrttPBY+w2dfffXVym2mTp0azjrrrLDBBhuEX//612HLLbcMN998c5X93HrrrfH1VVddNay//vpx+59++qkWrSkiIvVN63r/RhERkRDChhtuGG677bYoSlq1ahW+/PLLMHr06Ng2/F5qqaXCjBkzwiuvvBKOO+64KGweeOCBcMghh4Q111wzjBgxIlxzzTXhgw8+CDfddFNo0aJF/Ozw4cNDu3bt4nuTJ0+O+86CmLn22mvDeeedF8UcPPfcc1HUbbrppuGKK64IEyZMCJdcckn46quv5hA/gID7xz/+EY4//vi4dmrs2LHx+/785z+Hf//736FDhw7hggsuCC+99FI46aSTwsILLxxeeOGFuM8uXbqEP/zhD+Hhhx8Ol156aXyffXz22Wfh4osvDlOmTIm/RUSkcaOQEhGRBoGI0nXXXRfeeeed0KdPnyiYll122fDdd9+FYcOGRSH1+uuvRzHUr1+/KHwQLoceemj8/Lrrrhu6desWTjzxxChSEGYwc+bMcM4554TFFltsju9E/CBeeH/nnXeuUkyCCNXVV19dKcjatm0brrzyyng8uYwbNy4ce+yxYZ999ql8DfF21FFHhY8++ihGqF577bV4jNtss018f+211w4dO3YMCy20UPyf97t37x722muv0LJly7DWWmvF9ydOnFjythYRkdKjkBIRkQaBlLgFF1wwvPzyy1FIkRaH2CAyhZDaaaedokBaccUVo+iAJEoS/D9gwIAwdOjQSiFFxCefiCLqRBSLaNauu+5aJQWP1xFBSUQBaYH85OOyyy6Lv3/44YcYSfriiy/i/mH69OnxN+dy5513hjFjxsRj4+fII4+s3Mc666wT/vnPf8bzJKWR90lbzB6DiIg0XlwjJSIiDTMBtWwZ1w8RiYIkpIjMJOH04osvho033rgySrPIIotU2Ufr1q2jGPvxxx8rX5tvvvnyft/7778fxQoi7dlnn618nX1XVFRURopqwrvvvhsjWkTKDj744Bjp4nyAfcGpp54ajjnmmCgMzz333CiWWEf14YcfxvcRaQgyolCkGrI/UgsfffTRGh+HiIg0HAopERFp0PS+t956K6b3kUKHiEpRqTfffDN8/PHHcZsFFlggbv/tt99W+TxrqMaPHx/F1NzYbbfdwvXXXx+jX2effXZlUYdOnTrFKBDRpSwUsaAABeulsvA5xBMC6JFHHglvvPFGuPvuu+O6pyykBrLu6rHHHovRKtZ4sfaL9MQExSruuOOOGFFjbRbRtP79+8c1VyIi0rhRSImISINBdTwiODfccENYbrnlYsSJCnaIFNYyIZAQPggsQLhk4X+KVayxxhpz/S72jWCiMh6iLaXnEcFifVRKzUuQVsh6LNZDZSGVD3G17777hh49elRGotgeZs+eHdMFt9hiizBkyJD42hJLLBHXQpGK+PXXX8fXiFalVL/5558/bLXVVrFCIWu8cr9TREQaH66REhGRBqNz585RKD399NMxYpTS9VjHhDDZfvvto1BBsFBhj7LlVLXr27dvrNZHcQgiWJQOryk9e/aMJdIROaxJokz60UcfHaNHVAfcYYcdotC6/PLLYzreSiutFJ544onKzyP4iGIR3eJY+eF9olLA8bVv3z6sssoq8fjatGkTq/KNGjUqlltHYKU1UpRpp0IfKY6UWmd7Cm5wjCIi0rhRSImISIOS1i0hiBL8jZDKPlPq/PPPD8sss0y45557wl/+8pdYsY+oEFGcFBWqKRSWePzxx8Npp50W7r///rgOC2GEkCFK1LVr1yiy2C4XokesaaKUOeXOU0Tr9ttvj6XZKb++ySabxMqApOsh2EhJZA0W66D4DLBeitREClKQ3of4Ys0VqX2ILxERady0qEirYkVERERERKRGuEZKRERERESkSBRSIiIiIiIiRaKQEhERERERKRKFlIiIiIiISJEopERERERERIpEISUiIiIiIlIkCikREREREZEiUUiJiIiIiIgUiUJKRERERESkSBRSIiIiIiIiRaKQEhERERERCcXxf51PQ3pJUjMaAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Grupo Históricamente Privilegiado: 'self-emp-inc' (Tasa base: 54.8%)\n", " =====================================================================================\n", " 🚨 [ALERTA] 'federal-gov': DIR = 0.69 (37.8%) | 🚨 [ALERTA] 'private': DIR = 0.40 (21.9%)\n", " 🚨 [ALERTA] 'local-gov': DIR = 0.55 (30.1%) | 🚨 [ALERTA] '?': DIR = 0.20 (10.8%)\n", " 🚨 [ALERTA] 'self-emp-not-inc': DIR = 0.53 (28.9%) | ✅ [JUSTO] 'never-worked': DIR = nan (nan%)\n", " 🚨 [ALERTA] 'state-gov': DIR = 0.48 (26.6%) | ✅ [JUSTO] 'without-pay': DIR = nan (nan%)\n", " =====================================================================================\n", " 💡 ACCIÓN REQUERIDA (Fase 5): Implementar Reweighing sobre 'workclass' para neutralizar el sesgo.\n", "\n", "\n" ] }, { "data": { "text/markdown": [ "### 🔍 Analizando Sesgo Sociodemográfico en: `education_num`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 🧠 [AutoML] Transformando variable continua 'education_num' en rangos demográficos para medir el sesgo de forma justa...\n" ] }, { "data": { "image/png": "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zqFDh7rGvI5JbYP2ufblggULXKM4LcFM0GGHHWYTJkxwjWI1JtWw1LqqVKni9qkatzqWg2V9onNAY8XUUNTzq+E4YMAA19HggwjRfohVsWJF9zu1SVG0D7W/9d5r/5977rnudgVD+kmEGu1aj45DBV4Kxnr37u0a7Tq2ROeNzlUdLwoc1IjXNunYUUeDzhu9Lk/nrs43rbNMmTLR1xGP1ql179y50+1HBYDadzpGFKjqt47vsO99GDoOXnnlFfcatF4FEJMnT3YNf3W86PjRdmqf6rNJ55HGsekzSGPZ1AlQoEABd7uCEb0WdRbob/1o+9UZEkufdX379nX3a1/p+NG5qvNFHQDPPPNMtLQ0zHkcljpgFExqnaVLl3bHtj5LpE+fPuler45NZUW1Dh3/+lzS54rKVHU+aV8rONU+1lgyBXTBzwkgT4kAyBNOPfXUyNFHH53itt27d0eaNGkSOe+889zfQffff79b/t1333X/67f+f/vtt1MsN3HixMg555wTmTdvnvv/ww8/dMtNmDAhxXI7d+6MtGjRItKgQYM0t3PZsmWRY445JnLVVVel2Kb58+dH6tat69a9fPlyd9t3333n/r/zzjv3ea7OnTu75VeuXJnqc/3222+ROnXqRM4888zIli1borfv3bs3ctNNN7l1T5061d2m59T/tWrVinz77bcpnuuiiy5yt//888/R2/Vatc+D62zXrl3klFNOiaxfvz7Fdrz44otu3Y8//nj0Nv2vnzlz5qRYtlOnTu72pUuXRl+D9tfll18e2bFjR3Q5PUfjxo3deyuvvPKKe5yeK72v/dhjj3WP8/bs2RNp3bq1289bt25NdT9v3rzZve96/cHl/vjjj0ijRo3cur/66it3m94vra9Hjx5uW4Lb1b9/f7es3vf00jH1wQcfRK655hq33/RcN954Y/T+QYMGuec4/fTTI5MnT3bH85gxYyINGzaM1KtXL/rev/nmm2655557bp/n2L59u7tPx3Bw//Xt29ft644dO7rnff/990Nvv/aT1lW/fn13rgT3catWrdx+3rRpk7tt4MCBbtmXXnopxToWLFjgnl/vnT/HBgwY4JZ96KGHEtqObt26RY4//vjIr7/+muL2zz//3K1n8ODBod/74H6KpduC5/7XX3/t/texGjxOtD06rnv27On+v/fee91y/vPJW7x4sbtdx0Hsto8ePXqf/T1y5Mjo6znxxBPd5+batWtTrHP48OFuWR0vYc/jMPw2NWvWLLJhw4bo7X///bfb182bN4/eFnveB8V+Rul1a9muXbum2KfXXnutu93vU69Xr17u9thjAMhL6EIA8jD1xqr3WD2o+ttTj7EyU+LLtnzPu3qx1aOvZUTlMOqRVGmJqIRI2Qz11Aapd1y9pnpcaiVz8tFHH7mSH2U9gtukEihlnYKUDZKzzjrL1q1bF/3ZvHmzu0091Fpfaj744APXC68e2OCkABqn4nt01fsc5Ke59rSftA/UM6xsTmpUMqYMnsoh9fqD26uMkbJI2p4gZU1U2hbk97P2p+i90P5SL3zhwoWjyymjoMzOuHHjkvbalSEMTlihXmi9L9rPmrkuNcq26X1XZiA4kYKOKZUJBinLpfUpG6RSIr+P9LfKKEVlUumlY0plmcoEKVuq5wq+TpU7qfddGQtldnQ8KyumzK32l0rXJLXSwOB92pdBysBcc801Nnv2bJdJVVlneqkEU5lET1lOnTPaz8qK6BjTftL7paxbkCai0X5XFvXHH39McZ8mHNkflQsqy6JMkJ43eCxr3XpOfyyHee/D8GWMOveC+1mzkOq9Gzx4sPtfJWqaPdOfN6J9o/dSEi1L9bQuZWB9Jiro+uuvd5mo2PMmkfM4PfRZos9UT5nJI4888oDWKfrsDO5TP2YvdjZPf/z57CyQF1HaB+RxanzPmTPHld6pjEOlLCtXrow2Bv1vBQ8ql1Ppi8aZKIDQbWp4qmxIJTPBdaqMatasWa6xpnIiNb78l7MaMqmVgmh5CTYSg1/owbItX58fG7QFxSvNiX0uPzFBbONHAUZseVa8ZatXr+5+//rrr6k+l8ZGiUqe9JPItqp0MJYPlvz4En/NGzWgYsXb1gN57YlsT1rPdcQRR+xzX+zECv491RiS9Lyn+6MgRuNq1BBXKVeLFi1cAOIpcNJPLJXFKZDU49WQ9uOYYse2iS9ZK1WqVIrbFWj7415lswcyzXy86bj9MaBjQoGnOhQ0Zi42oBM/BkzvsR/TJbHBQTw6znUO61zUuKTUqMw2zHsfhj824x33Cu49vXYFTSqFVLmmjh1tkx/LlFanTtjzRoGigki/zIGeN/uT2nrDvqZYmqkwyHdoxd7uj+UDfT4gJyOQAvI41fors6OGgQYWa/CxepXVoNW4hiBNNKFeejWg1DOrxqAalqrL1/gnPV6NOC2j3mkNxNaPGqq6T73EWj4RsYO242UB/Be4GkmpDdCPN4YltfXF0vqDWR6J1yj16wlm0FJbRuMk2rZtG3eZ2Cm64z1XLD+wPJFl423Pgb72MMK8p3feeWfcYFr82JtEKYjXmD+NI9L01srW6RjVcZnWlPCxfJChsUkKNiXeTIC+hz52jJGCU016oeNVY2OUkUorEElL7HsTbJTrONrf++uXjV1PWsdw7HukzJ4fjxVPcF2JvPeJbG/Y414ZW31uKVOkfa1tVhCpAFOdQGElsl+Tfd6k5kDXq22Nd1kAX42Q7OcDciMCKSAPU1CjIEo945rMIfhFqYHwQbr4qErTVM6j2bf0o0aFBk1rEL4mLtCEBwqq1JBU5kqlJ7Hr2B/feFYGJ1iOIxrgHOQbs+qZVaAW22uudaR1HR9/MWI1rjUwPUgBobINsYGYzwAF+RnQfGYqHr+t2mex5VNqmCpDEqZRH7teBb6xveQaJK6SQk3SkIzXnl7B9zRWau+psjmx+0mTBGjCjjD7SaVrmhRBDXllXjSDnUqX4k3zrvdBJWhqCMfLGup91vGk400/JUuWdNsTy8/WF1vOpUxX06ZN3X7VBBOaLEFlsSqPCyvebGl+/+o4VLCp9er91TEX2wj210tKz3vs3yMdI/FKAZV5U7CqRnqY99436pUpjBVbrhY87uvUqbPPJAzKxmnyF73fej81AU2FChWiy6S3HC143sTLRCrjlVoHQFbwwWzsPtX/6mAI7hMA4TFGCsjD/LgW9dAGG1rKJmmcgfixBPpf4xGC44D0GB/A+C9sP/Vx7HV4FCj40re0ylk0W5Z6RBWYBb/81XDReK4gTTksmi3Lb6fvrVbwoLEuaTWY9Fza7ieeeCI65kvU8FRjLPgcnrYhWLqjbdS4Ma1H6/P0f7DkRUGhZjZT4BnbCFapmXrNNQNZWOph1/ug2cqC+0CNJAWzc+fOjdtQT89rTy+NbdNYDj/Dn/fXX3+5/RGkLI1KhhSQx87qpkaxxqHETsufFu0TjcXRjGYqN73gggtSvVaWnlfbqX0Wew0oZbR0DGpKfjX49aOA7JtvvnE/noILvRcqg0ot46GGtmY+U6Nbryk9dKzoPPW0X/W8ZcuWdftbr0XvsUrgYo8rzaipcTwKSGODkETotSmjo6y0yneDNH263iMde2Hfe227zn3N/hf8jFDAFdux4881dRbEdgIoO65zVOeFPo8UVMaWwem4l+DzJFKqptej80n7Wq8hSNlGBeypZZyzgg+UYs8Zvf/xpvUHEA4ZKSAPU4+5eo7VqFADUL2tvuGlHl3xv5WBUjmSetHVqFHwpUaKggA1fjTZge91VzmNBtXrMeoNVmPLT4+u51GDKl59v2h6XU12oCnEdW0ojb/SNqjhogZZsPGiUh1lEBTkaVlNRqDnUy+/MgUq3QqO/4il16sA5sEHH3TPo2sV+SnAVbaoSSD81NSeSgi1Xk1UoOdSA1tTcqtE0veS+zKw+fPnu4BQ+1kBpyYq0HVutM0q8VODWte80f7WtmjsWVgaI6KAUY04TYOshr6CIZWxKVDWa0vWa08vrVeletpHeh5tp7ZRU2DHlhFpLI2mVNY1krRdCnyUndIxpQkOtF1hJmnQOL5413pKjQJwvb8KdLSdyu7oWHr11Vdd54Beg6ft1DTimrBDnQxqsOtYVOZWU/yndXFjXbtL4xIV3On1hC0zU5DpjyMFDDoPdT4qs+yfV9uq91KZGWWftR90fmu/K4i+9957012upTJdjU3U69Z+0r5R1kmZPH2mKEsd9r3Xdis7rvNXU/frb3WEaFkFfcFrX2nSFx2fel9UXqnPHT+tuoJcTTIhul3nqMZ36tjRftMkHAp+df4Ggzs/BkjHmj6Hgh0jnrKQeu16fXp+vR6d6woq9ThNj69tzy5UWq0OHHUk6PWqQ0efSwpidTuAA0MgBeRhavipoa9Gnxreyq5o0gj1qKqBpIyEZgBTUKRGhp8FTo1tBVUqc1LPtBpvPmDRDGEKlrSsri2kwEONdl2zRT29us6N1qlGVWquvvpqV3Kk6/9o3WqYqeGp3l5/nRRPwYmCFDUklZlSA1GNcd2eyDV59NoUjGhWNl3cUtR41naqJCx2UgwFbHrden3KCGjAvIKR2BnIdE0rNbi0b9Xg0jaqDEr7WUGPGjYKEDWORg13BVipBZf7o4BIr0HXddH+UuNVDSbNTJdWIBn2tR8IZW+UcdB1rXQMKahW0KdgUsdGkAJKlSkq26DMho4bNaQ1AYUC9kTG8aSXAgIFQzqWdO0fvUc6J3TBajXG1ZD29H7pPND7r21VD78mgdC+jC1rjaXXoOu3KVhUoKMS29jJKdKi80FBkM/cKkhSdit4XShtn16L9rcCPj2HziVlMRV8H8hkD/6iwFq3ss06//R8+szQ+xcsbwvz3uucUYeJLjCtDhgdjwpa1IGizpUgHd8qS1Uwqvv0OH0eKQj2k1DoWNZrVvCkYEefeXqP9X5pm1XypyyWji8dc7rOmzo2dC01dYzEOwd0PuvzScem1qP97zsmdJykFUBnNh1nOkb0WazXqgBKnwnK2um9UNAPIP3yaQ70A3g8AADIJLq0gLKhCoQO5KKrAIADxxgpAAAAAAiJ0j4AAIAsovLReNcji0fjylSqCCB7IJACAADIIhqPpUkzEp08QmMhAWQPjJECAADIIppWX9dIS4QmJIm9vh6ArEMgBQAAAAAh5fnSPl14URMXxl7PAgAAAEDesmvXLnd5iYYNG+532TwfSCmIYgZ4AAAAAJEQV4bK84GUz0Tpon4AAAAA8q558+YlvCzXkQIAAACAkAikAAAAACAkAikAAAAACIlACgAAAABCIpACAAAAgJDy/Kx9AAAg+9qzZ4+7rgsAHKiCBQtagQIF3HWikoFACgAAZMtruaxatco2bNiQ1ZsCIBcpUKCAVahQwUqXLn3AARWBFAAAyHZ8EKUGT/HixZPWgwwg73bO7N692zZt2mQrV660bdu2WaVKlQ5onQRSAAAg25Xz+SDq4IMPzurNAZCLlCxZ0ooUKWJr1651nzHKUKUXk00AAIBsxY+JUiYKAJLtoIMOchmqAx1/SSAFAACyJcr5AGTnzxYCKQAAAAAIiUAKAAAAAEIikAIAAMggp512mo0ZMybNZf7zn//Ysccea99++226nqNz5852yy23RP//6KOPbMmSJZZeU6dOtVq1allW02vSa0uN7tN23n333XHvf/zxx939ft+sWLHC/T9z5sz9Pvfbb79tnTp1shNOOMEaNmxo559/vj311FO2c+dOywwffvihXXfdde5vba+2O/hTu3ZtO/744+3SSy+1L7/8MqnPnYz3f8uWLXbXXXdZ8+bN7cQTT7Tu3bvbzz//nGIZbXf79u3tuOOOszPOOMPt86DXXnvNPb5Zs2b29NNPp7jvhx9+cOfWjh079tlvPXv2tMxCIAUAAJBF1DBXg/+OO+6wBg0apGsdCtRuu+029/fvv/9u1157rf3111+WFxQqVMimTZvmJg6I9c4776RrLIzeC+1PNeJfeOEFe/XVV+3yyy+3iRMnuuBNQUJG2rhxow0dOjRFcCwvvfSS/fe//3U/n3zyiT355JPuArM9evRw73t2MnToUBcAjh492u1DzYzXrVu3aOCjoErb3aJFCxe4XXTRRXbzzTdHg8L169fbnXfe6dbzyCOPuPUEOweGDx9uvXv3drPvBbVu3do2b95sb775Zqa8TgIpAACALKKG8FtvvWWXXHJJutdRpkwZN6WzxAsocrMmTZrYn3/+ad98802K25cuXWrLli2zunXrhlqfgqZXXnnFBSkKSGvWrGlHHHGEa+i/+OKLbp3333+/ZaRnnnnGZWmqVauW4vZy5cpZ+fLl3c+hhx7qMlIPPPCAC06mT59u2cmHH35ol112mdvGGjVq2I033mh//PFHNBjSa1TWq0+fPu7+q6++2mWltN9l+fLlVqJECTv11FPdOvQ+LF682N2nIFKB1rnnnhv3ubt27WoPPfSQu4xCRiOQAgAAOYeyAan9bN+e+LLbtqV/2SRS41KlT77cTL3z//rXv+z555+3Vq1auQa1et5Xr15t/fr1c2VmLVu2tJdffnmf0j6Vrp1++unuti5dukRLCtX7r9IqPVZZlr59+7rg40Boe9QI1rYrmFHQoSAjSOVYKr+qX7++XXXVVTZ27Fj3vzd79my3nWooq7TxzDPPtNdffz3Udiio0Da89957+2SjtP/CTqH/7LPPuv2rdcbSxVuvuOIKF2wp6yEKBlSaefHFF1u9evXsnHPOSRHU6KKvym6dfPLJ7n6VCCqDlhoFRVqf9kUifEZGAbmnoFIZNO137QOV2P39998ptmnw4MHufdO+1/bpmIjNgAWPUb3XKrFTYKr9o4zQ3r17U90uXf9N74Eyo8q66nhVwF+1atXoe6/1BTVt2tTmzJnjOgO0r5WZ07GrY/XXX3+1ypUru+ccMWKEOxfy548fxugY1/uT1n5OFgIpAACQc5QokfrPhRemXLZChdSXjW2oHnFE6su2bJmpL1ENVwUGKvlTSZMa5mqgqxGrbIkasip7Uq98kBqfKv8SBVHqmVfA07FjR5fdUGP20UcfdY1qZcC2bt2aru3T4/zYpcmTJ9ukSZOsbNmyLpjQ84mCgVGjRrnxKgqOGjdu7Eq0PC2nLISCCwUmGg+jhr8a9bpQahgKOmLL+959911r165dqPVs377dFixY4MZFpUaNfwUG8+bNi96mhv15553nXucpp5xi//73v6MZsocfftgWLVrk3ksFFnrvFJQo6I1HAcamTZvccvujAGPIkCEuc+MD6IULF7qgVSVzb7zxhtu2H3/80R0Lfv8MGDDAPv/8c/f+KGBX0BE7PilIY7W0jMaI6bjUupQ5mjFjRqqPueeee9x7fNJJJ7mSVb2/TzzxRDRzumrVKqtYsWKKx+jiuArydFwrQL7++uvdca99evbZZ7vjQx0NCtLS2j8q91TgmhlZOgIpAACAbGT37t1unM7RRx/tGpGaWODII490DWT/WxcSjc0AaRyKyr+kdOnS7qKjzz33nGuw3n777a6ESpkflT0pUxCbxUmUGt1q7CsroW3TdqrhrAa9yt9kwoQJLtvUoUMHq169umuM+8a+z7z06tXLZRYU5Kl065prron7uvanbdu2LqiYO3eu+/+nn36ylStXun0XhjIgCjaUOUmNAkZZt25d9DZNmKAMkN4bvR4Fhwow5bfffnPvw+GHH+5+brjhBhfM6v2JRxOOKPOix8RSMKGson4UVGh/KihW0KpSP7/fFUQoQ6iSRGXWHnzwQfvuu+/s66+/diVz77//vstIKcjRe6f38ZBDDkk1uFSQqLFKeq/1Gq688kq3/KJFi1LdT7pPyyr4mjJlist+KcDU++LXW7hw4RSP8f/7CT30GmbNmuWytTof9BhlNbWP58+f7/a7xkQpkI911FFHpXvyljD+yQMCAABkd4ESpX0UKJDy/zVrUl82tiworcZ7KiVEGcmXQInK05Rtii3nSmQGOTU4NbZEje8gBTKxs6glSutU0NGoUaO461RGQZMfxE6eoUa9HutfnxrCKqVT4KOAQ9kUCTu2RRkKbYsCBJWqKfOj8sjYhvr+KIDS5BTBMrhYCiDFB6yiICFI+1oZH1FJpQICZbIU/CjIUZbFZ2ZiKRun1xOPsloKmLR9+lvBkTJ+CnA87V+VwcW+36L3ZsOGDdFtDB5P2rZ4ihYt6mYvVND9/fffu3UrSNJ27k2ltE8BjAIvZawOO+wwd5uCd2UONWGHso56ztjj1/9frFix6G3BgFKlosoWqjNA+1CTVSgYVLmkjq1jjjkmuqzen7CZzfQgkAIAADlHnJ76TF82E6g8KSi18SD7o8auxp4oAxErtcZ8IutUlmn8+PH73Kegz4/XSWviC006oJJDlSuqMdymTRuX7dGkDulx1llnue3ROB+V9flZDMNQ417ZJGVBlPWLR9kRBWhqzHvB8Uk+EPTvlwIWTY6gwEoz0qnETdup0rjYMUKix6UWSCooqVKlivt75MiRbhY8ZfFU7uYnptB7oyBDwVssBRd+LF5a45tiyzgVSCkbpMkgLrjgAhd0KQOXGo1zUjDogyh/PNepU8cFYqKOgTUxHR36X8dPvONSGUBNUKGMp4J4Bd/KyCnoUvCskshgIKV9mJ4ZG8OitA8AACCXiG08qsRJmQg1XNXY1o/Kyu69917XGE0PlYNpHJcavH6dajSrhExBiG5XeVpsaVXwf43NUWNbpV/K2qgMz2cQ0jPzoDJQKu/TVNtqaCs4Sw+N/9F1uOJda0oNfWVFlAEpVapU9PbgeClRiaGfLVBj3BRYqNGv8kplzVTypt/xaGxQsGwwNSrjvO+++1zgpTFPPjDS+60g1b8v+lGp6LBhw1xZnSbH0DESfC+UCdI4qng01bruU+ZQk54oYFUJp0pDI6m8TyolVVYyGChp+7RdKjcUZZBUahj01VdfuaAoXqfBuHHjXICofefv9wGnykFjA0PtQ425ymgEUgAAABlIvfCffvppip/YRmSy+FnqFCRpggBlffRb40pUOqcfTXagxr8CorTEbrN+NIGApp1WMKaGtcrLFKgpE6T7/YVcFRxpnJCyJXr9GrsTDB7U2NaEA8rWqAxQk0VoAg1Jz0VvlW1RiZ3G+yi7FZslClKJWuzr8uN9VH6mmflUNqbyOb02jStSJkkXv1XAGDu7nTIlum6RplzX1Ohal9YheqyygcpG6XVqHygIjVd6J5qlUff7Ery0qMxP115S4KZxUj4QVHmfZurTtus+zcincWcKYhSI6DWq9E7bpOBG2Tu9F/EyOH5CCE1coe1X5kflhApedqbyPmnKcj1P8PjQGCcFcho3J5qsRO+DJsPQ/Sr5U/mgsmyxVPapSwT4CxQrUNd4P42N0jp0LsXuTwV/2pcZjdI+AACADKRGduwFQpWxSWvWs/RSedyFF17ori+kAEZZEAU0yhbpuj7KZKjXXxmG4DifeBQMxVJmQ2ObtE49h2beU2ZAGRg1htXAFT2XMkMaG6PshGbtU1mYsjOiBvUvv/ziAgE1yNXIv+mmm1wGR0FeIrPWxVKAoBK6/c3Wp8Z7LG2bMjyiQEnbq4a6AkC/fSpx00/s2CsFWMpUKXjVeCU9xo9bUhCl4Kp///4uONL7rqBWEzjEo7FeynYpI6ZJNPZHpZAKMlTqp6yXxqWpbFCzBeo1KbBWCaGyVn67FUTdfffdbrIPZZWU6VEgEltOKirjGzhwoHt9ei8VvCkrpQznvJhMnKfn1PGl40Mz72nsnEomNfGJL01U5kxZJgW+CkR1u/6OV+6oY1elln6iD38c6n3Sduk4DY7xUpCnAFIzGma0fJG8duW2GP4g0BsMAACynsZjqHdf43A02B05j7I8mokvOE5GWQllF9Rwzi2UgfPBZbJoWnJlDh977DFLNgU1n332mRs3pxI9T0GbMo0KfHK69957zwVl+h0vONzfZ0yY2IDSPgAAACSVrqmkEjCNxVFJmErjVB6WWiYG/1D2RY359M6qmBZlpVT2p0yZ1q+SP2XoVE6oySRyg2eeecZNtZ5aEJVMBFIAAABIKmWfVN6mDIca6Co3u/XWW5OaucmtNA279p+yKsmmcVAa+6VyS12UWeV/KoMLlmXmZB988IErjdTrygyU9lHaBwBAtkJpH4CMRGkfAAAAAGQRSvsAAEC2lMfnwwKQzT9bCKQAAEC24geJb926Nas3BUAutGXLFjde7EAnpOA6UgAAIFvRtY404H7NmjXR69LEu1goAITJQu3evds2bdrkfvQZo8+aA0EgBQAAsp2KFSu63z6YAoBkUPCkCwqXLl36gNdFIAUAALIdZaDU2KlQoYLt2rUrqzcHQC5QsGBBF0glK8NNIAUAALItNXoOtPwGADICk00AAAAAQEgEUgAAAAAQEoEUAAAAAOS0QGrv3r02evRoa9GihTVo0MC6d+9uy5cvT3X5N954w2rVqrXPz4oVKzJ1uwEAAADkXVk+2cS4ceNsypQpdt9997mpTocPH27dunWzN9980woXLrzP8osWLbLGjRvbyJEjU9xerly5TNxqAAAAAHlZlmakdu7caRMnTrTevXtbq1atrHbt2jZq1ChbtWqVTZs2Le5jfvrpJ5eBKl++fIofZvQBAAAAkCcCqYULF9qWLVusWbNm0dtKlSplderUsVmzZsV9jDJSNWrUyMStBAAAAIBsVNqnzJPogntBuvievy9o48aNtnr1aps9e7YrB1y/fr3Vr1/f+vfvb9WrV0/3dkQiEdu6dWu6Hw8AAAAg51NckOgFe7M0kNq2bZv7HTsWqkiRIi5oirV48eLoCxw2bJht377dxo8fbx07dnRjqg455JB0bYeumL5gwYJ0PRYAAABA7hFvnoZsF0gVLVo0OlbK/y07duywYsWK7bP8iSeeaF9++aWVLVs2GimOHTvWja+aOnWqXXPNNenajkKFClnNmjXT/ToAAAAA5HxLlixJeNksDaR8Sd+aNWusatWq0dv1vyaUiCd2dj4FXFWqVHElf+mloKx48eLpfjwAAACAnC/Rsr4sn2xCs/SVKFHCZs6cGb1t06ZNNn/+fGvUqNE+y7/wwgvWpEmTFOOZ/v77b1u2bBkZJQAAAACZJn9W1x926tTJRowYYdOnT3ez+PXp08ddT6pNmza2Z88e+/PPP91YKGnZsqW7gO/NN9/sxkvNmzfPevXq5bJU7du3z8qXAgAAACAPydJASnQNqQ4dOtjtt99ul112mbse1IQJE9y4pZUrV1rz5s3tnXfeiZYCPv300y4jpWWvvPJKK1mypD377LNuggoAAAAAyAz5IpoCLw9TVkvq1auX1ZsCAAAAIIfEBlmekQIAAACAnIZAKgPszdtJPmQijjUAAICskaXTn+dW+fPls7e/2Gh/bdyT1ZuCXOzg0gWs3Umls3ozAAAA8iQCqQyiIGrN+t0ZtXoAAAAAWYjSPgAAAAAIiUAKAAAAAEIikAIAAACAkAikAAAAACAkAikAAAAACIlACgAAAABCIpACAAAAgJAIpAAAAAAgJAIpAAAAAAiJQAoAAAAAQiKQAgAAAICQCKQAAAAAICQCKQAAAAAIiUAKAAAAAEIikAIAAACAkAikAAAAACAkAikAAAAACIlACgAAAABCIpACAAAAgJAIpAAAAAAgJAIpAAAAAAipoB2An3/+2TZv3mxly5a1atWqHciqAAAAACB3B1JvvfWW3X///bZ27drobYcccoj17dvXzj///GRuHwAAAADk/EBqxowZ1r9/f2vatKnddNNNLoBas2aNvfHGGzZw4EArU6aMtWrVKmO2FgAAAAByYiA1fvx4O+OMM2zUqFEpbr/wwgutT58+9thjjxFIAQAAAMjVQk828dNPP9kFF1wQ9z7dvnDhwmRsFwAAAADknkBKE0ts3Lgx7n0bNmywwoULJ2O7AAAAACD3BFLNmjWzsWPH2qpVq1LcvnLlSnvkkUfs5JNPTub2AQAAAEDOHyOlCSY0HqpNmzbWsGFDN9mEZu+bO3eulSpVys3cBwAAAAC5WeiMVPny5e3VV1+1zp0727Zt2+yHH35wv/X/a6+9ZpUrV86YLQUAAACAnJqRmjVrltWpU8dNgR5r06ZN9vbbb1u7du2StX0AAAAAkPMzUl26dLGff/457n3z589315ICAAAAAMvrGakBAwa4ySQkEonYnXfeaSVKlNhnuWXLlrkxUwAAAABgeT0j1bZtWxdA6cfz//uf/PnzW4MGDWzYsGEZub0AAAAAkDMyUqeddpr7EU0qoYxUjRo1MnrbAAAAACB3TDYxadKkjNkSAAAAAMhNgdTpp5/uLrZbu3Zt93da8uXLZx9++GGytg8AAAAAcmYg1bhxYzvooIPc340aNXLBUrLs3bvXxo4day+99JJt3rzZrX/QoEF2+OGH7/exb7zxhpuGffr06ValSpWkbRMAAAAAHHAgFZxA4r777rNkGjdunE2ZMsWtt2LFijZ8+HDr1q2bvfnmm1a4cOFUH/f777/bkCFDkrotAAAAAJAh15EaP358itn7glavXm3du3dPeF07d+60iRMnWu/eva1Vq1audHDUqFG2atUqmzZtWppZLGWi6tatG3bzAQAAACDzA6nRo0dbp06dXEYo6NVXX7Wzzz7bvv3224TXtXDhQtuyZYs1a9YselupUqWsTp06NmvWrFQf9+ijj9quXbusR48eYTcfAAAAADJ/1r6nnnrKbr31VjvvvPPs9ttvt5NPPtnuuOMO+/jjj61169bu70Qp8ySVKlVKcXuFChWi98X6/vvvXRbr5ZdfdhmwZFCGbevWrUlZl8aPFStWLCnrAhKxbdu2VLPEAAAASJzaVInOBxE6kGratKmb5OH++++3gQMHunFMZcuWdRNGKJAK2wCU2LFQRYoUsY0bN+6zvIKdfv36uZ8jjjgiaYGUslsLFixIyroURCmjBmSWpUuXRs8lAAAAHJi05mk4oEBKdu/ebXv27IlGbRrrtH379tDrKVq0qPutx/u/ZceOHXGzOnfffbdVr17dLr30UkumQoUKWc2aNZOyrmTOaAgkQucEGSkAAIADt2TJkoSXDR1Ivfbaay4bpWBHZXxnnXWWDR061GWJlKm666679inVS41fbs2aNVa1atXo7fq/Vq1a+yz/yiuvuAixYcOG7n8fzGls1rXXXut+0hv8FC9ePF2PBbIapaQAAACW6UmR0IHULbfc4q71dO+990av9fTggw9a27Zt7c4773RBzZw5cxJal2bpK1GihM2cOTMaSG3atMnmz5/vJrSIFTuT33fffedm73v88cft6KOPDvtSAAAAACBdQgdSt912m3Xu3Hmf29u0aWMnnnhiqGs7KbukgGnEiBFWrlw5q1y5sruOlK4npfUp47Ru3TorWbKkK/2rVq1aisf7CSkOO+wwK1OmjKWbBupv2RL/vgIFVIP4z/+pLSf58ys9EP230PbUl43kz2+7C/+zbMEdWy1fKhMGRPLls91Fiqdv2Z3bLN/evalux66iB6Vr2QI7t1v+vXuSs6y29/+j/wK7dlj+PbuTs6z2r94TvTW7d1qB3buSsuzuwkUtkr9AOpbdZQV270x92UJFLFKgYMLLRk/f3btVD5vqsqY630KFwi+rjG9aJbtaztcQh1lWx1haY7rCLFuwoAZV/u9vnRNpTRoTZtkw5/0BfEaEWlbbm9qkIjongln1MMtq/6Zx3tv/X4w99LI6Hv6/auCAl9X2+h5CHb86jpOxbLF/znvbuVMDZpOzrI4HHRdhl9VyWj41On51HIddls+I/+0HPiP+OT74jPjffuAzgs+IgnHaBvqdaFYqksV2794deeCBByJNmzaNNGjQINK9e/fI8uXL3X36ffTRR0deeeWVuI/96quv3P1++fT4/vvvI9+/9pp2Wfyfs85K+YDixVNf9pRToos9885fkS0lD0512ZVHNogM/8/q6M+GQw5Pddk/K9dKsaz+T21ZrSe4rJ4ntWW1fcFlfzvmpFSX3VmkWIplf27QOvX9YJZi2YWNz0lz2Ycm/BJddl6LS9Jcduz4H6PLftP6qjSXfeyhWdFlv27XM81lJ97/SXTZz9v3S3PZSUPeiy778WWD0lz2+dumRpf94IphaS77Sr/J0WXfuebhNJd9vfcT7hhzXnwxzWUjTz31z/H71ltpLzt27D/LfvRR2ss+8MA/y379ddrLDh78z7I//JD2sv36/bPs0qVpL9uz5z/LrlmT9rJXXPHPsn//nfayHTqkPO/TWjadnxHOIYekvuyJJ6Zctlq11JetUyflsvo/tWW1niA9T2rLavuCtP2pLavXHaT9ktZ+C9L+TmtZvV+e3se0ltVx4On4SGtZHV+ejru0ltVx6+l4TmtZnQ+ezpO0ltV55un8S2tZnb+ezuu0ltXngsdnxP/wGcFnBJ8RfEbY/tsRigsUHyQioetI9e3b15YvX57ith9//NGNkwr64YcfrHHjxhZGgQIFXHnel19+aXPnznVlelWqVHH36feiRYusffv2cR/bpEkTd79fHgAAAAAyQz5FU4mMZXrxxRetfv367n+V3B177LHuWk5169ZNMWZJM+olayrxzDBv3jwXk9arUSOpZTvPvrvO1q/cdwp3j9K+f1Dal77SvvKHFLUuZ5ajbIfSPkr7gijt+x9K+/6H8t//ofyXz4hYfEak+hkx7+ef3TlTr149S9cYKU1HXrBgQcvv68HjyFXTLesDJlivn5ZEl4sZJ7Q/wXFNSV02MA4rmcvuKVzU9mTEsoWKuJ9kL7u3YGH3k7XLFnI/yV7WfQj4sRDJXFadCIke72GW1edKRiwb5jwOs6xkh2XDzCwaZtkwFxAPs2ywAyqZy+oLz3/pJXNZjctL8LohGbasxgf6MYrJXJbPiP/hM+IffEb8D58RfEbE+4wIMWtf3EhpxYoV1q1bN9u8eXPCKwIAAACAvCJuIKUpyRcuXGgXXXRR5m8RAAAAAOTEQKpChQo2Y8YMu/jiizN/iwAAAAAgm0t1EJSu29S1a9ekXfkXAAAAAPLcBXnHjRtnZcuWTXHbmDFjUlwId/369cndOgAAAADIqYHUYYcdZj/99NM+t+kaTrEqVaqUvK0DAAAAgJwaSGm8FAAAAADgf1K/UBQAAAAAIC4CKQAAAAAIiUAKAAAAAEIikAIAAACAkAikAAAAACCjriMVa+PGjTZ79mxbs2aNtW3b1jZs2GDVq1fnIr0AAAAAcr10BVLjx4+3xx57zLZv3+4Cp/r169tDDz3kLsg7ceJEK1WqVPK3FAAAAAByamnf5MmTbcyYMXbVVVfZiy++aJFIxN3eqVMnW758uT388MMZsZ0AAAAAkHMDqUmTJtk111xjN9xwg9WtWzd6+ymnnGI33ngjF+8FAAAAkOuFDqT++OMPa9y4cdz7jjzySFu7dm0ytgsAAAAAck8gValSJZs7d27c+3744Qd3PwAAAADkZqEnm+jQoYMbI1W0aFFr1aqVu23r1q32/vvvuwkoNHYKAAAAAHKz0IFU9+7dbcWKFTZixAj3I126dHG/zznnHOvRo0fytxIAAAAAcnIgpenOhwwZ4jJPX331lbueVMmSJa1Ro0Z29NFHZ8xWAgAAAEBuuCCvLr6rHwAAAADIaxIKpAYOHBhqpcOGDUvv9gAAAABA7gikZs6cmeL/NWvW2O7du+2www6z8uXL24YNG9zFeAsXLmy1a9fOqG0FAAAAgJwTSM2YMSP695tvvukmmdDMffXr14/evmTJEuvZs6edeeaZGbOlAAAAAJBTryM1atQou+mmm1IEUVKzZk278cYb7cknn0zm9gEAAABAzg+k1q9fb6VKlYp7X8GCBd01pQAAAAAgNwsdSDVo0MDGjx/vpj2PHTelcr8mTZokc/sAAAAAIOdPfz5gwADr3LmznXrqqdawYUMrU6aM/fXXXzZ37lwrXbq0C7IAAAAAIDcLnZHSrHxvvfWWXXLJJfb333/bDz/8YNu3b7euXbvaG2+8YVWqVMmYLQUAAACAnHxB3kMPPdRlpgAAAAAgLwqdkQIAAACAvI5ACgAAAABCIpACAAAAgJAIpAAAAAAgJAIpAAAAAMiIWfsGDhwYaqXDhg0Lux0AAAAAkLsCqZkzZ6b4f82aNbZ792477LDDrHz58rZhwwZbvny5FS5c2F1nCgAAAAAsrwdSM2bMiP795ptv2ogRI2zMmDFWv3796O1Lliyxnj172plnnpkxWwoAAAAAOXWM1KhRo+ymm25KEURJzZo17cYbb7Qnn3wy1Pr27t1ro0ePthYtWliDBg2se/fuLruVmh9//NGuuOIKa9iwoTVt2tQGDRpkmzdvDvsyAAAAACDzAqn169dbqVKl4t5XsGBB27p1a6j1jRs3zqZMmWJDhw61559/3gVW3bp1s507d+6z7Nq1a+2qq66yypUr29SpU91j58yZY7fcckvYlwEAAAAAmRdIKWs0fvx427hx4z7jplTu16RJk4TXpWBp4sSJ1rt3b2vVqpUbX6WM16pVq2zatGn7LP/7779b8+bNbciQIVa9enU7/vjj7eKLL7bPP/887MsAAAAAgIwdIxU0YMAA69y5s5166qmuvK5MmTL2119/2dy5c6106dIuyErUwoULbcuWLdasWbPobcp21alTx2bNmmVnn312iuWPO+44GzlyZPT/n3/+2V5//XU7+eST7UBEIpHQmbTU5MuXz4oVK5aUdQGJ2LZtmzuGAQAAcGDUplJ7PkMCKWWN3nrrLXv66aftm2++sRUrVljZsmWta9eubuySAqtEKfMklSpVSnF7hQoVovelpm3btrZs2TJX5jd27Fg7ELt27bIFCxZYMiiIUiAIZJalS5e6YAoAAAAHTjORZ0ggJYceeqjLTB0o3/iL3dgiRYrsUzoYSzMH6vHDhw+3Ll26uMzUQQcdlK7tKFSokJssIxkSjWCBZFGZKxkpAACAA6eZyBOVrkBq9erVbpKH4IQQmiRCgc3s2bPdOKdEFC1a1P3WevzfsmPHjv2Wx9WrV8/9VjbqlFNOsQ8++MDOP//8dAc/xYsXT9djgaxGKSkAAIBlelIkdCD13nvvWb9+/dwFef0TBWsJjzzyyITX5Uv6NFFF1apVo7fr/1q1au2z/C+//GK//fabm5gimB1TOaGCOwAAAADIlrP2Pfroo1a3bl03/Xj79u3tvPPOs7ffftv69+9vBQoUsFtvvTXUeKsSJUrYzJkzo7dt2rTJ5s+fb40aNdpn+S+++MLN8KdlPAVWmpK9Ro0aYV8KAAAAAGROIKWB7bporiZU0FTnmnlPQYwmm9BYJQVaidLYqE6dOrnxTtOnT3fr6tOnj1WsWNHatGlje/bssT///NO2b9/ultcsfso+KWhbvHixKyNUYKWLA2sWQQAAAADIloFU/vz53TTnUq1aNVdup/FR0rJly1ADtESBUIcOHez222+3yy67zGW1JkyY4CaAWLlypbtu1DvvvOOWVRD1zDPPuL+17PXXX+8COi2vxwEAAABAZgg9RkpjoDTtuUrv9LcmilAmSQGNSu6CE1AkQgGQMkz6iVWlShVbtGjRPjOUPfbYY2E3GwAAAACyLpC69NJLbfDgwe4CtirDa9q0qQ0cONBllSZPnuzGTwEAAABAbha6tO+iiy6y2267LZp5Gjp0qJuu/J577nEz+ek+AAAAAMjN0nUdqcsvvzz69+GHH27vvvuumzmvXLlyydw2AAAAAMgdGal4dA0pgigAAAAAeUXBRK/3FOYqvwsWLDiQbQIAAACAnB9IaZpxH0hpPNRTTz1lRxxxhLVt29bKly9vGzZssBkzZthPP/1k1113XUZvMwAAAABk/0CqV69e0b9vvfVWa9WqlY0ZMyZFluraa691U5j/+OOPGbOlAAAAAJBTx0hpYolLLrkkbqnfeeedZ5999lmytg0AAAAAckcgddBBB9lvv/0W97758+db6dKlk7FdAAAAAJB7pj9v166djRw50goVKuRK/MqWLWt//fWXvffee/bII49Y9+7dM2ZLAQAAACCnBlJ9+/a1lStX2qBBg1KU90UiEbv44ovdxBQAAAAAkJuFDqQKFy5so0ePtsWLF9vs2bNt06ZNLivVtGlTq1q1asZsJQAAAADk5EDKO+qoo9wPAAAAAOQ1CQVSXbp0scGDB1uNGjXc32lRud8zzzyTrO0DAAAAgJwZSGn8U7y/97csAAAAAOTZQGrSpElx/wYAAACAvCj0daQAYH/ITCOzcKwBALJ1Rqp27doppjpPi5bThXkB5F36HFi8Yott27knqzcFuVixwgXsqCoHZfVmAADyqIQCKV0bKtFACgBEQdTW7QRSAAAgDwdSvXr1yvgtAQAAAIDcFEi99tprdsopp7gL7+rv/Tn//POTsW0AAAAAkHMDqVtuucVefPFFF0jp77SoBJBACgAAAIDl9UBq+vTpVr58+ejfAAAAAJCXJRRIVa5cOe7f27Zts82bN1uZMmWscOHCGbOFAAAAAJATA6lYykqNHz/eTXOua3gUKFDAGjRoYDfeeKOdeOKJyd9KAAAAAMjJF+R955133HToe/futX//+99255132rXXXmsbN260K6+80r766quM2VIAAAAAyKkZKWWi2rVrZw8++GCK2xVc9ezZ04YPH26vvPJKMrcRAAAAAHJ2RmrZsmV2wQUXxJ2tr2PHjrZ48eJkbRsAAAAA5I5AqmbNmrZgwYK4961cudKqVq2ajO0CAAAAgJxd2vfHH39E/+7atasNGjTIChUqZGeeeaYdcsghbnzUxx9/bGPGjLH77rsvI7cXAAAAAHJGIHXaaae50j1PM/UpYLr//vtTLKfbu3XrlmrGCgAAAADyTCB17733pgikAAAAACAvSyiQat++fcZvCQAAAADk5gvyrl692ubMmWM7d+6M3qbrSm3bts1mz55to0aNSuY2AgAAAEDODqTee+8969evn+3evTta7qexUf7vI488MvlbCQAAAAA5efrzRx991OrWrWtTp051JX/nnXeevf3229a/f38rUKCA3XrrrRmzpQAAAACQUzNSS5cutQcffNDq1KljTZo0sYkTJ1qNGjXcz9q1a12gdfLJJ2fM1gIAAABATsxI5c+f30qXLu3+rlatmv3yyy9ufJS0bNnSlixZkvytBAAAAICcHEhpDNQ333wT/VsTTixcuND9v2nTphQTUAAAAABAbhS6tO/SSy+1wYMH29atW61Pnz7WtGlTGzhwoHXo0MEmT57sxk8BAAAAQG4WOiN10UUX2W233RbNPA0ZMsR27Nhh99xzj5vJT/eFobLA0aNHW4sWLaxBgwbWvXt3W758earLL1682K655ho3PqtZs2bWu3dv++OPP8K+DAAAAADIvEBKLr/8chswYID7u2rVqvbuu+/aF198YdOnT7datWqFWte4ceNsypQpNnToUHv++eddYNWtW7e4JYLr16+3q666yooWLWqTJk2yJ554wtatW+eWVzAHAAAAANn2gry6btSnn35qs2bNcuOiDj74YJchUplfGAqWNOufrkvVqlUrd5su5qvs1LRp0+zss89OsfyHH37oSgofeOABF0zJ8OHD3WM1bksZKgAAAADIdoGUMkA9evSwefPmWcGCBa1MmTK2YcOG6LTnY8eOjQY5+6NJKrZs2ZIiACpVqpSbWl1BWmwgpeWUwQquX7MIigI6AAAAAMiWgZSyQRrD9Mgjj9hpp51m+fLlc+V47733npuEYsSIEXb77bcntK5Vq1a535UqVUpxe4UKFaL3BVWpUsX9BD3++OMusGrUqJGllzJsynQlg/ZHsWLFkrIuIBHbtm1zx3B2wTmAvH4OAAByLn2fqC2TIYGUxkFpfNTpp5+eIit01llnucyUJo5INJDSl58ULlw4xe1FihSxjRs37vfxGielmQL1fOXKlbP02rVrly1YsMCSQUGUMmpAZtFFsv25lB1wDiCvnwMAgJwtNjZJWiClCE1jouKpXr16qOtI+RI9PSZYrqeJI9LK6ihSfPjhh238+PF23XXXWefOne1AFCpUyGrWrGnJkGgECySLzrvs1BvPOYC8fg4AAHKuJUuWJLxs6EDq3HPPtSeffNJOOukklznyVN6nDFHsuKa0+JK+NWvWuNn/PP2f2ux/yh7pulVvvfWW+33llVdaMhp+xYsXP+D1AFmBUlLkdZwDAICs6BBOKJBSwOLpWlHffvutK+3TbHmHHHKIK8P7/PPP7c8//7TLLrss4SevXbu2lShRwmbOnBkNpDRpxPz5861Tp05xH3PzzTfbBx98YA8++KC1a9cu4ecCAAAAgGRJKJBSoBN06KGHut+6dlRQ2bJl7f3333fBTqL1hwqYNEGFxjhVrlzZTWdesWJFa9Omje3Zs8fNEliyZElX+jd16lR755133PobN27s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3G+dH7qALpCXvg98EOWvF+gzsXwfIBYZqTyOXkfkdZwDQPzKA/XEa7C8L+8Dcju+DxAWGak8il5H5HWcA0B8vvJAPfEEUcgL+D5AepGRysPodURexzkAAOD7AOlFIAUAAAAAIVHaBwAAAAAhEUgBAAAAQEgEUgAAAAAQEoEUAAAAAIREIAUAyPRphgEAyOkIpAAgj1ixYoXVqlXLpk6dmunPvWrVKrvmmmvs999/j9522mmn2S233JLp2wIAQDJwuXIAQIb74osv7JNPPklx29ixY61EiRLsfQBAjkQgBQDIEnXq1GHPAwByLEr7ACCHeumll6xdu3Z27LHHWqtWrWzMmDG2Z8+e6P3Tpk2zc8891+rXr28XXHCBLVy4MMXjVeKnUj+V/AXFltzt3LnTHnroITv99NPdus4++2x79dVXo/frOR9//HF3u+5v0KCBXXrppfbVV19Fn2fgwIHub63Drzv2eTZv3mzDhg2z1q1bW7169dz6Xn755X22bfTo0Xb//ffbSSed5J7v6quvtmXLloXad9omBXLfffedXXLJJe75Tj31VJswYUJ0mZkzZ7r9o99BnTt3dj/BbVJ27d5777UmTZpYw4YNrW/fvrZlyxa3X1q2bGknnHCC9erVy9avXx9qO7V/rrjiChs8eLAdf/zxdtZZZ7n9vW7dOrvrrrvcNuv9b9y4sV1//fUp3ktt42233ea2QceHXqPel++//z7Fc3z88cfWvn17ty/btm1rb731lv3rX/9yx5O3Zs0a9x6ecsopbrkOHTrY9OnTU6zn888/t4svvti9/kaNGtl1111nP//8c6jXCwA5CRkpAMiBHnvsMRs1apR16tTJNXAXLFjgGr4rV650DfoZM2ZY79697ZxzzrH+/fu7+/U7Pfr16+fK8tQwPu6449zfauAXKlTIBTsjRoyw5557zgUPCjxWr15tjzzyiN1www2uka5GvB47fvx4F3BomVjbt2+3jh072l9//eW2u3Llyvbhhx+6QGDt2rV27bXXRpd99tlnXWCioGvjxo12zz332IABA+yFF14I9br27t1rN954o1155ZXut4K2Bx54wI4++mhr0aJFqHVNnDjRTj75ZPee/PDDD/bggw/ajz/+aBUqVLChQ4e6AEfbecghh7igKIzZs2dbkSJF3D7dunWr5c+f33r06OFeu94brXPRokUu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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Grupo Históricamente Privilegiado: '(12.0, 16.0]' (Tasa base: 48.5%)\n", " =====================================================================================\n", " 🚨 [ALERTA] '(10.0, 12.0]': DIR = 0.53 (25.5%) | 🚨 [ALERTA] '(0.999, 9.0]': DIR = 0.27 (12.9%)\n", " 🚨 [ALERTA] '(9.0, 10.0]': DIR = 0.40 (19.3%) | \n", " =====================================================================================\n", " 💡 ACCIÓN REQUERIDA (Fase 5): Implementar Reweighing sobre 'education_num' para neutralizar el sesgo.\n", "\n", "\n" ] }, { "data": { "text/markdown": [ "### 🔍 Analizando Sesgo Sociodemográfico en: `marital_status`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAG2CAYAAAB1bLe6AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAiP9JREFUeJzt3QeUVdXZgOENSBERsKHYFQsBUTBBNDYssRsbxl4jdow1ihoL9l5QUBNRgjHGLvaGRmNibyj2CkqxUKS3+de7/fd45nJnmDvc6e+z1iyGO+feOXPq9+397X2alJSUlARJkiRJUqU1rfyikiRJkiQTKUmSJEmqAnukJEmSJKlAJlKSJEmSVCATKUmSJEkqkImUJEmSJBXIREqSJEmSCmQiJUmSJEkFMpGSJEmSpAKZSEmNyMCBA8O6665bqa8zzjgj1BennnpqXOcxY8bU+O/md/K7WYfK+vLLL0Ndcf/998f1v+eee8pdZt99943LPP744zW2Xtdcc038na+88kpRPo/P4fMOOuigKn/GDTfcUO75wrmV9e2334Y///nPYbPNNgsbbLBB+MMf/hCeffbZKh07rHMxt0VDV952nTVrVhg3btwiXTv/+9//huq2qNeHunR9kRq6xWp7BSTVnN/97ndh1VVXLfPaJZdcEiZOnBguv/zyMq/nLqfiOOecc8JLL720QFBdW3r27Bn3fY8ePfL+/K233opfJFM77rhjaMw+/PDD0KZNm7gPcxFkJ99991048MADw6RJk2IStPzyy4d77703HHvsseHKK68Mu+66aw2veeOy9NJLx2N6lVVWKX1t5MiRoV+/fuGEE04Ie+65Z6iLpkyZEo488siw+uqrh0svvbRBXF+khs5ESmpEOnfuHL+yrrvuuphI7bbbbrW2Xo3J888/HxZbrO5cegk2swFnrmeeeSb89re/DWeeeWaoz1q1alXm3xkzZoTmzZsXtC9IpNZee+2Fniv0XH3zzTfhzjvvDL/+9a/jawTve++9d7jooovCNttsE1q3bl3p39uyZcv47+KLL17p9zRmbNvcfcS+Gzt2bKjLuA7TaEEi1VCuL1JDZ2mfJKlcp512WrjttttKg/n6qlOnTvHftdZaK/777rvvhq222ipcf/31lSr3mjZtWiwZW2eddSpcbt68eWH48OGxnC8lUSmBo3eKYJlgt9B1b9KkSenfIEmqG0ykJJXrySefDIcffnjo1atX6Nq1a/z36KOPDu+9916Z5UaPHh1OPPHEGJiut956Ycsttwz9+/eP40Sypk6dGq699tpY2tS9e/e47LbbbhvLWAhUK+Nf//pXfP/6668f3zts2LByl3344Yfj2BR+F6VrBxxwQBgxYkSl9/i///3vcMghh4QNN9ww/j5auf/+97+H+fPn512en7FO3bp1CzvvvHP8f0lJSZlxG+PHj4+9Fbnjaj7//PNw8sknh0022SRul+222y5uq5kzZ5b5HbyP8p2nnnoq7LXXXnG92C+Mx5kwYcIC6/TEE0/EMjOC+o022igG89lxHuWNkarM357+pltuuSXul1122SX+7YwLGjBgQNzflT3O6K1hP22xxRYxuSEhyefFF18MBx98cFwvkhV6evgbFoaSvI4dO5aW4NELR1I0ePDgsPXWW8eyuxdeeKF0f+X66KOP4s/okUrjbebMmbPAcp988kmYPn16XLdcbEe888475a4n58H+++8ffvWrX4W77747vsbvXGmllcISSyyx0DFgbAt6mdkHbM8+ffrE7Ztr8uTJ8byjd4zjjeOO4++zzz4rsxxjJdmnHA+c33zPcuXh+OI44Bpx2GGHxfOO4+7000+PpWv0DHFN4XXWkWM59zhhjM9ZZ50V9wvrxt+x++67h3/84x+VWrfcMVIsd/bZZ8fvuS5lyzA5Z+gl3H777eP+4WunnXYKN954Y5g7d24olv/973/xfGI7s56UyWbPb/Yb5zweeOCBMmPiZs+eHf72t7/F853txjbp3bt3/Jt++OGHhV5f2I6cV7k459MxU+i1XNLP7P+VlNftt98ex08RpB9//PGxDIrg6MEHHwyvvvpqLPliLALBEYEtAfZ+++0XlllmmRhMUtZEIPDYY4/F1niCEpb7+OOP43gbvidoZAIDejwIaK6++uoK98YVV1wRAwqCCYKk77//Pk5KUNGym266aQyuCHwfffTRcMwxx8TA4NBDD63wdw0ZMiRcdtllYbXVVgt9+/aNZVX8zQRd/F0EKU2b/tIWxZgEvkhalltuufDII4/EZb/++usY8KRxG7zG+7IBHb0jrA/BPskey7799tvhpptuigEYCUy2R+g///lPTBLZjvvss094+eWXw0MPPRSDoH/+85+lyxEMkpTwe0iA+Yy77rorHHHEEfFnBEvF+Nv5zJQAkKwQuBP0cmwwJqgiHCfnn39+TGr+9Kc/xSSE1yi9y8VnXnDBBTEQ5ZhkHdjmbMsPPvggBt8VyfYErbjiiuHWW2+NASgBJcEkn7XyyivHbUrQyrGckACAc4Ag+Isvvoi//ze/+U1MEmhoAIEs2A65VlhhhfhveZOisA3Z3ux7tv/vf//7+DrJEF+VQVkhn8NxSOJFMsa4IBIWji1w3nCucryQoJA8sE4cOzQ0cN7wdyWcu5xvfGb79u1L/47yMEaMpIHGhB122CFud64bBOMkpCQqvM7vIgGnt41jAKwTfyvXDI5vxpdxbWCMGcl5s2bN4uuFrBv7k/fxGXyfegp/+umn+H+OU45dxoUyro115bwhyTnllFPComJ/sl+7dOkSrz+ch4xjIoknaSShYqwixxH7nW1PA1DqgeS8eO6552KjAa9zLSPp57jlWss2rOj6UlmVvZZLyiiR1KhttdVWJeuss06Z1+bOnVvSq1evkt122y1+n3XZZZfF5R9//PH4f/7l/48++miZ5YYMGVKy6667lowcOTL+/5lnnonL3XrrrWWWmz17dsnmm29e0r179wrX88svvyz51a9+VXLYYYeVWadRo0aVdO3aNX726NGj42vvvPNO/P955523wO866KCD4vJjx44t93d9/fXXJV26dCnZcccdS6ZNm1b6+vz580tOPvnk+Nn3339/fI3fyf/XXXfdkrfffrvM79p7773j65999lnp6/ytbPPsZ+68884lW265ZcnEiRPLrMfdd98dP/uWW24pfY3/8/XGG2+UWfbAAw+Mr3/xxRelfwPb64ADDiiZNWtW6XL8jo022ijuW9x3333xffyuqv7t6623XnxfMm/evJJtt902bufp06eXu51/+umnuN/5+7PLffvttyU9e/aMn/3yyy/H19hffN5RRx0V1yW7Xqeddlpclv1eVRxTTz/9dMmRRx4Ztxu/68QTTyz9+TnnnBN/xzbbbFNyxx13xON54MCBJT169Cjp1q1b6b5/+OGH43L//Oc/F/gdM2fOjD/jGM5uv1NOOSVu6/333z/+3ieffLLg9Wc78Vnrr79+PFey27h3795xO0+ZMiW+1r9//7jsPffcU+YzPvjgg/j72XfpHDv99NPjstdee22l1iMdhzfddFOZc4Fjjtdvv/320tf5Hb/97W9Ltthii9LX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8kaSUJ0mT54cLrjggjLJMe65557wn//8J379+9//Dn/729/iA2aPOuqouN/rkgsuuCAmgNdff33chsyMd8QRR5QmPiRVrPfmm28eE7e99947/PnPfy5NCidOnBjOO++8+Dk33nhj/Jxs48AVV1wRTjjhhDj7Xta2224bfvrpp/Dwww/XyN9pIiVJklRLCIQfeeSRsM8++1T5M9q3bx+ndEa+hKIh69WrV/juu+/Cm2++Web1L774Inz55Zeha9euBX0eSdN9990XkxQS0rXWWiusvvrqMdC/++6742dedtlloToNHTo09tKsttpqZV5feumlw3LLLRe/ll9++dgjdfnll8fk5Nlnnw11yTPPPBP222+/uI6dOnUKJ554Yvj2229LkyH+Rnq9TjrppPjzP/7xj7FXiu2O0aNHhzZt2oStttoqfgb74ZNPPok/I4kk0fr973+f93cffvjh4dprr42PUahuJlKSJKn+oDegvK+ZMyu/7IwZVV+2iAguKX1K5Wa0zv/ud78Ld911V+jdu3cMqGl5Hz9+fDj11FNjmdkWW2wR7r333gVK+yhd22abbeJrBx98cGlJIa3/lFbxXnpZTjnllJh8LArWhyCYdSeZIekgyciiHIvyq/XXXz8cdthh4YYbboj/T15//fW4ngTKlDbuuOOO4aGHHipoPUgqWIcnnnhigd4otl+hU+j//e9/j9uXz8zFw1sPOeSQmGzR6wGSAUoz//CHP4Ru3bqFXXfdtUxSw0Nf6d3adNNN488pEaQHrTwkRXwe26IyUo8MCXlCUkkPGtudbUCJ3dSpU8us07nnnhv3G9ue9eOYyO0Byx6j7GtK7EhM2T70CM2fP7/c9eL5b+wDekbpdeV4JeFfddVVS/c9n5e18cYbhzfeeCM2BrCt6Znj2OVY/eqrr8JKK60Uf+eVV14Zz4WmTfOnMRzj7J+KtnOxmEhJkqT6o02b8r/22qvssh06lL9sbqC6+urlL7vFFjX6JxK4khhQ8kdJE4E5ATpBLL0lBLKUPdEqn0XwSfkXSKJomSfh2X///WPvBsHsTTfdFINqesCmT59epfXjfWns0h133BGGDRsWllpqqZhM8PtAMnDNNdfE8SokRxtttFEs0UpYjl4IkgsSE8bDEPgT1POg1EKQdOSW9z3++ONh5513LuhzZs6cGT744IM4Lqo8BP8kBiNH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xwf79uzZM9x6661x3NKYMWPCNttsE3u49txzz1jCN3To0HDppZeG/fbbLzRr1iz+nAfy8r0kSZIk1YQmJQWOLt56663Dn/70p7Dbbrst8LPHHnssJj0vvvhiqC9GjhxZZvIKSXXTm59MDVNnzq/t1Whw2rRqGjZcu01tr4YkSfUuNyj4gbyMR0rjk3LxoNzp06cX+pGSJEmSVK8UnEh17949DB48eIHnPDFuinK/Xr16FXP9JEmSJKnOKXj689NPPz0cdNBBcXKHHj16xHFLP/zwQ3jrrbdCu3btYpIlSZIkSQ1ZwT1SzMr3yCOPhH322SdMnTo1vPfee3GSiMMPPzwMHz48rLzyytWzppIkSZJUR1Tpgbw8BJeeKUmSJElqjKqUSI0fPz688cYbYfbs2aWvzZ8/P8yYMSO8/vrr4ZprrinmOkqSJElS/U6knnjiifgwXJ791KRJk/gaM6in79dcc83ir6UkSZIk1ecxUjfddFPo2rVruP/+++NDcnme1KOPPhpOO+20+FDcM888s3rWVJIkSZLqa4/UF198Ea666qrQpUuXONX5kCFDQqdOneLX999/HxOtTTfdtHrWVpIkSZLqY49U06ZN4zTnWG211cLnn38ex0dhiy22CJ9++mnx11KSJEmS6nMixRioN998s/R7Jpz48MMP4/+nTJlSZgIKSZIkSWqICi7t23fffcO5554bpk+fHk466aSw8cYbh/79+4c+ffqEO+64I46fkiRJkqSGrOAeqb333jucddZZpT1PF1xwQZg1a1a46KKL4kx+/EySJEmSGrIqPUfqgAMOKP1+lVVWCY8//niYOHFiWHrppYu5bpIkSZLUMHqk8uEZUiZRkiRJkhqLSvVIde7cufSBu5XxwQcfLMo6SZIkSVL9T6SOO+640kSK8VC33XZbWH311cP2228flltuuTBp0qQwYsSI8PHHH4djjjmmutdZkiRJkup+ItWvX7/S788888zQu3fvMHDgwDK9VEcffXQ47bTTwvvvv189aypJkiRJ9XWMFBNL7LPPPnlL/Xbbbbfw4osvFmvdJEmSJKlhJFJLLLFE+Prrr/P+bNSoUaFdu3bFWC9JkiRJajjTn++8887h6quvDs2bN48lfksttVT44YcfwhNPPBFuvPHG0Ldv3+pZU0mSJEmqr4nUKaecEsaOHRvOOeecMuV9JSUl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n/uuaavW1fK5qv4YZbE2bd3MtbzvWKZeJFKtWrUqHSuVvgdJ0eKLL553+XyTULB869ZVu2j06NGjSu+TJEmS1HjV6hipVKY3YcKEMq/z/+WXX36B5VdYYYUFliWxmjRpUiwHlCRJkqQGn0gxS1+bNm3CK6+8UvralClTwqhRo+JzonLxGmOnmP48YRY//PrXv66htZYkSZLU2NVqaR/jnQ488MBw5ZVXhqWXXjqstNJK4Yorrog9T9ttt10cpPzjjz+GJZdcMpb1bbDBBmHDDTcMJ510Unx21PTp08M555wTdt9997w9WJIkSZJUHZqU1PL0aCRLV199dbj//vvDzJkzY68TydHKK68cxowZE7bZZptwySWXhD333DMu/8MPP4Tzzz8/vPjii3GSiR122CH0798/fi9JkiRJjSKRkiRJkqT6plbHSEmSJElSfWQiJUmSJEkFMpGSJEmSpAKZSEmSJElSgUykJEmSJKlAJlKSJEmSVCATKUmSJDUqPv1HxWAipSq74YYbwkknnRQmT57sVpSkBu6zzz6r7VWo10aNGhWuueaa+P28efNqe3UarfHjx4f7778/NGnSpLZXRQs5X7777rtQ15lIqWBz586N/06bNi18+eWX8Qu27qgy5s+fbxAh1cPg8+qrrw7jxo2L//d6X7g33ngj3HzzzWHmzJmhWbNmRd9HqpyHHnoonHnmmWHMmDFusjpq+vTpYc899wzDhw8PdZ2JlArCzXOxxRaL3/fu3TvMmTMnfPDBB6U/kxZ60WnatEwQ4XFTv5gIN04fffRRePvtt8Mnn3wS/29rfuXPF+6T6N69e2jdunV46aWX4v+99tXsfpg9e3b8vlu3bmG11VYLr732mvuhjpk3b148XzhPNt100/Dee++V7re6ykRKeXGBz3eR5+Y5derU8OKLL4affvoptGvXLt5g48HU1MNJPx875ZWtcEF8+umnw0UXXRT++te/xlZuA7L6mwh/88034ccff6ztVVKRz1+CziR9v8QSS4RWrVqFE044IRx00EEmAQWcL82bN4/f82+XLl3Ck08+WWbbqmb2Q4sWLeL3yy67bFhjjTXCCy+8EP9vQlt3NGvWrPR82WyzzcLrr78eJk6cGOqyn7sWpP9HAMyBnIJbLjDZQPdf//pXGDhwYLyprr322rGGlR6q77//Pl6c1HilY4WvfGUrJOCnnHJKbNHeaKONwocffhjLXBgzsPnmm9fKOqv8RJjAIzWOZK8DP/zwQ7jqqqvCM888E5Zaaqmw4oorhi233DIceuihbs4GIJ3DjH394osvwlprrRWv8Y888kgs51588cXD+eef3ygbQPj7J02aFFZaaaXS10iG+MreN3PHlV122WXhnXfeCT169Ijnz4QJE+LPbHxc9FglXwNAvvsPjXbcb+gNXGeddeK+HD16tPuhhpX8/37iXMl3/NNL+I9//CM21Pfq1Ss21H399ddh+eWXD3WVXQiNWL5WmHQB4uL/73//u7QkAZ9//nm4/fbbw3777Rdb1E4//fQYAH/11Vfh008/Lfcz1TBxMczu7xREcOxwnAwZMiQGDGmZSy65JNY9P/bYY+HSSy8Nw4YNiwE437///vu19nc0drm9z+xHAmducvQgciNL+5bg5bbbbovBIONl+H6bbbYJ1113XXj88cc9/+sB9mG2xzi77yndY98ecMABsTX42GOPDX/605/CrFmzwrnnnhv+/Oc/L5BgNxaMazr66KPjMZ/FtuB84RyZMWPGAu+58cYb4zIE8fvvv39clsCQQfSNMRkthnfffTeMHDmyzGupAa+8sWdUQNCIx/G87bbbxt50YpdUqqqa0eT/91O+JIrYgWoVzpFdd901Vj5xrWJf1+VrjT1SjTRo4iDOdxEnyL3yyivjDWG55ZaLXeHcVPfYY4/w6quvxtd33HHHuOwqq6wS+vbtG84777xYx7rxxhvXwl+k2moBzO2toIXv4osvjj0V9FbSov3ggw/G1mvGBtD6R+JEzxQzPtJCy+Br6qCdwar25F4H2D933nlneOCBB+L3K6+8cth3333jeT9lypS4T9l/7FOSLMYacF249957Y4v7CiusUGt/ixYuew6TKKdyJ3qI2c8kUJyTVB688soroX///rFRhBlaueZTjUCAs/rqq5f2xDSGeybbiWSIsRtZTFgwdOjQ8Pzzz4cll1wy9rb36dMn9uRxzXvqqafituR8Qfv27cMRRxwRRowYEfbZZ58Fqj5UMSY7OeOMM8LBBx9cuk3BtYlJJNjeHJfbb7992HrrreP1i2P74YcfDqeeemrYaaed4vL0pl9wwQWxvI/7Fe+xh7D6lPz/cc45wb4gOVpvvfXiflp11VXj+UXjHGV9xJRt2rSJ8QLXHxr1acCnN7wu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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Grupo Históricamente Privilegiado: 'married-civ-spouse' (Tasa base: 44.8%)\n", " =====================================================================================\n", " 🚨 [ALERTA] 'divorced': DIR = 0.23 (10.3%) | 🚨 [ALERTA] 'separated': DIR = 0.15 (6.5%)\n", " 🚨 [ALERTA] 'widowed': DIR = 0.20 (8.9%) | 🚨 [ALERTA] 'never-married': DIR = 0.10 (4.6%)\n", " 🚨 [ALERTA] 'married-spouse-absent': DIR = 0.17 (7.6%) | ✅ [JUSTO] 'married-af-spouse': DIR = nan (nan%)\n", " =====================================================================================\n", " 💡 ACCIÓN REQUERIDA (Fase 5): Implementar Reweighing sobre 'marital_status' para neutralizar el sesgo.\n", "\n", "\n" ] }, { "data": { "text/markdown": [ "### 🔍 Analizando Sesgo Sociodemográfico en: `race`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAGwCAYAAACjNVSnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcNpJREFUeJzt3Qd4VFXawPFDL9JEpShiwcKCKOgiuqJiWZRVV0XsWBesawcVde0dlFWwrmDBtvZesK1tFRFRUUQFGyjFQlF6yff8z353nAxJyIS0Sf6/58mTZOZm5s7Mzcx57/ue99TIy8vLC5IkSZKkYqtZ/E0lSZIkSQZSkiRJklQCZqQkSZIkKUsGUpIkSZKUJQMpSZIkScqSgZQkSZIkZclASpIkSZKyZCAlSZIkSVkykJIkSZKkLBlISap0hg0bFjbffPNifZ177rkhVwwYMCDu87Rp08r9vrlP7pt9KK5vvvkmVBaPPfZY3P+HH3640G0OOeSQuM3zzz9fbvs1dOjQeJ9jxowpldvjdri9I444osS3MXz48EL/X/jfSvfDDz+Es88+O3Tv3j1stdVW4aCDDgqvvPJKiY4d9rk0nwtJquxqV/QOSFKmP//5z6Ft27b5LrvqqqvC7Nmzw7XXXpvv8sztVDouvPDC8Pbbb680qK4oXbt2ja99ly5dCrx+/Pjx8YtgqlevXqE6mzRpUmjUqFF8DTMR6CR+/PHH0Ldv3zBnzpwYBLVs2TI88sgj4aSTTgpDhgwJ++yzTznvuSTlFgMpSZVO+/bt41e6G264IQZS++67b4XtV3Xyn//8J9SuXXk+ItZff/34VZiXX345/OlPfwrnnXdeyGX169fP933hwoWhTp06Wb0WBFKbbrrpKv9XyFx9//334f777w/bbLNNvKx3797hwAMPDFdccUXYbbfdQsOGDYt9v/Xq1YvfGzRoUOy/kaRcZmmfJCnnDRw4MNx5552pwXyuateuXfy+ySabxO8ff/xx2GWXXcKNN94YZsyYscq/nz9/fizF22yzzYrcbvny5eGpp56K5XxJEJUEcGSnOGlBMJ3tvteoUSP1GCSpqjOQkpTzXnzxxXDssceGbt26hY4dO8bvJ5xwQvjkk0/ybTd16tRw+umnx4HpFltsEXbeeecwaNCgOE8k3W+//Rb++c9/xtKmzp07x2133333cPXVV8eBanH8+9//jn+/5ZZbxr8dNWpUods+/fTTcW4K90Xp2uGHHx5effXVYj/+119/PRx11FFh6623jvdHJuKee+4JK1asKHB7rmOfOnXqFPbaa6/4e15eXr75MDNnzozZisx5NV999VU488wzw/bbbx+fl549e8bnatGiRfnug7+jtGz06NHhgAMOiPvF68J8nFmzZq20Ty+88EIsM2NQv+2228bB/H//+99VzpEqzmNPHtPtt98eX5e99947PnbmBV166aXx9S7ucUa2htdpp512isENAUlB3nzzzXDkkUfG/SJYIdPDY1gVSvJat26dKsEjC0dQdMstt4Rdd901lt298cYbqdcr0+effx6vIyOFxYsXh6VLl6603ZdffhkWLFgQ9y0TzyM++uijQveT/4PDDjss/OEPfwgPPfRQvIz7XG+99cIaa6yxyjlgPBdkmXkNeD779OkTn99Mc+fOjf93ZMc43jjuOP6mTJmSbzvmSvKacjzw/83PbFcYjq8999wzPProozGTyfOQlA1n8//Pc8txxbbcxo477hjv9+uvv8633bx588I111yTehw87oLeeyTllspTtyFJJXDXXXfF+VMM0v/+97/HMigCqCeeeCK89957seSrefPmcSDDwJYB9qGHHhrWWmutOJikrInB3XPPPRfPxi9btixu98UXX8T5NvzM4IkGBmQ8CAKuv/76Ivdp8ODB4Y477ohBERP0f/rpp9iUoKhtd9hhhzgAY+D77LPPhhNPPDEOtI4++ugi72vkyJFxgLbBBhuE/v37x7IqHjOlWTwugqCaNX8/Z8acJ74IWtZZZ53wzDPPxG2/++67cMEFF8TnigEll/F37EMyqCc7wv4w2CfYY9sPP/ww3HrrreGdd96JAUx6Ruitt96KQSLP48EHHxzefffd8OSTT8aA9oEHHkhtd9NNN8WghPshAOY2HnzwwdCvX794HQPj0njs3GYSABCsMHC/77774rHBnKCicJxccsklMag57bTTYhDCZZTeZeI2L7vssjiY55hkH3jOeS4/++yzcP755xd5X+mZoHXXXTeMGDEiBoMEkQQg3FabNm3ic0qQyrGcXtYH/geYK8aAnvv/4x//GM4555x4ogEEyuB5yNSqVav4vbCmKDyHPN+89jz/f/3rX+PlBEN8FQdlhdwOxyGBF8HYqaeeGoNvji3wf8P/KsfLfvvtFwM89oljhxMN/N/wuBL87/L/xm02a9Ys9TgKM3369His/+1vf4u/EzRl8//Pe8lxxx0XA36OUbYnk8dJE451Xi8CS4JBriNoIhAn2/jtt9/G4/G1116LwT3HsKQclCdJOWCXXXbJ22yzzfJdtmzZsrxu3brl7bvvvvHndNdcc03c/vnnn4+/853fn3322XzbjRw5Mm+fffbJmzBhQvz95ZdfjtuNGDEi33ZLlizJ23HHHfM6d+5c5H5+8803eX/4wx/yjjnmmHz7NHHixLyOHTvG2546dWq87KOPPoq/X3zxxSvd1xFHHBG3nz59eqH39d133+V16NAhr1evXnnz589PXb5ixYq8M888M972Y489Fi/jPvl98803z/vwww/z3deBBx4YL58yZUrqch4rz3n6be611155O++8c97s2bPz7cdDDz0Ub/v2229PXcbvfI0bNy7ftn379o2Xf/3116nHwPN1+OGH5y1evDi1Hfex7bbbxtcWjz76aPw77qukj32LLbaIf5dYvnx53u677x6f5wULFhT6PP/666/xdefxp2/3ww8/5HXt2jXe9rvvvhsv4/Xi9o4//vi4L+n7NXDgwLgtr3tJcUy99NJLeccdd1x83riv008/PXX9hRdeGO9jt912y7v33nvj8Txs2LC8Ll265HXq1Cn12j/99NNxuwceeGCl+1i0aFG8jmM4/fk766yz4nN92GGHxft98cUXs95/nidua8stt4z/K+nPcY8ePeLzPG/evHjZoEGD4rYPP/xwvtv47LPP4v3z2iX/Y+ecc07c9p///Gex9iM5DjNvO5v//8cffzxuO3jw4Hzbvvfee/HyK664Iv5+0UUXxWP1gw8+yLfdF198EY/Jfv36FWufJVU+lvZJylm1atWKZU533313/DlBtoDMFJKyreTMO2exOaPPNjjmmGPiXBHKbUDpDdkMzmqn4+x406ZN498VVjIHzjBT7kXWI32fKIEi65SObBD+8pe/hF9++SX19euvv8bLKBvi9grz0ksvxTPoZAfSmwIwT+WMM86IP5NpS5e0uU7wPPEcUA5GNqcwlIyRwaMcksefvr+cjSeLxP6kI2tCaVu65Hnm+QSvBc8XpVZ169ZNbUdGgczOzTffXGqPnQxhesMKMjW8LjzPdK4rDNk2XneyLemNFDimKBNMR5aL2yMbRHYieY74mTJK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0WmhGiOrhU6dOlX0rkiSJEnKkdigQptNSJIkFYUyf9Z1kaTVVbt27Vj9lk1DiSJvr1RuRZIkqRRRMDNjxowwZ84cn1dJpYZAqkWLFqFp06arHVAZSEmSpEonCaIY8LBESWmdQZZUfU/OLFu2LHYIpw/DwoULU0sxlZSBlCRJqnTlfEkQtdZaa1X07kiqQho3bhyb1P3000/xPYYMVc527ZMkSUqXzIkiEyVJpW2NNdaIGarVnX9pICVJkioly/kkVeb3FgMpSZIkScqSgZQkSVIZ2XXXXcOwYcOK3Oa+++4LW2yxRfjwww9LdB9HHHFEOPfcc1O/v/baa2Hy5MmhpB577LGw+eabh4rGY+KxFYbr2M/LL7+8wOtvv/32eH3y3EybNi3+PmbMmFXe97PPPhv69u0bttlmm9ClS5ew3377hTvvvDMsWbIklIeXX345nHjiifFn9pf9Tv9q37592HrrrcMhhxwS3nnnnVK979J4/efPnx8uueSS0L179/DHP/4x9O/fP0yZMiXfNux37969w1ZbbRX23HPP+Jyne+KJJ+Lfb7/99uGuu+7Kd90nn3wS/7cWL1680vN20kknhfJiICVJklRBGJgz4P/HP/4ROnfuXKLbIFA7//zz48/ff/99OOGEE8LPP/8cqoM6deqE0aNHx/kumZ577rkSlXDxWvB8Moj/97//HR5//PFw+OGHh5EjR8bgjSChLM2dOzdcdtll+YJjPPzww+Gtt96KX6+//nq444474rpIxx9/fHzdK5PLLrssBoA33nhjfA5p6NCvX79U4ENQxX7vuOOOMXA78MADw9lnn50KCmfPnh0uvvjieDs33XRTvJ30kwODBw8Op556amwakW733XcPv/76a3j66afL5XEaSEmSJFUQBsLPPPNMOPjgg0t8G82aNYudyFBQQFGVdevWLfz444/hgw8+yHf5119/Hb755pvQsWPHrG6PoOnRRx+NQQoB6SabbBI23HDDONB/6KGH4m1ec801oSzdfffdMUuzwQYb5Lu8efPmYZ111olfLVu2jBmpa6+9NgYnr7zySqhMXn755XDooYfGfWzXrl04/fTTww8//JAKhniMZL3OOOOMeP3f/va3mJXiecfUqVNDo0aNwi677BJvg9fhyy+/jNcRRBJo/fWvfy3wvo899tjwz3/+M3b/LGsGUpIkKXeQDSjs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J8yZMydMnTo11K1bN64zJansEETNW2AgJUmSVOkDqVdffTX189NPPx2GDBkShg0bFrbccsvU5ZMnTw4nnXRS6NWrV9nsqSRJkiTl6hypoUOHhjPPPDNfEIVNNtkknH766eGOO+4ozf2TJEmSpNwPpGbPnh2aNGlS4HW1a9cOCxYsKI39kiRJkqSqE0h17tw53HLLLWHu3LkrzZui3K9bt26luX+SJEmSlJtzpNKdc8454Ygjjgi77LJL6NKlS2jWrFn4+eefw/jx40PTpk1jkCVJkiRJVVnWGSm68j3zzDPh4IMPDr/99lv45JNPwqJFi8Kxxx4bnnrqqdCmTZuy2VNJkiRJytWMFFq2bBkzU5IkSVIuyFuxItSomXUOQTkqrxxe7xIFUjNnzgzjxo0LS5YsSV22YsWKsHDhwvD+++/Hzn6SJElSZcGgetqjd4clP82o6F1RGau7dqvQ5oCjyvpusg+kXnjhhTBgwIC4IG+NGjXiZXl5eamfN95449LfS0mSJGk1EUQtmj7N51GlIut816233ho6duwYHnvssdC7d++w7777hmeffTYMHDgw1KpVK5x33nmls2eSJEmSVEllnZH6+uuvw3XXXRc6dOgQW52PHDkytGvXLn799NNPMdDaYYcdymZvJUmSJCkXM1I1a9aMbc6xwQYbhK+++irOj8JOO+0UJk+eXPp7KUmSJEm5HEgxB+qDDz5I/UzDiUmTJsXf582bl68BhSRJkiRVRVmX9h1yyCHhoosuCgsWLAhnnHFG2G677cKgQYNCnz59wr333hvnT0mSJElSVZZ1RurAAw8M559/firzdNlll4XFixeHK664Inby4zpJkiRJqspKtI7U4Ycfnvp5/fXXD88//3yYPXt2aN68eWnumyRJkiRVSqWy3C9rSBlESZIkSaouipWRat++fWrB3eL47LPPVmefJEmSJCn3A6mTTz45FUgxH+rOO+8MG264Ydhjjz3COuusE+bMmRNeffXV8MUXX4QTTzyxrPdZkiRJkip/IHXKKaekfj7vvPNCjx49wrBhw/JlqU444YQwcODA8Omnn5bNnkqSJElSrs6RorHEwQcfXGCp37777hvefPPN0to3SZIkSaoagdQaa6wRvvvuuwKvmzhxYmjatGlp7JckSZIkVZ3253vttVe4/vrrQ506dWKJ35prrhl+/vnn8MIL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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Grupo Históricamente Privilegiado: 'asian-pac-islander' (Tasa base: 27.2%)\n", " =====================================================================================\n", " ✅ [JUSTO] 'white': DIR = 0.94 (25.6%) | ✅ [JUSTO] 'amer-indian-eskimo': DIR = nan (nan%)\n", " 🚨 [ALERTA] 'black': DIR = 0.45 (12.2%) | ✅ [JUSTO] 'other': DIR = nan (nan%)\n", " =====================================================================================\n", " 💡 ACCIÓN REQUERIDA (Fase 5): Implementar Reweighing sobre 'race' para neutralizar el sesgo.\n", "\n", "\n" ] }, { "data": { "text/markdown": [ "### 🔍 Analizando Sesgo Sociodemográfico en: `sex`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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9OXNm9cWLFgQuC0qKspWr15ttWrVOqX9hx9+aHXq1LHo6OjAbQcPHrRNmzaRUQIAAABw1qRpIKWxUe3atbNhw4bZ119/7Wbx69atmzufVNOmTe3EiRO2c+dONxZKGjVq5E7g27t3bzdeauXKlda5c2eXpWrVqlVavhUAAAAAmUiaBlKic0i1bt3a+vXrZ23btnXngxo/frwbu7R161Zr0KCBffnll4FSwHfeecdlpNT23nvvtXz58tm7777rJqgAAAAAgLMhIlYzLWRiympJ9erV07orAAAghKpTNB0xAJwpJWxOd8ojP7FBmk42AQAAEB8d59U5JXU6lEx+zBdAClIVm06ZlD9//jN+LgIpAACQ7iiA2rdvnxUtWtTy5MnjayYtAAilAzLKbuu75Z9//nG3nWkwRSAFAADS3Q6PToWinRwdOQaAlKDTJml+hS1bttiuXbvOOJBK88kmAAAAQsdF6ZISpTcAEEzZ7QIFClhMTMwZj78kkAIAAOnK8ePH3d9s2SicAZDyvAkndMDmTBBIAQCAdIlxUQDS83cLgRQAAAAA+EQgBQAAkEquvvpqGzVqVKJt3nvvPbvooots2bJlyXqN9u3b2xNPPBG4/s0339i6dessuaZOnWqVK1e2tKb3pPeWEN2nfg4aNCje+8eNG+fu95aNJhjQ9QULFpz2tb/44gtr166dXXbZZVazZk27+eab7e2337ajR4/a2TBv3jx7+OGH3f/qr/odfKlSpYpdeumldscdd9jPP/+coq+dEuv/0KFD9swzz1iDBg3s8ssvt44dO9r69evjtFG/W7VqZZdccoldf/31bpkHmzZtmnt8vXr17J133olz36pVq9xnS+OcQpfbI488YmcLgRQAAEAa0Y65dviffvppq1GjRrKeQ4HaU0895f7XtM4PPfSQ7d692zLLWJe5c+fGe66xL7/8MlklXFoXWp7aif/www/ts88+s7vuussmTJjggjcFCalJ03M/99xzcYJj+fjjj+2HH35wl2+//dbeeustN46wU6dOgem804vnnnvOBYAjR450y1Anwu3QoUMg8FFQpX43bNjQBW5t2rSx3r17B4LCvXv32sCBA93zvPbaa+55gg8ODB061Lp06eLOCRXsmmuusQMHDtiMGTPOyvskkAIAAEgj2hGeOXOm3X777cl+joIFC7opnSWznby4Tp06tnPnTluyZEmc2zdu3GibNm2yatWq+Xo+BU2ffvqpC1IUkFaqVMnOO+88t6P/0UcfueccMmSIpaaJEye6LE25cuXi3F64cGF3XjVdihcv7jJSL730kgtOvv76a0tP5s2bZ23btnV9rFixonXt2tX+/fffQDCk96isV7du3dz9DzzwgMtKabnL5s2bLW/evHbVVVe559B6+PPPP919CiIVaN10003xvvb9999vr7766hlPJJEUBFIAACB8KBuQ0OXIkaS3PXw4+W1TkHYuVfrklZvp6Py1115rH3zwgTVu3NjtUOvI+/bt261nz56uzKxRo0b2ySefnFLap9K1Jk2auNvuvvvuQEmhjv6rtEqPVZalR48eLvg4E+qPdoLVdwUzCjoUZARTOZbKry6++GK77777bPTo0e66Z9GiRa6f2lFWaWOzZs3s888/99UPBRXqw+zZs0/JRmn55c6d29fzvfvuu2756jlDlSxZ0u655x4XbCnrIQoGVJp52223WfXq1e3GG2+ME9QcPnzYZbfq16/v7leJoDJoCVFQpOfTskgKLyMTPMOlgkpl0LTctQxUYnfw4ME4fRowYIBbb1r26p+2idAMWPA2qnWtEjsFplo+ygidPHkywX6dc845bh0oM6qsq7ZXBfxly5YNrHs9X7C6deva4sWL3cEALWtl5rTtalv966+/rHTp0u41hw0b5j4LWbLEH8ZoG9f6SWw5pxQCKQAAED7y5k34cuutcdsWK5Zw29Ad1fPOS7hto0Zn9S1qx1WBgUr+VNKkHXPtoGsnVtkS7ciq7ElH5YNp51PlX6IgSkfmFfDceeedLruhndnXX3/d7VQrAxYdHZ2s/ulx3tilyZMn26RJk6xQoUIumNDriYKB4cOHu/EqCo5q167tSrQ8aqcshIILBSYaD6Mdf+3U60SpfijoCC3vmzVrljVv3tzX8xw5csTWrFnjxkUlRDv/CgxWrlwZuE079i1btnTv88orr7THHnsskCEbMWKE/f77725dKrDQulNQoqA3PgowoqKiXLvTUYDx7LPPusyNF0CvXbvWBa0qmZs+fbrr22+//ea2BW/59OnTx3788Ue3fhSwK+gIHZ8UTGO11EZjxLRd6rmUOZo/f36Cj3n++efdOr7iiitcyarW75tvvhnInG7bts1KlCgR5zHFihVzQZ62awXIjz76qNvutUxb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3WcAAAAASP+BVOfOnQP/P/nkk9a4cWMbNWpUnCzVQw89ZL169bLffvstdXoKAAAAAOmE7zFSs2bNsttvvz3eUr+WLVva999/n1J9AwAAAICMEUjlyZPH/v7773jvW716tRUoUCAl+gUAAAAA6ZbvE/I2b97cXnnlFcuePbsr8StUqJDt3r3bZs+eba+99po7pxQAAAAAZGS+A6kePXrY1q1brX///nHK+3Quqdtuu81NTAEAAAAAGZnvQCoyMtJGjhxpf/75py1atMiioqJcVqpu3bpWtmzZ1OklAAAAAIRzIOU5//zz3QUAAAAAMpskBVJ33323DRgwwCpWrOj+T4zK/SZOnJhS/QMAAACA8AykNP4pvv9P1xYAAAAAMm0gNWnSpHj/BwAAAIDMyPd5pAAAAAAgs0tSRqpKlSpxpjpPjNrpxLwAAAAAkKkDKZ0bKqmBFAAAAABkdEkKpDp37pz6PQEAAACAjBRITZs2za688kp34l39fzo333xzSvQNAAAAAMI3kHriiSfso48+coGU/k+MSgAJpAAAAABYZg+kvv76aytatGjgfwAAAADIzJIUSJUuXTre/w8fPmwHDhywggULWmRkZLI6cPLkSRs9erR9/PHH7rlq1apl/fv3t3PPPTfe9n/++acNHTrUli9fblmyZHHtlSUrVapUsl4fAAAAAM7KeaSUlWrdurVddtllbuzUpZdeau3atbNFixb5fq4xY8bYlClT7LnnnrMPPvjABVYdOnSwo0ePntJ27969dt9991nOnDndiYHffPNN27Nnj2sfExOTnLcCAAAAAKkfSH355ZduOnQFPI899pgNHDjQHnroIdu/f7/de++99ssvvyT5uRQsTZgwwbp06WKNGzd256saPny4bdu2zebOnXtK+3nz5ll0dLS99NJLdsEFF9hFF13kslPr16+3JUuW+H0rAAAAAJB6pX3Bxo4da82bN7eXX345zu0Krh555BEX2Hz66adJeq61a9faoUOHrF69eoHb8ufPb1WrVrWFCxdaixYt4rRXO2WwlJHyqLxPoqKi/L4VAAAAADg7gdSmTZusT58+8c7Wd+edd7qAKqmUeZKSJUvGub1YsWKB+4KVKVPGXYKNGzfOBVYaK5VcsbGxLtMFAEB6o9/XXLlypXU3ACDFHT582O2Hpyfqj753UyWQqlSpkq1Zs8YaNGhw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/ns3ycT1119vffv2df8DAAAAQKYIpAAAAAAg3KTpGCkAAAAACEcEUgAAAADgE4EUAAAAAPhEIAUAAAAAPhFIAQAAAIBPBFIAAAAA4BOBFAAAAAD4RCAFAAAAAD4RSAFIESdPnmRJAgCATINACkCSbNmyxQYPHmw7duwI3BYbG+su7sskC18nAJCR7Nmzx1auXGnHjh0L3Kbv/OPHj8dp5/0OAJkNez4AkiQ6OtomTpxof/zxR+C2iIgId9m5c6dNnz7d5s6dawcPHmSJAkAY8wKjAQMG2FNPPWX//PNP4HZ952fLls1d37Ztm/v+120EU8iMCKQAxEs/isHleueff76de+65tmTJksAPpoKr559/3q677jqbMGGCvfXWW3bvvfe6gEpOnDjB0gWAMON9dzdp0sRiYmLs33//ddcVMB04cMAGDRpkdevWtfbt21v37t3tjTfecPcBmQ2BFIB4f0D1oxhcrqfrl156qf3yyy926NAhd9uXX35p3333nX344Yc2bdo0Gz9+vF1++eXuKKaCsKxZs7J0ASAMvveDD3x5Gac6deq47/s///wzcN97771n69evd8HUpEmTrEWLFu67X78DjJVFZkMgBWRi8ZVieMHPxo0bberUqfb9998H7mvUqJGtWbPG9u7da0ePHrU5c+ZY69atXbbqxx9/tFGjRtns2bPd/atXrz6r7wUAkDz63ve++zdv3uyqDaRkyZJWrFgx+/33310mSrd//PHHdtddd9k111xjuXPntvLly9uRI0fsk08+cY8FMpP/O+QAIFPRUUNlm+IrxVDwpDKN7du3W4kSJdyPZ9u2be2xxx5z2SYFUKtWrXJlfhs2bHADkdU+b968dvHFF1uPHj3c33z58qXJewMAnEoZp9BKA+/2b775xiZPnuy+z3PmzGkNGjSw++67z6pUqeK+z3/77TeLiopygZKyVZ999pm99tprtmnTJhdo3XbbbXbLLbe4wAvITAikgExAP5TBZXb6IdWsSytWrLA8efJY5cqV3e3KNmmc09133+0yTTly5LD+/fvbV199Zc2aNbOKFSvaeeed58r7dL1GjRq2dOlSGzp0qF122WWB5x8+fLjLdql23gvaAABnd4xrcODk/QYoe6RgyCvf++mnn2zcuHGujE/f2evWrXPVBXqOl156yerXr29ff/21C5r0/b9r1y534OzO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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Grupo Históricamente Privilegiado: 'male' (Tasa base: 30.6%)\n", " =====================================================================================\n", " 🚨 [ALERTA] 'female': DIR = 0.36 (10.9%) | \n", " =====================================================================================\n", " 💡 ACCIÓN REQUERIDA (Fase 5): Implementar Reweighing sobre 'sex' para neutralizar el sesgo.\n", "\n", "\n" ] }, { "data": { "text/markdown": [ "### 🔍 Analizando Sesgo Sociodemográfico en: `native_country`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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5w9obDCtG5GEEEIIIYyFpRKemxRCCHPKYost1mX1DepmI2ORoC2EEEIIA4dEoKuvvrrdeOON012UEMICxKKLLtpWWWWVtsIKK8xXwVuCthBCCCEMHBWwca48lmd+cq5CCIM5EHTPPfd0O9XbN+P2228ffvzY/ECCthBCCCEMXEpkBWz/9V//Nd3FCSEsQCy33HLdBob//Oc/Ox1j5m1+YNp3jwwhhBBC6KXWsJlhCyGEqeZ+97tfN/M2P62XTdAWQgghhIEkKZEhhOiWf5OgLYQQQgghhBAGmARtIYQQQghziac+9antiCOOGPOY//3f/22PetSj2m9/+9tJXWOXXXZpb3/724f//7//+7928cUXt8ly0kkntXXWWadNN+7JvY2G75Tz/e9//4jfH3300d33VTdXXnll9/+ZZ54522t/5zvfaTvvvHN73OMe1zbaaKP2vOc9r33uc59rd911V5sX/OAHP2ive93ruvfKq9y9r3XXXbc99rGPbS9+8YvbL3/5yym99lS0/6233tre+973ti222KI9/vGPb7vttlu75JJLZjlGubfffvv2mMc8pj3jGc/o6ryXb37zm93vN9988/b5z39+lu9+//vfd33rzjvvvE+9vf71r28LIgnaQgghhBCmCUGA4OLd735323DDDSd1DkHhO9/5zu793/72t/ba1762XXfddW1hYPHFF2+nn356tz6pn+9+97uTSrHVFupTwPCVr3ylfeMb32gvfelL27HHHtsFigKSuclNN93UDjzwwFkCcXzta19rP/vZz7rXj3/84/bZz362e+7Y7rvv3rX7IKH8gs3DDz+8q0Obfey6667DQZYATrm33HLLLkjccccd29ve9rbhAPSGG25oBxxwQHeeT37yk915egciDj744Lbnnnt2G4r08rSnPa3dcsst7dvf/nZb0EjQFkIIIYQwTXC6TznllPaiF71o0udYccUVux3xMFLwsiCz6aabtn/84x/tN7/5zSyfX3bZZe3yyy9v66+//oTOJ0A78cQTu4BI8LvWWmu1hz3sYV1Q8dWvfrU750EHHdTmJl/4whe62aeHPvShs3y+0kortZVXXrl7PfCBD+xm2j7ykY90gdAPf/jDNkiY8dppp526Mq655prtzW9+c/v73/8+HHi5R7N5b3nLW7rvX/3qV3ezbeodV1xxRVt22WXbU57y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i7z22mvbGmusMfy5/23l38+JJ57YRb4bbbRR9/+9997b/d12223ba1/72u41GUyBLrPMMpO8ixBCCCGEEMKCwIwBTI2c9qDNbpHLLrtsO/PMM4eDtptvvrldcMEFbeedd77P8f07Sp533nndLpJHH310W3vttedZuUMIIYQQQghhoQjazJoJzg455JC20kortdVWW60dfPDB7UEPelDbZpttupm066+/vi233HJd+uRDH/rQWX5fm5U8+MEPbiuuuOI03UUIIYQQQgghLMAP1/aMth122KG9613vajvttFNbdNFF2zHHHNOtM7vqqqvaFlts0b773e9OdzFDCCGEEEIIYVqYMWRfy4WY888/v/u7wQYbTHdRQgghhBBCCNPI+QMaG0z7TFsIIYQQQgghhNFJ0BZCCCGEEEIIA0yCthBCCCGEEEIYYBK0hRBCCCGEEMIAk6AthBBCCCGEEAaYBG0hhBBCCCGEMMAkaAshhBBCCCGEASZBWwghhBBCCCEMMIvNyY8vueSSdsstt7T73//+7aEPfejUlSqEEEIIIYQQwuSDtlNOOaUddNBB7Z///OfwZw94wAPaXnvt1Z73vOdN5pQhhBBCCCGEEKYiaDvjjDPaPvvs0zbbbLP21re+tQvWrr322nbyySe3/fbbr6244optq622muhpQwghhBBCCCGMwIyhoaGhNgF23HHHtvrqq7fDDjvsPt+95S1vaVdffXX78pe/3OYXzj///O7vBhtsMN1FCSGEEEIIIUwj5w9obDDhjUj+9Kc/tec///kjfufziy66aCrKFUIIIYQQQghhMkGbTUduuummEb+78cYb2xJLLJGKDSGEEEIIIYTpCto233zz9olPfKJLg+zlqquuap/85CfbE5/4xKkqWwghhBBCCCEs9Ex4IxKbj7zgBS9o22yzTdtoo426jUjsInnuuee25ZdfvttBMoQQQgghhBDCNM20rbzyyu0b3/hG22WXXdrtt9/efv/733d//f/Nb36zrbbaalNUtBBCCCGEEEIIE55pO+uss9p6663Xbfvfz80339y+853vtGc/+9mp2RBCCCGEEEKYjpm2l73sZe2SSy4Z8bsLLrige1ZbCCGEEEIIIYR5ONO27777dhuNwGPdDjjggLbsssve57jLL7+8W+MWQgghhBBCCGEezrQ9/elP74K13udw1//1WmSRRdqGG27YPvShD01R0UIIIYQQQgghjGum7alPfWr3gg1HzLStueaaqb0QQgghhBBCGLSNSI477ri5U5IQQgghhBBCCJML2rbeeuvuwdnrrrtu934sZsyY0X7wgx+M57QhhBBCCCGEEKYiaNtkk03a/e53v+79xhtv3AVmIYQQQgghhBDmPjOGencXWQg5//zzu78bbLDBdBclhBBCCCGEMI2cP6CxwYSf03bUUUfNsotkL9dcc03bbbfdpqJcIYQQQgghhBAmE7Qdfvjhbeedd25/+9vfZvn8G9/4Rtt2223bb3/721RsCCGEEEIIIUxX0Pa5z32ue9D2dttt1775zW+2f/zjH+21r31t22+//dqmm27aTjnllKkqWwghhBBCCCEs9Ex4y//NNtusnXzyye2ggw7qArUlllii3f/+92+f+MQn2tOe9rSFvkJDCCGEEEIIYVpn2nDPPfe0e++9t3tvfdtdd93V7rjjjiktWAghhBBCCCGESQRtUiKf+cxnttNOO629+93vbj/5yU/a5ptv3vbee+/2mte8pkudDCGEEEIIIYQwTVv+e8C2Z7V98IMfbA95yEOGPz/99NPbAQcc0O688852zjnntPmFQd3WM4QQQgghhDBvGdTYYMIzbe985zvbcccdN0vAhm222abbhGTLLbecyvKFEEIIIYQQwkJNHq49oNF0CCGEEEIIYd4yX8+07bXXXu2KK66Y5bM//OEPXSpkL7///e/bJptsMrUlDCGEEEIIIYSFmHEFbd/5znfaDTfcMPy/nSN32GGHdvHFF89ynM9vueWWqS9lCCGEEEIIISykjBi02cJ/5syZY/5wgvuXhBBCCCGEEEKYqqDtyiuvbLvuumtmzUIIIYQQQghhEIO2ZZddtl100UVtxx13nPclCiGEEEIIIYQwzIhB2yqrrNLOOOOM9sIXvnCkr0MIIYQQQgghTPdGJEsttVR71ateNeaPZ8yYMTfKFEIIIYQQQgjh/7NYGydHHnlku//97z/LZ0cccURbccUVh//v3WEyhBBCCCGEEMI8Ctoe/OAHtz/96U/3+eyPf/zjfY5dddVVp6BYIYQQQgghhBDGHbRZ3xZCCCGEEEIIYUAfrh1CCCGEEEIIYXpI0BZCCCGEEEIIA0yCthBCCCGEEEIYYBK0hRBCCCGEEMIAk6AthBBCCCGEEBbEoO2mm25qP/zhD9uXv/zldv3117dLL720DQ0NTfg8M2fObIcffnjbcsst24Ybbth22223dsUVV4x6/B/+8If28pe/vG200UZts802a+95z3vaLbfcMtnbCCGEEEIIIYQFL2g76qij2pOf/OT2hje8ob3vfe9rV111VfvQhz7Udtxxx3bzzTdP6Fwe2v2lL32pHXjgge2EE07ogrhdd9213XXXXfc59p///Gd75Stf2VZbbbV20kkndb8955xz2tvf/vbJ3EYIIYQQQgghLHhB2/HHH9+OOOKILnj66le/Ojy7tvPOO3czZB//+MfHfS6B2bHHHtv23HPPttVWW7V11123HXbYYe3qq69up59++n2O/9vf/ta22GKLLlB8+MMf3h772Me2F77whe3nP//5RG8jhBBCCCGEEBbMoO24445rr3nNa9qb3vSmtv766w9/bubtzW9+84QexH3RRRe1W2+9tW2++ebDny2//PJtvfXWa2edddZ9jn/MYx7TDj300LbYYv9+Jvgll1zSvvWtb7UnPvGJE72NEEIIIYQQQpgv+Hf0MwH+/ve/t0022WTE7x7xiEd0KYzjxYwaVl111Vk+X2WVVYa/G42nP/3p7fLLL+9SJT/xiU+0OcFs4W233TZH5wghhBBCCCHM3wwNDbUZM2a0+T5oE2Cde+657QlPeMJ9vvv9739/nwBsLG6//fbu7xJLLDHL50suuWS30clYHHLIId3vDz744Payl72sm3G73/3u1ybD3Xff3S688MJJ/TaEEEIIIYSw4LBEX2wyXwZtO+ywQ7embamllurWocEs1fe+97326U9/ulvrNl6co9a21Xvceeedbemllx7ztxtssEH31yyb1Mzvf//77XnPe16bDIsvvnhba621JvXbEEIIIYQQwoLBxRdf3AaRCQdttuS/8soru5kuL5jpwnOe85y2++67j/tcNSt37bXXtjXWWGP4c/+vs8469zneYwX++te/DgeLeOADH9hWXHHFds0117TJYgp0mWWWmfTvQwghhBBCCPM/MwYwNXJSQZsbsXujGbVf/epXXRrjcsst1zbeeOO29tprT+hcdotcdtll25lnnjkctHlkwAUXXNDtRtnPL37xi/aRj3yk/exnP+s2LIEg7oYbbmhrrrnmRG8lhBBCCCGEEAaeCQdthS33veY0X1RwZsZupZVW6jYVsUbtQQ96UNtmm23avffe2z24W1AofXLbbbdtRx99dNtnn33a3nvv3QWM73//+9ujH/3o9pSnPGWOyhJCCCGEEEII823Qtt9++03opB60PV48o+2ee+5p73rXu9odd9zRzdgdc8wx3TozaZhbb711d77tt9++S4P8whe+0D784Q+3nXbaqS266KLd9x6u7X0IIYQQQgghLGjMGKqnY4/BU5/61Fn+t+ZMoPXgBz+4rbzyyu3GG2/sHqxt5kzK4wknnNDmF84///xZNjYJIYQQQgghLJycP6Cxwbhm2nofmP3tb3+7S2e0g6S0xN6dVl7/+te3Zz7zmXOnpCGEEEIIIYSwELLIRH9w2GGHtbe+9a2zBGywZf6b3/zm9tnPfnYqyxdCCCGEEEIICzUTDtrs1Fg7N/az2GKLdc9sCyGEEEIIIYQwTUHbhhtu2I466qhu58b+dW5SJjfddNMpKloIIYQQQgghhAlv+b/vvvu2XXbZpdtif6ONNup2dLzuuuvaueee21ZYYYUuoAshhBBCCCGEME0zbXaHPOWUU9qLXvSi9q9//av9/ve/77bqf9WrXtVOPvnktvrqq09R0UIIIYQQQgghTOrh2g984AO7GbcQQgghhBBCCAM20xZCCCGEEEIIYd6RoC2EEEIIIYQQBpgEbSGEEEIIIYQwwCRoCyGEEEIIIYQBJkFbCCGEEEIIIczvu0fut99+Ezrphz70ocmWJ4QQQgghhBDCRIO2M888c5b/r7322nbPPfe0Bz/4wW3llVduN954Y7viiivaEkss0T3HLYQQQgghhBDCPAzazjjjjOH33/72t9shhxzSjjjiiPboRz96+POLL764vf71r2/PfOYzp6hoIYQQQgghhBAmvKbtsMMOa29961tnCdiw1lprtTe/+c3ts5/9bGo1hBBCCCGEEKYraLvhhhva8ssvP+J3iy22WLvtttumolwhhBBCCCGEECYTtG244YbtqKOOajfddNN91rlJmdx0001TsSGEEEIIIYQwL9e09bLvvvu2XXbZpT3lKU9pG220UVtxxRXbdddd184999y2wgordAFdCCGEEEIIIYRpmmmzO+Qpp5zSXvSiF7V//etf7fe//32744472qte9ap28sknt9VXX32KihZCCCGEEEIIYcIzbXjgAx/YzbiFEEIIIYQQQhjAoO2aa65p55xzTrvrrruGP5s5c2a7/fbb29lnn93tMBlCCCGEEEIIYRqCttNOO63tvffe3cO1Z8yY0X02NDQ0/P4Rj3jEFBQrhBBCCCGEEMKk1rR96lOfauuvv3476aST2vbbb9+222679p3vfKfts88+bdFFF23veMc7UrMhhBBCCCGEMF0zbZdddln76Ec/2tZbb71ue/9jjz22rbnmmt3rn//8ZxfUPfGJT5yq8oUQQgghhBDCQs2EZ9oWWWSRbmt/PPShD22XXnppt54NT3rSk9rFF1889aUMIYQQQgghhIWUCQdt1qz95je/GX5vM5KLLrqo+//mm2+eZXOSEEIIIYQQQgjzOD3yxS9+cdt///3bbbfd1t7ylre0zTbbrO23335thx12aMcff3y33i2EEEIIIYSw4DM0c2abscgi8+x3CysTDtp23HHHbjbtyiuv7P4/8MAD22677dY+8IEPtNVWW629853vnBvlDCGEEEIIIQwYAq/zP3ZIu/X/xwbj4X6rr942ePPec7VcCxqTek7bS1/60uH3D3nIQ9qpp57abrjhhrbSSiu1+ZmZM4faIovMmOe/DSGEEEIIYX5FwHbLpZdMdzEWaCYVtPXjGW3ze8AGQdfHjj6vXfn3Wyf0u9UffL/25tc8Zq6VK4QQQgghhLDwMq6gbd111x1+ePZ4uPDCC9v8ioDt0r/ePN3FCCGEEEIIIYTxB21veMMbhoO2O++8s33uc59rD3vYw9rTn/70tvLKK7cbb7yxnXHGGe1Pf/pTe93rXjeeU4YQQgghhBBCmKqgbY899hh+/453vKNttdVW7Ygjjphl9u21r31t22effdof/vCH8ZwyhBBCCCGEEMI4mPA+mzYdedGLXjRiuuR2223XfvrTn070lCGEEEIIIYQQpipou9/97tf++te/jvjdBRdc0FZYYYWJnjKEEEIIIYQQwlTtHvnsZz+7HXrooW3xxRfv0iTvf//7t+uuu66ddtpp7ZOf/GT3zLYQQgghhBBCCNMUtO21117tqquuau95z3tmSZEcGhpqL3zhC7tNS0IIIYQQQgghTFPQtsQSS7TDDz+8/fnPf25nn312u/nmm7vZts0226ytscYaU1SsEEIIIYQQQghz9HDt//7v/+5eIYQQQgghhBCmOWh72cte1vbff/+25pprdu/HQsrkF77whakqXwghhBBCCCEs1IwraLNebaT3szs2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XHBB22OPPdrRRx/d9t1333bppZe297znPeO6SAghhBBCCCGEuTjT9n//93/trW99a3v5y1/e/f+kJz2pPfCBD2x77713u+222+6zg2QIIYQQQgghhHk40/aPf/yjrb/++rN8tummm7Z77723XXXVVVNUlBBCCCGEEEIIkwra7rnnnrbEEkvM8tkKK6zQ/b3zzjvHc4oQQgghhBBCCHMraBuLPJcthBBCCCGEEAY4aLOTZAghhBBCCCGEaX5O2wEHHNCWXXbZ+8ywvfvd7273u9/9ZgnivvCFL0x1OUMIIYQQQghhoWRcQdvGG288YirkSJ8nXTKEEEIIIYQQ5nHQdtxxx03hJUMIIYQQQgghzLM1bSGEEEIIIYQQ5h4J2kIIIYQQQghhgEnQFkIIIYQQQggDTIK2EEIIIYQQQhhgErSFEEIIIYQQwgCToC2EEEIIIYQQBpgEbSGEEEIIIYQwwEx70DZz5sx2+OGHty233LJtuOGGbbfddmtXXHHFuH636667tiOOOGKelDOEEEIIIYQQFsqg7cgjj2xf+tKX2oEHHthOOOGE4WDsrrvuGvU3vnvHO97RfvrTn87TsoYQQgghhBDCQhW0Cb6OPfbYtueee7atttqqrbvuuu2www5rV199dTv99NNH/M1vfvObtv3227ezzz67Lb/88vO8zCGEEEIIIYSw0ARtF110Ubv11lvb5ptvPvyZQGy99dZrZ5111oi/+fGPf9ylUn7zm99syy233DwsbQghhBBCCCHMexZr04gZNay66qqzfL7KKqsMf9fPW97ylikvx9DQULv99tvb0ksvPUfncQ7nCiGEEEIIYUFnxowZc+Q/D6LvPDQ01N3XoDGtQZuGwhJLLDHL50suuWS76aab5lk57r777nbZZZd1M3xzgnPUPYUQQgghhLAgI2CbE/95UH3nJfpik7awB21LLbXU8Nq2eo8777xzjme9JsLiiy/eHv7wh8/xeZxj0EYLQgghhBBCmBvM6YzUIPrOF198cRtEpjVoq7TIa6+9tq2xxhrDn/t/nXXWmWflmNOp3WJeBpohhBBCCCHMzwyi7zxjAFMjp30jErtFLrvssu3MM88c/uzmm29uF1xwQdt4442ns2ghhBBCCCGEMBAsNt35ojvvvHM75JBD2korrdRWW221dvDBB7cHPehBbZtttmn33ntvu/7667tdInvTJ0MIIYQQQghhYWHaH67tGW077LBDe9e73tV22mmntuiii7ZjjjmmW2d21VVXtS222KJ997vfne5ihhBCCCGEEMLCN9MGQdo+++zTvfpZffXV2x//+MdRf3vGGWfM5dKFEEIIIYQQwkI+0xZCCCGEEEIIYXQStIUQQgghhBDCAJOgLYQQQgghhBAGmARtIYQQQgghhDDAJGgLIYQQQgghhAEmQVsIIYQQQgghDDAJ2kIIIYQQQghhgEnQFkIIIYQQQggDTIK2EEIIIYQQQhhgErSFEEIIIYQQwgCToC2EEEIIIYQQBpgEbSGEEEIIIYQwwCRoCyGEEEIIIYQBJkFbCCGEEEIIIQwwCdpCCCGEEEIIYYBJ0BZCCCGEEEIIA0yCthBCCCGEEEIYYBK0hRBCCCGEEMIAk6AthBBCCCGEEAaYBG0hhBBCCCGEMMAkaAshhBBCCCGEASZBWwghhBBCCCEMMAnaQgghhBBCCGGASdAWQgghhBBCCANMgrYQQgghhBBCGGAStIUQQghhWhkaGpqW34YQwvzCYtNdgBBCCCEs3MyYMaPd8ufftntv/9eEfrfo0su25f57w7lWrhBCGBQStIUQQghh2hGw3XvbzdNdjBBCGEiSHhlCCCGEEEIIA0yCthBCCCGEEEIYYBK0hRBCCCGEEMIAk6AthBBCCCGEEAaYBG0hhBBCCCGEMMAkaAshhBBCCCGEASZBWwghhBBCCCEMMAnaQgghhBBCCGGASdAWQgghhBBCCANMgrYQQgghhBBCGGAStIUQQgghhBDCAJOgLYQQQgghhBAGmARtIYQQQgghhDDAJGgLIYQQQgghhAEmQVsIIYQQQgghDDAJ2kIIIYQQQghhgEnQFkIIIYQQQggDTIK2EEIIIYQQQhhgErSFEEIIIYQQwgCToC2EEEIIIYQQBpgEbSGEEEIIIYQwwCRoCyGEEEIIIYQBZtqDtpkzZ7bDDz+8bbnllm3DDTdsu+22W7viiitGPf6GG25oe+21V9t4443bJpts0t773ve222+/fZ6WOYQQQgghhBAWmqDtyCOPbF/60pfagQce2E444YQuiNt1113bXXfdNeLxe+65Z/vLX/7SPv/5z7ePf/zj7cc//nE74IAD5nm5QwghhBBCCGGBD9oEZscee2wXiG211VZt3XXXbYcddli7+uqr2+mnn36f488999z261//uh100EFt/fXXb5tvvnl73/ve1771rW+1a665ZlruIYQQQgghhBAW2KDtoosuarfeemsXfBXLL798W2+99dpZZ511n+PPPvvstvLKK7c111xz+DMpkjNmzGjnnHPOPCt3CCGEEEIIIcwrFmvTiBk1rLrqqrN8vsoqqwx/14vZtP5jl1hiibbiiiu2q666alJluPvuu9vQ0FD73e9+1wV/z9tmyXbvPQ+Y0DkWXWxGO//887vzhBBCCGFisL9D9yzdhhZfcmK/u2eRdkXsbwjT3n8Xf94O7f733jP+3yy62MD6znfffXd3T4PGtAZttYGIwKuXJZdcst10000jHt9/bB1/5513TqoM1Sj1d4Xl7nv+iZ4rhBBCCBO0oYsv0SZrRWN/Q5hellhhhQWm786YMWMgyzWtQdtSSy01vLat3kMAtvTSS494/EgblDh+mWWWmVQZNtpoo0n9LoQQQgghhBAW+DVtlep47bXXzvK5/x/4wAfe5/gHPehB9zlWEHfjjTd2KZUhhBBCCCGEsKAxrUGb3SKXXXbZduaZZw5/dvPNN7cLLrigew5bPz6z1s2W/4XdJPG4xz1uHpU6hBBCCCGEEBaS9Ejr03beeed2yCGHtJVWWqmtttpq7eCDD+5m1LbZZpt27733tuuvv74tt9xyXWrkYx7zmPbYxz62veUtb+mezXbbbbe197znPe15z3veiDNzIYQQQgghhDC/M2NomrdtEZgdeuih7aSTTmp33HFHN5smEFt99dXblVde2bbeeuv2oQ99qG2//fbd8dddd11773vf23760592G5A84xnPaPvtt1/3PoQQQgghhBAWNKY9aAshhBBCCCGEMKBr2kIIIYQQQgghjE2CthBCCCGEEEIYYBK0hRBCCCGEEMIAk6AthBBCCCGEEAaYBG0hhBBCCCGEMMAkaAshhBBCCCGEASZB2zi566675m5LhDBg5Gkgk+fiiy+ewpYIIYTQz/XXX59KCQsVCdrG4KKLLuoe9P3sZz+77bnnnu1rX/ta9zDwEKYacjUoQdLRRx/dXvziF7drrrlmuosyXw3qzJw5s3t/4okntte85jXtr3/963QXa4FmUPrLZLn22mvb2972tvapT31quosSwpRz5513tuOPP769973vnSvn3mWXXdo73vGONkhceOGFXZ++4YYb2oLEQQcd1A499NB2++23T3dRFnoStI3Cdddd1z7wgQ+0G2+8sb3hDW9oD33oQ9u73/3uzqG97bbb5guHRiBQjuR4jh10J0j5xnM/8wvup+p80UUXbTNmzJitTPaj3SYzkDCSbNx9993d39VXX7394Q9/6JzK8eA8C1K7zA5txnipo3/+85/dZ1/96lfbL37xi+79U57ylHb66ae3NdZYY+D71ETpv5/xyN549dB4UN8lp9VfnP+ee+6Z43PP67ZSJ2YKfvnLX477+vOyjONts8nYDufWZgta/1hY7m8sW9bLn/70p/bDH/5wxN/wq+jNO+64Y/gc42WJJZZoj3/849uf//znuW57Rru3/mNw2WWXtR/84Aez9Olzzz13lhnB+UkmStfyBb7//e93/vD8xMzZyMZU2qZeRmvjqWj7BG2jcNRRR7UrrriivelNb2rPetaz2n777dde97rXtVNOOaVdcMEFbbopZ+mDH/xg22OPPdott9wyi1BwaAQCiyzy7ya+/PLLu1nDX/3qV93/BLX/2NkFDXXduTnbeOaZZ7aPfvSjw7M8Faj5q3x1P2UU5xcqMO7F/Xi5D4bt/e9/f2fkin/961/Dyt5o5V577XWf2S/t5oWqj7GUUG+QWHVZny+++OLd+6c//emdsu4ty1jncp7ec80L1M2RRx45bPDnFepWmx144IFdv6MTjK6edtpp7X//93+7Y1ZaaaVu5u3ss8/uyjm/455LdvvluGTv0ksv7fSk7ITZydpEris4pofxla98pb3yla9sf/zjH7t25/CpX+dfbLHFumPowfEa4XLG6vjx6L85pfd6D3rQg9pjH/vYzvHcdtttu/saKxVfPcztMvY6MaO1Wa/twHhtRy/Orc38ThvPbce7V4bnBb33Z1ZoQaRXF5QtQ3225JJLdoGV4373u98N/67aetddd+105Ic//OHhc4w3AHbsJpts0v72t791gdLcoFcvjCXfvb7Iox/96Lbuuuu2H/3oR8ODTDvttFP7v//7v7mmZ+bW4IDyll7dcccd25VXXtnV96Az1BNk9+uw/smMydqm0RDUnnDCCbO0R6/umYq2/3eLhPtAQDfddNO25pprdg4sh9Z7TvT973//aasx0+4vfelL20te8pK28847t6233roz/sstt1wnHCWAnKdTTz21nXfeeW2dddZpm222WTvppJPawx/+8O59r6ByGgQNf//739szn/nM9rjHPa4byRqJctLg+BVXXLEts8wyw0HVZKmyO6fzlbLoVZi++/nPf979/9SnPrVzjsuZ4ay5z97yzWsExscee2znvKrj3jqpwLif1772tcMzWw9+8IO7doT7ed7zntee+MQntve9731t9913bw94wAO6eqnzUtZnnHFG58yahWPEnv/857dHPvKRw47VSNfk6P74xz9uX/7yl9srXvGK9rSnPa07H4VDDjiSq622Wmdon/GMZ7T73e9+w+1T91Nl4GD+5Cc/ab/5zW+63zHSZGKquemmm9ryyy8/fH2BkrQycsBIjoZ7UL4VVlihbbXVVu0hD3nIHJXD9SngAw44oKu/b37zm+0f//hH12ekAhkY0R+lSNIhG220UXvOc57T9dk57SPTRa+uIONk0CziJZdc0jnc5PPTn/50F7iR42oP90qOjTzTQ+RDv1hllVVGrYsyuDUQYNCMzhUQk0V9gjNIfg3uyIC4+eabu/r+/e9/353bcdJTZ0dv39SXyArdM5Y8TYTeQbHea3oZfLHukVzStd6TF9ceSffS3Z/85Cfb5z73ua7u51b5Sl+o87POOqur64033rjTASPJA13CQb3qqqu6tt1ggw2GvytHZSQdRHa0qd8uu+yybcMNN2xvfOMbu/abG/SWWX9deeWVp/waJdN0pVl3uuH888/v9MELX/jCbpnFVGDwjs0waFR2cjroHUTVnup1vfXWa0svvXTX5uyy8q266qrtpz/9aVt//fVncZLpRsfq48cdd1yX7jgSvYOCBmvIpGs/7GEP63wAs1p8szmh13fqvW75R17ujb5x7V79VeVjCwVp7J/2p5fImd/RTS94wQu643/729923z3qUY/qyj8Zu9D7m5IBNtL73r46mfP13z+9SN70ZwO59Pi8HqQdi3vvvXcWHVP3QYdV9suTn/zkzrfq9cN8/61vfavznfhZ9Nec2uef/exn3Yzkk570pM6fQ29dsZGu+9///d+d7p9M2ydoGwWKpKLxmoEgADrtnDp+c4Ky/Nd//VdnUAVtAktwnihAfP7zn+8cSB2NMmMYvTgElCtDy1AaNTn44IO72TfHcVy+973vdcagnMxegaOUvvvd73YjCTqvcmy++ebtne98Z6dIx8Nf/vKXTplvscUWs8xc1HUoHkLve+cXMAtApaoaiWYAlJ/DTPCNYDmG8hPAmhGdLtwH5+oRj3jEfRSAehdguV9OPOekAjBtZebGaFahLZ/whCcMz1ww/OrfOqly2gRY8ucFSpzUz3zmM139HnbYYZ3zWVQde7397W/vAh7BOwerZNkMshFPio0DVSOYFBpZ6Xe8nMs9qW9KSMBMjowqH3744Z08zUmQQp7JFLmQlnzOOed0efXlFLoH5aT4RkI5PvShD3UBAznhCEttJtscqPGWrUbJSj7L6fCXQb711lu7PqHfKPOvf/3rrtzu33faQduSZ7pjEKnZn+qHdb9VP2TgkEMO6eqS/iGHUsTXWmutro8y6oIzzj0dSb7Vt1lzM8Tqirx97GMf636jHcrx6R8MqL/6tFF49ccpM0hFDrQ/3SNdpwJHARtZ4BQ51toLDqHyVOruSLNB9AnZ/uIXv9jN2imzgYF99tmn/c///M+kHKn623tPvdBdgk3XMyqvXFdffXXX36VRMfYCYLrYTEQN4giWOan0wHjRjgI9TlbpW/TXeS/sCpugf1Xf2mabbTodXzqAw/mFL3yhGzChT8gDXfbZz362+7yC3l6d0dvfvJfJQob23Xffrt+QCQEOHT4etDO9V7a57rfXlvRCZlxD8MCpJhs77LBDJzdz4iAWdGANIn79619vX/rSl7p60Ib0ND259tprd7poItcy4CQQMBNb9t3/7KS/E5GHydBfp70yXraL3dGGnFRBlWCEHhA86O9sGD1R9UZeamBCHfE1DMBxrHsHJEpm6H59nGzqD9tvv33X1907faCO+EJjIaAkn2TZAFvpu94Bon5cl/7SP/kd7pFeoB96+w6b7Dj6zrndr/YxCEqfCAjIABtBj5IVn+vP+mevrR5rZr4/MKEjyAC9LOtEW2255ZZd8PuYxzxmxEC097y95xpJF/Cx2HLXdV7n04/oMOWfLmb2DEirA7andyKF3VVuvhg/Sx0Y7Hr961/f2WCTGfxG7VQyYABJptNkB1aUgw7UT7165VcbHXHEEd11yT79YwBD20/KPxoK4+LnP//50KMe9aih7373u/O8xmbOnDnL/0cfffTQE57whKG777576F//+tfQa1/72qF3vOMd3Xfnn3/+0IYbbjj0/e9/f/h479dee+2h3XfffWjnnXceuvDCC4c++clPduf4n//5n6Frrrlm6N577x264447hvbYY4+h7bffvvvd7bffPst1Tz311KHttttu6Igjjhg666yzhk444YShddZZZ+gb3/jGfco4Eq7x7ne/e+jxj398d3zvb9wLzjjjjO77Pffcs/vstttuG9ppp52G3vnOdw5df/31w8c88pGPHHrhC1849JOf/KQrvzKtu+66Q7///e9HrLO5hXvyKl7wghd0Zb3llluGvz/kkEOGnvjEJw697GUv68q86aabDh144IHd+7333rtrr29/+9v3Kfcpp5wytP766w/985//7P7fZZddhl71qld1daJutthii6FHP/rRXZ367O9///vQj370o6Ebb7xx6Je//OXQ/vvvP/S2t71t6Ac/+MHQDTfc0J3j4x//eCcLu+2229Cdd97ZXe+yyy4besYznjH0oQ99qDvGeQ477LBO3p3nr3/9aydzH/nIR4bOPvvs7hi/fcMb3tC1U+GzF7/4xd19VnuOF+Vw3UMPPXToSU96UleeT3/60913f/zjH7u6Ir9kFMcff/zQNttsM3TrrbcOfetb3xr6wAc+0P1VBpx44olDW2+9dVf24sgjj+zqk7xMhuuuu667/j333NP9r0215etf//qhM888c2jzzTfv6kx/+O1vfzv0vOc9b+hd73pX177KOyio67qHftTnRRdd1NXjtddeO3TxxRd37fC6171u6Fe/+lUnt1tttVV3X3/+85+H3vOe93Q6gAySmac+9alD//jHP7rz7LXXXl1fKC6//PKhc889d0zZuPLKKzsZIFv00Hvf+97u/M997nM72f/gBz849JSnPGXo85//fFf/W2655dBRRx01y+99rs+N1n6F/vO0pz1taL/99uvuhfzRj89//vO7/+cE+vGcc84Z+s53vtPJYPXrk046qbuu7+66666h008/vauzTTbZZGjHHXfs6t39PPnJTx763Oc+N3w+dbvDDjt073v1zWjU9diGX/ziFyMew1bQFzfddNNw3bl/eqM+++pXv9rp2i984QvD7aYetYm6//KXv9xd6+qrr+7uY5999ul0H32kHzgfm0HvsDtlj/RdNrWgn8ZzX9C3Nttss05vjYQ6VMbec7/5zW/uZLjaRJnYvgsuuGDMOvSaXbnoJud33+pB+/a2Hf3FppU+G+18ZPMvf/nL0Kc+9anu+J/97GdDb3rTm4a23Xbbrh8Wxx133NDTn/70oV//+tdD8wp1qv1Kv1Y7KAfZqO/p3A02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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Grupo Históricamente Privilegiado: 'united-states' (Tasa base: 24.6%)\n", " =====================================================================================\n", " ✅ [JUSTO] '?': DIR = 0.98 (24.1%) | ✅ [JUSTO] 'england': DIR = nan (nan%)\n", " 🚨 [ALERTA] 'mexico': DIR = 0.20 (4.9%) | ✅ [JUSTO] 'france': DIR = nan (nan%)\n", " ✅ [JUSTO] 'cambodia': DIR = nan (nan%) | ✅ [JUSTO] 'germany': DIR = nan (nan%)\n", " ✅ [JUSTO] 'canada': DIR = nan (nan%) | ✅ [JUSTO] 'greece': DIR = nan (nan%)\n", " ✅ [JUSTO] 'china': DIR = nan (nan%) | ✅ [JUSTO] 'guatemala': DIR = nan (nan%)\n", " ✅ [JUSTO] 'columbia': DIR = nan (nan%) | ✅ [JUSTO] 'haiti': DIR = nan (nan%)\n", " ✅ [JUSTO] 'cuba': DIR = nan (nan%) | ✅ [JUSTO] 'holand-netherlands': DIR = nan (nan%)\n", " ✅ [JUSTO] 'dominican-republic': DIR = nan (nan%) | ✅ [JUSTO] 'honduras': DIR = nan (nan%)\n", " ✅ [JUSTO] 'ecuador': DIR = nan (nan%) | ✅ [JUSTO] 'hong': DIR = nan (nan%)\n", " ✅ [JUSTO] 'el-salvador': DIR = nan (nan%) | ✅ [JUSTO] 'hungary': DIR = nan (nan%)\n", " -------------------------------------------------------------------------------------\n", " ✅ [JUSTO] 'india': DIR = nan (nan%) | ✅ [JUSTO] 'philippines': DIR = nan (nan%)\n", " ✅ [JUSTO] 'iran': DIR = nan (nan%) | ✅ [JUSTO] 'poland': DIR = nan (nan%)\n", " ✅ [JUSTO] 'ireland': DIR = nan (nan%) | ✅ [JUSTO] 'portugal': DIR = nan (nan%)\n", " ✅ [JUSTO] 'italy': DIR = nan (nan%) | ✅ [JUSTO] 'puerto-rico': DIR = nan (nan%)\n", " ✅ [JUSTO] 'jamaica': DIR = nan (nan%) | ✅ [JUSTO] 'scotland': DIR = nan (nan%)\n", " ✅ [JUSTO] 'japan': DIR = nan (nan%) | ✅ [JUSTO] 'south': DIR = nan (nan%)\n", " ✅ [JUSTO] 'laos': DIR = nan (nan%) | ✅ [JUSTO] 'taiwan': DIR = nan (nan%)\n", " ✅ [JUSTO] 'nicaragua': DIR = nan (nan%) | ✅ [JUSTO] 'thailand': DIR = nan (nan%)\n", " ✅ [JUSTO] 'outlying-us(guam-usvi-etc)': DIR = nan (nan%) | ✅ [JUSTO] 'trinadad&tobago': DIR = nan (nan%)\n", " ✅ [JUSTO] 'peru': DIR = nan (nan%) | ✅ [JUSTO] 'vietnam': DIR = nan (nan%)\n", " -------------------------------------------------------------------------------------\n", " ✅ [JUSTO] 'yugoslavia': DIR = nan (nan%) | \n", " =====================================================================================\n", " 💡 ACCIÓN REQUERIDA (Fase 5): Implementar Reweighing sobre 'native_country' para neutralizar el sesgo.\n", "\n", "\n", "⏱️ Auditoría de Atributos Protegidos completada en 2.739s\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import time\n", "import re\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from IPython.display import display, Markdown\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def auditar_sesgo_historico(\n", " X: pd.DataFrame, \n", " y: pd.Series, \n", " clase_favorable=None, \n", " columnas_sensibles=None\n", "):\n", " \"\"\"\n", " [FASE 2 - Paso 4.3] Motor AutoML de Justicia Algorítmica (Fairness).\n", " - Escáner Legal Contextual: Detecta atributos protegidos usando delimitadores de bases de datos.\n", " - Soporte Datetime (NUEVO): Detecta fechas de nacimiento y extrae el año automáticamente.\n", " - Discretización Inteligente: Convierte variables continuas (como edad/año) en rangos generacionales.\n", " - Calcula la Tasa de Aprobación Base por grupo sociodemográfico.\n", " - Aplica la regla legal del 80% (Disparate Impact Ratio).\n", " \"\"\"\n", " if X is None or y is None or X.empty or y.empty:\n", " logger.error(\"🛑 Error Crítico: Las matrices X_train o y_train están vacías.\")\n", " raise ValueError(\"Las matrices X_train o y_train están vacías.\")\n", "\n", " logger.info(f\"=== ⚖️ FASE 4.3: Auditoría de Atributos Protegidos (Línea Base de Sesgo) ===\")\n", " inicio_timer = time.time()\n", "\n", " # 1. Ensamblaje temporal para análisis\n", " df_analisis = X.copy()\n", " target_name = y.name if y.name else 'Target'\n", " df_analisis[target_name] = y\n", "\n", " # ==========================================\n", " # 🚀 2. Detección Inteligente de Atributos Protegidos (Bilingüe + Contextual)\n", " # ==========================================\n", " if not columnas_sensibles:\n", " def construir_patron(palabra):\n", " return fr'(^{palabra}$|^{palabra}_|_{palabra}$|_{palabra}_|[a-z]{palabra.capitalize()})'\n", "\n", " # 📚 DICCIONARIO LEGAL EXHAUSTIVO (GDPR, EEOC, Leyes Latam)\n", " terminos_legales = [\n", " # 1. EDAD Y NACIMIENTO (Age & Birth)\n", " 'age', 'edad', 'dob', 'dateofbirth', 'birth', 'birthdate', 'birthyear', 'nacimiento', \n", " 'fechanacimiento', 'anonacimiento', 'year', 'año', 'ano', 'generation', 'generacion',\n", " # 2. SEXO, GÉNERO Y ORIENTACIÓN (Sex, Gender & Orientation)\n", " 'sex', 'sexo', 'gender', 'genero', 'female', 'femenino', 'male', 'masculino', \n", " 'mujer', 'hombre', 'orientation', 'orientacion', 'sexuality', 'sexualidad', \n", " 'sexualorientation', 'orientacionsexual', 'lgbt', 'lgbtq', 'trans', 'transgender', \n", " 'transgenero', 'nonbinary', 'nobinario', 'intersex', 'intersexual',\n", " # 3. RAZA, ETNIA Y ORIGEN (Race, Ethnicity & Origins)\n", " 'race', 'raza', 'ethnic', 'etnia', 'ethnicity', 'ethniccode', 'codigoetnico',\n", " 'color', 'origin', 'origen', 'ancestry', 'ascendencia', 'minority', 'minoria', \n", " 'indigenous', 'indigena', 'tribe', 'tribu', 'hispanic', 'hispano', 'latino', \n", " 'afro', 'afroamerican', 'black', 'negro', 'white', 'blanco', 'asian', 'asiatico', \n", " 'caucasian', 'caucasico',\n", " # 4. RELIGIÓN Y CREENCIAS (Religion & Beliefs)\n", " 'religion', 'belief', 'creencia', 'faith', 'fe', 'creed', 'credo', 'worship', 'culto',\n", " 'muslim', 'musulman', 'jewish', 'judio', 'christian', 'cristiano', 'catholic', \n", " 'catolico', 'islam', 'judaismo', 'cristianismo',\n", " # 5. NACIONALIDAD E INMIGRACIÓN (Nationality & Immigration)\n", " 'national', 'nacional', 'nationality', 'nacionalidad', 'nation', 'nacion', \n", " 'country', 'pais', 'citizen', 'ciudadano', 'citizenship', 'ciudadania', \n", " 'immigrant', 'inmigrante', 'immigration', 'inmigracion', 'migrant', 'migrante', \n", " 'refugee', 'refugiado', 'asylum', 'asilo', 'alien', 'extranjero', 'native', 'nativo',\n", " # 6. SALUD, DISCAPACIDAD Y GENÉTICA (Health, Disability & Genetics)\n", " 'health', 'salud', 'medical', 'medico', 'disability', 'discapacidad', 'handicap', \n", " 'minusvalia', 'disabled', 'discapacitado', 'disease', 'enfermedad', 'illness', \n", " 'condition', 'condicion', 'genetic', 'genetico', 'pregnant', 'embarazada', \n", " 'pregnancy', 'embarazo', 'maternity', 'maternidad', 'paternity', 'paternidad',\n", " # 7. ESTADO CIVIL Y FAMILIA (Marital Status & Family)\n", " 'marital', 'conyugal', 'maritalstatus', 'estadocivil', 'civilstatus', 'civil', \n", " 'marriage', 'matrimonio', 'wedding', 'spouse', 'esposo', 'esposa', 'conyuge', \n", " 'widow', 'viudo', 'viuda', 'divorced', 'divorciado', 'single', 'soltero', \n", " 'family', 'familia', 'children', 'hijos', 'dependent', 'dependents', \n", " 'dependiente', 'dependientes',\n", " # 8. SOCIOECONÓMICO Y EDUCACIÓN (Socioeconomic & Education)\n", " 'income', 'ingreso', 'ingresos', 'salary', 'salario', 'wage', 'sueldo', 'wealth', \n", " 'riqueza', 'poverty', 'pobreza', 'class', 'clase', 'estrato', 'socioeconomic', \n", " 'socioeconomico', 'education', 'educacion', 'degree', 'grado', 'school', 'escuela', \n", " 'university', 'universidad', 'illiterate', 'analfabeto',\n", " # 9. SISTEMA PENAL Y CUSTODIA (Legal & Custody Status)\n", " 'legalstatus', 'estadolegal', 'custodystatus', 'estadocustodia', 'custody', 'custodia', \n", " 'felon', 'felony', 'conviction', 'condena', 'antecedente', 'parole', 'probation',\n", " # 10. IDIOMA Y POLÍTICA (Language, Politics & Unions)\n", " 'language', 'idioma', 'lenguaje', 'tongue', 'lengua', 'dialect', 'dialecto',\n", " 'politics', 'politica', 'political', 'politico', 'union', 'tradeunion', 'sindicato', 'gremio'\n", " ]\n", "\n", " patrones_completos = [construir_patron(t) for t in terminos_legales]\n", " patron_sensible = re.compile('|'.join(patrones_completos), re.IGNORECASE)\n", "\n", " columnas_sensibles = [col for col in X.columns if patron_sensible.search(col)]\n", "\n", " if not columnas_sensibles:\n", " logger.info(\" ✅ [INFO] No se detectaron columnas sociodemográficas protegidas en la matriz.\")\n", " return None\n", "\n", " logger.info(f\" 🛡️ Atributos Protegidos detectados automáticamente: {columnas_sensibles}\")\n", " logger.info(\" 🔒 ESTATUS: Aislados lógicamente. NO SERÁN ELIMINADOS de la matriz.\\n\")\n", "\n", " # 3. Detección de la Clase Favorable\n", " if clase_favorable is None:\n", " conteo_clases = y.value_counts(normalize=True)\n", " clase_favorable = conteo_clases.index[-1] \n", " logger.info(f\" 🎯 Clase Favorable auto-detectada: '{clase_favorable}' (Representa el {conteo_clases.iloc[-1]*100:.1f}%)\")\n", " else:\n", " logger.info(f\" 🎯 Clase Favorable inyectada por MLOps: '{clase_favorable}'\")\n", "\n", " df_analisis['target_binario_fairness'] = (df_analisis[target_name] == clase_favorable).astype(int)\n", " \n", " if MODO_VISUAL:\n", " sns.set_theme(style=\"whitegrid\")\n", "\n", " # ==========================================\n", " # 🧠 4. Motor de Medición de Disparidad (DIR) con Auto-Binning\n", " # ==========================================\n", " for col in columnas_sensibles:\n", " col_analisis = col\n", "\n", " if MODO_VISUAL:\n", " display(Markdown(f\"### 🔍 Analizando Sesgo Sociodemográfico en: `{col}`\"))\n", " logger.debug(f\"Renderizando análisis de sesgo visual para '{col}'\")\n", " else:\n", " logger.info(f\"\\n### 🔍 Analizando Sesgo Sociodemográfico en: `{col}`\")\n", "\n", " # 🚀 FIX MLOps: Interceptor de Fechas (Datetime)\n", " if pd.api.types.is_datetime64_any_dtype(df_analisis[col]):\n", " logger.info(f\" 🧠 [AutoML] Fecha detectada en '{col}'. Extrayendo el Año para análisis generacional...\")\n", " col_analisis = f\"{col}_year\"\n", " df_analisis[col_analisis] = df_analisis[col].dt.year\n", "\n", " # 🚀 LA MAGIA: Si es un número continuo (edad o año extraído), lo agrupamos en rangos (cuartiles)\n", " if pd.api.types.is_numeric_dtype(df_analisis[col_analisis]) and df_analisis[col_analisis].nunique() > 10:\n", " logger.info(f\" 🧠 [AutoML] Transformando variable continua '{col_analisis}' en rangos demográficos para medir el sesgo de forma justa...\")\n", " col_agrupada = f\"{col_analisis}_rangos\"\n", " df_analisis[col_agrupada] = pd.qcut(df_analisis[col_analisis], q=4, duplicates='drop').astype(str)\n", " col_analisis = col_agrupada\n", "\n", " conteo_val = df_analisis[col_analisis].value_counts(normalize=True)\n", " # Ignoramos categorías con menos del 1% para no alertar sobre valores atípicos irrelevantes\n", " categorias_validas = conteo_val[conteo_val > 0.01].index \n", " df_filtrado = df_analisis[df_analisis[col_analisis].isin(categorias_validas)]\n", "\n", " tabla_tasas = df_filtrado.groupby(col_analisis)['target_binario_fairness'].agg(['mean', 'count']).reset_index()\n", " tabla_tasas.rename(columns={'mean': 'Tasa_Exito', 'count': 'Muestra_Total'}, inplace=True)\n", " tabla_tasas.sort_values(by='Tasa_Exito', ascending=False, inplace=True)\n", "\n", " if tabla_tasas.empty:\n", " logger.warning(f\" ⚠️ No hay suficientes datos consistentes en '{col}' para graficar sesgos.\")\n", " continue\n", "\n", " grupo_privilegiado = tabla_tasas.iloc[0][col_analisis]\n", " tasa_maxima = tabla_tasas.iloc[0]['Tasa_Exito']\n", "\n", " # Evitamos división por cero si la tasa máxima es 0\n", " if tasa_maxima == 0:\n", " tabla_tasas['DIR (Impacto Dispar)'] = 1.0\n", " else:\n", " tabla_tasas['DIR (Impacto Dispar)'] = tabla_tasas['Tasa_Exito'] / tasa_maxima\n", "\n", " # Visualización\n", " if MODO_VISUAL:\n", " plt.figure(figsize=(10, 4))\n", " ax = sns.barplot(data=tabla_tasas, x=col_analisis, y='Tasa_Exito', palette='coolwarm')\n", " plt.axhline(tasa_maxima * 0.8, color='red', linestyle='--', label='Límite Legal MLOps (Regla 80%)')\n", " plt.title(f\"Tasa de obtención de '{clase_favorable}' por {col}\", fontsize=14)\n", " plt.ylabel(\"Probabilidad de Éxito\")\n", " plt.ylim(0, max(0.5, tasa_maxima + 0.1))\n", "\n", " # Rotamos las etiquetas si son textos largos (rangos de edad)\n", " plt.xticks(rotation=15) \n", " plt.legend()\n", " plt.show()\n", "\n", " # ==========================================\n", " # Generación de Reporte y Alertas (DOBLE COLUMNA)\n", " # ==========================================\n", " logger.info(f\" 👑 Grupo Históricamente Privilegiado: '{grupo_privilegiado}' (Tasa base: {tasa_maxima*100:.1f}%)\")\n", " logger.info(\" \" + \"=\"*85)\n", "\n", " alertas_sesgo = 0\n", " mensajes = [] \n", "\n", " for _, row in tabla_tasas.iterrows():\n", " grupo_actual = row[col_analisis]\n", " dir_actual = row['DIR (Impacto Dispar)']\n", "\n", " if grupo_actual == grupo_privilegiado:\n", " continue\n", "\n", " if dir_actual < 0.80:\n", " mensajes.append(f\"🚨 [ALERTA] '{grupo_actual}': DIR = {dir_actual:.2f} ({row['Tasa_Exito']*100:.1f}%)\")\n", " alertas_sesgo += 1\n", " else:\n", " mensajes.append(f\"✅ [JUSTO] '{grupo_actual}': DIR = {dir_actual:.2f} ({row['Tasa_Exito']*100:.1f}%)\")\n", "\n", " # Motor de Paginación a 2 Columnas exportado a Log\n", " lote_size = 20\n", " for i in range(0, len(mensajes), lote_size):\n", " lote = mensajes[i:i + lote_size]\n", " mitad = (len(lote) + 1) // 2 \n", "\n", " for j in range(mitad):\n", " col1 = lote[j]\n", " col2 = lote[j + mitad] if (j + mitad) < len(lote) else \"\"\n", " logger.info(f\" {col1:<40} | {col2}\")\n", "\n", " if (i + lote_size) < len(mensajes):\n", " logger.info(\" \" + \"-\"*85)\n", "\n", " logger.info(\" \" + \"=\"*85)\n", " if alertas_sesgo > 0:\n", " logger.warning(f\" 💡 ACCIÓN REQUERIDA (Fase 5): Implementar Reweighing sobre '{col}' para neutralizar el sesgo.\")\n", " logger.info(\"\\n\")\n", "\n", " logger.info(f\"⏱️ Auditoría de Atributos Protegidos completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción segura de datos\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'y_train'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " # Inyección Automática de la clase minoritaria descubierta en la Fase 4.1\n", " clase_fav_dinamica = None\n", " if hasattr(manager, 'rutas'):\n", " clase_fav_dinamica = manager.rutas.get('clase_minoritaria', None)\n", " \n", " if clase_fav_dinamica:\n", " logger.info(f\">>> 🔗 Conectando MLOps: Heredando Clase Favorable '{clase_fav_dinamica}' desde el Diagnóstico <<<\")\n", " else:\n", " logger.warning(\">>> ⚠️ Advertencia: No se encontró 'clase_minoritaria' en el Manager. El motor la auto-detectará. <<<\")\n", "\n", " # El escáner legal operará al 100% de forma autónoma con los datos del manager\n", " auditar_sesgo_historico(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " clase_favorable=clase_fav_dinamica \n", " )\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Auditoría de Sesgo: {e}\")" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 👁️ FASE 5.1: Análisis Visual Geométrico (Numéricas vs Target) ===\n", " ⚠️ [ALERTA DE RENDIMIENTO] Matriz masiva detectada (26,029 filas).\n", " ⚡ Protegiendo RAM: Submuestreando a 15,000 filas aleatorias solo para renderizado...\n", " 📊 Procesando 5 variables numéricas...\n", "\n", " 📌 Variable 'age': Media <=50k: 36.7 | Media >50k: 44.2\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjAAAAI9CAYAAACUtjEzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Qd0FOXXx/G76Q0CoffeEQQEFbGhomLH+rf33ntXbFhRsXfsvSs27A0RBRXpvXcIpLd9z++Jk3cTkpCEJLvZfD/nrNtmd2dnJ/jM3Ofe6/P7/X4DAAAAAAAAAAAIIRHBXgEAAAAAAAAAAICSCGAAAAAAAAAAAICQQwADAAAAAAAAAACEHAIYAAAAAAAAAAAg5BDAAAAAAAAAAAAAIYcABgAAAAAAAAAACDkEMAAAAAAAAAAAQMghgAEAAAAAAAAAAEIOAQwAAAAAAAAAABByCGAAAACgTnrvvfesR48epV569uxp/fr1sz322MPOOOMM+/TTT83v99fo+px00klFn69181x77bVFjz/yyCMWTlauXGlXXnmlDR061Pr27Wu77babXXDBBe65jIwM97i+9w477GDff/99ra5b4P6wbNmyWv1sAAAAANUjqpreBwAAAAgZClZkZ2fb6tWr3eWnn36yqVOn2o033hjsVQsr5513ns2cObPo/rp162zp0qXu9iuvvGLr16+3mJgYe/TRR23PPfcM4poCAAAAqIsIYAAAAKDOS0pKsv/9739F9wsKCiwtLc2+++47F8CQl19+2Q4//HCXKVCbdOK+adOm7vagQYMsXKSmphYLXuy9997WoUMHd9G2f+6551zw4rHHHnOZMAAAAABQWQQwAAAAUOclJye7UkYlbdiwwUaMGGFbtmxx9ydOnFjrAYwDDzzQXcKNghSBlGURFfX/hxe//fZbENYKAAAAQDghgAEAAICwlZKSYp06dbK///67KKARaM2aNfbEE0+4ElOrVq2y/Px8a9y4sevZcM4559iAAQO2es9vv/3WnnnmGZd9EB0dbXvttVepwZPAHhjvv/++u33hhRfaRRddVOz55cuXu3JLyhZRTwkFAbp3726HHXaYHXnkkcWCAp4lS5bYww8/bD///LNlZmZa7969Xe+JuLg4O+GEE9wyRxxxhN19993utnpvKMAgt956q8ueGD9+vHutAjqvvvqqe+6ff/6xp59+2pXb2rhxo/l8PmvRooXtsssudvHFF7vbXr+PyZMnF1unPn36uOuXXnrJdt55Z9d7wvP1119b27Zti+5re7/44os2ffp0ty76jq1atXLZKtpGDRs2tIrQ76XMmnfeeccWL17sMl30vc8999xyX7d27Vp78skn3W+pfUABsIEDB9qZZ55p/fv332r54cOHu98p8PtVhHqvvPHGGzZ79mwX8FFGSrt27Wz//fe3s846y2JjY4str2W0XhMmTHDrqG12/PHH24knnui2r75vmzZt7Jtvvin2un///deeeuop95voPfQ77b777m47tGzZskLrCgAAAIQiAhgAAAAIWyofNW/evKL7OnnsUTBDJ+IXLVpU7DXq46AT2z/88IM9++yzrhG1Ryf9x4wZU2z5Dz/80J04VvCgsvQZl19+eVGGiOePP/5wl48//tgFWBo0aFD03IwZM+yUU06xzZs3Fz32559/upPvxxxzzDY/UyfUZ82aVXRfgQNR0OLUU0+1rKysYsurAbYCBAqwfPDBB9asWTPbHl9++aVdcsklrsyXRyfm9TvoouDGu+++a/Hx8dvsc6L3+eqrr4oeW7FihStZNW3atDJfN2fOHDvttNPc7+zRba2XMnRuu+02O/roo217lbavKGCkz9dFGSoKhihIJNoHFHxSsMOzYMECu+OOO4o9VtInn3xi11xzjeXl5RX7zV5//XX77LPP3D6sgBwAAABQFxHAAAAAQJ2nWfz3339/0X2dzN20aZP9+OOPlpGR4R5LTEy0Qw89tGgZZRp4wQvNdFcPh5ycHDe7XbPfdVJdJ5i9AMb8+fPtvvvuK3q9Zrkr+0JBEp3cryydZL7sssuKSjEpkKBZ8/ouWofc3Fz7/fff7aqrrnKz8kUn/ZXt4QUvFDRRiSydBFeWw5tvvrnNz1XwQkEIZQHoxPjBBx/sHr/99tuLghfKPFEmgppwK0Cgx3WSXwGV008/3b2mc+fOLhjiUUaBtG7duszP1ndSgMALXgwbNsy6du3qMk8UPNA213ZWYEfrVx4FVQKDF8pC2XHHHe2vv/5ymSml0X6hTBIveKFsBvXnUODj+++/d+s1evRo992VBeM57rjjirZ5ed8vMDj2wAMPuNv6bfQb6fdVQELfTRT0UuaEV9JM+1ZgoELrpdcooPP222+X+jkLFy6066+/vih40a9fPxes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O22rMai+9x577OG2jcaj5557btF4tL4ob4y/adMm69+/v+23336WkZER1HWpqvXr19sjjzzijul0bDdw4EA78cQT7bPPPquVz68Jjz/+uF144YXBXg0grEUFewUAoKZcd9111rhxY3c7MzPTlixZYu+++6598cUX9swzz9jOO+9ctKwGx1qmMpYvX26nn366nXPOOe4gqzyDBw+2e++917p06WLBos/WOmiQWJrXX3/dmjVrZrfccouFis6dO7vfRvx+v23evNmmTJli48aNs6+//tpeeeUVS0hICOo6apu2b9/eQpUOTvWbal9NSkoqd1kF47ScDqK1jRX0qOrfVGmvKalVq1ZFty+44AIbOXKkHXHEES5YBQAA6pcFCxbYeeed58bYOrl55JFHuslCEydOtJtvvtl+//13u++++8zn81Xqfa+//nqLj4+3UBA4LsrOzrZ58+a54Mw///zjxuKRkZHuuWOPPdZ23XXXGg0UnXrqqW4yykUXXWS1ac2aNfbwww/bCy+8UPTYzJkz7fjjj7eUlBQ75phjrEWLFrZu3Tr76KOP3Nj0xhtvDHoQKhSOLd5//333N6FJP8E+BqqKqVOnuv0tPT3djfn1m2/ZssU++eQTu/TSS91+cPnll1tdc8opp9g+++zjJgTqbwpA9SOAASBs7bvvvta2bdtij2ngq4MhDZB0MJSYmOgeL3mitiI0Y0kzhSqiXbt27hJMTZs2tcMOO6zU5zZu3GhLly61O+64wxo1amShorR1Pvnkk92Bng5kNcC/9dZbLZjK2qahQgd+ixcvdgcI5dGMrjPOOMNWrlxp999/vxuEb8/fVHmvKU3r1q3toIMOcgdkL774YoW/HwAAqPt0Ml+ZmRqPvPPOO8UmM2im/ujRo+21116zfv36ubFgZWgsEipKGxd17NjRfb8ffvjB9t57b/eYZqbrUlO0nRU0CcbJ1gcffNBl1ui39Cgw1bBhQ/vwww+LTbjR2FTBHI1NDz744DInxYST8o4tlFGvIN9OO+1kdc2GDRvc37gCL2+//XaxiUz6nTWZ6amnnnIZJqUdh4QyHf/o36U777zTdt99d4uIoNgNUN34qwJQr2igdM0117gBlGaOo5AOBj799FPba6+96sQm0YGM0sr1G+q3RNkUDNBBQHkzD5WCfvbZZ7tZgCpjoEBCMP6mjj76aJs0aZLN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1ltvdVkVN998swtYtGjRwr2nAhjPPfecde7c2fr27Wu//vqrPfvss3bDDTcE86sCAACgirzghTJulcXBSfTiNGZWCVX1hSsvU6KqwSONuZUhHZhBDQAAAABhH8CQiy++2PLy8uzGG2+0rKwsl2WhAIRS1ZctW2b77LOPjRkzxkaNGuUOVh999FEbPXq0nXLKKe4g7YADDrDrrruu6P2uuOIKl9UxduxYd7Dbtm1bF7w45phjgvo9AQAAULWT817wokmTJmzCMraRaMJPdQcwxOuroSCGfoea+AwAAAAACMkAhg6ArrrqKncpScGH2bNnF3tMB67jxo0r8/2UPn/BBRe4CwAAAOo2r+cFvbmCy9v++j3qagAjLS3NZXt//fXXro/eHnvs4SZCeYExZW7r+fnz57tMk4suusgOOuigYK82AAAAUK/VTJFcAAAAoBpRNiq4wmH7X3LJJfb999/bnXfeaa+++qplZmbaySef7IIZClqcc845tvvuu9t7771nRx99tF199dUuqAHUVwsWLLDjjz++6KL7AIDg0Zjl+eefd5VqdK37QH0Q9AwMAAAAAKhJM2fOtJ9++smeeeYZl3kh9957r+2111726aef2tSpU61Hjx6u15506dLFZsyY4Xrp7brrrvw4qHcUsChJZZ/ltddeC8IaAUD99sADD9gff/xRdP+ff/6xiRMn2qBBg1w5fSCckYEBAACAemv48OF27bXXBns1UMMWLVrkrnfaaaeixxITE61Dhw42efJkmzJlylaBil122cWdKFAjc6A+By/Ul7K85wEAtRO8UNn8Qw891PX91bXu63E9D4QzMjAAAABQbz366KOWlJQU7NVADVPzcVm5cqXLrvCan69atcr1wNB1y5Ytt3qNykxt3LjRUlJS+I1QLwSWibrjjjusc+fO7vYZZ5zhnvOyMHTbew4AUHNUJsoLXigzNCYmxj1+3HHH2ahRo+zMM890z2s57zkg3BDAAFDv+DeuNsvJqvwLY+LM17hFTawSACBIevfuzbavB3bYYQd3svWWW25xsxSTk5Nt3LhxLjihxuRZWVlbHfR796taX1qZGxkZGdWy/kBt8QIUoqBe4D4cGOTTcjqRBgCoWa+88oq73m+//SwvL89dAu277772+eef2/jx4+3EE0/k50CdobFyRfvsEcAAUO+CFwUvXF/l10ecdhdBDAAIsxJSQ4YMsQsvvNCVSXnooYfss88+sx9//NGio6NtxIgRdv3111tCQkLRQPvFF1+0N99805YvX24tWrRwM+BOP/30ogH4zz//bI899pjNnj3bzZYbNmyYXXnlldaqVSv3vJpE60T6Cy+84Jowzpkzx1q3bm3XXHONdezY0UaPHm3Tpk1zGQCXXnqpHXTQQUXru2LFCrv//vtdP4fs7Gzbcccd3XszE7p8CkYo20aNudUDQ7/tIYccYnvvvbdFRERYbGzsVoEK7358fHyV9i0FRtR7A6irQb/S9l8FfdUfRti/AaDmLVy40F1rHFnav7ve+FLL8e8y6pqKZg0RwABQv3iZF32GmSUmV/x16alm//5UtcwNAECdocDCkUceaY8//rj9/fff9uCDD1rjxo2LmiOq8bMCGKeddprtttturoGiAgqaDXfOOefYBx984AIRBx98sLuvGf6a6X/sscfa+++/78oViZbXeypwogNPvYcCEU2bNrX//e9/du6557oT7novNWfUzOcNGza4YIlOqN90003uWuty8skn20svvUQ2yTaodNS7775rmzZtcoEllQ476qijXK8L/QZr1qwptrzuK3DVoEGDKu1LCpJ07dq1Sq8Fgk3/tl1yySVbPR5YZ71Xr161vFYAUP906tTJFi9e7MpgDh06dKvn33nnnaLl+HcZdcm8efMqvCwBDAD1U2Ky+RoWnkSqCNp3AkD9sOeee7qggaips7IpvvvuOxds2Lx5swsUKD3/qquucsvoQHLt2rX2+++/21lnneUCEcq4CDzJN3DgQBs5cqQ999xzLgNACgoKXJDi6KOPdvf13pdddpmdcsopLjgiOnGuYMr06dNdAEPBCp18f/31161NmzZuGWUT6L2ffPJJFyhB6dLS0tz2Vtmbnj17useWLVvmZpJ7v62aeQeaNGmS++2UoVEVysjxMneAukJ9L7wyUuoNE5jdVbI/Bvs3ANS8U0891Y1Fv/rqKzchJnDGurJFJ06cWLQcPTBQl1S0fJQQwAAAAAD+o5JMgRQ4UKkoUVknZU6orFQg72Tf/PnzXTDDy9bwtG/f3gYMGLDVCXI95vEyM/r371/0WKNGjdy1Tq7Lr7/+6mbWqWyVV/9YJ9d33313++ijj/gNy6FsC5X/uvPOO+3mm292PS9UGkzZFwpUKfPliCOOcAEoXX///feunjQ1/lHfBAYsvH/b9G/O6tWry1wOAFBzFJRQNq4adath9wEHHGB77bWXC2porKIxoZ4neIFwRgADAAAA+E/JfgcKEOjEtyj7QVJSUkrdXt7zOhlekh7z6sYHnlQvqbx+C3p/lRDo06dPqc9nZmaW+p4oNHbsWLv99ttdiS4d5CsQ5WXSdOvWzZUNu++++1ymS9u2bd1tBTeA+ua1116z448/vuh+yeCFngcA1B5NjlF2r4IYn3zyibt4FLwoOXkGCDcEMAAAAIAKaNiwobtWL4rA2cdqrL1kyRLXK0PWrVu31WuVmeE9X1UqKaWG414ZKo/KUamEADPvyqdZ5OorUhaV49IFqO+8AIUCuPr3xePdLxngAADUPAUpNN575ZVXXGBZ4xqVNWX8h/qAAAYAAABQAf369XONmb/99lvbaaedih5//vnnbcKECfbTTz9Zs2bN3Kw4lSHyLF261JWfUrPt7aHgxccff+yaNAZmWiirQCWR1K8BALaHSpHo37Pk5GR75JFHXMP7wOcuuugi9/wxxxxT7DkAQM1TsOL0009nU6PeqVpHOgAAAKCeUekoBSHGjx9vDz/8sOtJoebZaqp9zjnnuNnJl19+uQtkaJac+ih88MEHrim3TgZ6zbmrSs0ZNftZ1zqBqM+/6aab3Ey8Dh06VNv3BFB/ffnll+7fmaOPPnqrAIXuH3XUUe55LQcAAFAbmDIBAAAAVJB6Jqjh9htvvOEaPKtXgoIIxx13nHt+1KhRlpiYaE899ZRdcMEFLlNCTbYV2FB2xvZQqQB9rmog33rrrZadnW0dO3Z0GRgHHXQQvyGA7bZmzRp3XVZG14ABA4otBwAAUNMIYAAAAKDe+uabb4puz549e6vn77777mL3fT6fnXHGGe5Slv33399dyqIghy6Bdt55560+X8GRko+1b9/eZX8Eys/PdyWkAGB7NW/e3F3/+eefNnz48K2enzp1arHlAAAAaholpAAAAAAAgI0YMcKVw3v77bddz4tAuv/OO++457UcAABAbSCAAQAAAAAAXJ+LkSNHWmpqqmvY/fXXX9uGDRvcte7rcT1PA28AAFBbKCEFAAAAAACc448/3l1/+umn9txzzxUroXfwwQcXPQ8AAFAbyMAAAAAAAABFunbtak2aNCm2RXRfjwMAANQmMjAAoBb4N642y6lCg9WYOPM1blETqwQAAABsZfLkyfbwww/bgAEDXNmodu3a2dKlS+3DDz90j19yySU2ZMgQthwAAKgVBDAAoBaCFwUvXF/l10ecdhdBDAAAANS4goICe/XVV13w4vLLL3cNu6Vbt27u/tixY93zO+20U9FzAAAANYkABgDUNC/zos8ws8Tkir8uPdXs35+qlrkBAAAAVNKsWbNs7dq1duGFF24VoND9Qw891G699Va3XO/evdm+AACgxhHAAIDakphsvobFawmXx1+jKwMAAAAUt2nTJnetslF5eXn25Zdf2po1a6x58+Y2YsQI93jgcgAAADWNAAYAAAAAALBGjRq5rfDcc8/Zr7/+6kpKeV577TXbZZddii0HAABQ0whgAAAAoE7akJVuaXnZQfnspKhYS4lLDMpnA0BN6dmzp8XHx9vPP/9sDRs2tGOOOcYGDhxof/75p7311lv2yy+/uOe1HAAAQG0ggAEAAIA6Gby4+Y9PLLcgPyifHx0RabcNOjgoQYzVq1fbHnvssdXjd955px111FHu9syZM9396dOnW0pKip166ql28sknFy3bo0cPGzNmjI0aNapW1x1AaFPGRVZWYf+1zp07W9u2bS02NtZd6/60adPc81qOJt4AAKA2EMAAAABAnaPMCwUvhrbobMnR8bX62am5mfbL6gVuHVKs9gMYap6rE4oTJ040n89n+fn5lp2dbU2bNnXPb9y40U477TQbPny4jR492p1w1HViYqIdeeSRtb6+AOoO9bzw+/22zz77uH871LDbo39j9O/KN99845YbOXJkUNcVAOobBY81DlQfIpXyUzYcwWTUBwQwAASdf+Nqs5zCmV6VEhNnvsYtamKVAAB1hIIXdbmUkw5Ev/vuO3v11Vft9ttvt9atW2/zNXPmzLGOHTu6prqiAIZmRMfFxbn7KvMSHR1tt912m0VFRVmXLl1s8eLF9vTTTxPAAFAuNeyWuXPn2vr164s9t27dOps3b16x5QAAtWPy5MluvLh27dqix5o1a2YnnHCCDRkyhJ8BYY0ABoCgBy8KXri+yq+POO0ughgAgDpnw4YN9s4779gbb7zhMiYOOeQQS09Pd6WdyvL111+7Mi6zZ892QYmyTJkyxR3IKnjhUePdp556yp2A9DI1PDoQPumkk6xVq1b2xBNPFAVCANQ/XmB0yZIlLsNrt912s4MOOsg+/fRT1xdDjwcuBwConeDFww8/bAMGDLALL7zQ2rVrZ0uXLrUPP/zQPX7JJZcQxEBYI4ABILi8zIs+w8wSkyv+uvRUs39/qlrmBgAAQfL333+72XMTJkxwQYizzjrLBS+SkpJcJsVPP/1U5mvVy8LLwGjcuLGbcbdw4ULr0KGDKxmlki+yatUq6969e7HXeicbV65cWSyAoUCK+mO0adPGHn/8cVeaCkD9pf46r7zyirutoKf+bZLzzz/f9dE5++yzi5YDANROtq7GjgpeXH755UUlo7p16+bujx071j2/0047UU4KYYsABoDQkJhsvoZNKry4v0ZXBgCA6rd8+XI7+uijXSPcl156yR2IBoqMjHSlAMqTl5dnCxYssK5du9q1117rTi5+/PHHdvHFF9uzzz5rw4YNc+WkYmJiir3OC0yoV4ZH9ZMVvFDZqscee2yr1wCof5588smi21dddZUdddRR7t+qqVOnuqyxwOWuvPLKIK0lANQf6nmhbFllXpTsd6H7hx56qOtXpOV69+4dtPUEahIBDAAIcf4NKyv/IvqDAEDIadKkiZ1++un23nvv2dVXX23HHHOM60nhZVasWLHClWopi0q4KNjw22+/uWCHV+qpV69eLivjhRdecAEMPZ6Tk1PstV7gIiEhoeixBx980HJzc61v374ELwA4Xm313Xff3ZWMeu6554qdKFNJKT0eWIMdAFBzNOFEVDZKE1m+/PJL14dI2bUjRoxwjwcuB4QjAhgAEKqiot2V/7NnqpRxQn8QAAgtCixcc801rk6xsiZee+01GzdunDv4/N///mc77rijffDBB2W+3isDlZi4ddNylaOaNGmSu92yZcutGux691u0aFH02NChQ10A5aKLLrKRI0e64AeA+k1ZYKqrrkwvv7/4CFT3VbbOWw4AUPMaNWrkrhVQ/vXXX11JKY/GkupzFrgcEI4IYABAiPIlNDT/0MPN8nIr90L6gwBAyAcyVEpKlz///NPVLVYppy+++ML1syjP3Llz7dhjj3XNtnfeeeeix2fMmOHKSsngwYNdc3D11FCmhii40alTJ5cF4tl///1d8ETBi5tuuskFVbx69wDqJ5UoUaaYSt41aNDA/XszcOBA92/Vm2++6TLFvOUAADWvZ8+eFh8f77LfGjZs6DJ4vX+X33rrLfvll1/c81oOCFfFi6cBAEIuiKHeIJW5VKoZOgAgqHQA+sADD9h3331XLLhQFmVaqIfGbbfdZlOmTLH58+fbPffcY//884+de+65bhllVaSlpdkNN9xg8+bNcyWrxo8fb+ecc06p76nl0tPT7d5776327wegbomK+v85jlu2bLGZM2fahg0b3LXul7YcAKDmKONC/c1EY8C2bdu63ma61n3R84GZGUC4YdQBAACAOis1NzMsPrNp06YVWk416NU8V0GPSy+91DZv3uwaNj7++OPWrVs3t4wCIWrofeedd9oRRxzhSr2o54Zul/XZel6BjAMPPNB23XXXav1uAOoO1VYX/buhPhea8atL4L8X69atc8spewsAUPP/LquE3z777GN///23a9jt0b/Vw4cPt2+++YZ/lxHWCGAAAACgzkmKirXoiEj7ZfWCoHy+PlvrEAw6gThmzJii+yoV5c3M8/Tr18+VeynL7Nmzi90/6qij3AVA/eb1ywnMtgik7K7A5QAAtfPvsjJsTzvtNJs1a5Zr2K2eFyobpdsKYPDvMsIZAQwAAADUOSlxiXbboIMtLS87KJ+v4IXWAQDCSfPmzd21FxRt06aNHXfcca6vjvpieI97ywEAauffZfW8ULaFMm8DTZ06lX+XEfYIYAAAAKBOUgAhxQgiAEB12WWXXeyVV15xtx999FFLSUlxtwcNGuR6YXjNu7UcAKDmjRgxwl577TV7++23bY899ijWgygvL8/eeecdV2JUywHhigAGAAAAAAAoVlv9mmuusZycHHeCTCfMYmJiii03btw4thgA1DD9+6ueQ5988okLIg8bNsxlZahk1E8//eT6oR188MHFAhtAuGHvBgAAAAAAxXpfpKenF93Ozc11F09ZPTIAANXv+OOPt5UrV9off/xhEyZMKPacMuT0PBDOCGAAAAAAAABr0KCBZWf/f2+h2NhY69Kli82fP7/Y41oOAFA7Jk+e7HpgDBgwwGVfKKAcHR3tsjD0uJ4fMmQIPwfCFgEMAAAAAABgl19+uV1//fVuS9x1113WsWPHoq2yaNGioue0HACg5hUUFNirr77qghf6t1f9LgKfGzt2rHt+p512KvYcEE7YswEAAACEPdXxf/jhh23vvfd2JwFOOOEEmzZtWtHzM2fOtBNPPNF23HFHGz58uL300ktBXV8gGO64446i2wpWXHnllfbbb7+5ay94UXI5AEDNmTVrlq1du9YOO+ywrQIUun/ooYe657UcEK4IYAAAAAAIe0888YS9/fbbdvvtt9sHH3xgnTp1sjPPPNOVX9i4caOddtpp1r59e3v33XftggsusPvvv9/dBuqTrKwsd63SJLJixQoX+NO1eE1iveUAADVr06ZN7rpdu3ZuMoZ6YIwfP95d674eD1wOCEeUkAIAAAAQ9iZOnGgHH3ywDRs2zN2/9tprXUBDWRgLFy50J2xvu+02d4JWNf8XL15sTz/9tB155JHBXnWg1sTFxVlGRkaxht2BdLLMWw4AUPMaNWrkrp977jn79ddfXdkoz2uvvWa77LJLseWAcEQAA9VqdeZmy84vHNRWVmxklLWIb8gvAgAAKsS/eb1ZZlpwtlZ8kvkaNqn2t129erXtscceWz0+ZswYGzVqVFGpozvvvNOmT59uKSkpdvLJJ9vRRx9dtGyPHj2KLY9CTZo0sW+//daViWrVqpW9+eabFhMTYz179nSBDDW/9GaXi04IPPXUU7Zu3Tpr2rQpmxH1wr333msXXnhh0X2dEDv22GPd30vg7F4tBwCoeRqnxMfH288//2wNGza0Y445xgYOHOiad7/11lv2yy+/uOe1HBCuCGCgWoMXN0/5ZLve47adDiaIAQAAKhS8KBh/g1le6bOEa1xUtEWceme1BzFUvzg2NtZlC/h8vqLHGzRo4K69Ukfq0TB69GiXPaBrnYjXSUaU7YYbbrBLLrnE9tlnH4uMjHR1ox955BFXNmrVqlXWvXv3Yss3b97cXa9cuZIABuotv9/vsi50DQCofcq48Mr2de7c2dq2bevGirrWfY0F9byWo4k3whUBDFQbL/NiaIvOlhwdX6nXpuZm2i+rF1Q5ewMAANQzyrxQ8KLPMLPE5Nr97PRUs39/KlyHSgQwVEP+pptucs2j99prr1IPMufMmWMdO3YsOnlekmbalSx1pPJHqoVMAKN88+bNc4Ggxx57zFq0aOGyLtSY+JVXXnEH/goCBdLJAcnOzraq0AlfleIB6pKrr7662P3U1FRXtqS05caNG1eLawYA9dOXX37pxhQaO/7zzz926623Fssu3XPPPe3777+3Tz75xEaMGBHUdQUqQ/t14ISt8hDAQLVT8CIlLpEtCwAAal5ico2UcipPVechqxRLmzZt7IorrrDGjRvbcccdZ0cddZQrA+WZPXu2C0qUZcqUKVuVOtp5553tmWeecaWOdGI+0Nq1a+2kk05yJZPUxLq+1q1XFoW2uwI9O+20k3tshx12cEENZWFou+Tk5BR7jRe4SEhIqNJnqoeAyn0BdUlmZqa71r8xXr+LQN7jWo79GwBqnia3iEqHrl+/vthzuv/vv/8WLec19AbqipITiMpCAAMAAACoBToRrswJzVz+6KOPXE15nTwfOXKky8ro16+fO/hUcEP3lVnRoUMHO++884r6YpRX6kjPBQYwNmzYYKeeeqoLmjz++ONFGQX10V9//eUCCgpaBOrfv7/98MMP1rp1a1uzZk2x57z7JYNCFaVMma5du27HWgO1T3XUlTnkBS86derk+um899577t8k73Et16tXL34iAKhhS5cudWWiNFFFs9U1cWX//fe3L774wn777Tf3uGh8yL/LqEs0kaiiCGAAAAAAtSgpKcmOP/54d5k6dapdf/319sEHH9g333xjCxYscCe9r732Wrfcp59+ameffba98MILtuuuu1a41JGa7Sp4oRPzKplU0dlN4aply5ZFGS4KFJUs2aVAxhtvvGH5+fmuP4ZMmjTJnbxVeYaq0EmGqmZvAMFy8803u39/5O6773Y9YmTQoEG2ZMmSoue0HPs3ANS8fffd15UQlaeeesqND6VHjx6Wlpbmxonecvy7jLqkouWjhAAGAAAAUMuUHfHuu++6A9LNmzfb6aef7k6UayadTqB7pZ769u1rc+fOdTXoFcAor9SRZkR7HnzwQZdxoNfX9+CFKGihE7DXXHON3XLLLS6goaDRr7/+aq+//rprhPnss8+6Rt9nnnmm/f33367clBqkA/WJssI8ClYkJye7UnfvvPOO64cRuNx9990XpLUEgPrjySefLLp91VVXuX+TBwwY4CbB6N/mwOXU2wsIRwQwAAAAgFqiHhY6Ya60/27durlZc4cccki5vSm03E8//eRu68R7RUodDR061I488ki76KKLXImqYcOGWX2mhunqAfLQQw/Zdddd507EqtSCghTKvhAFMO6880474ogjrFmzZq7Ul24D9Ymyt7xZkWquWbKJt/e4txwAoGapn5nsvvvu9vPPPxf7N1njG43xNE70lgPCEQEMAAAAoBYsX77clXVS3eKXXnrJBg4cWOx5ZVoce+yx7kS76ht71LTR66UwePDgrUodKWtDZZACSx3pM0aMGOGCFzfddJN9/PHH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DdrPrGETs9zswiCGykoBAAAAAAAAYabSZyrvv/9+i4qKsn322cdycnLstddes5EjR9qUKVNs9913dwENACiNf9OawswLnXBv2tYijr7SlUZC5fiiYswG7GuW1NgsJ9Psjy/Nn7mFzQgAAAAAAID6HcBQoOKKK66wHXbYwSZPnmxbtmyxY4891pKSkuy4446z6dOn18yaAqjT/OmpVvDu2OLBi3jKRlWVLzrWbOC+ZonJZtkZhZkYWenV+psBAAAAAAAAdSqAkZubaw0bNnS3f/jhB4uPj7dBgwa5+/n5+S47AwAC+bMzreD9h8xS15olN7WIIy8neFENfDHxZgP3M1MgKDOtMIiRncnOBwAAAAAAgPoZwOjevbt9+eWXtnbtWvv8889t2LBhLmihwMarr77qngcAjz8v1wo+etRszRJ3oj1i1OXmU9YAqoVPDdrVE0OluJTd8udXZrk5bF0AAAAAAADUvwDGxRdfbO+8847tsccelpqaameddZZ7fP/997dJkybZBRdcUBPrCaAO8vv95p/4ktnSWWbRsRYx6lLzNW4R7NUKO764JLOBI8xi483SN5nN/i3YqwQAAAAAAABst0rXe9ptt93s448/tn/++cf69+9vbdq0cY+fcsoptssuu1iPHj22f60AhAX/lC/MP+MXM1+ERRxyvvladAz2KoUtX0ID8yuI8ccXhZkY2v65OeYL9ooBAAAAAAAANZmBodJQgdq1a2cjR44sCl54AQyCFwA8/vnTzP/jO+62b6/jzNexLxunhrnSXOqJERld+Bt8/4Yr4QUAAAAAAACEbQbG7bffbvPnz7cbb7zRPvroo20uf/jhh1fHugGoo/zrllnBhKd1y3z99jTfjsODvUr1hi+psfl7DDGb8bPZ6kVW8MkThdkvkZVOuAMAAAAAAACCqkJntO677z579NFHbdGiRXbttdeWu6zP5yOAAdRj/txs83863iw326xdT/Ptfbz7dwG1KKlR4bWCFgv+Mv/nz5odeLb5Iird9ggAAAAAAAAI7QDGIYccYgcddJDl5+fb119/XfNrBaDO8k/+1GzTarMGKRZx8HnM/A8i3x7HmP/7N80/+3ez6Diz/U42n48gBgAAAAAAAOqGCtcUiYiIcJfAvhdAdfH7/e561qZVtmDzOsvOz7Os/FzTo4lRMZYUHWsNouOsdWKyNY5JYEZ/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fg1gSC8LUb3XhdVqVTP1alu/tr4Ysr7D4UBpaWmd9yfXN5ZvZ/rrh5k01MxyNW5Aov509YNZ0ar93RAsM1U/vkEcajncxy2P+5j7uCNoa+9jNdLuh69nLf2YlfdzMz1HX4Ch7HuL79SP/P34ACIMRr98X5XHZACj5j4hIiIiIqKm/4bwawAjICCgIuLiOy8k2GCz2WpdX9atTtYPDAxUgQrf/VW/vrb7q6+RI0c2+rZERERERNS58PcDEREREVHzOEKB3ZblKweVmZlZ5XL5WxpyVyeloaqvK8GKvLw8VSZKSklJIKO+90dERERERERERERERG2TXwMYAwYMQHBwMJYvX15xmfSx2LJlC8aOHVtjfblMelkkJydXXLZixQp1Onr0aJV2MmrUqIrLfOT+x4wZ06LPhYiIiIiIiIiIiIiImo9fS0hJr4pLL70U8+fPR2RkJBITEzFv3jyVaXHyySfD4/EgJycHISEhqnzU8OHDVYDi1ltvxX333acads+dOxdnn312RYbFVVddheuuuw6DBg3C5MmT8emnn2Lr1q14+OGH/flUiYiIiIiIiIiIiIioATRdb0yn5uYjQYqnnnoKCxYsUE24JctCghJJSUlISUnBCSecgEcffRTTp09X62dnZ+P+++/HkiVLVM+LU089FXPmzKnofyEWLlyIF154QWVr9OnTB7NmzcKECRP8+CyJiIiIiIiIiIiIiKhdBTCIiIiIiIiIiIiIiIjaVA8MIiIiIiIiIiIiIiKi2jCAQUREREREREREREREbQ4DGERERERERERERERE1OYwgEFERERERERERERERG0OAxhERERERERERERERNTmMIBBRERERERERERERERtDgMYnVReXh7mzp2LyZMnY9SoUbjooouwatWqiuuXLVuG6dOnY/jw4Tj11FPx1Vdf+XV726Ps7GzMmjUL48ePx8iRI3Hddddh9+7dFddv3boVl156KUaMGIHjjz8eb7/9tl+3t73bu3ev2s8LFiyouIz7uOkyMjLQv3//GotvP3MfN4+FCxfi9NNPx9ChQzF16lR8/fXXFdelpKRgxowZ6lh99NFH45lnnoHH42mmR+4cli9fXuv7WJYTTjhBrcP93HRutxv//ve/cdxxx6nj8SWXXIJ169ZVXM/jRdMVFRXh3nvvVceCcePG4fbbb1ffN3z4/Y2IWvN7YH2O7dXXJyIiHoOJGsrU4FtQhzBz5kwcOnQITz31FKKiovDOO+/gmmuuwWeffQZd19Vg2VVXXYV58+bhl19+wezZsxEZGYkJEyb4e9PbjX/84x/wer145ZVXEBQUpAZ1rrzySnz33XcoLS1V+1e+5N9///1qgEdOZb1zzz3X35ve7rhcLjWIU1JSUnFZbm4u93Ez2LZtG6xWK3744QdomlZxeUhICPdxM/n8889x11134V//+heOOeYYFTCWY3R8fDyGDBmijs09evTABx98gP3796t1DQYDbr755ubahA5PBtN///33KpfJcfemm27CjTfeqI4h3M9N9+KLL+Ljjz/GY489hq5du+K///0vrr32WixevBhms5nH5Gbwz3/+U02GePjhh9GlSxcV0Lz88svV97cDBw7w+xsRtdr3QMHv20RELYfHYKK/MIDRCSUnJ2Pp0qV47733MHr0aHXZPffcgyVLlmDRokVqJp/MlLn11lvVdb1798aWLVvw6quvMoBRT/n5+UhMTFQDCf369VOXySDZWWedhZ07d6oZkjKY88ADD8BkMql9LK+LBDsYwGi45557DsHBwVUu++ijj7iPm8GOHTvU4HlsbGyN69566y3u4yaSgLEEN2UAUmarixtuuEFlxK1YsQKpqak4ePCgej+HhYWp44kco5944glcf/31sFgsTd2ETkH2U0xMTMXfEux89NFHcc4556hj7pdffsn93AxkgGvatGkqO0DceeedKqAhwSLJkuP/e00js5wlECeBIcmgFXIsmDJligp8rl27lt/fiKhOMrFKJqb973//w4MPPqiCoE35Hij4fZuIqHHkN56Mw8lvQPkuJxPUeAwmqhtLSHVCERERaqBcSpX4yIwaWQoKCtTAWfVMCymDtHr1ajXYRkcmA41PPvlkRfAiJycHb775pppR3adPH7WPpfSDBC8q7+N9+/YhKyuLu7gBVq5ciQ8//FDN+K2M+7h5bN++XQXYasN93HQyqCtBijPOOKPK5a+99poKgMo+Hjx4sDqmVD5WSBkZGcykxnnppZdgt9txxx13qL+5n5uHZHT+/PPPqhyXlDmTY7MEjwYMGMDjRTOQ7whizJgxFZdJ5mb37t1VwJPf34ioNvI7RH77nXjiibjtttvUJKvi4uI6SyvKIsfxI30PbMx3QakAIOWJJRNdMtKJiDqr8PBw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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "--------------------------------------------------------------------------------\n", " 📌 Variable 'education_num': Media <=50k: 9.6 | Media >50k: 11.6\n" ] }, { "data": { "image/png": "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O9sWLFjggjO//PKLa5unpKS458444wzr1atXmQaKzjvvPDc45corr7TytHr1anv44Yft2Wef9T82d+5c69+/v9WpU8f+/e9/W8OGDW3t2rX29ttvu7bqLbfcEvUgVCyca0yZMsX9JjQIKNrnRKXx448/uuNt27Zt7hxA3/mWLVvsnXfesauvvtodB9dee63Fm3PPPdf69OnjBgjqNwWg7BDAABD3jjjiCGvWrFmBx9TQ1cmPGkQ6+alatap7PLijNhwaoaSRQeHYY4893CWa6tWrZyeddFLI5zZs2GBLliyxESNGWK1atSxWhCrzOeec407sdOKqBv0dd9xh0VRYncYKnej99ddf7oSgKBrBdcEFF9iKFStszJgxrtG9O7+pol4TSpMmTez44493J2DPPfdc2J8PAABUPOrM10xNtU/eeOONAoMbNFL/zjvvtMmTJ1vnzp1d27Ak1DaJFaHaSS1btnSf7/PPP7fDDz/cPaaR6bqUFdWzgibR6GwdO3asm1mj79KjwFSNGjXsP//5T4EBOGqrKpijtmrfvn0LHSRTkRR1rqEZ9gryde/e3eLN+vXr3W9cgZfXX3+9wMAmfc8a3PTkk0+6GSahzktimc6H9HfpnnvusYMPPtiSk1nkBigr/LoAVEhqGN1www2uwaSR49hJjf93333XDjvssLioEp24aBq5vkN9lyicggFq9Bc10lBTzi+66CI36k/LFiiQEI3f1Omnn27ffvut/f7777v1PgAAIL4pOLF48WI3QyHUzEy1PWrWrGmvvPKKVTTejNZQS3RWNFo+SKPtNcMmeGS+Oq6DZw+npaXZWWed5WYdaHR+ohs/frwNGTLE4pGWWdL5w6hRowoEL0QzjzRITdfx+hvXAC8NEPzkk0+iXRSgQiOAAaDCOuaYY1zj94svvig0B4YaxRoxoY5fb61/jYTy1qNVHglvtJdOrLw1abV+p3IHfPDBB25Wh0ZKaURJYTkvNGVao0s06kgd8uo89vIUePsJ9bpQj6vM2v9RRx3lRjAdffTRNmHCBMvLyys0B4aemzhxottWn/Oggw5yyw0FBgW812m9WdWBpq/rhEJTY4vqaNbSRVqzVusUB9OIMr3np59+aqWlUVf6zOrwDtyn1knWd6zPoxEvmlUSWKcl+TzfffednX322W5Uk77LM8880z7++ONi12J96aWXXJ3q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/8zASK2UWuzo4dR/ZmBUSU+P+ueKh7qNZ9RvbNVtcnKyu6SkpLiLx7tdq3KG1Ukvv+WckpJ2powLLk9paDmmTz/91F566SUXZGjSpEmxr1GwQIGgRo0a+du/WVlZLhih8mhZVQUn9H4KOrRr186WLFliEydOtNNPP93/Pl6dhkPbaXt9f6GCHiwfBQAAAKC8xFUAwxt55tEIs2HDhtmECRPcyRoAAAAQa9avX+8CDa+88opt2LDBTjjhBNu2bZu1b9++0Nd89NFH1qxZM7c8VJs2bQrdbtasWbbffvu54IVn//33tyeffNLWrl1r9erVK7D9mjVrbODAgda4cWN74oknojKrBEBs6dKli395KOW8CM6BEbgdAABAeYvpAIZGmOmEr3r16u7kqkWLFgWeX7lypbvW6LVataKzvAcAAAAQys8//+xmW0yfPt0FIS688EIXvKhWrZpr53755ZeFVlydOnXc9fz5811ei7PPPtsWL17s2sODBg2yPn36+NvDwQN5GjRo4K5XrFhRIIChdvV5551nTZs2tXHjxoVcHgpA4lFi7v79+7vbynfh5bwItR0AAEB52zknPkbppOuggw5yJ30AAABAvFi2bJlbwklBjOeff96mTp3qEmsreOEt01S/fv1CL3reS6S9adMmu/LKK92s486dO9uQIUPsm2++ce+j5aSCl8TzAhOBidCVK0PBCw380cwLghcAAk2ePHm3ngcAAEiIGRijRo0qcN+bNl+Ynj17Fvk8AAAAEA1Ksq1lWN566y27/vrr7d///redeuqp/pkVSlR+/PHHF/r6d9991wUbZsyY4YIZ3lJPe+65p5uV8eyzz7qBPnpcSb0DeYGLwPwjY8eOtdzcXNt7772LzQEEIDEpSHHffff5l5Pylo1i5gUAAIimmApgAAAAABWBAgvq9Lvqqqts2rRprmPwkUcesaOOOsrNxNhnn33crIzCeMtAVa26a8JyLUf17bffuttK7r169eoCz3v3GzZs6H/sgAMOcAEUzeQ47rjjXPADAIIRrAAAALEmppeQAgAAAOI9kKGlpKZMmWLPPfece0xLOa1atcrlsyjsoqTcf/zxh3Xr1s3Nwgg0Z84ca9u2rbvdo0cP+/77711ODY+CG61atXKzQDxHH320C54oeHHrrbfa1q1by60OAAAAAKC0CGAAAAAA5UDBiAceeMA+/fTTAsGFwmimRevWre2uu+6yWbNm2cKFC93yLr/88otdcsklbhvNqlAw4uabb7YFCxa4JasmTZpkF198ccj31Hbbtm2z+++/P+KfDwAAAAAijSWkAAAAEDc25W6P+/3Vq1cvrO2Sk5Nt/PjxLuhx9dVX2+bNm61jx442btw4+9e//uW2USBk4sSJds8999gpp5ziEoAr54ZuF7ZvPa9AxrHHHmu9evWK6GcDAAAAgEgigAEAAICYV61SZUtNTrGvVy0q931rv9p/NCjgMHLkSP99LRWVlZVVYJvOnTvbq6++Wuh7zJs3r8D90047zV0AAAAAINYRwAAAAEDMq5Ne1e7at69t3ZFd7vtW8EL7BwAAAACULwIYAAAAiAsKItQxAgkAAAAAkChI4g0AAAAAAAAAAGIOAQwAAAAAAAAAABBzCGAAAAAAAAAAAICYQwADAAAAQIX25JNP2sCBAwt9/pZbbrHevXuXa5kAAAAAFI8k3gAAAAAqrJdeeskeeugh6969e8jnP/zwQ3v99detadOm5V42INb0799/l8cmT54clbIAAAAIMzAAAAAAVDirVq2ySy65xMaMGWMtW7YMuc3q1avt1ltvtf3226/cywfEQ/CiqMcBAADKAwEMAAAAABXOb7/9Zqmpqfb2229bly5ddnne5/PZ8OHD7aSTTiKAgYRXXJCCIAYAAIgWlpACAABAXPBtXme2fWv577hKNUuqUbf894vdopwWReW1mDRpkq1Zs8bGjx/vcmQAiSo4OBG4ZFTgc7rNclIAAKC8EcAAAABAXAQv8ifdbLYjt/x3XinVks+7J+JBDC1xdMghh+zy+MiRI61fv37u9ty5c+2ee+6xX3/91erUqWPnnHOOnX766f5t27dvX2B7hOf333+3xx57zOXHSEtLi0i1aUZHZmYmXwHi2sSJEwscx7o/ePBg/32OcQCInqysLP81f48R79R2TkpKCmtbAhgAAACIfZp5oeDFXgeZVa1Zfvvdtsnsty937j/CAQx1oleuXNklkQ5svFevXt1db9iwwQYNGuRmEdx55532008/uWt1uJ9xxhkRLUsiyc7Otuuuu84uvfRS69ChQ8TeNzc31wWcgHhW3DHMMQ4A0aPBL7J48WICGKgQwh1IRAADAAAA8aNqzXJdzslXytctX77cJYc+++yz7bDDDrPk5F1Tz82fP98ll27QoEHI93jttddcDoe77rrLKlWqZG3atHEnrFr6iABG6c2ePdv++OMPNwPj8ccf9wcfduzYYV27drWnnnrKunfvXuL31XfVtm3b3SgZEH177rnnbj0PACg7GRkZ7rpVq1bWokULqhpxbcGCBWFvSwADAAAAiLBatWpZ06ZNbejQoVa7dm0788wz7bTTTnPLQHnmzZvnghKFmTVrlksureCFp2fPnq6Dfe3atdawYcMC2yufw8CBA61x48b2xBNPWHp6Ot9rCJ07d7b333+/wGMvvPCCe0zXwfUaLs2i8ToWgHil5aIKy4EhHOMAED1e207X/D1GvAt3+SjZdSgYAAAAgN2ik0rNnPjiiy9ch+C7775rhx56qN1www32888/+2dgrF+/3s3SOOCAA+yss86yzz//3P8eK1eutEaNGhV4X2+2hp4LpPc577zzXNBESakJXhROdaNRi4GXmjVrukCRblN3SDTBibkVtPAuRW0HAABQHghgAAAAAGWkWrVqrhPwP//5jz3//PMueKEk3MuWLbNFixbZpk2b7Morr7QJEybYPvvsYxdddJF98803/gSNwevCKmeGl8fBs3HjRhe8aNKkiZt54W0DAOEqLjhB8AIAAEQLS0gBAAAAZUizI958802X02Lz5s12/vnnW926dW3GjBmWkpLiH/G/9957u9wMTz/9tPXq1cs9npOTU+C9vMBFlSpV/I+NHTvW5XDQ68NNhJdoRo0aVeTzCiLpAiQyBSmCZ114jwMAAEQLAQwAAACgDCiHxcsvv2z/+9//7F//+pebXXHCCScUuUSRtvvyyy/dbS0ftXr16gLPe/cD8zRo+alTTz3VdcAfd9xxdtBBB/F9AigVghUAACDWsIQUAAAAEGFaIkrLOomWjpoyZYpbOsoLXmimRbdu3dwsjEC//vqrtW3b1t3u0aOHff/995aXl+d/Xtu3bNnSzeDwHH300XbUUUe54MWtt95qW7du5fsEAAAAUCEQwAAAAAAiTAGGTz/91B544AEXqAjWpk0ba926tUv0rZkaCxcutJEjR9pPP/1kl156qdtGsyoUjLj55pttwYIF9tZbb7lgyKBBg0LuU9tt27bN7r//fr5PAAAAABUCS0gBAAAgfmzbZL5y3l9paKZFUUtFJScn2/jx412A4+qrr3a5MTp27GjPPvustWvXzh8EmThxot1z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fLt+2DA7b8JUe/aik+0YghiowEocwNA6We+8845NmjTJ5cNYvny5Va9e3QU1zjvvPGvUqFHZlBQAAAAASmHUqFH+25pd8fPPP1OPQJhBDIIXABCdZaM080LBizffemuX2aEKZujxU/v1c9sdtmdLlpNChVWqhdKUwPuGG26IfGkAAAAAAEBUEKwAgNignBdaNkozLwpb2lKP33f//dahQwd754d5dlrPvcq9nEDMBDCmTp1qhx56qNWuXdvdLs7JJ58cibIBAAAAAAAAQEJRwm7lvAhcNiqU9u3b24EH9LLps/8ggIHEDmAMHz7cXnvtNRfA0O3iMogTwAAAAAAAAACAktuUleMSdoejabM9bPns5VQzEjuAoUR29evX998GAAAAAAAAAERezfQ0W7Z0SVjbartaVdL4GlBhJYezUdOmTS0tbecPYebMmZaRkeEeC75om+nTp5d1mQEAAAAAAACgQjq2y7/sy6++tvnz5xe53bx58+yrr7+x47r8q9zKBsRkACPQjTfeaEuWhI4Azp071x555JFIlAsAAAAAAAAAEs4J3dpb3epV7fphwywvLy/kNnr8huuvd9v17da+3MsIxNQSUhdddJEtXLjQ3fb5fHb55Zf7Z2QEWrdunTVv3jzypQQAAAAAAACABJCeWsnGnn2UnTdhqp3ar5/dP3p0gYTemnmh4MW0d6bZpItOdtsDFVVYR/cll1xir7/+urs9ZcoU69ixo9WpU6fANsnJyVajRg3r169f2ZQUAAAAAAAAABLA0Z3b2rMXnWzXvvS+tW/f3g48oJdL2K2cF1o2SjMvFLzQdoAlegCjW7du7uK57LLLbI899ijLcgEAAAAAAABAwjqmc1s7bM+W9s4P82z67D9s+ezlLmH34+ce55aNYuYFEkGJ5xeNHDnSXWdmZrpk3vK///3Pli9fbr1797YWLVpEvpQAAAAAAAAAkGAUpDit517uAiSiEifxXrRokR155JE2YcIEd/+hhx6yq666yu677z478cQT7fvvvy+LcgIAAAAAAAAAgARS4gDGmDFjrFKlStanTx/LycmxyZMn23HHHWezZs2ygw8+2AU0AAAAAAAAAAAAyjWAoUDF0KFDrVOnTvbdd9/Zli1b7IwzzrBq1arZmWeeab/++utuFQgAAAAAAAAAAKDEAYzc3FyrUaOGu/35559blSpVbN9993X38/Ly3OwMAAAAAAAAAACA3VHiaEO7du3s/ffft1atWtl7771nBx10kAtaKLDx0ksvuedL68knn7Qvv/zSXnjhhUK32bBhg40YMcIFT5KSkuz444+366+/3gVSAAAAAAAozqpVqywzM5OKQqlkZGRYw4YNqT0AAGIxgDFkyBC7/PLLXbAiLS3NLrzwQvf40UcfbWvXrrXx48eXqiB6P+XP6N69e7H73759u02aNMk2b95sN998s2t4Kok4AAAAgPi0adMme+SRR+yHH35w7fxgGrz04YcfRqVsqFh0fF177bXm8/miXRTEqeTkZBs3bpx/dQoAABBDAYwDDzzQpk2bZr/88ot16dLFmjZt6h4/99xzbf/997f27duXeOTL7bffbjNmzLCWLVsWue2PP/7o8m5Mnz7d2rRp4x676667bPDgwa4ByggIAAAAID7deuut9tFHH9nBBx9sHTp0iHZxUIGp0/nBBx9kBkYhli1b5jrnL7vsMv/5PnadgUHwAgCAGApgaHbE2Wef7b+/xx57uEsgBTBK47fffrPU1FR7++237fHHH3eNpaISiNevX98fvJD99tvPjcb6/vvv7bjjjitVGQAAAABE19dff2233HKLnXXWWXwVKHMMfiueghdaOhoAACDmAxh33323LVy40J1QKNBQnJNPPjnsAvTu3dtdwp2t0bhx4wKPaRmrWrVq2YoVK6y0NHWY9U/Do+W7Aq8RWdRv2aFuqVt3HGRluevcHbmWk5NTZKVoG+81mcnRWSOb4zbx6jcpK8vSdPzl5poVc4xabq6lmllWVpb5Ymwd91is24oiFupWbWcNIIq0qlWrWrNmzSL+vgAAAAAqeABj9OjR9thjj9mff/5pw4cPL3JbncyUJIBREjpRU8AiWOXKlS07O7vU76tOgrlz5+5m6RKLjgVQv/GIYzex63Zt/s4Axrq1ay07WV2/hduavzOA8efixbY1Od2iKR7qNp7FUv1W2bLG2v9zjOZuLbptk5q1xRqZ2eLFi2372q0Wi2KpbiuaaNdtqDb57tKM76efftq6devmghkAAAAAEFYA44QTTrDjjz/e8vLy3Lq00ZKenh5yxKyCF1qDsrS0hFXbtm13s3SJQUEknTArX0mVKlWiXZwKh/qlbuNRPB23SzI3ms39y+rWq2e104r+f2NDTqbZyvXWslUr2yOjlkVD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119/tW3bttkPP/xgN998s51++um2YcOGsikpAAAAAACImHYH97CqNWvYsGHDLC8v9NKZelx5L7Vdu4N6UPsAACC2AxijRo2ypKQkN237gw8+cLkvPvroI3v11Vdd8GLkyJFlU1IAAAAAABAxldLS7Iirz7dp77xj/fr1czMxgmde6HE9r+20PQAAQEwvIfX111/bPffcYx06dCjweJcuXezaa6+1ESNGRLJ8AAAAAACgjLTp2dVOvOVK+/DhZ619+/bW64ADXMJu5bzQslGaeXHirUPcdgAAADEfwMjIyLDU1NSQzykXRkpKSiTKBQAAAAAAykGb/btZi2572/wvZ9qCr3+wZfN/dQm7lfNCy0Yx8wIAAMRNAOPss8+2hx9+2M24aNCggf/xrVu32pNPPmlnnnlmpMsIAAAAAADKkIIUHXsf6C4AAABxFcA455xzCtxfvHixHXnkkdatWzerV6+ebdq0yb7//nvLz8+3Jk2alFVZAQAAAMDl5AMAAABQ8YUVwPD5fAXuK3AhO3bssJUrV7rbHTt2dNerVq2KfCkBAAAAoJDzEwAAAAAJHMB44YUXyr4kAAAAABKeZndv377dze4Optneyrn3+++/J3w9AQAAAImgxDkwPAsXLrTvvvvOtmzZYrVr17Z9993XWrduHdnSAQAAAEgIf/31l91www02e/bsQreZO3duuZYp3mUtW2M7Nm2NdjEAJJAdW7dHuwgAgEQPYGi69u23326vv/56ganbWof2lFNOsXvvvTfSZQQAAABQwd199932559/2hVXXGGNGjWy5OTkaBcpblWvXt3V39bZC6JdFAAJSH9/9HcIAICoBDAmTpxob775pg0ZMsROPPFEq1+/vq1evdr+85//2BNPPGHt2rWz8847L+z309Twxx57zAVENJujR48edtttt9kee+wRcvt169a5IMlXX33lAigHHHCADR8+3Bo2bFjSjwIAAAAgRsycOdPuuece69u3b7SLEvfq1atnd955p61YsSLaRUEcWrNmjTs/P/300935PlBSjRs3dn+HAACISgDjjTfesMGDB9ull17qf6xZs2Z2+eWXW25urr322mslCmCMGzfOJk+ebKNGjXIjrUaPHu3ef9q0aZaWlrbL9ldffbVLHv7ss8+6AIYa5tq3ygUAAAAgPlWrVs1q1qwZ7WJUGG3atHEXoKQW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ABKHhnaWiIIO77zzjp1xxhluOadff/3VBRHOP/98e/vtt61Zs2YlWjtXgQolBdfoq99//92uueYaN9PiqKOOcolJ16xZ495funfvbgcccIALosyaNctNX1cuDI0+Pemkk0r6UQAAAADEiIULF1rHjh1DPte6devdmnENAAAAIEFmYHgjoRREiIQhQ4a4WRW33HKLC1RolsXTTz/tlk7QSUqfPn3cdPF+/fq57TV9XAGPK664wm2vpayef/55q1OnmHWiAQAAAMQs5fWYNm2aHXjggbs89+qrr1q7du2iUi4AAAAAMR7AmDp1qpuuXbt2bXe7OCVJrqfZE1rrVpdgms0xb968Ao9pyak77rjDXQAAAABUDJdffrldddVVLkm5lqvVucfatWvt/fffdzOvn3rqqWgXEQAAAEAsBjCGDx9ur732mjuJ0O3ikvqVJIABAAAAAFpC9vHHH3eXhx56yH9uobx7kyZNcsvJAgAAAEgsYQUwlJ+ifv36/tsAAAAAEGm9e/e25s2b28cff+yWk1VSb10rD19Z0OzyCRMm2JIlS9x+tUztscceWyb7AuJB//79d3ls8uTJUSkLAABA2AGMpk2bhrztUQ4LJfSuVasWtQoAAACgxPLz8+22226zN99803w+n5t9ccYZZ9i4cePs77//thdffNEaNWoUsZr9z3/+YzfffLPddNNNdvDBB9u7775r1157rduHZn0AiSZU8MJ7nCAGAACIluSSvkDBiscee8wl2JMZM2a4RHu9evWyc8891zZt2lQW5QQAAABQgSlQoXOMu+++27766isXxBDlylNwY+zYsRHbl9774YcftnPOOcfOPvtsN/vi0ksvtQMOOMC+++67iO0HiPfgRbjPAwAAxEwA45FHHrEnnnjCNm/e7O6PGDHCzby48cYb3cioBx54oCzKCQAAAKAC08yLIUOG2GmnnVZgZveee+7pHldQI1IWL15sy5YtsxNOOKHA408//bRdfPHFEdsPEA+CgxOabeFditoOAAAgZpaQCuRNrdZIpYULF9off/xho0aNcom7daJx//3321133VU2pQUAAABQIa1du9YFK0Jp2LChfwBVpAIYkpmZaRdccIHNmTPHmjVr5mZhKA9HaWd16P2AeDZx4sQCx7HuDx482H+fYxxAWVuzZg1/awqxYsUKfzsmKyuLgzGEjIwMfx5n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3+xmYAQvGaUAxyuvvGL33nuvde/e3U477bSyKi8AAAAAAIig4pJ1E7wAgOj/fVbQQjkvgp8HKrqwlpCaOnWqnXnmmTZw4MCQ+S601pqSev/73/9267KVNJ/GI488YgcffLDts88+duGFF9qSJUvCeu3bb79t7du3t6VLl5ZonwAAAAAAoPhOMDrHACC69Hf4wQcf9Oe60LXu8/cZiSKsGRiLFy92S0QVR0EI5ckoiXHjxrkfnJae0pQnrds2ePBgNx1KU6MKs2zZMrvrrrtKtC8AAAAAABAanWEAEJvUZ/rCCy9EuxhA7M7A2L59u9WsWbPY7WrXrm3btm0Le+ea+vTMM8/YkCFD7LDDDrMOHTrY2LFjXV4NLVlV1KyNYcOG2V577RX2vgAAAAAAAAAAQAULYChZtzdNqcg3S05224br999/dwGPXr16+R+rUaOGdezY0WbOnFno68aPH2+5ubl28cUXh70vAAAAAAAAAABQwZaQKiuaaSGNGzcu8HiDBg38zwX7+eef3ayNN954w1atWlUu5QQAAAAAAAAAADEawLjjjjusWrVqRW6zdevWEu1cS1NJcK6LypUr26ZNm3bZPjMz06677jp3admyZcQCGJo1ovdG+N+Zd43Ion7LDnVL3Up2To67zsvLs7wdO4qsFG1jKTtfU97/R3jl1JKJKV5ZYrCc8S4W/y7EyzGalJVlar1pRqz9U+ZAubk5/3+dm2upZpaVlWU+jtEKcdyq7ZyUlBS1/QMAAABIHGEFMHr06OGui1seqmrVqta9e/ewd56enu7PheHdluzsbKtSpcou248YMcJatWplZ555pkWSTr7nzp0b0fes6P78889oF6FCo36p23gUD8ftli0rXIfv9szttim78KCAbM/LMatexZYvW2ZbNudbNMqZnZVtqSlpRQ4QiGY5K4pYOnbj5RitsmWNtTezdWvXWu7W7EK3W7d2naVmbbFGZrZ48WLbvrZkg10Qu8dt8AAkAAAAAIhaAKOsstx7S0etXr3amjdv7n9c99u312lxQW+++aY7Weratau7741I7du3r11yySXuUhqpqanWtm3bUn6KxKLRfjph1gyYUEEmUL+ximOXupX5S/LNVm+2DVWrWHJqulVOSrJalmzJIUYS52Xt7Ght0rSpNWu66/9JZWnpsmSzlZutcnpls1yfmwFZWC6qaJYz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PYdvv/0W2dnZJsuCQYlWrVphx44dGDFiBJ544gmceeaZ5v4JCQl46KGH8M8//yAgIAAnnXQSJkyYYC6LiIiIiIiIiIiIiMihodYDGCIiIiIiIiIiIiIiInWqB4aIiIiIiIiIiIiIiEhpFMAQEREREREREREREZE6RwEMERERERERERERERGpcxTAEBERERERERERERGROkcBDBERERERERERERERqXMUwBARERERERERERERkTpHAQwREREREREREREREalzFMCQCktOTsbEiRNx9NFHo1+/frjggguwYMECrcFqtnnzZhx++OH49ttvtW6ryXfffYdRo0ahd+/eGD16NH7++Wet22qSn5+PF198Eccee6zZbi+66CIsWbJE67eK3nzzTVxyySVFrlu9ejUuvvhiHHbYYTjuuOPw4Ycfaj1X07r9888/cdZZZ5ltmOv2ySefRHZ2ttZvNaxbb/fff79Zv1I92+3evXtx++23Y8CAARg8eDDuuOMOJCYmavWKSJXExsaia9euJU7exyb7+01S/P4iIqJ9sUhVKIAhFcaD5MWLF+O5557DN998g+7du+Oqq67Cpk2btBarSV5eHsaPH4/MzEyt02ry/fff47777jMD6z/99BPGjBnj2Zal6l5//XV89dVXeOSRR0ygqH379hg7dqwZWJMD88knn+CFF14ocl1SUhKuuOIKtGnTxux/b7zxRjzzzDPmslRt3TIQf9NNN2HkyJGYMmUK/ve//2HatGl46KGHtGqruG69TZ8+3ewrpHrWbW5uLq688krs2rXLDBy+9dZbWLNmDe6++26tYhGpEu5LAgIC8M8//+Dff//1nDgZiPSbRESk5mlfLFKUAhhSIVu3bsWsWbPw4IMPmpl+HKR84IEH0KRJE/z4449ai9Xk5ZdfRmhoqNZnNbFt22QHXHrppSaAwcHf66+/HsOGDcO8efO0nqsBByUZFDryyCPRtm1b3HPPPUhLS1MWxgHOeLzuuutMYKJdu3ZFbvvyyy/h5+eHhx9+GB07djTZApdffrkZtJSqrdvPP//czF7n7bztmGOOwW233Wb+beMgsRz4unVjQJO/GQYNGqTVWU3rdurUqdi5cydeeeUV9OjRA3379jX7X2Zxpqenaz2LiOF0Ok2WISedMeBZEevWrTP7HB7nxcTEeE6BgYHmdv0mERGpGu6PuV/m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PfZY06ODdu3ahV9++QVDhgwxE7W4zDxue/DBB83EMd4uIiIuysAQEanHOHOIM3NefPFFpKenmx/RDGbwb84i4oHA7bffbppu33TTTabZNw8q3njjjSLPw8cxXXnSpEmmXwYzC1566SVPs2zic7E2K2cIMWWaBw08GOGMJM5Oat++vRno53PzYIUnzkri7CvirCPvTA4eYBx99NHo2LFjkWVhg79PP/0UN954I8aNG2fSsRk04QEE34P78QcTs0qYZs6G6HyPXLdvvvlmiRJWIiIiIiINFcs9sZcdyyIxo4K/25nhwKwD7+OB0vA3No9reAzC39gMVLA3HrMRvCdBsTn4+eefj2uvvRYXXHABAgICTOml6dOnm8eSu/ccy1jxWIOTvkozatQo0zeDGRHss8djHQYjmAnBkk881uJtpeGkKpZ94vLxNdjUm6WgeJzgfp8MTvB52BeE/fzYG4ONxnmMxdvYE4TBDh73MHOFmd18zrS0tBJ9B0VEGjIFMERE6rlbb73V9IzgoD9/ELMEE1OXGbjgj3c2tHv77bdNRgYDAAwIPP7446b2qhsPLtiMm024+QOaBx6873fffVfktRi8YLDigw8+MDOs+GOdBwqceUSvvfYannrqKRME4Q9wBjk4o+nqq6/GggULTHNxBks4k4mvxYMK1oL1xgOWjz76yNzuDswwtZpZHpzNVRs4I4rvk+uN65WzsBgUYtYJA0IiIiIiIuI6HuDvdg7as4cDM7M5sM/f0TweYO+HsjAowWwFBiTeffddE3gYP348nnjiCU+WAydVMUDC5th33XWXuX+XLl3MRKMRI0Z4giEsMcXnYTnbWbNmmUzu0jBAweOTL7/80vTu4EQu9vA755xzTIZGWeVr+f4YkGAJKQYieIx1/fXXm8wNTr5iSSg262a2+uTJk82xFYMbzGpnQMc9UYzHbzzmue+++0zgg429eVzGAIeIiLhY9oF0KBUREREREREREakGbIQ9depUE0xg5rMbgxUMMsydO7dWMrFFRKT2KYAhIiKH7EHQ/jAVfX89OUREREREpOaNHj3aZG0wk4GZD+xPwQwHZnszC0NERBomBTBEROSQxL4V+3PGGWeYvh8iIiIiIlK7tm/fbsreMtsiNTXVlHJi7wiWliqrBJSIiBz6FMAQEZFD0vLly/d7H87sYr1aERERERERERGpexTAEBERERERERERERGROkeFv0VEREREREREREREpM5RAENEREREREREREREROocBTBERERERERERERERKTOUQBDRERERERERERERETqHAUwRERERERERERERESkzlEAQ0RERERERERERERE6hwFMEREREREREREREREpM5RAENEREREREREREREROocBTBERERERERERERERKTOUQBDRERERERERERERETqHAUwRERERERERERERESkzlEAQ0RERERERERERERE6hwFMEREREREREREREREpM5RAENEREREREREREREROocBTBERERERERERERERKTOUQBDRERERERERERERETqHAUwRERERERERERERESkzlEAQ0RERERERERERERE6hwFMEREREREREREREREpM5RAENEREREREREREREROocBTBERERERERERERERKTOUQBDRERERERERERERETqHAUwRERERERERERERESkzvGt7QUQERGRei4vA8jPrO2lEBERkbrINxjwC6ntpRAREZF6SgEMERERqRoGL7J3ArZTa1JERET2sRxAYEsFMEREROSAKYAhIiIiVWeCF7bWpIiIiBT7fSAiIiJy4NQDQ0RERERERERERERE6hwFMEREREREREREREREpM5RAENEREREREREREREROocBTBERERERERERERERKTOUQBDREREatQlNzyCrkMvLPOUmJxaoedZv2kHZsxaXKVlefmdr3HcGeOKXHf2lfebU25u3n4fv2tPPH76fbbnbz4Xn7Om8PnLWm+HH3cFDpaFS9diwdI1VX6e5as34awr74fTWbSpa05OLk695B58+9PfJR7zyde/YcRZt6DPMZfhwusewqq1W4rcvmN3HK6942n0G3EVjhxzA15480sUFOx7/pVrN2PMRXeZ2+9++HXk5ed7bsvMysYxp92EdRu3H9D74edQ2jJX9ftyzyNvVPj+fA9cR9WF65ffh/z8AtSUuYtWmXXX48iLkZhU8vvP7+KAkWPNffj5VvV13M9R2XVbk64Y93iJ7zSXz/s78dDT72HoqOtw+IgrccfEV4rsK/k+vO9/IP75b6n5PnJfcspFd2Pqb/v2bWX5e84SnHn5veh9zGU4/uxb97vtcTnL20e6/3149LkPSr39rQ9/MLdX9XPz/uyLbxc1ud8sbd/N13ebs2Al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pemnUV0YwJo1b7kJ4JSG2wi382df/8yU8OJ+i8ECZlC4e7Xs73vlrU/PTpXeNxcv/1Wa0JAgvP/SveY7ctWtk0zTdvamYbaGuxwhs0lee2q8Cdh88MUvpk/O0w/eiKEDepb6nLz/1Zecilcmf2v61gQGBmDEmbeY0m/MGqwJtbENiIiIiBRn2fvLkRYREREpT1YckMU+BPpJIWXjIPtHX/6KHz95UqupjuMA/uU3P4Y/vnnRU/ZI5ECwz0jL5tGe5tbSEFlAUGsgKKa2F0RERETqKZWQEhEREZEax9n8LMnC2dVSt73/+TRcccEoBS9ERERERKTWKYAhIiIiIjXOz9cXT068Hs++9lmlmnnLwcXSbJu37jIlskRERERERGqbSkiJiIhI1aiElIiIiJQ+5KASUiIiIlIlysAQEREREREREREREZE6RwEMERERERERERERERGpcxTAEBERERERERERERGROkcBDBERERERERERERERqXMUwBARERERERERERERkTrHt7YXQERERA4BlgOwnbW9FCIiIlLXfh+IiIiIVIECGCIiIlI1vsFAYEutRRERESn9d4KIiIjIAbJs27YP9MEiIiIiIiIiIiIiIiI1QfmcIiIiIiIiIiIiIiKCuub/xnsuOBv86MIAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "--------------------------------------------------------------------------------\n", " 📌 Variable 'capital_gain': Media <=50k: 151.3 | Media >50k: 4071.0\n" ] }, { "data": { "image/png": "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hQsX5igksJ8kR44cES/3lDNnTvdTQYyiRYtSTgoAAABAmkITbwAAAKSKEydOuCyA3LlzcwRSUa5cuXzHIyN48cUX7dZbbw14bPXq1XbLLbdYrVq17Morr7RXX301TpmusWPHWuPGjd0y3bp1sy1btqT4OgAAAAAEIoABAACAVEXJKPZ/pLzxxhv23HPPBTy2d+9e69Kli5UuXdpmz55t999/v40aNcr97pkwYYLNmDHDhgwZYjNnznTBiK5du9rx48dTdB0AAACJ9eyzz1rHjh19N90HMhJKSAEAAABI13bs2GFPPvmkLVmyxMqWLRvw3KxZsyxr1qw2ePBg12OlQoUKtnnzZps8ebK1bdvWBRimTZtmjz76qF1++eXuNWPGjHGZFB9//LG1bNkyRdYBAACQWApYBFu+fLl7XBMrgIyADAwAAABkWCrT07dv39TeDCSz//u//3PBgffee89q1qwZ5yS+fv36LmjgadCggW3atMl2795ta9assUOHDlnDhg19z6uhfNWqVW3ZsmUptg4AAICzDV4k5nkgvSADAwAAABnW+PHjLU+ePKm9GUiBQJVuoWzfvt0qVaoU8Jgalsu2bdvc81KiRIk4y3jPpcQ6aGQPAADC5V8m6rrrrgvo//Xaa6/Zhx9+6FvukUceYcciXSOAkcGpMeai7b/Z8ZMH7YLU3hgAAIAUphnwiG5Hjx61bNmyBTyWPXt29/PYsWN25MgR93uoZfbv359i6zib8f7hw4eT/HoAAJD+KLPTo1KU/mMB3fcCGFqOcQLSIo1hw+2FSAAjg9t99KC9/+f/We5MWey61N4YAACAFKZZ+Srb88ADD1jTpk1dg2ed0H311Veu5FCzZs3s8ccft1y5cvkG0q+88oq99dZb9ueff1qxYsWsQ4cOdscdd/gG2N9884298MILtnbtWlcOqFGjRq73gTf7fs6cOa4fw8svv2zDhw+3X3/91c4991zr06eP688waNAg++GHH9zs+4ceeshatGjh296tW7e6xs5ff/21u6hdq1Ytt+7y5cvz3UmiHDly+Bppe7yAgY67nhct4/3uLZMzZ84UW0dSnThxwlavXp3k1wMAgPTtTOMAxglIq4In98SHAEYGdzL29L8/Y1N7UwAAAFKdAgualTZhwgT76aefXKPlggULWs+ePd3zI0eOdAGMLl262KWXXmo///yz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VYgoemAAAAAgrZk2bZqNHDnSsmfPboUKFXIBC3/B9wEAAABEnyQFMF577TV78cUX7a+//vI9VqJECXvkkUesZcuWkdw+RACnfgAAAEhrXn/9dWvVqpUNHTrUsmXLltqbAwAAACANiknKiYZOMmrVqmVPP/20vfTSSzZ8+HArX7689erVyz788MPk2VIkGSWkAAAAkNbs3r3bbrrpphQNXsybN8+aN29u1atXtxYtWgScu/zxxx929913W+3ata1Ro0b23HPP2alTpwJe/8Ybb1jTpk2tRo0a1rFjR1u1alXA85FYBwAAAICzCGC8+uqrdsstt7jG3jfccIMbmLdu3dqmTJlibdq0cY8jbSEDAwAAAGlN1apV7bfffkux93v33XetX79+1qlTJ1uwYIHLHFcG+cqVK+3EiRN25513uuVmzpxpAwcOtDfffNNeeOEF3+vnzp3rSl716NHD5syZY6VKlbIuXbrYnj173PORWAcAAACAsywhtX37drvyyitDPqeTgPnz5yd2lUhmBDAAAACQ1jz++OP20EMPWa5cuaxmzZqWM2fOOMuce+65EXmv2NhYe/755+22225zAQy59957bfny5bZ06VL7888/bevWrTZr1izLnz+/VapUyZXLVbDhnnvucVkikyZNchO5rr/+evd6NRi/6qqr7O2333ZZFx999NFZrwMAAADAWQYwlG793Xff2SWXXBLnOaU/V65cObGrRDKjASIAAADSmptvvtlOnz7tAhnxjVdXr14dkffauHGjC1Ko54a/qVOnup/Klrjwwgtd4MHToEEDO3jwoNsGZUps2rTJGjZs6Hs+S5YsVrduXVu2bJkLPigYcrbrAAAAAJCEAIYG1B7VilXPiyNHjth1111nRYoUsX379tkXX3zhmns/9dRT4awSAAAAQBQbMmRIik20UQBDDh8+7Mo8aeKVAgrKwlB2ubLMixcvHvCaokWLup/btm1zgQYpUaJEnGXWrFnjfo/EOgAAAAAkIYBx6623BpxcKAVbzbzVgM7/MVE910jNlAIAAACQMal/XkpRFoT06dPHHnjgAXv00Uddyaf77rvPXn75ZTt69Kjly5cv4DXZs2d3P48dO+Ymb0lww3Eto+clEutICp2HKTADAAAApBcaw4Y7mSlLuI27AQAAAOBszJs3zy677DIrWLCg+/1MWrduHZEdnjVrVvdT2Rc33nij+/2CCy5wmRgKYOTIkcOOHz8e8BovqKAeHXpeQi3j9e6IxDqSQs3DmUAGAACA9CZ4Ys9ZBTDq169/ttsDAAAAIMr17dvXNblWAEO/J0QzsiIVwChWrJj7qcba/ipWrGiff/65O9/59ddfA57buXOn77Ve2Sc9VqFChYBlvHWrfNTZriOpwRl9DgAAACC9WLduXfI18ZaffvrJlixZ4mYPeaWjvNTlFStWuJMSAAAAAPC3aNEi10PP+z2lqLl27ty57ccff3RNsz0KOJQuXdrq1avnMkJUaipPnjzuucWLF7vXVKlSxc0OK1eunDsH8ppwnzx50jXu7tixo7sfiXUkhQI9yvAAAAAA0ovE9MJLdABDfS/UqNsLXPiLiYmxRo0aJXaVAAAAAKJAyZIlQ/4eSqjzjaRS+aauXbvaCy+84LIdatSoYQsWLLBvvvnGpk+fbrVq1bLnnnvOHnroIdcf448//rBnn33W7rjjDl9qu34fOnSolSlTxqpXr26TJ092fS9uuukm9/xVV1111usAAAAAcJYBDDXvbtKkiY0cOdJefPFFN8Po8ccfty+++MKlgV9//fWJXSUAAACAKPTBBx/Y0qVLQ2Z2//DDD/bll19G7L3UsFu9JsaMGWM7duxwZZzGjRtnF198sXt+ypQpNmjQIGvfvr3lz5/fZUXoNR49/vfff7sgxb59+6xatWquf0ahQoV8zbjPdh0AAAAAzjKAoZlEClRoQK4Bt2YxaUbTNddcYxs2bHANv1u2bJnY1QIAAACIIuPHj3e3vHnzulJK6uWQJUsW27Nnj8vsbteuXcTfs0uXLu4WirIipk2bluDr1QRct/hEYh0AAAAA/ifGEkknFgpYeAP0zZs324kTJ9z9OnXq2KZNmxK7SgAAAABRZu7cua5JtzIwbr/9drviiivs22+/tXfeeccKFChg559/fmpvIgAAAID0FsC44IIL7LPPPnO/qwnd6dOnXTM82b59e+S3EAAAAECGozJOrVq1cg38dI6xcuVK97iyvO+55x57++23U3sTAQAAAKS3ElJKuX7ggQfswIEDNmzYMGvatKn17t3bmjVrZvPnz3dZGAAAAACQkFy5crnghZfZrVK1amitbG8FNHQfAAAAQHRLdAbGVVddZZMmTXJN72Tw4MFWtmxZmzlzppUvX94GDBiQqPUpg2Ps2LHWuHFjq1WrlnXr1s22bNkS7/J79+61nj17Wr169ax+/fquSd6RI0cClvnwww+tefPmVqNGDZeW/t1338X73l27dnXN+4IpIFO5cuWAm3p/AAAAADh71atXt3nz5vkyuzNnzuwbt69fv96yZcvGbgYAAACiXKIzMOTyyy93NylYsOAZG9UlZMKECTZjxgx7+umnrXjx4vbMM8+4oIKyOUKdtHTv3t0FLKZPn+6yQPr162eHDx+2ESNGuOcXL15svXr1clkhl156qauhe9ddd7mTIy/oIsePH3fBlq+++spq1qwZ8B5an4IoL774ol144YW+x73eHwAAAADOjspEKbtbY3pNkLr++uutT58+dvHFF9vXX3/tJk4BAAAAiG5JCmDoAr+a7i1fvtydcBQqVMgaNGjgatgmZqaUgggKfjz66KO+gMiYMWNcNsbHH39sLVu2DFhedXHV5O+DDz4IyABRwOORRx6xYsWK2UsvveROdm677Tb3vE6C9LpXXnnFLSvff/+9C14oRT1fvnxxtmvdunUuO+Oiiy6y/PnzJ2UXAQAAAEiAMqo12Wjt2rXuvsbnMTExbqx+7bXXkv0MAAAAIPElpJSZoMDCkCFD7JdffrFDhw65kwxlQrRr186VeArXmjVr3OsbNmzoe0wBhapVq9qyZcviLK+ASZEiRQIyKVRGSrVzV6xY4YIO2hb/9Ylmcfmv74svvnBBEmVl5M2bN8776CSqcOHCBC8AAACAZFSlShW74YYb3O/Zs2d35xgLFiyw4cOHMxYHAAAAkPgMDJV6UsBAF/91wuH58ccf7cEHH3QnGyNHjgxrXdu3b3c/S5QoEfB40aJFfc/527FjR5xllfFRoEAB27Ztm8sGUXaISlEltL6HH344we1SAENNBVWuSgERlclq27aty+rQrLCkio2NdduX0k4cPxZw/9jx46myHUg5Xl+Y4P4wyNg47tGHYx6dOO7RJ7WPucawXrPtSPL6X4Si98udO7eVLl3aKlWqFPH3BgAAAJBBAxjffvutDR06NCB4IeojoTJOTz31VNjr8k7CgstOafbV/v37Qy4fqkSVlj927JgrCRXf+vR8uH777TcXDLnmmmvs/vvvd9kd6s2hberRo4cl1YkTJ2z16tWW0v7+e7dZ5v/d3/rnn/b3gdMpvh1IeZs2bWK3RyGOe/ThmEcnjnv0Sc1jnhwNtZXBrQxqL0ji8YIlXuBE2dQTJ060nDlzRnwbAAAAAGSwAIYyE7JmzRryOfXCyJzZ70r5GXhNsdULw79BtoINoU5QtIyWDabltV0KVHjrC34+MSc86qOh13jlpSpXrmwHDx50J07KMklqFob2W8WKFS2lbdx4wmzPAd/9c0uWtFIlK6f4diDlKNinixxly5blZD+KcNyjD8c8OnHco09qH3P1h0sOU6ZMcZOF1MxbJWpVwvWvv/6yjz76yMaOHWv9+/d35xcDBw5099XbDgAAAEB0SXQAo1OnTvb888+7jAuVZvLoAv+LL75oHTp0CHtdXjmonTt3uvRwj+4raBBMpaEWLlwY8JiCFfv27XPbolJSCmTo9f50Xw2+EzPDLHiWmVLXVXZJWRgqKZUUmkGm7UtpWbP9E9jxZM+WLVW2AylPFzk41tGH4x59OObRieMefVLrmCdH+SgZMWKEdevWze66666A84Pbb7/dTp48aa+//rrNmTPHTSB64YUXCGAAAAAAUSisAIZ6P/jbuHGjXX311Va7dm03U0oX9b0m2ueee27Yb64yVHny5LElS5b4Ahgq3bRq1Sq75ZZb4ixfr149GzVqlG3evNnKlCnjHlu6dKn7WadOHXdypW3SY2oo7tH669atG9Y2KVVdn61169b2wAMP+B7/+eefXQPxpAYvAAAAAPzPhg0brEaNGiF3yQUXXOCyLkTj/t27d7PrAAAAgCgUVgDDvyatKEggmhnlNceuWrWqr9F2uJTloECFghJKDy9ZsqTrNaFMi2bNmtmpU6dsz549rpSTykcp60PvrSbcSiVXRsSAAQNcsMHLsOjSpYubxaXtadKkic2ePdv1nVDfjnAoCKIAxtSpU618+fJWrVo1++6771yKu+r0AgAAADh75513nisXdemll8Z57pNPPvFla+t8Q+cKAAAAAKJPWAGM1157Ldk2oHv37i4Qohq3asKtLAsFD9Qv4o8//rCmTZva8OHDrU2bNi64MH78eBs0aJB17tzZ9by49tpr7bHHHvOtr1GjRjZs2DCbMGGCjRkzxvWcmDRpklWoUCHsberZs6fLDHn22WfdCVOpUqVc8KJ9+/bJtBcAAACA6NK1a1c3jlffi2uuucbOOeccl2mhkrG6DR482GV+P/fcc25iEgAAAIDok+geGJ7169e7Uk1///23K6ukEk7KWEgsNf3u1auXuwVT4GDt2rUBj+nExksnj48yMnQLx6effhrnsSxZsriGgroBAAAAiLwbb7zRTVDS2H7RokW+x1VaVlnZauy9YMECNxFJE4wAAAAARJ9EBzBUTurJJ5+0t99+O6C0lE4+dBKi7AcAAAAAOBNv4tHvv//uSseqlKxunhYtWrjbvHnz7IorrrD8+fOzUwEAAIAoEpPYF6gXhPpKqPSTZkr99NNPLsVbDa/fe+89mz59evJsKQAAAIAMSVkXtWrVCgheeNQXT6WmVF4WAAAAQHRJdAbGO++84+rV3nvvvQGlnlRu6cSJEzZr1iy7/fbbI72dAAAAAKKUf+Y3AAAAgOiR6AyMbdu2WYMGDUI+d/HFFzMzCgAAAAAAAAAApHwAo2TJknEaa3vWrFljhQoVOvutAgAAAAAAAAAAUS3RAYyWLVvauHHj7MMPP/SlcuvnBx98YOPHj7fmzZsnx3YCAAAAAAAAAIAokugeGN26dbPly5fbww8/bL169bKCBQva3r17XXO9+vXrW48ePZJnSwEAAAAAAAAAQNRIdAAja9as9vLLL9sXX3xhy5Yts/3791v+/PmtXr16dtlllyXPVgIAAAAAAAAAgKiS6ABGq1atrGfPnnbFFVcQsAAAAAAAAAAAAGmjB8a2bdssZ86cybM1AAAAAAAAAAAASQlgKANj+vTptnPnTnYgAAAAgGSVOXNme/XVV61cuXLsaQAAACDKJLqE1KZNm1wTb/W7KFCggOXKlSvg+UyZMtnChQsjuY0AAAAAMoArr7zSnS+Ew/+8on79+sm8ZQAAAAAyRACjRIkSLgsDAAAAABJDgYhwAxgAAAAAkOgAxvDhw9lrAAAAABLt6aefZq8BAAAAiHwA4/jx4y6Fe+vWrVamTBlXQipbtmzhvxMAAAAA+Dl27JitXbvWnWvExsa6x06fPm1HjhxxZWsfffRR9hcAAAAQxcIKYGzfvt1uu+0227Jli+/EonTp0jZu3DirXLlycm8jAAAAgAxmyZIl1qNHD9u/f3/I53Pnzk0AAwAAAIhyMeEs9Oyzz9qBAwdcyveCBQts/PjxbmbUk08+mfxbCAAAACDDGTNmjBUsWNDGjh1rV111lTVr1swmTZpkHTt2dH0yXnrppdTeRAAAAADpIQPj22+/dbOfbrjhBne/QoUKlj17drvrrrvs77//trx58yb3dgIAAADIQFQ66qmnnrKrr77anVPMnDnTlanV7cSJEzZx4kSbPHlyam8mAAAAgLSegbFv3z4rV65cwGM1atRw5aRUXgoAAAAAEkMZ3cWKFXO/q8feb7/95nvummuusVWrVrFDAQAAgCgXVgDj5MmTljVr1oDH8uTJ436q4R4AAAAAJIZ66ikLQzRZSo27N2zY4Dv/OHToEDsUAAAAiHJhBTAAAAAAIJJatWplo0aNstdff90KFSpk1apVsyFDhtinn35qL7zwglWsWJEdDgAAAES5sw5gqMEeAAAAACRG165drUOHDvbjjz+6+08++aStXr3a7rvvPpeJ0bt3b3YoAAAAEOXCauIt999/v2XLli3O4/fcc09AeSkFNBYuXBi5LQQAAACQ4cTExFifPn1896tXr+7OIxS8KF++vK9kLQAAAIDoFVYA48Ybb0z+LQEAAAAQNW677TaXdVGhQgXfYwpa1KhRw9asWWO9evWy+fPnp+o2AgAAAEgHAYzhw4cn/5YAAAAAyNCWL19usbGx7velS5fasmXLbM+ePXGW++yzz2zLli2psIUAAAAA0mUJKQAAAAA4G2+//ba9++67ruysboMGDYqzjBfgaNmyJTsbAAAAiHIEMAAAAACkiP79+1vbtm1dkKJz5842YMAAq1ixYpzeGPny5bPzzz+fowIAAABEOQIYAAAAAFJE3rx5rX79+u73V1991S688ELLnTs3ex8AAABASAQwAAAAAKSIefPm2WWXXWYFCxa0rVu3ultCWrduzZEBAAAAohgBDAAAAAApom/fvjZr1iwXwNDvCVGPDAIYAAAAQHQLK4CxbNmyRK20Xr16Sd0eAAAAABnUokWLrEiRIr7fAQAAAOCsAxi33nqrmwEVihrwif/zq1evDme1AAAAAKJIyZIlQ/5+/PhxO3DggOXPn9+yZs2aSlsHAAAAIF0GMNRgz6M6tU888YS1bdvWrrvuOjeDat++ffbpp5/azJkzbfDgwcm5vQAAAAAyiC+//NImTJhgP/30k5sYlTlzZqtTp4716NHDateundqbBwAAACA9BDDq168fkI1x++23W8+ePQOW0QlGjhw57OWXX7bmzZtHfksBAAAAZBgfffSRPfTQQ1alShV74IEH7JxzzrFdu3bZJ598YrfddptNnz7d6tatm9qbCQAAACA9NfHW7Kh77703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UPBh6NChduONN7refr1793a/e5StoTJQ/fv3d9kcyriYOnWqK98UqXUAAAAASGIAQzOhEmP48OGJWh4AAABA9Dl06JCtX7/e/a7SSgpidOnSxTp37nzWvSESsnbt2oD7yiR/66234l1eZaF69erlbvGJxDoAAAAAJCGAoVqt/lQ+SrOHVDpKs4v27dtnW7ZscanRVapUCWeVAAAAAKLYtGnT7LnnngvoAVG2bFl3f8SIEZYjRw6XpQEAAAAgeoUVwPj00099v8+fP9/Vbh03bpybZeTfOfy+++6z6667Lnm2FAAAAECGoabXDz30kN11112+x0qUKOFKLBUuXNj1kCCAAQAAAES3mMS+YMyYMfbII48EBC+kYsWK7gREtV8BAAAAICE7duyw6tWrh3yuZs2avt4YAAAAAKJXogMYe/futXz58oV8LkuWLHb48OFEre/06dM2duxYa9y4sdWqVcu6devmylEl9P49e/Z0Te/q169vgwYNsiNHjgQs8+GHH1rz5s1dkKV169b23XffxfveXbt2ddkkwcJdBwAAAIDEU6Pu+MbYy5Yts+LFi7NbAQAAgCiX6ACGggwTJ060/fv3x+mLoUDAxRdfnKj1TZgwwWbMmGFDhgxxaeReUOH48eMhl+/evbtt3rzZpZQ///zz9sUXX9jAgQN9zy9evNg1xuvQoYPNnTvXGjZs6NLSveaAHq3/8ccft6+++irOe4S7DgAAAABJ0759e5s6darrd7FixQrbtGmTff/99zZ69GibPHmyG4sDAAAAiG5h9cDw16dPH7v11lvtiiuusIsuusgKFChgf/31l61cudLy58/vghvhUhBBzfseffRRu/zyy30lqpSN8fHHH1vLli0Dltd7LF261D744AOrUKGCe2zw4MEu4KGyVsWKFbOXXnrJrrrqKrvtttt826vXvfLKK25Z0YnRgAED7OjRoyGzScJZBwAAAICku/32210Zqddee81NTvJkzpzZOnfubF26dGH3AgAAAFEu0RkYVapUsffff9/+85//2MGDB+2XX35xgYA77rjD3nvvPStVqlTY61qzZo0dOnTIZTh4FFCoWrWqSxsPtnz5citSpIgveCEqI5UpUyY3a0vZGwpO+K9PlBXivz5lbShIMm/ePMubN2/AsuGuAwAAAMDZ0UQhlZFSxsXIkSNt0qRJLkNa2dAAAAAAkOgMDFGmg042ztb27dvdzxIlSgQ8XrRoUd9z/jRDK3jZbNmyuSyQbdu22YEDB1wPjuB6ucHre/jhh+PdpnDXAQAAAODsaUKRJhcBAAAAQJICGMpUuOyyy6xgwYLu9zNR0+tweM23FYTwlz179jg9Nrzlg5f1lj927JjLBIlvfXo+HJFYR3xiY2MT3eQ8Ek4cD9zuY8ePp8p2IOV4f1vBDe6RsXHcow/HPDpx3KNPah9zjWGV8QwASXXy5ElXJlq9MzU5sFmzZpYlS5LmUwIAgCgT1oihb9++NmvWLBfA0O8J0clNuAGMHDly+HpheL+LAgU5c+YMuXyo5t5aPleuXC7I4K0v+PlQ6wslEuuIz4kTJ2z16tWW0v7+e7dZ5v/d3/rnn/b3gdMpvh1IeWqGiejDcY8+HPPoxHGPPql5zENNIgKAcMyYMcP1sVS5Zv/Hmjdvbh07dmQnAgCAsw9gLFq0yPWe8H6PFK8clGZhlC5d2ve47leuXDnO8irrtHDhwoDHFGjYt2+fm8WhUlIKZOj1/nRfZa/CEYl1xCdr1qxWsWJFS2kbN54w23PAd//ckiWtVMm4+xcZh2Zo6iJH2bJlzzrwhvSD4x59OObRieMefVL7mK9bty7F3xNAxqBAhXpo5s+f39q1a2e1a9d2PSfffvtt97gQxAAAAGcdwChZsmTI3/3TQdXQWxf/E9sQPE+ePLZkyRJfAEM9KFatWmW33HJLnOXr1atno0aNss2bN1uZMmXcY0uXLnU/69Sp47I/NCDSYxocebT+unXrhrVNkVhHQutWcCSlZc32T1aJJ3u2bKmyHUh5usjBsY4+HPfowzGPThz36JNax5zyUQCSQtcJlHmh4MW4ceN8JaOuvPJKa9KkiT344IPu+fbt21NOCgAAxCvGkjAIGT9+vM2fP993Yf/SSy+1hg0bWufOnUP2rkgoFV2BCgUllNmxZs0a12BbmRaqiXnq1CnbtWuXry9FzZo1XXBBy/z000+2ePFiGzBggCtZ5WVHdOnSxRYsWGAvv/yyrV+/3kaOHOnKNmnbwhWJdQAAAAAAEK3U80JlozQxMLjfhe7fdNNN7nktBwAAELEAxtixY23ixIkuU0Keeuopl3nx2GOP2e+//26jR49O1Pq6d+/uBi79+/e3m2++2TJnzmxTp0515Za2bdtmjRo1crMyvNlfCp6UKlXKBRMeeughN3Nj4MCBvvVp+WHDhtmbb75pN954owtyTJo0ySpUqBD2NkViHQAAAAAARCuvLLMmIYZy0UUXBSwHAACQ5BJS/pSZ8Mgjj1inTp1cdsJvv/1mTz/9tMuCUCBD2QqDBw8Oe30KWPTq1cvdgilQsXbt2oDHzjnnHBdESYi2JdxG4p9++ulZrwMAAAAAAPyP+lSKel6obFSwlStXBiwHAAAQkQwMzY5QKSf5/PPPLSYmxmVBiEo//f3334ldJQAAAAAAyEBUFlrXC9SwW6Wo/en+O++8457XcgAAABELYGh2xB9//OHLXrjgggusUKFCvhkUCmIAAAAAAIDopT4XzZs3d30y1bBbfS/37Nnjfuq+Htfzwf0xAAAA/CV6pNCyZUsbPny4a+K9YsUK10Rbhg4d6npG3HPPPYldJQAAAAAAyGA6duzofqqvpXpdepR5oWsL3vMAAAARC2CocXauXLls2bJl1rNnT9+A4+eff7Y77rjD7r333sSuEgAAAAAAZEC6ZtC+fXv7+OOPXUlqVXVQ2SgyLwAAQLIEMDJlymR33323u/mbOXNmYlcFAAAAAACipJwUAABAYiWp2KQadS9evNgOHz5ssbGxcZ5v3bp1UlYLAAAAAAAAAACQtADGV199Zd27d7cjR47Em6FBAAMAAAAAAAAAAKRoAGP06NFWvnx5e+yxx6xYsWKu+RYAAAAAAAAAAECqBjDWr19vEyZMsLp160Z0Q5ByQpX9AgAAAAAAAAAgLUl0+sS5555rBw8eTJ6tQYogfAEAAAAAAAAAyHABjLvvvtteeOEF++OPP5Jni5DsCGAAAAAAAAAAADJcCan58+fbjh077Oqrr7ZChQpZjhw54jTxXrhwYSS3EREWSwgDAAAAAAAAAJDRAhjFixd3N6RftMAAAAAAAAAAAGS4AMbw4cOTZ0uQYsjAAAAAAAAAANK/33//3fr27eu7//TTT1vp0qVTdZuAVA1geNavX2/ffPON7dy502699VbbsmWLValSxfLkyRPRDUTknWanAgAAAAAAAOlax44d4zzmBTNmzJiRClsEpIEm3qdPn7b+/ftby5YtbdiwYTZ16lTbvXu3TZgwwVq3bm3bt29Phs1EJJGBAQAAAAAAAGSM4EVMTIy1aNHC/Qz1PBBVAQwFKtTI+6mnnnIZGLH/NlTo1auXC26MGTMmObYTEUQPDAAAAAAAACD9lo3yLxn1+uuvW6dOndxP3Q+1HBA1AYzZs2db9+7drW3btlagQAHf4xdccIF7XEENpG1kYAAAAAAAAADpk1cmShkXwf0udN/LxPDvjQFETQBD5aIUrAilWLFiduDAgUhsF5Ix9eKf/wUAAAAAAACQXl133XUhH7/qqqtSfFuANBPAKFOmjH3xxRchn1u6dKl7HmlTpn9/UkIKAAAAAAAASN8+/PDDkI8vXLgwxbcFSDMBjM6dO9urr75qgwcPtm+//dYyZcpkmzdvtmnTprkbDWLSPkpIAQAAAAAAAOmT1+dC/YiD+1zovh73Xw5Iz7Ik9gXt2rWzPXv22MSJE+3NN990TbwfeeQRy5o1q3Xt2tVuvvnm5NlSRCQDQ+Wj/vknDAAAAAAAAEB649/3wutzkTNnTjty5Ei8ywFRE8CQu+++23W2X7lype3bt8/y5ctnNWvWDGjqjbSLDAwAAAAAAAAg/ZoxY0ZAJZzg4IWeB6I2gKE0pOPHj9uFF15oBQsWdGWkkH7QAwMAAAAAAABIv/r373/G55966qkU2x4gTQQw3n//fZs5c6b9+OOPdvLkSfdYjhw5rHbt2q50FB3u00kTb1dICgAAAAAAAEB6c/ToUduwYYP7PXfu3O66rK7Pfv/9967k/6FDh9zzWk7XboEMH8A4deqU9ezZ0/773/9asWLFrEWLFla4cGHX/2L79u22dOlSe/DBB+2GG26gOUw6QPgCAAAAAAAASJ/GjRvnfmbJksX1KdZPufLKK61JkyZ2xx13uMnnWq5Xr16pvLVACgQwVDPt448/tn79+tktt9wSp2SUAhzKzBg2bJjVrVvXbrrpprPcLCQH76idpoYUAAAAAAAAkC552RetWrXyBS88ut+8eXN77733fMsB6VlMOAvNmzfPOnToYLfeemvIfheZM2d2Tb3bt29vc+fOTY7tBAAAAAAAAIColzVrVrcP/vzzz5D7YuvWrQHLARk+gLFx40aXfnQmjRs3tl9//TUS24Vk7YEBAAAAAAAAID264oor3E+V9VefC3+6v3z58oDlgAwfwDhy5Ijlz5//jMsVLFjQNYlB2naaEAYAAAAAAACQLql0lOfOO++0F154wZWL0k/dD7UckKF7YKhZt8pEnUlMTIxbFmk8A4NDBAAAAAAAAKRL6nPRsmVLe//999212G+++cbd/On54P4YQIbNwEDGEksGBgAAAAAAAJBudezY0QUpQtHjeh7ICMIOww0cONDy5MmT4DIHDx6MxDYhmdADAwAAAACQ0k6fPm1r1qyxffv2WYECBaxKlSquggMA4OwoSNG+fXv7+OOPbefOnVa0aFFr1qwZmReIvgBGvXr13M8zlYfKnTu31a1bNzJbhsjT4ct05uMIAAAAAEAkqMHsG2+8Ybt27fI9VqRIEevUqZPVr1+fnQwAZ0llopo3b85+RHQHMF577bXk3xKkWAbGafY1AAAAACAFghfPP/+8XXTRRfbAAw/YeeedZ1u2bLF3333XPd6jRw+CGAAAIEHkbEaVfzIvyL8AAAAAACR32ShlXih48cgjj9j5559vOXLkcD91X4/reS0HAAAQHwIYUdkDgxAGAAAAACD5qOeFykbdcMMNcfpd6P7111/vntdyAAAA8SGAEYVogQEAAAAASE5q2C0qGxWK97i3HAAAQCgEMKIIGRgAAACIVrpIOmDAAGvSpInVrl3bbr75Zlu+fLnv+e+++87atGljNWvWtGuvvdYWLFgQ8Ppjx47ZoEGDrGHDhq70Tc+ePW3Pnj0By0RiHUBGUaBAAfdTPS9C8R73lgMAJM327dvt1ltvtY4dO7qfug9kJAQwohAFpAAAABBtVHN/5cqV9uyzz9rs2bPtggsusDvvvNM2bNhg69evt7vvvtsaN25sc+bMsXbt2lnv3r1dQMIzcOBA+/rrr23cuHH2yiuvuNd1797d93wk1gFkJFWqVLEiRYq4ht3BfS50/7333nPPazkAQNIoaKExzqlTp9x9/dR9PQ5kFAQwojEDgxpSAAAAiCKbN2+2b775xgUQ6tata+XKlbMnnnjCihYtavPnz3fBhMqVK9vDDz9sFSpUcIENZVBMmTLFvX7Hjh02b94869+/v3t9jRo1XCBk2bJlLigikVgHkJGoz0WnTp18gcNff/3Vjhw54n7qvh7X88H9MQAA4fEPUmTPnt06dOjgfoZ6HkjPsqT2BiDlBc59AQAAADK2ggUL2uTJk6169eq+xzJlyuRuBw4ccKWkrrrqqoDXNGjQwIYOHeom/6xYscL3mEdBkGLFirkAhMpBRWIdQEZTv35969Gjh73xxhsugOhR5oUe1/MAgMTzLxOloHDx4sXd79dff717TlkY3nLec0B6RQAjitADAwAAANEoX758dtlllwU89tFHH7nMjMcff9zmzp0b5+Re2RmaLb53716XPaEgiP+sRm8Z7wJCqAsEiV1HUig4cvjw4SS/Hkhu1apVc4E8ZV7s37/f8ufPb5UqVXKZF3x3ASBpevXq5X5mzZrVjXP8/z3VfT1+4sQJt9yLL77IbkaaozGsJhOFgwBGFKIHBgAAAKLZ999/b4899pg1a9bMLr/8cjt69Khly5YtYBnv/vHjx10QIvh5UTBCjbklEutICl2cWL16dZJfD6QkXVTTBYu1a9ey4wHgLHg9Ly6++OKQ4wCVq1QfLi3HOAFpVaixcSgEMKIIPTAAAAAQ7RYuXGiPPvqo1a5d20aNGuULIijI4M+7nzNnTsuRI0ec50WBBz0fqXUkhWZYVqxYMcmvBwAA6U/mzJldcGLJkiV2++23x3l+7NixvuUuuOCCVNhCIGHr1q2zcBHAiEJkYAAAACAavf76666UjZprjxgxwjfrq0SJErZz586AZXU/V65cljdvXlcaat++fS4A4T9TTMuoh0Wk1pEUSr3XewAAgOjxzDPPuD4XysRUPy//MpYqTanHveUYJyAtCrd8lBDAiEIEMAAAABBtZsyYYUOGDLFbb73V+vXrF3DSpDILS5cuDVh+8eLFLktDdfrr1Kljp0+fdo24GzZs6J7fuHGj62tRr169iK0DAAAgHP4BCwUyNDmiVatWNn/+/ICMTxp4IyOISe0NQMqhhBQAAACikQIFw4YNs6uvvtruvvtu2717t+3atcvd/v77bxfU+Omnn1xJqfXr19u0adPsv//9r3Xt2tW9XhkSLVq0sP79+7tSDVpWFwvq169vtWrVcstEYh0AAACJmZzhUdBi9uzZAcEL/+eB9IwMjChMvSADAwAAANHko48+cqUUPvnkE3fzd+ONN9rTTz9tEyZMcGUWXnnlFStVqpT73cuUEGVvKAjywAMPuPtNmjRxwQjP+eeff9brAAAASAwFKVQyqlevXq4nhnpeaPxB5gUykkyxsbFcz04BP//8s/tZvXp1S2m//rbSRm9fbflPnbb9mWOseaFSdsOFTVJ8O5ByDh8+bKtXr3aNmqh1GD047tGHYx6dOO7RJ7WPeWqOY5Ewjg0AAAAy+jiWElLRWEIqlbcDAAAAAAAAAIAzIYARhUi6AQAAAAAAAACkdfTAiCJkYAAAAAAAAAAZx9GjR238+PG2a9cuK1KkiOu1lSNHjtTeLCDjZGCcPn3axo4da40bN7ZatWpZt27dbMuWLfEuv3fvXuvZs6fVq1fP6tevb4MGDbIjR44ELPPhhx9a8+bNrUaNGta6dWv77rvvEr2OZs2aWeXKlQNuffv2tfTtn+JRlJACAAAAAAAA0rf+/fvbHXfcYd9//727nqqfuq/HgYwi1TMwJkyYYDNmzLCnn37aihcvbs8884x17drV5s+fb9myZYuzfPfu3V2wYfr06XbgwAHr16+fa2w4YsQI9/zixYutV69e1rt3b7v00kvtnXfesbvuusvmzZtnFSpUCGsd+l1/9C+++KJdeOGFvvdO79FLLwPjNH3bAQAAAAAAgHRLQYoNGzaEfE6P6/mnnnoqxbcLyFAZGMePH7dp06a5gMLll19uVapUsTFjxtj27dvt448/jrP8ypUrbenSpS7QoMBCw4YNbfDgwfbuu+/ajh073DIvvfSSXXXVVXbbbbe5gEWfPn3csq+88krY61i3bp3LDLnoootc6pV3y5s3bwrvIQAAAAAAAAAILBsVX/DCo+e1HJDepWoAY82aNXbo0CEXRPDky5fPqlatasuWLYuz/PLly10gwcukEJWAypQpk61YscIFHZQq5b8+ufjii33rO9M6ZO3atVa4cGHLnz+/ZUSnKSIFAAAAAAAApEvqeRHJ5YC0LFUDGMq0kBIlSgQ8XrRoUd9z/pQhEbysykwVKFDAtm3b5spBqfyTSlHFt74zrcMLYOTKlctlhjRq1MhatWrlyk0pQJKe0cQbAAAAAAAASN80gTuSywFpWar2wPAaZwf3usiePbvt378/5PKh+mJo+WPHjvnSokKtT8+Hsw757bffXDDkmmuusfvvv99lZqg3h7apR48eSf68sbGxLsCS0k4c/+dzeYkXJ06eTJXtQMr/bQU3p0fGxnGPPhzz6MRxjz6pfcw1hlW2MgAAAABEVQDDa4qtXhj+DbIVSMiZM2fI5bVsMC2vjAkFIbz1BT/vre9M6/D6aOi+1/OicuXKdvDgQZs4caI9+OCDFhOTtMSVEydO2OrVqy2l/f33brPMOvlUBklmF5xJje1Aytu0aRO7PQpx3KMPxzw6cdyjT2oe81ATgAAAAAAgQwcwvFJOO3futNKlS/se130FDYKpNNTChQsDHlMwYt++fa5MlMpAKQih1/vT/WLFioW1Du8ELfgkrVKlSi5rQVkYBQsWTNLnzZo1q1WsWNFS2saNJ8z2HLCYTP8EXvLky2sXVL4gxbcDKUczNHWRo2zZsiGDgciYOO7Rh2MenTju0Se1j/m6detS/D0BAAAAINUDGFWqVLE8efLYkiVLfAEMZQesWrXKbrnlljjL16tXz0aNGmWbN2+2MmXKuMeWLl3qftapU8eltteuXds91q5dO9/rtP66deuGtQ6lyF999dXWunVre+CBB3zr+Pnnn13z76QGL0Tb52V5pKSs2f7JTPEy/2NiMqfKdiDl6SIHxzr6cNyjD8c8OnHco09qHXPKRwEAAACIygCGshwUqFBAoVChQlayZEnXa0JZEs2aNbNTp07Znj17XCknlX6qWbOmC1A8/PDDNnDgQJcRMWDAABds8DIsunTpYnfddZdVrVrVmjRpYrNnz3blkoYOHeqeD2cdCmBMnTrVypcvb9WqVbPvvvvOpkyZYv369bOM4N9WGAAAAAAAAAAApFmpGsCQ7t2728mTJ61///6uCbcyJBQ8ULmlP/74w5o2bWrDhw+3Nm3auNlf48ePt0GDBlnnzp1dz4trr73WHnvsMd/6GjVqZMOGDbMJEybYmDFjXMmmSZMmWYUKFdzz4ayjZ8+eLjPk2Wefte3bt1upUqVc8KJ9+/aWnmX6N3IRSwgDAAAAAAAAAJDGpXoAI3PmzNarVy93C6bAwdq1awMeO+ecc2zs2LEJrlPZFLrF50zryJIli91///3ulhGRgQEAAAAAAAAASOv+6eqMqPBvCwzX5wMAAAAAAABA+hNujzJ6mSEjIIARhQhfAAAAAAAAAOnTiBEjIrockJYRwIjGDAxCGAAAAAAAAEC6pLL7kVwOSMsIYEQhMjAAAAAAAACA9On06dNWpEiRBJfR81oOSO8IYERhBsZpemAAAAAAAFLI0aNHbdSoUdanTx/3U/cBAEm3Zs0a27Vrlw0aNMjatm0b8JzuDxw40D2v5YD0LktqbwBSHhkYAAAAAICU0L9/f9uwYYPv/pYtW+yOO+6w8uXL21NPPcVBAIAk2Ldvn/v55JNPxnlu9uzZ7ua/HJCekYERRTL9G7oggAEAAAAASKngRaZMmaxRo0Y2fPhw91P39bieBwAkXoECBeI8VrFixbCWA9IbAhhRKJYSUgAAAACAZKQyUV7wYurUqXbfffdZmTJl3E/d94IYlJMCgMTzz6y48847LXv27LZ+/Xr3U/dDLQekVwQworAHBhkYAAAAAIDkNH78ePfz0ksvtRw5cgQ8p/uXXHJJwHIAgMT/GysKCh87dsxNWNZP3Q+1HJBeEcCIQrGEMAAAAAAAyUjNY6VFixYhn7/uuusClgMAAAiFAEYUIQMDAAAAAJASihQp4n4uWLAg5PMffvhhwHIAgKS55557ErwPpHcEMKIQLTAAAAAAAMnpgQcecD+/+eabOH0udP/bb78NWA4AEL6YmP9d0p00aVLAc/73/ZcD0qssqb0BSPkMjNOUkAIAAAAAJCP1uShfvrxr1K2GshdeeKFVrVrVVq1aZf/3f//narXr+eD+GACAM9O/ocEyZcoU5/FQywHpDWG4KMQ/XQAAAACA5PbUU09ZsWLF3AW0X375xWbNmuV+6r4e1/MAgMggWIGMigBGFMn0b+SCf9AAAAAAAMlt6dKltnPnTqtWrZrlz5/fsmfP7n7qvh7X8wCAxAv32h7XAJERUEIqCpGBAQAAAABITqdPn7Y33njD8uXL57IuPMeOHbP9+/e7QIaer1u3LjXaAQBAvMjAiMIeGLGEMAAAAAAAyWjNmjW2a9cuF6xQXXZ/uq/H9byWAwAAiA8BjChEBgYAAAAAIDmpRJTvHDSBprL+ywEAEi9z5swJ3gfSOwIY0ZiBEWadPAAAAAAAkmL58uURXQ4AENqpU6cSvA+kdwQwotDp1N4AAAAAAECGtnfv3oD7FSpUsDZt2rifCS0HAADgjybeUYQeGAAAAACAlLBx40bf7zExMbZ+/Xp38+6ryXfwcgAAAMHIwIhCFJACAAAAAKQUL1gR330AAID4EMCIyh4YqbwhAAAAAAAAAJIke/bsEV0OSMsIYEShWHIwAAAAAADJqECBAhFdDgDwP3ny5InockBaRg+MqPJP6gXJugAAAACA5KSLZvv27QtrOQBA4uTIkcP9PHXqlP3+++/2xx9/2MmTJy1LlixWqlQpK126tGXOnNm3HJCeEcCIwhJS1JACAAAAACQnXUyL5HIAgP/5888/3b+fy5cvtyNHjtgll1xi5513nm3ZssW+/fZb+/HHH61evXrsMmQIlJCKQrTAAAAAAAAAANInBS++/vpru/rqq23t2rX2zTff2MyZM91P3dfjX331FUFiZAhkYERhBsZpQhgAAAAAAABAunP06FGXedGqVSubM2eOKxXlr1KlSu7xNm3a2CeffOKWp5QU0jMyMKIQGRgAAAAAAABA+vP222+7slHPPPNMnOCFR4+PHDnSLffOO++k+DYCkUQAI4pk+jdyERtLCAMAAAAAAABIb+bNm+d6XijTIiGVK1e2hg0b2ty5c1Ns24DkQAAjChG+AAAAAAAAANKfffv2uYbd4dByWh5IzwhgRGEPDAIYAAAAAAAAQPpToECBsJtzazktD6RnBDCi0P+3dx/gTZVdHMBPCrTsociQIQgClj1lyhSRJcsPGbIRUcHB3kuG7CEgGxQRZMsUUJayQUC27L336L7f8z/lxiRNaGgDDe3/9zyhNLm5ubmr977nfc8JYwopIiIiIiIiIiKiF06tWrXkr7/+kmPHjj1xuqNHj8qWLVukdu3az23ZiJ4FBjDiEI7AICIiIiIiIiIienF98MEHkihRIunUqZOEhoY6nQbPd+7cWaerV6/ec19GIk9iACMOMphEioiIiIiIiIiI6IWTMGFCKVq0qCxbtkzq1KkTYSQGRl7gebyO6TA90YssfkwvAD0/HIFBRERERERERET0Ymvfvr0YhiFr166VnDlzSqlSpSRDhgxy4cIFTS+FkRdlypTR6YhedAxgxEEsgUFERERERETPA9KYnD17VgvJhoSESPz48SVjxoySOXNmiRcvHjcCEVEU1K1bVxYuXCjp06fXc+yZM2fk9OnTYrFYpHjx4tZzLKYjetExgBEnR2AYMbwkRERERERxU1hYmHz33Xcyf/58uXfvnqZ26N27t2TKlCmmF43I4xC02LVrlzx69EhKliyp+/m5c+e0qOy+fft0/0ePYSIienpz5syRhg0bStasWfXh7HWi2IA1MOIghi+IiIiIiGLGhAkTtEFhwIABMnfuXA1otGrVSoKCgrhJKNYFL/7880955513NB87Uppgn8dP/I7nN2/erNMREVHU4JrCcZQFfmfwgmITjsCIgyMwwphDioiIiIjouUOQYvr06dKxY0cpV66cPjdq1CjNUb1mzRqpXr06twrFCgEBATryokaNGrJo0aIIqaJy5Mihz6PILPK3Y3oWmSUiihoELJgqimIzjsCIgzgCg4iIiIjo+Tty5Ig8ePBASpQoYX0uefLk4u/vLzt37uQmoVgDKdKQNmrYsGEu61zg+aFDh+p0CxYseO7L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iLwOAxhEREREREREREREROR1GMAgIiIiIiIiIiIiIiKvwwAGERERERERERERERF5HQYwiIiIiIiIiIiIiIjI6zCAQUREREREREREREREXocBDCIiIiIiIiIiIiIi8joMYBARERERERERERERkddhAIOIiIiIiIiIiIiIiLwOAxhEREREREREREREROR1GMAgIiIiIiIiIiIiIiKvwwAGERERERERERERERF5HQYwiIiIiIiIiIiIiIjI6zCAQUREREREREREREREXocBDCIiIiIiIiIiIiIi8joMYBARERERERERERERkddhAIOIiIiIiIiIiIiIiLwOAxhEREREREREREREROR1GMAgIiIiIiIiIiIiIiKvwwAGERERERERERERERF5HQYwiIiIiIiIiIiIiIjI68SP6QUgIiKiGBL8QCTkIVc/EREReb/4iUUSJInppSAiIqLnjAEMIiKiuArBi4ALIkZYTC8JERERkWsWH5GEGRjAICIiioMYwCAiIorLNHhhxPRSEBEREbnGzhZERERxFmtgEBERERERERERERGR12EAg4iIiIiIiIiIiIiIvA4DGERERERERERERERE5HUYwCAiIiIiIiIiIiIiIq/DAAYRERE59dGnAyRniYYuHzdv33Vrzf178rxs+OvvaK3lcVMXSIXa7e2eq9eipz6CgoIjff/Fy9dlxdot1t8xL8zzWcH8Xa23ghWay/Oye99R2bXvSLTn88/hk1K3RU8JC0PR9/8EBgZJzY+6yqIVGyO856cFa6Ri3S8kX9mm0vCTfnLo6Gm7189fuiZtOgyTQhVbSunqn8roSb9IaOh/8z949JRUb9RZX+/Sf6IEh4RYX3v4KEDKvv+5HDtxLkrfB9vB2TJH93jpOuB7t6fHd8A68hSsXxwPISGh8qxs33NI151/6cZy81bE4x/HYpF3Wuk02L7R/RxzHk+7bp+l5u0HRTimsXy2x0S/YTOkRNVPpGDFFtKh93d250p8D9vpo+PWnXtSusanur5sXbl60+m5x9k+72oejnBsjp2yQMrXbq/HdJ1m3SM9r+O7Puk8a/6N+WbkLKevT/7hV309utvedv9x3Lee5bnX2TawXc9bdx2UOs17SP5yzaRK/Q52f6OwfI7TR8eps5f0b4/jPnD42Glp3La/FCjfXP9u/fDLautr5rpy9sC53dGT/h44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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "--------------------------------------------------------------------------------\n", " 📌 Variable 'capital_loss': Media <=50k: 53.4 | Media >50k: 199.6\n" ] }, { "data": { "image/png": "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vPzyy24m8fDhw+3VV191yz/44APr2LGjlS5d2kaOHGl9+vSxZcuW2Z133mm7du1KUF5FQY3WrVu758+TJ4/17NnTHnzwQWvYsKF77hIlStgTTzxhW7dudY/ZvXu3W/+///2vPfXUUzZixAg3i7lt27a2Zs0aPmoAUaV/s+Snn34KuVz/FvrXAwAASCt6XpxB8mbPGe1NAAAAOKNdffXVLmAgl112mcui+PLLL12gYf/+/TZ16lRr166d9erVy61z+eWX244dO2zx4sV23333uUDGlVde6QILHs1CbtKkicvQePzxx919CjooUKHyKqLn7tatm8uk6NChg7tPDW6VmfHbb79ZqVKl7PXXX7e9e/fam2++6QIsojryeu7Ro0fbmDFjTvv+AgBP48aNXUPuWbNmuX+b/KWjFLBVMDhr1qxuPQAAgEgg8wIAAACZRs2aNRPcVtDAKxu1fPlyNwAXPPCm0lITJ060devWuUBG06ZNEyxXTw2VS1m0aFHIEipStGhRd6lSUJ7ChQsHAhvyww8/2IUXXmglS5Z026E/DQRqkPD777+P0B4AgNRRsELB1H379rnm3AsWLHAZY7rUbd2v5cH9MAAAAFKLowoAAABkGirf5KfggNfPQlkPctZZZ4V8rLe8WLFipyzTfcG9KfLnz5/s6wc//4YNG+yiiy4Kufzw4cNJPh4A0pv6/cjcuXNdtpn/31IFdr3lAAAAkUDwAgAAADCzggULuv2gmcQVKlRI0ET7r7/+siJFirjbO3fuPGV/KSPDW55aKiOlRt1e6algOXNSQhRA9ClAcccdd9i8efNcc271uFDGGhkXAAAg0gheAAAAAGZWvXp1y5Ejh33xxRdWt27dwD6ZPHmym2X87bffWvHixW3OnDnWrFmzwPKNGze6klN33313mvajAhezZ8+28847L0HWxuDBg+348eM2cOBAPicAMVVCCgAAID0RvAAAAAD+r1yUAhBTpkxxWQ4KJvz888+ugbayIVQWpXv37tanTx/X4PvWW2+1PXv22Lhx46xQoUKBRtypdc8999iHH37oLjt27OgyORQ0efvtt91rAgAAAEBmQvACAAAA+D+9evVyzbVnzpzpmnSfffbZ9tRTT1nr1q3d8ubNm1u+fPnslVdesc6dO7sMiauuusoFNZSVkRZq1K3XHTFihA0YMMCOHj1q5557rg0Z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v7nqbaHsCl36S0epz8X3338fWA/IdMGLZ599NkXBCwAAAAAAkLFKRSnjQoGL7t27B8pEnX/++e72yJEj3fK6detSQgoAIkzBigoVKrim3GrOrR4XKhWljAsFLuLj491ymnUjUwYvmjdvnv5bAgAAAAAAYpJ6XKhUlGb1Bve30O1bb73VBgwY4NarWrVq1LYTADKqwYMHW79+/VwAQxkY+vMocKHlQKYMXqhTfatWraxkyZKB7vaJUYZG586dI7V9AAAAAAAgytScW1QqKhTvfm89AEDkKUChMlEan1VAWT0uFFQm4wKW2YMXDRo0IHgBAAAAAEAmVLhwYXepHhcqFRVM9/vXAwCkDwUqevbsye5FphBW8EJpn6GuAwAAAACAjK9KlSpuhq+ac/t7Xnj9MD766CO3XOsBAABEQsJClSm0Zs0aW7ZsWWCGBQAAAACE6/3337evvvoqMEnqlltusdq1a9uTTz5px44dY0cCMUTBirZt27oxADXn/uOPP+zw4cPuUrd1v5YH98MAAABI18yLYG+88Ya98sortmvXrsB9pUuXdrMvmjZtmuqNAQAAAJA5TJ482V544QXr0qWLXX311a7R7549e1yvPQU1zjrrLEoiADGmfv361rVrV5s+fbr7zXqUcaH7tRwAACBqwYtp06bZkCFD7LrrrrPrr7/eihYtajt37rQ5c+ZYr169LFu2bHbTTTdFbAMBAAAAZDyzZs2yTp062UMPPWSbNm2y5cuXW//+/a1NmzZWoUIFe/nllwleADFIAYq6deu6bCk151aPC5WKIuMCAABEPXgxdepUa9eunfXr1y/B/bfffrv17dvXNfcmeAEAAAAgKQpYNGjQwF1X6agsWbJYo0aN3G0FL/xZ3gBiiwIVVatWjfZmAACADC7FwYutW7cGTiqCqWTU7NmzI7FdAAAAADIwlYVSBrcXvFDAolSpUu7277//bsWKFYvyFgJIjHrSqCrDtm3brGTJkm6CY86cOdlhAAAgusGLatWq2Q8//GCXX375KctWrFhhlStXjtS2AQAAAMigrrnmGhsxYoQ7t/j666+tW7du7v7XXnvNXnrpJWvevHm0NxFACPrdLl26NHD7119/tfnz51udOnWsR48e7DMAAHB6gxeLFy8OXL/55ptt6NChdvjwYVceSo25VOdSs6XUyHvw4MGR2zoAAAAAGVKfPn1cLz2da7Ru3do6duzo7p85c6Zr4P3YY49FexMBJBK4yJ49uzVp0sQaNmxoX375pc2dO9fdr+UEMAAAwGkNXtx1112uBq0nPj7epYhOnz49wX3StWtXW7lyZcQ2EAAAAEDGkytXLhs0aNAp93/00UduGYDYKxXlBS4mTpwYKBOl4KMypTp16uSWaz1KSAFA+jl06JA999xzrj9Y0aJF7YknnrC8efOyy5F5gxdq0g0AAAAAkbRx40Y30FmxYkXbv3+/jR492v7++2+78cYb7fbbb2dnAzFEExhFGRfBwQnd1u92zpw5bj0vkwoAEFkqs6l+Q57du3e74LH6D40aNYrdjcwZvKhfv376bwkAAACATENlZzt37uyyvDVj8Omnn7Z58+bZBRdc4EpKHT9+3Fq1ahXtzQTwf7zBMpWKCkX3K3jhH1QDAKRf4MJP92s5AQxYZm/YLb/88ostXLjQzZLyykXpUmlLShN9++23I72dAAAAADKQCRMm2JVXXukCGMq6+M9//mP333+/K0OrE29lfxO8AGKHZvWqObd6XKhUVDDd760HAIgsjbl6gYvq1atbixYt7JxzznFZrO+++64bq9VyrUcJKWTq4IX6XKgptxe08MuaNas7AQEAAACApKxatcoFMPLnz+9ma584ccJuuOEGt+yKK66w1157jR0IxJB27drZ/PnzXXNu9bjwl47SxMZPP/00sB4AILLU40IKFChgjz/+uBuDlfPPP9/dfuihh+zAgQNuvYEDB7L7kWH875ueAqpf2aBBA5d5oTqWd9xxhy1fvtzVp1VjvVtvvTV9thQAAABAhqFzh7i4OHf922+/dQ0nq1Sp4m7v3LnTChYsGOUtBOCnYEWdOnXc71b11WfMmGGbN292l7qt+7WcZt0AEHlbt251lxqH9QIXHt1WJoZ/PSDTBi82bdpkbdq0sUKFCtnFF1/sykTlzp3bzZJSmjfNvQEAAAAkp3bt2jZ58mT7+OOP7bPPPrPGjRu7+3/77TcbN26cWw4gtvTo0SMQwFDGVM+ePd2lF7jQcgBA5HmloDSZ/OTJk7ZixQr7/vvv3aVuL1q0KMF6QKYtG5UjRw4XrJDy5cvbhg0bXDM93a+DFdK7AQAAACTnySefdJOfNNhZqVIlV+5AHnjgAcuTJ48bFAUQe/SbVZkoVWVQfXX1uFCpKDIuACD96N/ZESNGuEkejzzyiO3duzewrHDhwoHblO6DZfbgxYUXXmhffPGFXXLJJXbeeee56N7PP/9sdevWJTUJAAAAQFjUZFK183ft2mXFihUL3P/SSy9Z1apVGQgFYphKlJQqVcpdlihR4pQSJgCAyKpVq5ZlyZLF9SBWoKJMmTIuS/Wnn35yJfxEy7UekKmDFx06dHARvv3799uzzz5r1157rWsMozTv2bNnu+wLAAAAAEiOTrL37dtn//nPf1yTySJFirgTcWZwA7FLPS4UeNRERv99TZo0cSWmAQDpQ826NR4rClh4QQv/csAye/Diuuuus5dfftnWrFnjbg8aNMiljc6cOdOqVatm/fv3T4/tBAAAAJCBaObg008/bbNmzXLX/QGNZs2auYlSAGKLghTqcaEemK1atQrM+tXvWPcLAQwAiLxVq1YFAhfZs2d3vYY83m0t13rKYAUybfBCGjZs6P5Es6PUaA8AAAAAwjVx4kR79913rUuXLnbrrbda8eLFbfv27fbhhx/ahAkT7IILLrB77rmHHQrECA2MKeNCgYuxY8e6wTJp1KiRNWjQwB599FG3/I477ggsAwBExu7du91lzZo17cYbb7Rhw4YFlqlP2CeffOLK+nvrARlFqo4oDh06ZO+//74tWbLERfXOOussu/TSS+2WW24hxRsAAABAst555x3r1KlToFG3nH322da5c2c7fvy4vf322wQvgBgyb948VypKGRfBwQndbtmypU2aNMmtpxJSAIDI8bIuli9f7v78/IEMbz0g0wYvNm7caO3bt3d11dRkr2jRorZ+/XrX72Lq1Kk2ZcoUl40BAAAAAInZsmWLmwAVyiWXXEJ2NxBjlBklKhV17NgxmzZtmm3bts1Klixp7dq1CzSJ9dYDAEROwYIFI7oekGGDF4rmqQ7tBx98YFWqVAncr9QkpYkOHTrUnn/++UhvJwAAAIAMpGzZsvb777/bZZdddsoy1WtWdjeA2FGiRInAmMBff/0VuP/XX3+1+fPnW7ly5RKsBwCInJ07d0Z0PeBMkTWlD/j+++9dg25/4EJq1Khh3bt3t88//zyS2wcAAAAgA2ratKmrm68azV7Dbl2qZv64ceMoOwPEmMaNG7tLBS40oVENYa+44gp3qdteQMNbDwAQOSqnGcn1gAybeZE3b17LkSNHyGWaHZUtW7ZIbBcAAACADOy+++5zPfS6detmvXr1cqVn9+zZYydOnLD69etb165do72JAHzU78KjQOOKFSuSXQ8AEHkXXXSR1atXz/UdVhm/xYsX23//+192NTKkFAcv2rZta6NHj3aZFv500H/++cdeeeUVa926daS3EQAAAEAGoxPu1157zb766itbtGiRazBZqFAhdzJ+9dVXR3vzAARRj4tw1+vYsSP7DwDSiXoLqeewp3jx4uxrZO7gxd13353g9rp16+z66693jbqKFStm+/bts6VLl7oZFmXKlEmvbQUAAACQwShQQbACiH1btmxJcDtXrlxWoUIFW7t2rR09ejTR9QAAkfXAAw+4y71791rhwoXd9cGDB7ObkXmDF14NWo+CFhIXF2dbt25111XnUrZt25aiDVDAQzVtZ82aZQcOHHAzrfr372/nnHNOyPWVSq4f5Ndff+3qat588832+OOPW548edxypZm/9NJL9v7779uuXbusUqVK1qVLF2vYsGGKtgsAAABAZAVPikqKjvVff/11PgIgRuh83aNzeJWN9uzevdseeeSRU9YDAESG/s3Vv7X+QEWtWrVs2bJlp6wHZLrgxRtvvJFuGzB+/HibMWOGDRs2zEqVKmUvvPCCderUyWbPnu1SyYMpEHH48GGXHqXU8r59+9qhQ4fsueeec8tV0kqBkKFDh1rFihVtzpw59vDDD7uGNRdffHG6vQ8AAAAAKZsUFal1AaS/v//+O3A9f/78CZb5b/vXAwBExrPPPmsPPvhggvuCAxfeekCm7nnhWbNmjatNq1kVaq5Xp04dlzKaEmoqM3nyZOvZs2cgM2LUqFF21VVX2bx586xp06an/Cj1mnPnznWBCRk0aJALdnTv3t1Klixpx48fdwEN7/keeugh9xo//vgjwQsAAAAgilI7KeqDDz6wa665xvXEABAdqnLg0Tn4jTfe6M67v/zyS/v0009DrgcAiIyCBQta3rx53QTuxGi51gMydfBCM6Cefvppl93gnw2ltO5mzZqlKMK3atUqO3jwoF122WWB+/QjUwmqxYsXnxK8WLJkiWtC4wUupH79+u611XOjSZMm9sQTTwSWHTlyxG2nMjUuueSSlL5VAAAAAFGmgdA+ffrYO++8Q/ACiCL/oJlKSKvKgf5CrQcAiLyJEye64HGoAIb+7dVyIKPJmtIH6Ifw7rvvuvJNCxYssF9++cXm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KpY/f/7IbiEAAAAAAIgqnftL7dq1XWmonj17Jlheq1atBOsBAACc9uCFZlr079/f3n33XYuPj3c9Lm666SYbP368/fXXXzZt2jTKSgEAAAAAkIGUKFHCXf7000/WqFGjU5YvW7YswXoAAABplTWlD1CQQk27Bw8e7DIvFMCQXr16ucDGqFGj0rxRAAAAAAAgdjRu3Nj1tVCDbvW18NPtd955xy3XegAAAFEJXijjokuXLtaiRQsrXLhw4P4LL7zQ3a+ABgAAAAAAyDjUhFu9LPbt22ePPvqoLViwwHbv3u0udVv3aznNugEAQNTKRu3cudMFKkIpWbKk7d+/PxLbBQAAAAAAYkibNm3c5Zw5c1xzbr+mTZsGlgMAAEQl86J8+fL21VdfhVy2aNEitxwAAAAAAGRMKg+V1G0AAICoZF60b9/eNew+fvy4XXPNNa5h94YNG2zhwoU2efJk6927d0Q2DAAAAAAAxI4ZM2a4rItChQpZq1atrHbt2q6Bt/pg6H4h+wIAAEQteKEDFNW1nDBhgr355puuYXf37t0tR44c1qlTJ/vXv/4VsY0DAAAAAADRp6bcc+fOdYGLsWPHBnpbNGrUyBo0aOD6Xmj5HXfcQd8LAAAQneCFPPDAA9a2bVtbtmyZ7d271woWLGg1atRI0MAbAAAAAABkDPPmzbOTJ0+6CY0KZLz44ou2Y8cOK168uD3yyCPWsmVL1wdD66lxNwAAQFSCFzpgOXbsmF100UVWpEgRVzoKAAAAAABkTNu3b3eXCk5MnDgxcP/GjRutY8eOVq5cuQTrAQAAnNbghWpYzpw5037++Wc300Jy587t6lyqXNR1112X5g0CAAAAAACxpUSJEu7yr7/+chMYr7jiCrv55pvt448/tu+++87d718PAADgtAQvTpw4YT169LBPP/3USpYs6Q5QihUr5vpdbN261RYtWuTqW9522202bNiwNG8UAAAAAACIHeprMW3aNHf9lVdesfz587vrDz/8sN199912//33B9YDAAA4bcGLGTNmuNTQvn37Wrt27U4pE6XghjIynn32Watbt66rdQkAAAAAADKGl19+OXC9V69e7ry/Vq1arhfmO++8k2C9nj17RmkrAQBApgtefPDBB9a6dWu76667Qi7Pli2ba+C9evVqe//99wleAAAAAACQgag5t1x11VWuTJSac3uyZs3q7v/mm28C6wEAAKRV1nBWWrduXVipnzpY+eOPP9K8UQAAAACQGipnEzzpauXKlS6DvGbNmtaoUSObOnVqguUnT560MWPGuPMZrXPfffe5JsQpeQ4goytevLi7VPnoKVOmuN9D48aN3aVu63fkXw8AAOC0BC8OHz5shQoVSna9IkWK2MGDB9O8UQAAAACQUtOnT7cXX3wxwX179uyxDh06WLly5ezdd9+1zp072/Dhw911z/jx412p3GeeecaVw9UgbKdOnezYsWNhPweQ0T3yyCPuUlkXcXFx1qRJE7vnnnvcpW5///33CdYDAAA4LWWjNLNCpaGSo1RRrQsAAAAAp8u2bdvs6aeftoULF9q5556bYNnbb79tOXLksEGDBln27NmtYsWKtmHDBnv11VetRYsWLkAxefJkV6O/YcOG7jGjRo1yWRjq+9e0adNknwPIDHLnzm0VKlSwtWvX2r333muXX3653XTTTfbJJ5+4wIXGArRc6wEAAJy2zAsAAAAAiFX//e9/XXDho48+sho1aiRYtmTJEqtfv74LOnguvfRSW79+ve3cudNWrVrlsscvu+yywPKCBQta1apVbfHixWE9B5BZDB482AUoFKhQBka/fv3cpRe40HIAAIDTmnkhAwYMsPz58ye5zj///BOJbQIAAACAsKkHhf5C2bp1q11wwQUJ7itRooS73LJli1supUuXPmUdb1lyz1GsWDE+LWQaClAcOXLExo0b55pzq8eFSkWRcQEAAKISvKhXr567TK4kVL58+axu3bqR2TIAAAAASCMNsubMmTPBfbly5XKXR48edf39JNQ6+/btC+s5UkvnV4cOHUr144FoevjhhwPX1SeG7zIAAEjJcXCWLFkiE7x44403wn5hAAAAAIgVmg3uNd72eAGHvHnzBmaLax3/zHGtkydPnrCeI7WOHz9uK1euTPXjAQAAgDNV8OSgNJWNAgAAAIAzTalSpWz79u0J7vNulyxZ0uLi4gL3lStXLsE6lStXDus5Ukt9OipVqpTqxwMAAABnotWrV4e1HsELAAAAABmWSuDOnDnTTpw4YdmyZXP3/fjjj3beeedZ0aJFrUCBAq6338KFCwPBi/3799uKFSusXbt2YT1HailVPi2ZGwAAAMCZKJySUZI13bcEAAAAAKKkRYsW9s8//1jfvn3dDK/33nvPpkyZYg88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nj2tVatWgelVq1a1G264we644w4bMGBAnOAMAODCIG0UAKTyfK8TJkywW265xa6++mq76aabbNy4cYE8sFOnTrXGjRu7Cw/Nv/322+3jjz8OPF/DozVMeunSpe5HvJZp2LChffLJJyGHUi9atMhatGjhpuveGz4eHR1tY8eOtQYNGrh16PXUe+uHH344r+/36NGj9sorr7geVGXLlrW6deu6142JiQks8++//9pDDz1k1157rRsefvfdd9vXX38dmH/kyBHr27ev1axZ08qUKePWpX0GAAAAIHFJubYoXbq0W+7666+3KlWq2OrVq908/d6+8cYb3fN0nTB//nx3jaHrC8+qVausffv2VrFiRXd79NFHbf369YFrEj1fFJQ4VTpaXR8UK1bMWrZsmWDeZZddZl27drUKFSokWjvjxx9/tLZt21rlypXd9YJea9SoUXGuOT744AO77bbb3PtRUOTJJ5+0rVu3Bub/8ccf7vWvueYa91oKovz6668cXgBSHYIXAJCKvfjii+6mH9Rjxoyxpk2buiHS+sH+zjvvWJ8+faxOnTr22muvuenqQaUf1lu2bImzHl0k6GJAvY8uv/xye+yxx+I0+Huuuuoqt07R/TPPPOP+r3VreLkCBRqe3b9/f9uzZ4917tzZDh8+fF7eqy4uFJTQ+u+88073fhV4eOmllwLboQsKvRe9pvaLtklDxB9++GH7559/3DLKk/vNN99Y9+7dAxdRWnb69OnnZTsBAACAlCap1xbq1DR+/Hg3skFBhqJFi7prDC2vDlf6fa4ORrreCPb333+7oIbqUaguhZ6vwEWzZs3cNKWy9UZK6Ld9YqMmtm/fbitWrLBatWqZz+cLucy9997rghOh5uu5CjToGmL48OH26quvWqVKldzreYGan376ydUAVEcqb4SHOm098cQTbv6BAwesXbt2ljNnThf00Hp0faLX3L9//zl8CgBw8SFtFACkUiqc/dZbb1nz5s1d7yG57rrr3A929RZSbyP9QFYOW0+hQoVcbyn94L711lsD0zWCQj2bRAXtNApDIxw0rDqYct1qvaJ77//KP/v444/HKeSXIUMG69ixo8stez6GnCvg8P3339uwYcMC264eXZGRkTZixAg3EkQXGWvXrnXv2dt29YbSxYYK/MnixYvd87x1aIRGpkyZLFeuXOe8jQAAAEBKpEBC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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "--------------------------------------------------------------------------------\n", " 📌 Variable 'hours_per_week': Media <=50k: 38.8 | Media >50k: 45.5\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjAAAAI9CAYAAACUtjEzAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3QeUU1X39/FN770JSBUBsYKgoIhgF0ERrGADsYKodBsCivSiICIi8iAgggVFsTyI2AtYKEoREKX33su863ee9+Z/EzLDtGQyme9nraxMbm6Sm5ubzLlnn7N3toSEhAQDAAAAAAAAAACIIdkzegMAAAAAAAAAAABCEcAAAAAAAAAAAAAxhwAGAAAAAAAAAACIOQQwAAAAAAAAAABAzCGAAQAAAAAAAAAAYg4BDAAAAAAAAAAAEHMIYAAAAAAAAAAAgJhDAAMAAAAAAAAAAMQcAhgAAAAAAAAAACDmEMAAAADIBN577z2rUaNG2EvNmjXtnHPOsUaNGtm9995rH3/8sSUkJER0e+68887A62vbPD179gwsHzlypMWTDRs2WNeuXe2iiy6ys846yy6++GLr0KGDu2///v1uud732WefbV999VVUt81/PKxdu9ai7bLLLgu8/k8//RT11wc8Ov793wcAAABkbjkzegMAAACQNgpWHDp0yDZt2uQu3377rf3222/29NNPs2vT0UMPPWRLliwJ3N66dautWbPG/T1p0iTbtm2b5c6d20aNGmWXXnop+x4AAAAA0ogABgAAQCZTsGBBu/322wO3jx8/bnv37rW5c+e6AIa8+eab1qJFCzdTIJrUcV+yZEn39/nnn2/xYteuXUHBiyZNmlilSpXcRfv+9ddfd8GLl19+2c2EAQAAAACkHQEMAACATKZIkSIulVGo7du321VXXWV79uxxt2fPnh31AMa1117rLvFGQQo/zbLImfP/mtKkTQIAAACA9EcNDAAAgDhRvHhxq1KlSlBAw2/z5s3Wp08fu/LKK12dhlq1ark6Dg8++KBLORXOl19+aa1bt7batWvbBRdcYN27d3fPk5iT1cBYt26dDRw40AU5zjvvPKtbt657/rffftuOHj0a9jn//fdf69Kli9WvX9/OPfdcN/tEabLmz58feC29rkev6y1/6623bMyYMYHHtmnTJrDeokWL7JFHHrGGDRvamWee6YI9l19+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WWfZpZdeat26dbO//vrrhMfceeeddtlll6X4tQ4fPmybNm066Xrvvfee246ffvop7O1o0GvpNfXa4Xz11Vfu/scff9xiQehnWLNmTatdu7Y1b97cXn75ZTt48KDFAm2bjrn0Wi+9X1f+/PNPu/jii23v3r2B412PD2f16tV20UUX2dlnn23fffddqr9T4R4Tenn44YcD6z/11FPWv3//VO4NAACQFagtM378eGvZsqWdf/75dt5559lNN91kb7/9th0/fjxVz6lzALWNMlJibS1t23PPPWe7du0Ku34kaX+uXbvWMsLEiROtbdu2J7RR9b4bNWrk9o3aqw8++GCgvZpVJHUOsHPnTjv33HPtyiuvtP3792fotqTWtm3bbOTIke6cT+d+derUsTvuuMM++eSTqLx+JIwePdo6duyY0ZsBxLWcGb0BAJBaTzzxhBUrVsz9feDAAfv333/t3Xfftc8++8xee+01u/DCCwPrqvGrdVJi3bp11q5dO3vggQfcSVRS6tWrZ4MGDbLTTjvNMopeW9ugRmA4b731lpUqVcqeffZZixVVq1Z1n40kJCTY7t27bf78+fbSSy/ZF198YZMmTbL8+fNn6DZqn1asWNFilU4+9ZnqWC1YsGCS6yoYp/V0kqx9rKBHar9T4R4TqmzZsoG/O3ToYE2bNrUbb7zRBasAAAD8Vq1aZQ899JBrg6tzs1WrVm4w0ezZs61Xr142b948Gzx4sGXLli1FO+7JJ5+0fPnyxcTO9rebDh06ZCtWrHDBmUWLFrm2eo4cOdx9t956qzVo0CCigaJ77rnHDVZ55JFHLJo2b95sL774or3xxhuBZUuWLLHWrVtb8eLF7ZZbbrEyZcrY1q1b7cMPP3Rt16effjrDg1CxcO7x/vvvu++EBgVl9DlSavz222/ueNu3b587J9BnvmfPHvvoo4/ssccec8dB586dLbO5++677fLLL3cDBvWdApD+CGAAyLSuuOIKO/XUU4OWqWGrkx01gHSyU6BAAbc8tKM2OTQiSSOBkqNChQrukpFKlixpN9xwQ9j7duzYYWvWrLHnn3/eihYtarEi3Dbfdddd7kROJ6pqwPfu3dsyUmL7NFboxO6ff/5xJwBJ0Yite++91zZs2GBDhgxxjey0fKeSekw45cqVs+uuu86dcP3nP/9J9vsDAADxT535mrmp9so777wT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v+5eW/sfQDpKAIBMpkePHgnVq1dPWLNmTaLr3HbbbQlnnXVW4PYdd9yR0KRJk8Dtc845J6FPnz5Bjxk+fHhCy5YtE/bu3etu//jjj+513n333cA6L730klv26quvBj1W62i5HuO/feuttyYcOXIksN7IkSPd8i+++CLs4xJ7vrlz57rbr7zyStB6Xbp0STjzzDMTdu3adcL2fvXVV+72888/H/SYWbNmueUDBw4Mep+tWrVKOHr0aGA9vUct//bbbxPdz4sXL3brjB07NrDs0KFDCXXq1Eno1atXQlL0OH0uiVm9erVb55lnngnazrfeeitovW+++cYtnzBhQorej7ZZt7dt2xZYZ/v27QlXXXVVwsSJE4O2U8ecaF0dVw8//HDC8ePHTzguvPU2b96cUKNGjYQhQ4YEbevKlSvdes8991yKni8xbdq0SWjatOkJy7VfvX2na23Ltddem3Dw4MF0+055j0nq8ueff57wPN7n8O+//yb53gAAQNag9pDaBo8//niyH3P48GHX3gx9zJ49e1x75YEHHggs0zmA1+ZMyePCadas2QltL7W3zj//fNcGTkxS7Sadl/z+++9h1/c88cQTCbVq1UpYsWJFYNnGjRsTzjvvvKA23ODBg93t//73v0HP17t3b7dc5xSi9XVbbc7Q84+vv/466LFTp04Nes5nn302oXbt2kFt16VLl7o29CeffJLoPlA7VOct2pZQOl9S+7hmzZpB++ayyy5LGD16dNC+VRtS64W2s5ctW+aev1+/fkHvUftow4YNgfW+++47t9x7vPZ9uHMM7QctHz9+fNDzqU3tf+/JffzOnTsTzj777IR777036Bxl2rRpQZ+N/xxA5ybnnntuwk033RS0D7QtWq7zHY/3XnUeErptw4YNS/RzSe75iL4j4b47er169eq5xydmwYIFQfs8uVJzfuW9lv9Y1Ptq165dQvfu3d3tY8eOJVx++eXu/Mb/Wezbty/hyiuvTLjhhhvc7a1bt7rnGjduXNBr9uzZM+Huu+8+YXs//vhjt/4PP/yQovcJ4ORIIQUgLmmWRFIzHDRFddasWW6UhUZCeaMrNMU4tEhxOIlNfQ2lUR/+kTTeCPiUplbS+prxoFE9ofmANSMh3DZ7qZA0ssTv2muvdaNjQqc0a5aGf4STZiaIRsskRqPFNDLKPzVZI1w0MkgjqNL6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zevc956/d+/edsMNN7gc7poJrBnA6qTzih8OHz7cFalVh3b9+vXdOgooqBB0u3bt7KOPPrJevXrZNddcY/fcc4+bwj9mzBi7/fbb3ePUJlXbUtP4u3btavfff7/rCNeIuO7du7v71SGox2ogzhNPPGFnnnmmS2Wkem+tW7d2g3N69Ojh6i/oOe+66y4XVKlatWrY95jWfafHa3tXrVqV5gJ7sUizLBTA6Nevn914440ucKTPQn97OnXq5PaBziv0WWtwlAJQmikOZFVKF6X81JqNpN8x3dZvFwAgejRLVG011f197LHH3MAYBS2KFi3qbt93333uflKmIp5lygCGTkTVeHrllVfsoYcesjvvvDNNzxeNAnsa0aYOB426S0sxQMQPjgn4rdm/02zJP5Y32/+m5leuUsUq5C/KTsrC+I1AVjkmdMKlWQc6KfOnCU0vmjmgWRJ6frn00ktd0MD7e968eW62g2Y5KG3QW2+9ZW3atHEBBG8dBSl+//1314mvQIRmXCio4dEMj+bNm7tgg4IWaltqJsMDDzxgt912m1tHneJdunRxwQivQG7JkiVdMOOvv/6ySpUq2dtvv+1GN0+ePNnNAhDNVNZzK9gxYsSIE9rE3gltWmdIKIik9Enefkptgb1YEK5g+znnnOP2b2J0jOgY0AXIyi688EKXTk00c23fvn2B+woUKBC0HgAg8tTnqTag2nwKWGgmhkcDY7yBLGntGwViWaYLYGhEm046NfpN1+kxAiSaBfbU4UAxP3BM4ITfhv8/AyNwO29efivA/w1kibaEcqrrog5krz5BelI7Txcvd3vt2rWDXkejipUqSssWLVrkRuFfffXVQes888wz7nrlypW2detWa9asWdD9qqWg51UwRMu91zr//PMD62nUv5x33nmBZd4MYnUQapk6Dc844wyXbspLD6VgSKNGjVy9uND946WN8oI0qeVts46tcEGkzJw+CkDKFClSJPC3F7zQLCYV8/YHM/zrAQAiR21Tj4IXGgBzyy232LRp01y7NNx6QLzJdAEMTff+73//66b9X3fddRm9OQAAAMhEQmevqOPeCxZopoUklprUu18njqG0TGlW/MJN5U9q9oye/59//nEppRKbhRNPs28AxJ5wv28KXiRnPQBA+itcuHCgzaoZvgpaqBabx1vurQfEo5gOYGhUmaKLykus0WDvvfeezZo1ywUxNFV/y5YtgXW9dQAAAIDU8E781P7015tQiqt///3XihUr5m77R7t51C717k8ttWfVxlVbN97qUADIHJTOTpROLlx9HW+5tx4AIDpOP/10e/TRR10tNhXsVruxb9++Lr2U6mIA8ex/89tj1IYNG1yOYQUtRGmjZNCgQW65/+KtAwAAAKSG6iQoZdOXX34ZtHz8+PHWuXNnd+KoVFBem9SzZs0aVyOjTp06adrxCl78/fffLiXV2WefHbh88MEH9s4770QkxRYA+KlTTBSkUG0cpcxT9gNd67YX1PDWAwBElmq0ybJly2zcuHHWsWNHNwND17rtBS+89YB4lDOWC+6deuqp7gvqP3kEAAAAIkGpo1Rke8KECW62gwIKCxYscIW9NStCU/QVyFAdNhXkvv76623Hjh02atQolw++bdu2aXp91XZTsELX7dq1czM6NEhHOY69wuMAEI2ZaPr92bVrlwvYekFb/QZquX73SFUCANFRtGhRd33rrbfanDlzrHfv3oH7NLDGq4fhrQfEo5gKYAAAAAAZqVu3bq5g7dSpU92oNg2oURHv2267zd3fsmVLK1CggL366qvWoUMHV+fikksucYENr1B3apUpU8a9rkY76+RUI50rV65s/fr1s5tuuimd3iEAnFzp0qXdb9GUKVNs06ZN7vepdevWbtChAhgAgOioWbOma2P+9ddf7ndZMy5UN00Bi+rVq7sUUrpf6wHxigAGAAAA4pZGqnn8M3sTmwGcLVs2u/fee90lMVdffbW7JEZBDl38LrzwwhNeP3S2sVSsWNFefPHFJN4RAEQnVcmDDz5ohw8fdrcXLVpkX3/9deA2qUoAIDo0+61NmzaufahghWYA165d26Uw1e3ffvvN1cbQekC8IoABAAAAAACSnYKEVCUAED1Ka6ogxeTJk09IIaXluh+IZwQwAAAAAACAS0eiUbyFChVyo31XrFgRSFVSrVo111GmAt5aDwAQPQpS1K1b15YuXRr4XVbaKGZeICtgfhEAAAAAAHC51Y8fP+4KeL/00kuWM2dOl6pE17qt5bpf6wEAokvBilq1atlFF13krgleIKtgBgYAAAAAAHCjeuXhhx+26dOnn5CqRMtHjx4dWA8AACDSCGAAAAAAAIBAbYsyZcrY8OHDT0hVopRSQg0MAAAQLaSQAgAAAAAALkihmRYffPCB2xv+VCXy4Ycfuvu1HgAAQDQQwAAAAAAAAC6feps2bey3336zYcOGuVoXBw4ccNe6reW6n7zrAAAgWkghBQAAAAAAnAsuuMAeffRRmzx58gk1MLRc9wMAAEQLAQwAAAAAABCgIEWdOnXs888/t82bN1vp0qXtqquuspw56UIAAADRResDAAAAMWn7wX229+ihqL9uwZx5rHjeAlF/XQCIFT///LObgbFly5bAss8++8ylj2IGBgAAiCYCGAAAAIjJ4EWvXz6yI8ePRf21c2XPYX3Pb5YhQYxNmzZZo0aNTljev39/a9mypft7yZIl1q9fP1u8eLEVLVrU7rnnHnfx1KhRI2h9AEhp8OLFF1+02rVrW8eOHa1ChQq2Zs0aV9hby0kjBQAAookABgAAAGKOZl4oeHFRmapWJFe+qL3uriMH7PtNq9zrF7foBzCWLl1qefLksdmzZ1u2bNkCywsVKuSud+zYYW3btrXLLrvMevXqZfPnz7cBAwa4+1u1ahX17QUQX44fP+5mXih40blz50Cx7tNPP93dViFv3V+3bl0KeQMAgKgggAEAAICYpeBFZk3npI7AuXPnus6+5557zsqVK3fSxyxfvtwqV67s8s2HM23aNMuVK5f17dvXBTjKly9v69evt7FjxxLAAJAuQVSljdLMCy944dHt66+/3hX21nq1atVijwMAgIgjgAEAAACko+3bt9s777xjU6dOdTMmmjdvbvv27XOpnRLzxRdf2KmnnmrLli2z0047LdH1NONC+edVSPfYsf+l17rwwgvttddes61bt1rJkiWD1ldH5J133mlly5a1V155xfLmzZuO7xRAvNm5c6e7VtqocLzl3noAAACRRgADAAAASAcLFy50sy1mzZrlghD33XefC14ULFjQBRu+/fbbRB9bvHjxwAyMYsWKuUK5f//9t1WqVMkeeuihQF2MjRs3WvXq1YMe683W2LBhQ1AAQ4EU1cbQLI3Ro0e71FQAkBTV1RHVvChRooR1797dDh486IKfgwYNcoFS/3oAgOjR7/GoUaPcAJVSpUq52XIMTkFWQAADAAAASKN169bZzTffbFWrVrWJEye6/PF+OXLkcCeaSTl69KitWrXKqlWrZj179nSBj48//tjuv/9+e+ONN6xBgwbuxDV37txBj/MCE4cOHQos0+hoBS+Uturll18+4TEAEE7NmjXdb5XSRCUkJASW79+/33WUKXWd7td6AIDoefrpp1070aNAc7t27Vzb8/nnn+ejQFwjgAEAAACkkUYq6yTyvffecyOWb7nlFleTwptZoToV1113XaKPV6BCwYaffvrJBTu80XRnnXWW/fXXX/b666+7AIaWHz58OOixXuAif/78gWXDhw+3I0eOuMcTvACQXKpzsW3btkDwokCBAnbrrbfa22+/7VLhabnuD62PAQCIfPBCQeSLL77YtSnVdvzuu+/cct1PEAPxjAAGAAAAkEYKLPTo0cMeffRRmzlzpk2ZMsVeeuklu+qqq+z222+38847z2bMmJHo4700UOosDHX66acH0k+dcsoptnnz5qD7vdtlypQJLLvoootcAOWRRx6xpk2bWsOGDfmMAZyUUs8dP37c/a10dqrjM378+KDbul/reQFaAEDkaPatF7xQzbPVq1e7mb+NGzd2s22VslT3e+n+gHhEAAMAAABIJzpxVCopXX799VdXE0Mnl5999pmrZ5EUzbTQSGcV21Zhbs/ixYtdWimpV6+eKw7uFfAWzdqoUqWKmwXiufrqq13wRMGLZ555xgVVlJIKAJKiGWTejC7NBvPTbS1XOimtN27cOHYmAESYal5IjRo17IknnnD1LzxK6aflS5cudet17dqVzwNxiXmfAAAAQATUqVPHhg4danPnzg0KLiRGhb+Vx7hv3742f/58W7lypfXv399+//13V8hbNKti79699tRTT9mKFSvsww8/dDU3HnjggbDPqfWU9kXFdwHgZDSCVxSkqFixovXp08fNwNC1bmu5fz0AQGR5AQsFKSpUqBD0u6zbWu5fD4hHzMAAAABAzNp15ECmf72SJUsmaz3llB8zZowLejz22GO2e/duq1WrlivgXb16dbeOAiEa9dyvXz+76aab3HNrtN2NN96Y6GtrpLQCGddee62rowEASc0iU5BCsy06d+4cqHWhVHa6fffdd7sZYKQpAYDo0CwLFexWGr9wv8tKF6r0floPiFcEMAAAABBzCubMY7my57DvN62K+mvrdfX6GUEBB826SMo555zjCuqqEzFcvuNly5YF3VagQxcAOJl27dq5NCT6fdm6daubDaY6O6rTU7du3UD6Oq0HAIi8yy+/3KUlVZDi8OHDQe0+3dZybz0gXhHAAAAAQMwpnreA9T2/me09eijqr63ghV4fALIyzQTzmzRpUoZtCwBkVQcO/N/s4HvvvdcuuugiN6v2k08+se+//z7sekC8IYABAACAmKQgQnEjkAAA0VK0aNF0XQ8AkDbe72358uVt3bp19t1337mLx1vO7zLiGUW8AQAAAACAVatWze2FnDlz2pAhQyxPnjyWLVs2d63bWu5fDwAQWTVr1nT1LcqUKePqoNWpU8cV79a1bmu57td6QLwigAEAAAAAAGz27NluLxw9etSefPJJO3TokCUkJLhr3dZy/3oAgMhS0e42bdrYb7/9ZqNHj7brr7/eevfu7a51W8t1v1fcG4hHpJACAAAAAACuYHd6rgcASLsLLrjAHn30UZs8ebILXng080LLdT8QzwhgAAAAAAAAK1mypNsLFStWtL59+7qZFgpWlC5d2q644grr1auX/fvvv4H1AADRoSBF3bp1benSpbZz505X80Jpo5h5gayAAAYAAAAAALBKlSq5vbBp0ybr2rWrbd26NbBXPv30U9uzZ0/QegCA6FGwolatWuxyZDkEMAAAAAAAQCBAoZoXx44ds+bNm1vjxo1t7ty59sknnwRqYHjrAQAARBoBDAAAAAAAYIULF3Z7oVixYi5FycyZM91FsmXL5pbv2LEjsB4AAECkEcAAAABATErYvc3swN7ov3C+gpatcIl0f1qlZGnUqNEJy/v3728tW7Z0fy9ZssT69etnixcvtuLFi9s999xjd911V2DdGjVqBK0PAJGgmhcDBw60wYMH27Zt26xEiRLWrVs3GzJkiAtgAACi7/DhwzZp0iTXpixTpozdcccdljt3bj4KxD0CGAAAAIjJ4MXxCU+ZHT0S/RfPmcuy39Mv3YMYKrqYJ08eVxRXI5k9hQoVctfqFGzbtq1ddtll1qdPH/v999/ddYECBaxVq1bpui0AEM7u3bvd9bJly+z+++8PLN++fXvQbW89AEB0DB061H755ZfA7UWLFrk25fnnn29dunThY0BcI4ABAACA2KOZFwpenNnQrECR6L3uvl1mf3z7v9dPQQBj/fr19swzz1ibNm1cvngVWQy1fPlyq1y5shvZHM60adMsV65c1rdvX8uZM6eddtpp9s8//9jYsWMJYACIiqJFi6bregCA9AteqH3YtGnTQG2iWbNmueW6nyAG4tmJZ1YAAABArChQxM2EiNYltcESdeaVL1/enTxe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Pg7EpRTXwOjfv7+73r9/vyvmLZ999pmtX7/e5VurVKlS+m8lAAAAAACIKNW/UG71jh072umnn37C/cuXL7fevXu79ZSZAQAQWaNGjQoEkf/888+g+3S7evXqLtis9bp27crHgbiU4iETiupdeeWVNnbsWHdbU0sfffRRGzhwoF1//fX2yy+/RGI7AQAAAABABKlgtySWccFb7q0HAIgsBZVFgWP9Bvfp08fGjx/vrnXbmynnrQfEoxQHMIYMGWI5c+a0yy+/3A4fPmxTpkyxpk2b2vz58+2SSy5JMlcmAAAAAMj333+f6I5Yu3attWvXjh0FRFnRokUDxWF3795tnTp1srZt27pr3dZy/3oAgMgqVaqUuy5WrJirQXTkyBFXvFvXuq3l/vWAeJTiFFIKVLzwwgt29tln27fffmt79uyxW2+91QoWLGi33XabPfLII5HZUgAAAABxQ3X1Xn75Zbv44osDyxISEuyNN96wkSNHukFTAKKrZs2arhNMI3tVD8Nz6NAhe/DBB13dC92v9QAAkad0/QpY7NixwwUstm/fHrivePHibrm3HhCvUjwDQxG+woULu79VKCZfvnx2/vnnu9vHjh3jRAMAAADASV177bUuiKFzCi81wk033WSDBg1yRSk//vhj9iIQZQpQ7Nq1KxC8ULBCgxS9kb1arvsp4A0A0aHi3B4FLzSgvFevXu7aH8zwrwfEmxQPa1JxmM8//9yqVKlin376qTVs2NAFLRTYmDx5srsfAAAAAJLSv39/y58/vysWfN1119nMmTPtlFNOcbX2GjVqxM4DMoDSRClVtBQpUsTlVNeMKO+2ghe6X+t5AxsBAJHj/dbmyZPHzYZbtGiRu3i85fwmI56leAaGcl++88477qRCjZf77rvPLb/66qvtxx9/tA4dOkRiOwEAAADEmWeeecbuvvtue//9961BgwY2a9YsghdABnr66afddfny5U8YnKjb5cqVC1oPABAdlStXtnHjxlmdOnVc8W5d63alSpX4CBD3UjwDQzlqNTpK0b5zzz3XNWxEJx7169e3GjVqpOj5NAV11KhRNn36dFdPo169em4qlL6M4Wzbts3V4Pjuu+9cjtyLLrrIevbsaWXKlEnpWwEAAAAQRTNmzDhh2WmnnWZnnXWW/fDDDzZx4kQrWbJk4L4WLVrw+QBRpHNyWbdunbv4zZs3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QMzNwJg0aZL169fPzjvvPHdi8dprr7ki22rIqI7FJ598EpktBQAAABA3lJ5m3759NmvWLHv//fdd4W556aWX7Oyzz3bX6W3GjBnWtGlT9/zXXXdd0LnL2rVr7YEHHrA6depYw4YNbcSIEXbs2LF03wYglhUqVMhdK5gYjrfcWw8AACDmAhgTJ060O+64wxXzvuGGG1zjvkWLFjZu3Dhr2bLlSYt8AwAAAMCXX37pUtNUqlTJsmXLFtghefLksXbt2tkff/yRrjtJBcOfeuopa9OmjX388cdu5rhmkCsl7pEjR+zee+916ynnf+/evV0qq5dffpkPClnK888/767XrVsX9v7169cHrQcAABBzKaQ2btxol112Wdj7dBIwc+bM9NguAAAAAHHs0KFDVrRo0bD35ciRwwUV0otmd7z44ot21113uQCGPPTQQzZ//nz7+eefXWetOmanTZtmRYoUserVq7t0uZol8uCDD1ru3LnTbVuAWFa4cOF0XQ8AACDqMzA03fqHH34Ie9+ff/5pNWrUSPNGAQAAAIhvOq9QAe9wNCjqrLPOSrfX+vvvv12Qonnz5kHLX3/9dZc2SoGMM8880wUvPPXr17e9e/fakiVL0m07gFjXunXrdF0PAAAgKjMw5s2bF/hbuWJV8+LAgQN27bXXWqlSpWznzp321VdfueLeTCUFAAAAcDJKH3XPPfe4tLSXXnqpSyOlYsEjR460b7/91qWoTc8Ahuzfv9+litLAq1NPPdXNwtDscs0yP+WUU4IeU7p0aXe9YcMGO/fcc1M160OvB2RWxYsXt+3btyd6m+MbAKLPq0Wka36HkZmprexPI5vmAMadd94Z9IR6ARXznjx5ctAy70SEUUoAAAAAklK3bl174403bOjQoS5YofOJCRMmWK1atezVV191MyDSi2ZSSI8ePaxjx47WtWtX++yzz+zhhx9226BOgNCUOKrF4aW6Sg2lwOK8CJmZUrxdffXVVrJkSdu6dav99NNPQQEMjm8AiL5NmzYFBmcQwEBml9w0rTmTW7gbAAAAANLL0aNHrV69eq5otgIIu3btsoIFC1qBAgXSfSfnypXLXWv2xY033uj+PuOMM9xMDAUw8ubNa4cPHw56jBe4yJ8/f6pfs1q1amnediCj9OzZ07Jn/7+s002aNLH7778/cFvfIQBAdHntkipVqlilSpXY/ci0VqxYkex1kxXAuOCCC9KyPQAAAAAQ5MILL7SLL77YpXBSCqkyZcpEbA95z63i3H4KMMydO9ed7yxfvjzovs2bNwc9NqU0gz21wQ8gFihYoWNYAUYF+UJH+nJ8A0D06ffYu+Z3GJlZctNHJTuAEWrhwoVu+qhGKXmpo7wcr7/88otNmzYtNU8LAAAAIIt45JFH7JtvvrFnn33WzcZQUW+N8NYlNNCQVirQrZkdCxYscKmrPApaVKxY0c0EmTFjhks1pVkg8uOPP7rH1KxZM123BYhlSrE2atSowG0vaBEavNB6AAAA0ZDiAIbqXqhQtxe48NP00oYNG6bXtgEAAACIUyrgrYtSNSlYoGDGe++9ZyNGjLCyZcu6QMYzzzyTLq+lUYrt27e3l19+2c2oOOecc+zjjz+27777ztXdOO+889zrPvbYY64+xtq1a23YsGHWrl27ZOfmBeKl7kV6rgcAAJBW/5fQMplUvLtRo0ZuBoYa9Lfccov9/vvv9uKLL7pCd9dff32aNwoAAABA1qBzCKWQUoDhoYcesjp16tj69ettypQp6fo6KtitWR/Dhw+3pk2b2qeffmojR450qay0DSokfvz4cXd+06dPH2vdurV7DJCVlC5dOl3XAwAAiPoMDI1GUjGvIkWK2FlnneVGMWlE09VXX22rVq1yBb+bNWuW5g0DAAAAEL/WrFlj8+fPt59//tnmzZtn69atc7mcFcDQLAgFFtJb27Zt3SUcFcIcP358ur8mkJnoXD+56ynoBwAAEHMBjFy5cgUKxqiR/88//9iRI0fc8vPPP9/eeOONSGwnAAAAgDhy5ZVXuuJ9qk+hWQ+qQ6E6GDlzpqpMH4B0oILd6bkeAABA1FNInXHGGfbll1+6v6tUqeKmWasYnmzcuDHNGwQAAAAg/rVs2dLVuli8eLEroP3BBx/Yf//7X9u2bVtGbxqQZflrvnTo0CHoPv9tasMAAIBoSfHwJk257tixo+3evdteeOEFu/zyy6179+521VVX2cyZM90sDAAAAABIis4lvFRSP/zwg7s899xztmPHDjdQSimknn32WXYiEEWnnXaa/fHHH+5vpYv289/WegAAADE5A+OKK66wMWPGBBosffv2tcqVK9vUqVOtatWq1qtXr0hsJwAAAIA4VKFCBZdCauDAgTZkyBA3QEq19XR+ASC6NFAxVKlSpZK1HgAAQCSkKsFs48aN3UWKFStGsTsAAAAAKab0Ud9//72bffHbb7/Z4cOHXcpapaq59NJL2aNAlKkuTagtW7Ykaz0AAICYCWDs37/f3n//fZs/f74beVG8eHGrX7++NW/enFyYAAAAAE5KKaJ0LpE/f367+OKL7ZlnnnFBi5IlS7L3gAzy77//put6AAAAUQ9gKEft3XffbevXr3fTvUuUKGGrV6929S8mTpxoEyZMcLMyAAAAACAxN954owtY1K1b13LlypXkjlKR7yZNmliRIkXYoQAAAEAWkuIAxoABA9x0UZ1E1KxZM7B8wYIF9sgjj1j//v1t0KBB6b2dAAAAAOJIz549k7XesWPH7IknnrB33nmHAAYAAACQxaS4iLdy1Hbp0iUoeCHnnnuude7c2ebMmZOe2wcAAAAgi0tISMjoTQAAAACQGQIYylGb2BRv1cLIkSNHemwXAAAAAAAAAADIwlIcwGjTpo29+OKLtnnz5qDle/futVdffdVuu+229Nw+AAAAAAAAAACQBSWrBsZdd90VdPvvv/+2K6+80urUqWMlS5a0Xbt22S+//GLHjx+3cuXKRWpbAQAAAABAFNxwww32wQcfJHobAAAgZgIYoTlnFbiQo0eP2saNG93ftWrVctebNm1K/60EAAAAAABRExqsIHgBAABiNoDx5ptvRn5LAAAAAAAAAAAAUhLACGflypX2888/2549e6xYsWJ2/vnnW9WqVVP7dAAAAAAAAAAAAKkPYCid1LPPPmvTp08PSi2VLVs2u/HGG+2FF15I6VMCAAAAyGI0EKpQoUIZvRkAfHLkyGHHjh1L1noAAADRkD2lDxg3bpy9++671qlTJ/viiy9s4cKFNnv2bOvYsaN9+OGHNmHChMhsKQAAAIC40bRpU5s1a1ayOkonTpxoVapUicp2AVlZaP3LtK4HAAAQ9RkY77zzjrVv394eeuihwLJTTz3VOnToYEeOHLFp06bZPffck+YNAwAAABC/Dh8+7FLRJscFF1wQ8e0BYJY3b17bv39/stYDAACIyRkYGzZssPr164e978ILL7S1a9emx3YBAAAAiGN33XWXjRgxwn777Tc7cOBARm8OADNr0qRJYD9cc801QfvEf9u/HgAAQEzNwChfvrwtW7bMGjRocMJ9S5cuteLFi6fXtgEAAACIUx988IGtX7/eWrdu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gCwdwJg4cWLg7/Xr19szzzxjrVq1smuvvdZKlSplO3futDlz5tjUqVOtb9++kdxeAAAAAAAAAMgSrjmnmjU+o7J99Osym7XgL1u/YL0VzZfbXr67qUsbxcwLxLtkBTAuuOCCoNkY99xzj3Xp0iVonTp16ljevHntjTfesKZNm6b/lgIAAAAAAABAFqMgxU0XnukuQFaT4iLeCxcutAYNGoS9r3bt2rZ8+fL02C4AAAAAsOzZs9uNN95oxYoVY28AAAAAWUyKAxinnHKKffPNN2Hv+/TTT61ixYrpsV0AAAAA4tz7779vX331lft76dKl1rx5czez+8knn7TDhw8Hau3179/fypUrl8FbCwAAACDaUlyevm3btta7d2/bvHmzNWnSxI2E2rp1qwtezJ0714YNGxaZLQUAAAAQN8aPH2+DBw+2Tp062aWXXurOMXbs2GE333yzC2wUL17cunbtmtGbCQAAACAzBTBuu+02O3r0qL3yyiv28ccfB5aXLVvWhgwZ4gp7AwAAAEBSpk+fbu3bt7eHHnrI1q5da7///rv16tXLWrdubVWrVrUxY8YQwAAAAACyuBQHMOSOO+5wl5UrV9ru3bvdLIzKlSun/9YBAAAAiEsKWjRq1Mj9rTRSShV12WWXudsKYGzbti2DtxAAAABApquB4Xfaaae5wt1e8GL//v329ddfp9e2AQAAAIhTShGlVLReAENBC9Xbk2XLllnJkiUj8rp///23O4d57733AsuWLFniBmidd955LogyceLEiLw2AAAAgAjPwFi3bp3LT/vzzz8HCuuF0gkAAAAAACRG9fSGDh1qP/zwgxsE9fjjj7vlb7zxhr388svWsmXLdN95R44ccWmpNPDKo7obqvOnwEWfPn1cKitdFyhQwFq1asUHCAAAAGSmAEb//v3t119/dcX1dJ0vXz43Uum7776z5cuX28iRIyOzpQAAAADixhNPPGH9+vWzefPmuTp77dq1c8unTp3qino/9thj6f6aOlcpWLBg0LJp06ZZrly5rG/fvpYzZ043y/yff/6xsWPHEsAAAAAAMlsKKZ1gaHTU008/7UZF5cmTx7p162bvvvuu1atXz7744ovIbCkAAACAuDFr1izr0KGDffLJJ26Gt4II8uGHH7qZGfnz50/X19N5zNtvv20DBgwIWj5//ny74IILXPDCU79+fVu9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eIGPBwAAAMjCUhzAWLlypQs61K1bN80vfvjwYRs/frx17drVGjdu7JYNHz7cLrnkEvv888+tWbNmic7a0MyLM88806WyAgAAABD7fvrpp6DbGsAkCxcuPGFdBTAAAAAAZG0pDmCUK1fO9u7dmy4vvnTpUtu3b581aNAgsKxw4cJWq1YtmzdvXqIBjDFjxtiRI0esY8eOBDAAAACATGLOnDkZvQkAAAAA4jmA8cADD9jLL79sZ599dprrTmzcuNFdly1bNmh56dKlA/eF0ugszdp45513bNOmTZYeVIhcBckjyasZkljtEGQ9HBPwO3T48Am3I/27hNjGbwQ4JhArvxNqKzMbAgAAAECmCGCoNoUCB8pVW7x4ccubN2/Q/Tq5mT17drKeyzvZCq11kSdPHtu1a9cJ66szT+mmdKlcuXK6BTA0m2PJkiUWDatXr47K6yDz4JiA7NmzwcxXv3T9unW2Z/dxdg74jQD/NxATbYmkatMBAAAAQMwEMJSn1stVm1Ze8EO1MPyBkEOHDp1QxE+ef/55q1Klit12222WnnLlymXVqlWzSFKwRieXCryEe2/Iejgm4Ld2XXazjbsDt8uVL2+nlq+RZXdStp2bzY4c+t+NXHksoWhpy2r4jQDHBGLld2LFihV8GAAAAAAyRwCjf//+6fbiXuqozZs3W8WKFQPLdbtGjRM77t599103+qt27dru9rFjx9y1amU8+OCD7pIamjWSP39+iwadXEbrtZA5cExA8oTORMudO8v+ViTs2GTHpz4XtCx72xcsW7EylhXxGwGOCWT07wTpowAAAABkmgCGZ+XKlfbdd9+5YMOdd95pa9assZo1a1rBggWT/Rze+j/99FMggLF79277888/7Y477jhh/c8//zzo9oIFC6xbt242duxYq169emrfCgAglhw++L/rMxv+7/qPb/9vGQAAAAAAALKMFAcwjh8/br169XKzIbyCftdee62NHj3a/v33X5s0aVKyU0xpNoUCFUOGDHH1NMqXL2+DBw92j7/qqqvcDIvt27dboUKFXIqpSpUqBT3eK/Rdrlw5K1q0aErfCgAglhUoktFbAAAAAAAAgAyUPaUPUKBChbxVj0IzMBTEEM2EUHBj+PDhKXq+Tp062U033WRPP/203X777ZYjRw57/fXXXV2KDRs2WMOGDW3WrFkp3UwAAAAAAAAAAJCVZmBo5oWCDq1atQrUoJAzzjjDLddsipRQwELBD11CnXrqqbZs2bJEH3vhhRcmeT8AAAAAAEg5ZUN47rn/1SXTtZc5AQAAIKYDGFu3bnXBinDKlCnjalgAAAAAAJBZbNq0yfbv35/RmxEzlDbaP2Dx4MGD1rFjRzcAsW/fvhm6bbEmf/78ri8EAADESABDdSi++uoru+iii0647+effz6hTgUAAAAAALFKg/A6d+4cSI+MxCmo8dRTT7GLfLJnz+5SbRcuXJj9AgBALAQw7r77bjca48iRI9akSRNXxPuff/6xn376ycaPH289e/aMxHYCAAAAAJDu1PE8bNgwZmD8/7RRQ4cOdfvltttus6lTpwb2k/92ly5dSCflm4FB8AIAgBgKYNx8882uUfPKK6/YW2+95UapaLSKim63b9/eFeIGAAAAACCzIAXQ//Tr1y+wT/zBi9Db6g8YN25c1D4fAACQdaU4gCEPPPCAtWnTxn777TfbuXOnG21w7rnnWtGiRdN/CwEAAAAAQMSp1kWoyy+/3L744ouTrgcAABAzAYzjx4/b4cOH7cwzz7RixYq5NFIAAAAAACDzUpFune/L888/b1WrVnV/33vvvbZq1Sp7+umnA+sBAADEXADjo48+ctNGFyxYYEePHnXL8ubNa3Xq1HGpo6644opIbScAAAAAAIgg1br0eMGKk60HAACQ4QGMY8eOuSJdn376qcsNet1111nJkiVd/YuNGzfazz//bI888ojdcMMNNmDAgIhuMAAAAAAAAAAAiH/JCmBMmTLFPv/8c3vqqafsjjvuOCFllAIcmpnxwgsvWN26de2mm26K1PYCAAAAAAAAAIAsIHtyVpoxY4bddtttduedd4atd6H8lyrqfcstt9j7778fie0EAAAAAAAAgCxp69at1rt3b/e3rnUbyAqSNQPj77//dimiTuaSSy5xdTIAAAAAAAAAIDU2bdpk+/fvZ+f9f88884wdP348qBZRp06dLHv27Pbcc8+xn3zy58/vSiAgiwUwDhw4YEWKFDnpesWKFbN9+/alx3YBAAAAAAAAyGJ2795tnTt3drV3kTQFNZTyH/9HQZ3Ro0db4cKF2S1ZKYChHwyliUrOAcKPCwAAAAAAAIDUUMfzsGHDmIHx/9NGDR8+3O2Xnj17WqFChQL7ac+ePTZgwAD39+OPP24lS5bkgPv/MzAIXmTBAAYAAAAAAAAARAMpgP6nb9++7rpgwYJ2zjnnnLCfChQo4LLhaMbBG2+8wcGJrB3AUHEYfVmSsnfv3vTYJgAAAAAAAADI0g4fPuyub7nllrD3t2zZ0t58883AekA8yp6clerVq+ciekoPldRF69StWzfyWw0AAAAAAAAAcSx37tzuetq0aWHvf++994LWA7LsDAxF8gAAAAAAAAAA0TF48GDr1KmTy3qzefNmVxNj586dVrRoUVfzQumjvPWAeEUNDAAAAAAAYNmzZ7fjx48naz0AQOQpSOH9Nj/22GOJ/iZTwBvxjFYHAAAAAACwvHnzput6AIC00wyMtNwPZHYEMAAAAAAAgN1///3puh4AIG0082Ly5MlWp04dGzZsmOXKlcst17Vua7nuT87sOSCzIoABAAAAAABsxIgR6boeACBtli5dalu2bLHTTz/d+vfvb0eOHHHLda3b1apVc/drPSBeUQMDAAAAAAAAAGKMCnbLtGnTrHbt2taxY0erUKGCrVmzxj744AObPn160HpAPCKAAQAAACDu6cReqRbmzp1re/futRo1aliXLl2sbt267v4ffvjBBg8ebCtXrrSyZcvaI488Ytddd11GbzYAAMjCChcu7K6rV69uZ555pj377LOB++68807Xplm+fHlgPSAeEcAAAAAAEPc6d+7sUiwoiFGiRAl788037d5777X333/fEhIS7IEHHrC2bdu6IIaCHN27d7fixYtbgwYNMnrTAQBAFrds2TJ38VNbBsgKCGAAAAAAiGv//POPfffddzZlyhQ7//zz3bJnnnnGvvnmG5s5c6Zt27bNzch4/PHH3X2nnXaa/fnnnzZu3DgCGAAAIMPs3r37hGUaiKG2y8nWA+IFRbwBAAAAxLVixYrZ2LFj7eyzzw4sy5Ytm7vohH/+/PknBCrq169vv/zyi5udAQAAkBGU2jJUaPAisfWAeMEMDAAAAABxTXmhL7300qBln332mZuZ8eSTT7o0UqecckrQ/aVLl7YDBw7Yjh07XCqplFLgY//+/WnediBWcXwDQOR98skngb/HjBljK1assF27dlmRIkWsWrVq9uCDDwbWa9WqFR8JMg21lTWYKDkIYAAAAADIUn799Vd74okn7KqrrrLGjRvbwYMHLXfu3EHreLcPHz6cqtc4cuSILVmyJF22F8hItWrV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qZP7sWfHNsSXPFHQqyWFhP7dkILYJzw7HIlI0aQAhohI4cT2T/fO3mzLfOqpp1CqVCnTPipSlBVoAMNKHcUIYs2aNV3zOd2ggel3mgF/oCNGjMC3335r7h988MHzXg9GLevXr4+8xJ5xvLisXbv2WYMzUnxonxB3Bw/5AEfP1PKpWq0aqlfzfhzMC7ZjJUxP/3LlyztnHADq1KkDR4Ua+f5FFaZ1KSjWNkj1cwb3i9vnF+/074YU1D6xc+dObXyRYoIdC7MzCti9A6KIiORf8KJevXq466678MUXX2DXrl1mPp9XEEOKsgINYDRs2BAlSpTA6tWrXQEMFuPesmULevXq5fVvhg8fjh9//BGvvPIKunbtmmu9TPKr2A0vLlVYR7RPiKdAz1R6AQH5eqxwBAXBnhbQdb8wtRVAIbDCtC4FxdoGxfXzy9npXELye59QqhiR4oOpSKxRXVbRWIv7tFKWiIjkj5iYGFfwgnWA2Y5KLObN5/r372+e52PrOZGixqcg35xD0RmomDp1Kn766Sds27bNFKWpXLkyOnfujNTUVBw7dszkPqeFCxdiyZIlZpnWrVub56ybtYyIiIiIiIiInF9KOvfghee00hmKiOSP8ePHu0ZeeAYoOF23bt10y4kURQUawKBBgwbhjjvuMIW4e/bsCV9fX8yePdv0vD1y5AjatWtnghbEtFE0efJkM9/9Zi0jIiIiIiIiIiIicqGLiooy90wb5Q3bVN2XEymKCjSFFDFgMWzYMHPzVL16dWzfvt01/f777+fz2omIiIiIiIiIiIjkv9KlSyM2NtbUvGAtYbafJiUlmaw2U6ZMwfz5813LiRRVBT4CQ0RERERERERERETSGzt2rLlnwW5msUlMTITD4TD3nN69e3e65USKIgUwRERERERERASBgYG5upyIiJwfz7oXNpvN1A3m/dmWEylKFMAQEREREREREdOjNzeXExGR83P8+PF00xx9sXTpUnN/tuVEihIFMEREREREREREREQKGatmMEdYzJo1C9WqVUNoaKi55zQfuy8nUhQVeBFvERERERERESl8mKKkU6dOWLZsWYbeviIikvdYsJvuuusuE8Rg4W53PXr0wMcff+xaTqQo0ggMEREpdCICg7HfYTc3PhYRERGR/MegxY8//qjghYhIAQkICDD3X3zxhdfnFy5cmG45kaJIIzBERKRQCU+Kx7imbdnXxDmjaVuMT4pH5YJeMREREREREZF8xBEXgwYNQkxMDHbs2IHJkycjISEBQUFBGD58OGJjY13LiRRVCmCIiEihkmhPNfdt0gYJroLdNU9ERERE8o6Pjw/sdnu2lhMRkbxXvnx517F53LhxrvlxcXGuaT7P5USKKp11iIhIoVQKNnMTERERkfzBHr25uZyIiJy/rILGCipLUacAhoiIiIiIiIigcePGubqciIicn5MnTyIlJcU8Hj16NHx9fc1j3nOa+DyXEymqFMAQEREREREREaxZsyZXlxMRkfPDOhcUGBiIF198EampzvTKvOe0VbzbWk6kKFINDBEREREREREREZFChgW7KTExEaVKlcKdd96JFi1aYP369Zg3bx5OnTqVbjmRokgjMEREREREREQkndtvv/2s0yIikvc48sIyZcoUE7h46aWXzD2nvS0nUtRoBIaIiIiIiIiIpLNgwYKzTouISN676aabsHDhQvO4f//+rvkHDhxIN83lRIoqjcAQEREREREREYSGhubqciIicn5iYmLSTfv5+aF79+7m/mzLiRQlGoEhIiIiIiIiIiIiUsiULVs23XRKSgq+/PLLLJcTKUo0AkNEREREREREEBsb69oKDRs2TLdF3KfdlxMRkbyzbds2c+/v74/JkyfD19fXTPOe05zvvpxIUaQRGCIiYkQEBiPBYTePgwKDUVnbRURERKTY8mwMU+OYiEj+O3HihLlPTk7G8OHDXfNTU1PTTVvLiRRFCmCI5LPw+NNITE1BfEICTtmTtP0LyfdBgb5+qBQchuIoPCke45q2BZC2TzZti/FJ8QpiiIiIiIiIiBSQChUqmILd2VlOpKhSAEMknxvLx6z7Nt28egn1UCskBMU9gFAQwQNv38fzl3fL1/U4nRSPv44fwKrwXWb6YECAuT+RnIBa+bYWQKI91dy3ScssuAp21zwRERERKR5uueUWfPPNN+Zxq1atsHbtWtdz7tNcTkRE8l7//v3xyCOPmMfTp083x+jw8HBUqlTJHIsHDRrkWk6kqFIAQyQfWT3921aqawovrTmxHwl257ziyDOAkN/BA/fvg/4I3+2alx+f/bNdf2Fr5FE44HDNPx7gzF8588h2dLQBt9VuhgDf/DtUl4It396rMHNEhgNJCc6JgCDYylQq6FUSERERyXNW8ILcgxee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yy677Jz+TkRERERERNcYIiIiIiJ5J2M+jnxUpUoVcx8REZFuPqe9FeSuXLlyhmUZ0IiKikLFimdyoouIiIiIiIiIiIiIyIWtQAMYDRs2RIkSJbB6dVoxXACnT5/Gli1b0KpVqwzLc97Ro0exb98+17w1a9aY+5YtW+bTWouIiIiIiIiIiIiISF4r0BRSzNnbq1cvTJ06FWXLlkW1atUwZcoUM9Kic+fOSE1NxcmTJ1GyZEmTPqpZs2amsMfgwYMxbtw4xMXFYcyYMbjtttu8jtgQEREREREREREREZELk83h8FJFNh8xSDFt2jQsXLgQCQkJZpQFgxLVq1fHwYMH0bFjR7z00kvo0aOHWf7EiRMYP348VqxYYYp333jjjRgxYoR5LCIiIiIiIiIiIiIiRUOBBzBEREREREREREREREQKVQ0MERERERERERERERERbxTAEBERERERERERERGRQkcBDBERERERERERERERKXQUwBARERERERERERERkUJHAQwRERERERERERERESl0FMAQEREREREREREREZFCRwGMPGa32zF9+nS0b98ezZs3x8MPP4wDBw7k9dtKIRIVFYUxY8bg6quvRosWLdCzZ0+sW7fO9fyqVavQo0cPNGvWDDfeeCMWL15coOsr+WfPnj247LLLsHDhQte8rVu3olevXuZ4cd111+Gjjz7SV1IMfPXVV+jSpQuaNGmCrl274rvvvnM9d/DgQQwYMMAcP9q1a4fXXnsNqampBbq+krdSUlLw+uuv49prrzXHiPvuuw8bNmxwPa/jRPEyc+ZM9O7dO928rPYBnX+KSG4IDw9HgwYNMtxycu7qubyIiOgYLJJTCmDksbfeegtz587FhAkT8Nlnn5kLyn79+iEpKSmv31oKiSFDhuDvv//GtGnTsGDBAlxyySXo27cvdu/ejV27dpmGSQa4eGJ/5513Yvjw4SaoIUVbcnIyhg4diri4ONe8yMhIPPTQQ6hZs6bZVx5//HFMnTrVPJai6+uvv8Zzzz1nGqkZwOzWrZvruMH9hMcL4r8h48aNw6effoo333yzoFdb8tDbb7+NefPmmXMHBrfq1Kljzh0iIiJ0nChm/ve//5mgpbvs/Fuh808RyQ3btm1DYGAgVqxYgd9//911Y6eL7B6PREREx2CR8+V33q8gmWKQ4v333zeNlB06dDDzXn31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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "--------------------------------------------------------------------------------\n", "⏱️ Análisis Geométrico completado en 4.27s\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import time\n", "import warnings\n", "from IPython.display import display, Markdown\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def radiografia_visual_numericas(X: pd.DataFrame, y: pd.Series):\n", " \"\"\"\n", " [FASE 2 - Paso 5.1] Motor AutoML de Visualización Bivariada (Numéricas).\n", " - Escudo RAM (NUEVO): Submuestrea datasets masivos a 15k filas solo para renderizado visual (evita colapsos en KDE).\n", " - Genera un Dashboard 1x2 por cada variable numérica predictora.\n", " - Izquierda: Distribución (Histograma + KDE) solapada por el Target.\n", " - Derecha: Boxplot para análisis de Outliers y Medianas por clase.\n", " - Ignora variables nulas o colapsadas automáticamente para evitar crashes.\n", " \"\"\"\n", " if X is None or y is None or X.empty or y.empty:\n", " logger.error(\"🛑 Error Crítico: Las matrices X_train o y_train están vacías.\")\n", " raise ValueError(\"Las matrices X_train o y_train están vacías.\")\n", "\n", " logger.info(f\"=== 👁️ FASE 5.1: Análisis Visual Geométrico (Numéricas vs Target) ===\")\n", " inicio_timer = time.time()\n", "\n", " # 🔧 FIX MLOps: Silenciadores de Consola\n", " warnings.simplefilter(\"ignore\", category=FutureWarning)\n", " warnings.filterwarnings(\"ignore\", message=\".*Glyph.*\") # 🤫 Apaga las alertas por emojis o símbolos especiales en los gráficos\n", " warnings.filterwarnings(\"ignore\", module=\"IPython.core.pylabtools\") # 🤫 Blindaje extra para Jupyter\n", "\n", " # 1. Configuración de Alta Legibilidad (Seaborn)\n", " if MODO_VISUAL:\n", " sns.set_theme(style=\"whitegrid\", context=\"notebook\")\n", " paleta_target = \"Set2\" # Paleta amigable para daltonismo (Colorblind-friendly)\n", "\n", " # 2. Aislamiento y Ensamblaje Seguro\n", " num_cols = X.select_dtypes(include=[np.number]).columns.tolist()\n", " if not num_cols:\n", " logger.warning(\" ⚠️ [INFO] No se detectaron variables numéricas para visualizar.\")\n", " return\n", "\n", " df_viz = X[num_cols].copy()\n", " target_name = y.name if y.name else 'Target'\n", " df_viz[target_name] = y\n", "\n", " total_filas = len(df_viz)\n", "\n", " # ==========================================\n", " # 🚀 ESCUDO RAM: Submuestreo Visual (Big Data)\n", " # ==========================================\n", " MAX_PLOT_SAMPLES = 15000\n", " if total_filas > MAX_PLOT_SAMPLES:\n", " logger.warning(f\" ⚠️ [ALERTA DE RENDIMIENTO] Matriz masiva detectada ({total_filas:,} filas).\")\n", " logger.info(f\" ⚡ Protegiendo RAM: Submuestreando a {MAX_PLOT_SAMPLES:,} filas aleatorias solo para renderizado...\")\n", " df_plot = df_viz.sample(n=MAX_PLOT_SAMPLES, random_state=42)\n", " else:\n", " df_plot = df_viz\n", "\n", " logger.info(f\" 📊 Procesando {len(num_cols)} variables numéricas...\\n\")\n", "\n", " # ==========================================\n", " # 3. Motor de Renderizado Iterativo\n", " # ==========================================\n", " for col in num_cols:\n", " # A. Filtro AutoML de Seguridad: Omitir si la varianza es cero o tiene 100% nulos\n", " if df_viz[col].nunique() <= 1:\n", " logger.info(f\" ⏭️ Saltando '{col}': Varianza Cero detectada (Constante).\")\n", " continue\n", "\n", " # C. Inyección de Información Estadística Textual Rápida (Para los Logs)\n", " # 🔧 MANTENIDO: Aquí SÍ usamos df_viz (matriz completa) para que el cálculo matemático sea 100% real\n", " media_clases = df_viz.groupby(target_name)[col].mean().to_dict()\n", " texto_medias = \" | \".join([f\"Media {k}: {v:.1f}\" for k, v in media_clases.items()])\n", " \n", " logger.info(f\" 📌 Variable '{col}': {texto_medias}\")\n", "\n", " if MODO_VISUAL:\n", " # B. Creación del Lienzo (Dashboard 1 fila x 2 columnas)\n", " fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(16, 5))\n", " fig.suptitle(f\"Radiografía de: {col}\", fontsize=16, fontweight='bold', y=1.05)\n", "\n", " # --- PANEL IZQUIERDO: Distribución (Hist + KDE) ---\n", " # Usamos common_norm=False para que las montañas se escalen independientemente \n", " # y podamos ver la forma de la clase minoritaria sin que la mayoritaria la aplaste.\n", " # 🔧 FIX: Usamos df_plot (ligero) en vez de df_viz\n", " sns.histplot(\n", " data=df_plot, x=col, hue=target_name, \n", " kde=True, element=\"step\", stat=\"density\", common_norm=False, \n", " palette=paleta_target, alpha=0.4, ax=axes[0]\n", " )\n", " axes[0].set_title(f\"Distribución y Densidad (KDE)\", fontsize=13)\n", " axes[0].set_ylabel(\"Densidad Probabilística\")\n", " axes[0].set_xlabel(col)\n", "\n", " # --- PANEL DERECHO: Boxplot (Outliers y Medianas) ---\n", " # 🔧 FIX: Usamos df_plot (ligero) en vez de df_viz\n", " sns.boxplot(\n", " data=df_plot, x=target_name, y=col, \n", " palette=paleta_target, showmeans=True, \n", " meanprops={\"marker\":\"o\", \"markerfacecolor\":\"white\", \"markeredgecolor\":\"black\", \"markersize\":\"8\"},\n", " ax=axes[1]\n", " )\n", " axes[1].set_title(f\"Caja y Bigotes (Separación de Clases)\", fontsize=13)\n", " axes[1].set_ylabel(col)\n", " axes[1].set_xlabel(\"Target Class\")\n", " \n", " plt.figtext(0.5, -0.05, f\"Estadística Exacta (100% de datos) ➔ {texto_medias}\", ha=\"center\", fontsize=11, \n", " bbox={\"facecolor\":\"orange\", \"alpha\":0.2, \"pad\":5})\n", "\n", " plt.tight_layout()\n", " plt.show()\n", " logger.debug(f\"Renderizado visual del dashboard para '{col}' completado.\")\n", " else:\n", " logger.debug(f\"Renderizado visual omitido para '{col}' (MODO_VISUAL=False).\")\n", " \n", " logger.info(\"-\" * 80)\n", "\n", " # 🔧 Restauramos las advertencias generales al finalizar\n", " warnings.filterwarnings(\"default\", message=\".*Glyph.*\")\n", "\n", " logger.info(f\"⏱️ Análisis Geométrico completado en {time.time() - inicio_timer:.2f}s\")\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'y_train'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " # Ejecutar el motor de visualización alimentándolo directamente desde el manager\n", " radiografia_visual_numericas(X=manager.X_train, y=manager.y_train)\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la visualización: {e}\")" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🔠 FASE 5.2: Análisis Visual (Categóricas vs Target) ===\n", " ⚠️ [ALERTA DE RENDIMIENTO] Matriz masiva detectada (26,029 filas).\n", " ⚡ Protegiendo RAM: Extrayendo muestra de 15,000 filas para gráficos de volumen...\n", " 📊 Procesando Dashboards para 7 variables categóricas...\n", "\n", " 📌 Top 5 Tasas de Éxito en 'workclass': self-emp-inc: 54.8% | federal-gov: 37.8% | local-gov: 30.1% | self-emp-not-inc: 28.9% | state-gov: 26.6%\n" ] }, { "data": { "image/png": "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AAAAAAAAAABiBoELAAAAAAAAAAAQMwhcAAAAAAAAAACAmEHgAgAAAAAAAAAAxAwCFwAAAAAAAAAAIGYQuAAAAAAAAAAAADGDwAUAAAAAAAAAAIgZBC4AAAAAAAAAAEDMIHABAAAAAAAAAABiBoELAAAAAAAAAAAQMwhcAAAAAAAAAACAmEHgAgAAAAAAAAAAxAwCFwAAAAAAAAAAIGYQuAAAAAAAAAAAADGDwAVwEmrdurWdeeaZtnHjxkTvs337djv77LPtgQceiHq5jRo1sttvv90yiypVqljPnj3TZFlajpaX1GXHjh0Rt3Nm2+5y4MABmzZtmt1yyy12wQUX2DnnnGPXXnutjRs3zt2WWrt27bItW7ZYLNu3b597zf/5z3/SdF31WR89erT7fd68eaH9buLEiYk+ZvLkyaH7xYK///47XZ9P35MXXnihzZw586jbVq5cmehn+bPPPnP3+eeff9zfL7zwQqLPcfjwYbviiivsk08+Oa6vBQCAWBTpGFnnMeedd561aNHCZs2alabPl9bH1dEuT/fRfRP722+H5ER7v2gdy/LSel0ygt6D4PuQEs8880zE40Adxwft3r3bnnzySbv44outRo0a7lz9119/TXAfHSvqsTp2TIt11XHllVde6Y4zwx08eNCuvvrqRI9P586d687Batas6dZZ9zt06FCq7vf777/bjTfe6O5z55132vr1649aTufOna1Xr14WLW2D4PauWrWqnXvuue54+umnn3bH77F6vtG7d28bNGjQcVs+cDLKltErACDtaYBXA5Nz5syx2267LeJ9dJsOWpo2bcpbkI50UFa4cOGIt+XOndv9fOSRR0K/Z0YKuN1///32888/W+PGjd1BaFxcnH3zzTc2ePBg+/rrr238+PGWI0eOFC138eLFdu+999pzzz131AlFLHn33Xdt27ZtNmrUKCtSpEiaLPPzzz+3H374wZ1ghfv000+tXbt2ER/38ccfW6zQyU7x4sXtqaeeSpfnU4BMJ1KbN2+OePtvv/0WOmkPf5+qVasW9fNo3+7UqZMNHDjQBUky82cfAJB5BY+R4+Pj3WSTd955x/2f3bp1a6LHKieKe+65x/bu3Zvo7TfffLPVq1cvXdcJx0aTWMqXL+/OL4Jy5syZ4O+HHnrInccoWHXqqafaK6+84n5XUK5s2bJp/jZoP9NxZffu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PXr0SPG6RKLlaHmJXf7+++8kt5//W+9FpPXQ+ul13H333e7vTZs2ueWOHz8+wf169uwZf8cddyS5rnouPXbSpEmh6/bu3Rt/+eWXx9evXz/+8OHD7roWLVq4bb527drQ/fbt2xd/ww03xFevXt1t2+Dy9H4k59xzz42/6aab4lPiiiuuiL/55psTvH9+v77mmmtC182YMcOtx9y5cxO8L3Xq1Ilfv3596DotR/ugtqe2o/Tq1ct9llauXJngs6TXH3z/nn32Wff3f//73wTr+Nhjj7nrP//88wT719ixY496PeHvf79+/dx22bp1a4L7aR/QMsKvD/ruu+/cfWbPnp3gem0DXa9tMm/ePPf7Z599Frr9/fffd59F7Vd+3/X8ugf32UjX628tI/i5F3336H5Lly51f7dv3z7+6quvTnAfbaerrroqfsGCBaHrgp/H4Gu48847EzxW667rv/zyywTXv/766+76jz76KD5awe0UpHX33zkjR46M//jjj+NHjBjh/tZnxO832ha6n7bFH3/8EV+vXr34a6+9NtH3TK+lYcOGUa8fAAAnOn+c8euvv7pjR110fP3jjz/GP/jgg+62J598MsFxUtWqVd1xmJfS85ngMZno/7KOB3UMm5Lj7WiXJzq2030T+zv8eKtjx47uuGLNmjWh63QcqucP3k/HDlrO/v37E6yrjqdr1qyZ4uVFEu1joz2ujuTKK6+M79Chw1HHbk2bNo3/888/U3RsmdRxdkps27Ytfty4caH3+Prrrw+dC2if9NfNmjXLHX9qO+m6Rx55JLQMrW/Xrl2PWvY333zj7vvOO+8kWGcdO7700kvJnsMmRseRd911V5L3CR6fBo0ZM8Zdv3r16qMec8stt8Q3btw4RfcTfS78+ZLOmXXeIfoM9e3bNz419H4EPzvh9H2g52vXrl2CMQHtT0E6V9D1EydOTPRzqXEUnYc1b948wWdM21DXN2vWzP39008/uWV98MEHCfZ9rUP37t2PWkftm7r/X3/9laptAGQmlIoCTmIqBaXZJsHSPSqpo1kHvkyUZh5oxoFmt2jmvKdZApqRoBkVPt3zWGhmQzD92WcnBEuxaPaxZkJrxopotpBmNGh2iGZh+4tmsCj9WDOM9Po8zaQJztQ/88wz3U+/vEhUbkazcDSTKlgHNLxUT0rXJTHPPvusm3USfkkqwyBI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hQQNs9V7QL0wJFLjZGVi+NtTS6Wj1Ejcl5sKlyNHDt4zAAAAACetrBm9AgAAAECsqV69umXPnt0+++yzBNdPnDjRHnroITvjjDOsePHi9t577yW4/e+//3ZlptTr4lgoaPHHH39Y+fLl7Zxzzgld3n77bdecOy6OfmYAAAAATl5kXAAAAABhVCKqdevWNnnyZJfdoEDCTz/95JplKwtCZaUUwOjVq5frc9G0aVPbunWrjRgxwgoWLBhqup1abdq0cUEK/WzXrp3L4Jg9e7ZNmzbNPScAAAAAnMwyPHChZoMjR460t956y9XyrVatmnXr1i3ULHHp0qU2cOBAW7x4sTuB1MmbTiK9I0eOuBPE6dOn286dO6127drWr18/O/3000P3SW4ZAAAAQDgdk6qR9htvvGHjx4+30047zfr27Wu33HKLu/3GG2+0vHnz2tixY+3+++93fSwuuugiF9BQNsaxUFNuPe/gwYPtscces/3791u5cuXcMW3z5s15swAAAACc1DI8cDF69GgXdHjqqadcsOHFF1+09u3buxllSs/XbLVGjRpZ//79Xdq9fuoEsVmzZu7xo0aNstdee809vlSpUvbss8+6x7/77rtudpxmviW3DAAAAJz8Pv3009Dvy5cvP+p2HU8GZcmSxe688053SUyTJk3cJTEKbugSdMEFFxz1/AqKhF9XpkwZGzZsWBKvCAAAAABOThkeuPj444/tmmuusfr167u/e/bs6QIZCjCorq+CFwMGDLBs2bJZxYoV7c8//7Rx48a5oMOBAwdcneGHH37YGjZs6B4/ZMgQN9Ntzpw5brlKp09qGQAAAAAAAAAAIHZkeOBC6fdqetiqVSsrXbq0TZ061WVKVK1a1QUwVE9YAQevbt26Lh1/06ZNtmbNGtu9e7fVq1cvdHuBAgVcuan58+e7wMWCBQuSXEaxYsVStd7x8fG2Z8+eiLdpdl7W7NksPv5/90tP/un27t2b7s8NAABwLFQOSWVADx8+7C5If9rueg90LKmf4XR8qWNdAAAAADipAxe9e/e2Bx980C699FKLi4tzjQ5feOEFlxq/bt06q1y5coL7lyhRwv1cu3atu10U8Ai/j78tuWWkNnBx8OBB1zsjkly5cln5ShXt8OFDrodHetJz6oTzj1WrbN++fen63AAAAMdKk00UwEDG0LbX8euqVasSvY8mGQEAAADASR24WLlypeXPn9816FYTQmVZqPTTK6+84gbew0+McubMGTqp0kwwiXSf7du3u9+TW0ZqqfxUpUqVEs+4iIuzuLhsCTI90oOeUwGgChUqkHEBAABOKDo2U0atjtU0EQQZQ8evmkTkj5nDj90BAAAA4KQOXCjjoWvXrjZ58mSrVauWu+6cc85xJ0TKutAJq/pYBPlgQ548eUIntLpP8ORW98mdO7f7PbllpJaCE0k9fv+hg6Ys+vROpfdP518/AADAiUKZt7poEoYuSH8+A1rHkpGCR5SJAgAAAJAesloG+umnn1zJJQUrgs4991zXQLtUqVK2YcOGBLf5v5Wd4UtERbqPbpfklgEAAAAAAAAAAGJHhgYuFFSQ5cuXJ7h+xYoVVq5cOatdu7YtXLgwQXPGuXPnWvny5V1TbzXwzpcvn82bNy90+44dO2zJkiXusZLcMgAAAAAAAAAAQOzI0MBF9erV7fzzz7cePXq4YMLq1att6NCh9t1331mHDh2sWbNmtmvXLtfAW+WjZs6c6cpK3X333e7x6l3RqlUre+655+yTTz6xZcuWWZcuXVxApHHjxu4+yS0DAAAAAAAAAADEjgztcaH6uaNHj3bBil69ermG2pUrV3aBBZWLkvHjx9vAgQPthhtusOLFi1v37t3d716nTp3s0KFD1qdPH9eIWxkWEyZMcM2zRVkVyS0DAAAAAAAAAADEhgwNXEjBggXt0UcfdZfEsjKmTp2aZAPBbt26uUtiklsGAAAAYtvBw4ftSPyRDHnurFmyWnaahQMAAABA5glcAAAAAMlR0OKtpfNty56d6bqxiuTJb9efqd5pcZYR1q9fbw0aNDjq+kGDBtmNN97ofl+6dKnLLl68eLEVKVLE2rRpY61btw7dt0qVKgnuDwAAAACxjsAFAAAATggKWmzYvcMyE/Vwy5kzp3388ceWJUuW0PX58+d3P7du3Wpt27a1Ro0aWf/+/W3RokXuZ968eV2vNwAAAAA4ERG4AAAAANLBkSNH7PPPP7dXX33VHn/8cTvllFOSfcyKFSusXLlyVqJEiYi3T5s2zfV2GzBggGXLls0qVqxof/75p40bN47ABQAAAIATFoELAAAA4DjasmWLvfnmm/bGG2+4DIlrr73Wdu/e7Uo4JeaTTz6x0047zZYvX+6CEYlZsGCB1alTxwUtvLp169rYsWNt06ZNVqxYsQT337hxo91+++1WunRpGz16tOXKlSuNXiUAAAAApB0CFwAAAMBx8PPPP7vsitmzZ7vgw1133eWCFvny5bPDhw/b119/nehj1avCZ1wULlzYbrvtNvvjjz+sbNmydu+994b6Xqxbt84qV66c4LE+O2Pt2rUJAhcKoKj/xamnnmqjRo1yJagAAAAAIBYRuAAAAADS2L///mstWrSwChUq2JQpU6xmzZoJbo+Li7PixYsnuYxDhw7ZqlWrrFKlStazZ08X8Hj//fetQ4cONmnSJKtXr57t27fPcuTIkeBxPiCxf//+0HXbtm1zQQuVpxo5cuRRjwEAAACAWELgAgAAAEhjRYsWtXbt2tnMmTOte/fudtNNN7meEz6TYs2aNXb11Vcn+ngFKBRkmDdvngty+JJOZ599tv322282YcIEF7jQ9QcOHEjwWB+wyJMnT+i6IUOG2MGDB93jCVoAAAAAiHUELgAAAIA0poBCjx497MEHH7R3333XXnvtNRs+fLg1btzYbr31VqtRo4a99dZbiT7el3vKmzfvUbedccYZoTJTpUqVsg0bNiS43f9dsmTJ0HUXXnihC5x07NjRrrrqKqtfv36avVYAAAAASGtZ03yJAAAAAEIBDJWMmjVrlr300kvuOpVsWr9+vetXkdhFzbaVWXHeeee5rIugxYsXu/JRUrt2bVu4cKHrmeHNnTvXypcv77I+vCZNmrigiYIWffv2tV27dvEOAQAAAIhZZFwAAADghFAkT/4T+jkVhNClV69erl9FctTQWz0yBgwYYP3793dNuqdNm2aLFi2yGTNmuPsoi2L8+PHWu3dva9++vWsIPnnyZHf/SHQ/BS+eeeYZt1wAAAAAiEUELgAAABDzsmbJatefWTvDnjstFStWLLrnzZrVxowZY4MHD7bOnTvbjh07rFq1aq4xd+XKld19lFWhwMXAgQPthhtucA2/1VNDvyf23LpdAYwrr7zS9cnIrI4cOWIjRoyw6dOn286dO132Sr9+/ez000+PeP933nnHunXrdtT1n3zyiZ122mnpsMYAAABA5kHgAgAAADEve1ycmemSuSjQMGjQoCTvU716dZs6dWqity9fvjzB382bN3eXzG7UqFGu98hTTz3leoU8++yzLmtFPUkiNTDXdqxTp449//zzCa73DdcBAAAApB16XAAAAADI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7c4773T3e+ONN+yxxx6z119/3UaOHBl6/KxZs+yZZ56xBx980GbOnGmnnXaatW3b1rZs2eJuj2YZAAAAAGKzOff1119vX3/9tQtSqOfFgAED3EW/K4jx5Zdf2g033GC//PJLipY9atQoe+211+zxxx935wkKZLRv394OHDiQ5OP+/fdf9/w4uaxcudKVGcuXL59rAK8G79KmTRvLkiXLUZfEypHt27fPOnbsaCVKlHAXTaDbvXt36PZHHnnEChUqZOeff75rKu9t2LDBKlWq5LKKAAAAkIpSUV988YW9++67NnfuXNu8ebO7TgduxYoVc7OVrrzySjcDKhrx8fE2bNgwa926tQtcyL333msLFiyw77//3p0UrFmzxqZNm2YFCxZ0Dff0nApU3HPPPS41fMyYMdaqVStr2rSpe/yTTz7pmvdNnz7dHSSqOV9yywAAAAAQe55++mk7++yz7cUXX0z0uL1Xr14u4KDj+5dffjmq5So4MXHiRNf4u2HDhu66IUOGuPOZOXPmuMlUkSi40a1bNzvrrLPc+RBODnpflflfu3ZtN4Hut99+s1tvvdVOPfVUd7761FNPhe67evVqt8906tQp4rL69+/vzplnz57tznfvuOMOF6zQcn766Sc3ge7zzz+38ePHuybymnwnzz33nD3wwAOWO3fudHvdAAAAJ0XgQgfmgwYNcgdxSqXWgZ0O5HRgtWPHDlu3bp0tXLjQlX1S2nTXrl3tP//5T5LL/OOPP1xw4tprr01w/YQJE9xPZUfopEABB69u3bquru3SpUtddoUOHOvVq/d/LyhbNqtVq5bNnz/fBS4UBElqGUoxBwAAABB7fv31V1fmNanJRrqtXbt21qVLl6iXu2zZMjcLPngeUaBAAatWrZo7j0gscKFJU8ro1gBzWgQuNLC9Z8+eiLdl9pn3ev2JbZu0tnbtWle2ePDgwa53is5zFZxQgEEZP8GeKX369HEZPo0bN464fu+9956rAKB9SZT9r/Nb3VeBizPPPNOdL+vxClzoelUxUABj3rx56faaAQAAMoqOgZUIkSaBC80a+fTTT91sEQUsSpYsmeh9N27c6LIbdBCmdG4FH5IKXIgOznRAp94UCkYo60KptwqGlCpVKsFjlG7rDy4VpJDSpUsfdR+djEhyy0ht4CKpkwxt+KzZs1l8/P/ul5780+lAP72fGwAAACe3aE8y0opK6miiU3I0mSlv3rxRL1fnCImdR/jbIpWtUpbGm2++aevXr7e0oCCIJlMl9poyM73+XLlypdvzKXNHPUu0jyvAoKwJndMG3x9VBVDZshkzZiT6vmmd1YOxZs2a7m+VKS5Xrpy7v/osqiSVgmPK7ClcuLC7/oUXXnAVBDL7ew4AADKPHFFUQYoqcKEDKpVciubAsXjx4nb//fe7WqBK6U6Ksh5E9Wk1a0mp2nqe++67zyZNmuTqg2rmU1DOnDlD/TX8LKTwF6r76HZJbhnH4yRD26l8pYp2+PChY+r/kRp6Th0Q/7FqlXvtAAAAQFpKz1Krmu2uEjqasKRysEWLFk1w+9atW935g8o8qbRPtJI6j9i+fftR99eEJZ2r6KJB6LQKXGgmv/oaRJLZj+W1nZWdkN6qVq3qmrSrBLLOa+Pi4kK3qUzY7bffbpdcckmij1eGkPZFTeITZf/r3FaZHHo9KiGlSXpFihRxWRYKlikYomwLykQBAIDMYOXKlVHdL6rARWL1O5OiGU+dO3dO8j4+5VbZFkq3FR3MKfNCB3cKAIQ3x/PBhjx58oQCKZHu4w/6klvG8TjJcBkXcXEWF5ctlBWSXvScOriuUKECGRcAAADIkJOMtKImx5rspAbayuTWOYaaJ4tKPek2zZDXuYRK1UYreB4RnJwVPI8IeuKJJ6x8+fJ2yy23WFrSeUNi5ySZfRBbr/9YztdSS8EEZd2oCkDv3r1t+PDh7vpVq1a5LIwRI0YkuV7K2ihbtqxNmTIlVFZM5aX8pD71YlRpKGUT6VxR/S8UINmyZYvr3ah+jI8++qgLkAAAAJyMos3gTt9R9TC+5JQaZgcpIKB6onXq1LEVK1YkuG3Dhg2hx/rUbl1XsWLFBPfxy1aZqKSWcTxOMmT/oYOm9yA9U+n/t17/+5nZT3QAAACQ9tL72FYTcjToq+bb3377rRs83rlzpwtWKIChYIL66p1yyikpWm7wPKJMmTKh6/W3+g+EU2kgZWf48j/KcBb1wrjnnnvcBScH9Uv0GS+33Xaby/jRe699QL0efe+KSNT7UZPyPvnkE7vgggvcdSov1qBBAxswYEBovytWrJj7qWCFSo+pNNWNN97oMjWaN29u1atXdxkbKd2vAQAATibZok2XTclJSmIllMIpbVazpnSg5g8QRYEGnUDUrl3bNfvWTCo/s0pN8PQYrZMOIHWyorRa31hPpZnUkLtly5bu7+SWAQAAACC2aTKSBnbTis4DdG6g8wgfuNCgszK/Nes9nPoRBOn8RWWDxo0bd9QkLJx4VPrru+++c6XJPAUolJGj/UKBhg8//DDB7Uk1fQ/2UVSw68iRI678VHhPleeff94FvTTp7JtvvnF/q+fjGWec4fpgXHfddcfh1QIAAJxEgQulrvrAhdKnVcZJNUebNGnielps27bNNe9WwEEptdFSWrZmT40cOdJlP2hmyfvvv+8O2iZPnuxmtKhGqEpOqZ6s0m51MNeuXbtQPVr9PnDgQJeOe84557iTB82O0UwVUS3c5JYBAAAA4MSlkjwbN26Meoa6zgMUoNBsevUaOPXUU+3ZZ591AZLGjRu7jArNhldfAp2z6FwjyDfw1vOp5A9ObH/88YcLjCm4oH1BFi5c6M51FbRQho8CCSodlRS//ykAdt5554WCGaIJd+H9WaZNm+aCYJI1a1YX4PCT8fScAAAAmVm2aGvLeqrB2bBhQ3vhhRcSZGFopohmHf36668pWgE14tYMEzXU00wXlXzSsn1q7fjx461///520003WcGCBV0mhR7j6Xqliys4oQDK2Wef7QIrOgHxDfaSWwYAAACAE5cGitV/ItrMb9/HTwPEKkWliU/K1J4wYYLrZafJTirVM2jQoDTN9EBs0nt//vnnu8ltOi9dvXq1O7f1gYo///zTnXNGKhOlRu9q6K6gl7IlrrjiCuvQoYONHTvWBR90nqx9U0GQID3P3XffHSrxq3XQeWzTpk3dfqz1AQAAyMyyxKdwKodSXdWg7KKLLjrqtq+//toFOX788Uc7mf3yyy/upzI8kupxMXHhp7Zh9450XDOzEnkLWLvzG1nObP9rfA4AAACk53FwRtAEKDU9ViPkk2Vb/vDDD27w+sJKN1nBPAkHvU9m2/dstG9XTnMZDz5rIT2sWbPG7T/qT6Gywvq9V69ebrKeSorVrVvXBbg0MS5IlQLatm0bypBQJoUaxauSgB6r8lLK7PFli0UT7tTPcdGiRaG+iYsXL3YBDu3LagavoAYAAEBmPqdIcXNuHcT99ddfic50UkYDAAAAAKQXlZ09kYIWiD0q8zRz5syIt6kaQGLz/dq0aeMuXuHChV1D7qSovJjKLAepcoCCFwAAAEhl4OLqq692PSKUQq2SUTow27x5s2tWpl4Vd911V0oXCQAAAAAAAAAAkLrAhdJe165da/369UvQ40IzUNRDQo28AQAAAAAAAAAA0iVwkSNHDtfj4rfffrMFCxbYjh07XNaFan6WKVMmVSsBAAAAAAAAAACQqsCFd8YZZ7hLuF27diVoPAYAAAAAqVG1atUEWd5J0f3Ucw8AAABAJgxcHDhwwF566SX7/vvv3e++SZl+7tmzx1auXGk//fTT8VhXAAAAAJnIqFGjXKnanDlzWqtWrTJ6dQAAAADEauDimWeesVdeecUqV65sW7ZscScRRYoUsRUrVtjBgwftgQceOD5rCgAAACBTadSokY0ZM8batWtnJUuWtBYtWmT0KuEE8Ndff9mmTZssMypWrBglnAEAQOYMXMyZM8fatm1rPXr0cCcRS5cutWHDhtn69evdLKgjR44cnzUFAAAAkOlccMEF1r59exs6dKg1bdrUTZwCkgpaVKlS1fbt25spN1KuXLlt+fJlBC8AAEDmC1woy6JBgwbud2VdTJs2zf2uGVAdOnSwSZMmkXUBAAAAIM3oPENZ3hs2bLDTTz+dLYtEKdNCQYtza9xg+fIXy1RbatfOTfbTolluG5QpUyajVwcAACB9Axf58+d3vS2kbNmytnbt2lBD7nLlyrm/AQAAACCt5M2b1+644w42KKKmoEXBgqXZYgAAACeorCl9QK1atezll1+2vXv3usBF7ty57eOPP3a3/fjjjy6AAQAAAAAAAAAAkC6BCzXfXrRokUvXzpYtm7Vs2dL69u1rN954o+t10aRJk1StCAAAAAAAAAAAQIpLRVWpUsU++OADW7Fihfu7a9euLsvihx9+sEaNGrmABgAAAAAAAAAAQLoELqR48eLuIlmyZLF77rknVU8OAAAAAAAAAACQ4sDFW2+9ZSlx/fXXp+j+AAAAAAAAAAAAUQcuevbsmeBvZVlIfHz8UdcJgQsAAAAA6WXPnj22YMECa9CgARsdAAAAyCyBi08++ST0+9KlS61bt25233332ZVXXmklSpSwrVu32qeffmovvPCCDRo06HiuLwAAAIBM6N9//7XHHnvMvv/+eztw4EDE++hcBQAAAEAmCVyceuqpod87duzoghZ33XVX6LqSJUvarbfe6k4gnn32Wbv44ouPz9oCAAAAyJQ0QeqHH36wFi1auJ+5c+e2GjVq2DfffGMrVqxwk6gAAAAAnByypvQBv//+u1WrVi3ibRUqVLB//vknLdYLAAAAAELmz59vXbp0sT59+tiNN95oOXPmdJngM2bMsNq1ayfIEgcAAACQyQIX5cqVs3fffTfibVOnTrXKlSunxXoBAAAAQMju3butSpUqoQlTS5Yscb/HxcVZy5Ytbe7cuWwtAAAAIDOVigq6//777cEHH7TVq1fbJZdcYoULF7ZNmzbZnDlzbOXKlfbiiy8enzUFAAAAkGmpt57OO6Rs2bK2fft227hxoxUvXtwKFSpkmzdvzuhVBAAAAJBRgYvGjRvbyJEj3WXo0KEWHx9vWbNmtZo1a9rkyZOtVq1aabVuAAAAAOCoj57OP0qVKuXOPfRz4sSJbmKVykWp7x4AAACATBq4kEaNGrnL/v373UwnzXDKkSNH2q8dAAAAAJhZp06dbPHixTZs2DA3YUr9Lnr27Ol+l379+rGdAAAAgMwUuFizZo1Lwc6ePbv7PZxP2fZOOeWUtFtDAAAAAJmeStROnz7dNmzY4LZF06ZN3XnHokWLrHr16lanTp1Mv40AAACATBW4uPTSS13jbZ0QKNMiS5YsSd5/6dKlabV+AAAAAJCg14WnMrWUqgUAAAAyaeDiySeftNNPPz30e3KBCwAAAAAAAAAAgOMWuLjhhhtCv9etWzdUNiqcel78+uuvqVoRAAAAAAAAAACArCndBCoblVgpqJ9//tnatm3LVgUAAAAAAAAAAMcv4+Lpp5+2bdu2ud/j4+Nt1KhRrjleOAU08ufPn7o1AQAAAAAAAAAAmV5UgYsKFSrY6NGj3e/qb7F48WLLkSNHgvvExcW5oEWvXr0y/UYFAAAAkHYOHDhgCxcutFWrVtnu3bvdOYnOPSpWrGjVq1e3nDlzsrkBAACAzBa4aNGihbtIo0aNXMZF1apVj/e6AQAAAMjkXnzxRRs7dqzt2rUr4u0FChSwe+65x9q1a5fu6wYAAAAgAwMXQZ9++unxWRMAAAAACJg4caI9//zzduedd1qTJk2sbNmyljdvXnebAhl//vmnffTRR/bcc89Z1qxZrU2bNmw/AAAAIDMGLtTjYvr06fbZZ5/Z3r177ciRIwluV9r2Sy+9lJbrCAAAACATevXVV102xYMPPnjUbQULFnRlonTJnj27uy+BCwAAAODkkDWlDxg8eLD169fPfvvtNzt06JALZAQv4YEMAAAAAEiNzZs32/nnn5/s/c477zxbv349GxkAAADIrBkXb731lrVt29Z69OiRJiugE4wGDRocdf2gQYPsxhtvtKVLl9rAgQNdQ/AiRYq4WVStW7cO3U+BkhEjRrgskJ07d1rt2rVdYOX0008P3Se5ZQAAAACIPZUqVbL33nvP6tevn+T9ZsyYYeXLl0+39QIAAAAQY4EL1ZJt2LBhmq3AsmXLLGfOnPbxxx+7MlNe/vz5bevWrS5Ioobg/fv3t0WLFrmfqmvbrFkzdz81Cn/ttdfsqaeeslKlStmzzz5r7du3t3fffddy5MgR1TIAAAAAxJ7OnTu7UlF//PGHXXbZZS444Xtc7N692/766y+bM2eO/fzzzzZ8+PCMXl0AAAAAGRW4UKr2Dz/8YBdccEGarMCKFSusXLlyVqJEiaNuU68M1asdMGCAZcuWzSpWrOga8I0bN84FHQ4cOOAa9j388MOhYMqQIUPsoosucicw11xzjU2bNi3JZQAAAACITcq0eOWVV+yFF15wgYmDBw8muD0uLs5q1arlzgnq1q2bYesJAAAAIIMDF8pm6Natm+tvce6551ru3LmPuo/KNUVr+fLlLpgQyYIFC6xOnTou4ODphGTs2LG2adMmW7NmjZtpVa9evdDtBQoUsGrVqtn8+fNd4CK5ZRQrViwFrx4AAABAeqpRo4ZNmDDBTVr6+++/XQa4ysUqQ7tMmTIuyxoAAABAJg9cqOySjBw50v0MlndSc279rZ4SKcm4KFy4sN12220uBbxs2bJ27733ur4X69ats8qVKye4v8/MWLt2rbtdSpcufdR9/G3JLSO1gQu91j179kS8Tdsga/ZsFh//v/ulJ/90e/fuTffnBgAAwMnNH+9nBAUoEpvwBAAAACCTBy6mTJmSZk+urI1Vq1a5pns9e/a0fPny2fvvv28dOnSwSZMm2b59+46aQaV+GLJ//343OC+R7rN9+3b3e3LLSC2lqScWoMmVK5eVr1TRDh8+5F5jetJzHj582P5Ytcq9dgAAACAtxWKGw/r162369On2wAMPZPSqAAAAAMiIwIXKLqUVlW+aN2+eq02rwX45++yz7bfffnPp4LpOKeFBPtiQJ0+e0GN0H/+7v48vYZXcMlJLfTMUcEk04yIuzuLisiUoUZUe9JzanhUqVCDjAgAAAGlq5cqVMblFlWU9YsQIAhcAAADASSJVo+o///yzCzgoIODLEfnSSQsXLnQNsaOVN2/eo64744wz7Ouvv7ZSpUrZhg0bEtzm/y5ZsmQom0HXqb5t8D5VqlRxvye3jNRScCKpwMf+QwdNWfTpnUrvny5S7xEAAADg2I41M6ZMVHLOPPNM++STTzJ6NQAAAACkkawpfcCrr75qN998sw0ePNheeOEFN7NJF/W8eOmll6xQoUJRL0uZFeedd54LggQtXrzYZTOoybcCISp95M2dO9fKly9vRYsWtapVq7ryUsHH79ixw5YsWRJqEJ7cMgAAAACc+OWrTj311IxeDSDTZmI1adLEnZtrQuGzzz4buk19LC+77DI3YbFatWo2Z86cqJY5cOBAa9OmTYLrZs6c6fpbnn766fbuu+8muO2CCy6wH3/8MY1eEQAAOCEzLl555RXXOPuZZ56xsWPH2q5du+yRRx6xL774wvWpaNq0adTLUnM9lTQaMGCA9e/f3zXpVrbGokWLbMaMGS6wMH78eOvdu7e1b9/eZXpMnjzZ3defoLRq1cqee+45K1KkiDtZ0UGSsiwaN27s7tOsWbMklwEAAAAgtqkU1FdffeUGQXX+kTVrVsufP787n6hbt647/geQ/o4cOWJXX321mzCowIEmJ956663u3Fw/r7/+ejvnnHNswYIF9tZbb9kNN9zgekUGKyaEe/311+3RRx915/qeJiKqF+awYcPcc7Zt29Y2btzossBmz57tAho1a9ZMp1cNAABiMnDxzz//uABFwYIFXT8KZVqoj4RmWKjRtpp3X3PNNVEtSyccY8aMcdkbnTt3dtkSmoWhxtyVK1d291HQQbMtdIBTvHhx6969u/vd69SpkysZ1adPH9eMWgdM6o+hHhTigx9JLQMAAABA7Dl48KA7jlfjbQ1caka3LzWrAMbu3btdTzllhGsylXq9AUg/69evtxo1atjo0aNdMFFlny+99NJQ6efff//dvv32W/e59SXdJk6caI899thRy9J5fceOHd1EQwUlgzZt2mSbN2+2Fi1auDLVrVu3doGLEiVKuImQen4AAJDJAxcKCPhG2GXLlrU///zTnVDo+vPPP98FHVKiWLFiNmjQoERvr169uk2dOjXR23Vy0q1bN3dJ7TIAAAAAxB6VpFV5GE1S0kQpZVkHbdmyxT788EN76qmnXFCjS5cuGbauQGakTAd/rq2AgoIUX375pY0aNcqVaFZp6GBfy/r169t3330XcVkKRvp+ms8///xR4wbqMfnDDz+4jAstU5MU9flX70qyLQAAOPmkuMeFZkl89tln7nf1idBBw08//RRK4QYAAACAtKCgxUMPPeRKzoQHLUTXtWzZ0gUs3n77bTY6kIHKlSvnAhP16tVzJZvXrl1rp5xySoL7KMigKg6RqF/mN9984yYeRpqw+PTTT9tFF11kl1xyiQts6DplW0TK3gAAAJkwcKFakkrdVCq2ZjwoDVSllzTLSQcSyroAAAAAgGOlGdjqiZccTajaunUrGxzIQOpTqabZ6lmpYOKePXssZ86cCe6jv/fv35+q5T/wwAMuy0olo9TvQo2+VQpaZaZvuukm1zdDgU5lfgAAgEwYuLjssstcXwpfc1IzHDSz4o033nAnFf369Tse6wkAAAAgk1FPvVdffdXVvk+MytaqXK0ywwFknFq1arl+l0OGDLGxY8dajhw5jgpS6G9NgEwt9dFQWTg/FqEm3iopp++I5cuX21dffeUytQAAQCbscSENGzZ0FylcuLBrrgUAAAAAaUmZ3e3atbPLL7/cLr74Yjdhyg9aqjH3X3/95crYagY25yRAxjTnVs+K66+/PnRdtWrV7MCBA67/xdKlSxPcX+Wldf2x+vjjj12pOPXQUKmoK6+80nLnzm2NGjVyjcFVqgoAAGSijAvNYFiyZMlR16u59q+//pqW6wUAAAAgkzvnnHPc7GnVtVfDX5WnVaNuXXQOosHLunXr2qxZsyhZC2SAP/74w2688Ub7999/Q9ctXLjQlXBSvws10967d2/oNgUV9Jk9Vj7bQrJmzep6b4oyL06UUlHaZs2bN3cBmFNPPdWVudq3b5+7TZkjKsOtJuQ1atRw33VJZZ316NHD9RPRdn/44YcTZKmNHDnSNTevUqWKa5gezH4544wzXC8SAABO6MDF6NGj3SyK8LRLzbBQ+rb+4U6YMOF4rCMAAACATOr00093g5Sffvqp/fTTT27gU0EMDYh+8cUX9uSTT0bVBwNA2qtdu7YbYFdmlCY5zp4927p162a9e/d2WVL6/KpPpiY6KvD4/fff25133ukeq6wMZWAcPnw4Rc+p74KCBQuGgpVah+nTp7vnUI8NNQePdQquaAxFfUAUpFDpba173759bcOGDXbttdfaLbfcYr/88ovr33Hdddcl2tRc5bpfeuklNx7z0Ucf2SeffOKCILJx40YXyND2adOmjd13332hx+n+V199dZpkwAAAkGGBC6VfDxs2zFq0aGH33HNPgttKlizp/tFqlsVzzz1n33777XFZUQAAAACZi0rQhDf21czhEiVKJFknn3MSIH3ExcXZ22+/7TIDFDBo3769derUyV38bZrRryDDK6+84rKj1ETbf041aP7333+nOttCOnbs6J7/wgsvdCWtNW4R61TNQtkP6s9z1llnuawyva7XXnvNvvnmG8uWLZsLACko+8gjj1iuXLkSZEsEAyDKqFAGmsplqXSWepLqsmvXLlu1apUr733JJZe4MZtly5aFgkZDhw51mRoAAJzQPS4Uvdc/Qf0jjUT/CAcOHOiyLxS11wEDAAAAAByLZ5991pU/uf/++6Nqvr1gwQJ78cUX3YxlDZACOP70GU2sIXalSpVcZlQkCjIkVtZp8uTJiT7f559/nuDvAgUK2Pvvv28nklKlStmHH37oJoIGbd++3YoWLer69mib3nDDDS74s3PnTlc6L5wyKnTbBRdcELquevXqrnyUvg8rV65sW7Zscf2AVMLLB43UE0hjPGRbAABO+MDFihUr7Iknnkj2fmqApQAGAAAAAByradOmuZK1N998s6sB37hxYzcod9ppp7mMix07drjZ3BqQUxa4Zm6rHMqIESPY+ABiVqFChaxJkyahv9WjQ99bl156qcu+ULBWpaTUv0OltJSZoR4V4dQfI3v27K5fhpqii89g2bRpkwsOPfjggy5zQ1kbKkmloIayLVRZAwCAEz5woQZRuXPnTvZ++qe5e/futFgvAAAAAJmcyqWoDIwCFxq40wzksWPHWpYsWUL30YxtzfjWIKCCFuEzmAEg1nXv3t317Zk/f36oxNNjjz1m11xzjfveU+ktNTWvWrXqUd+RKgGlclLKSsufP7/raaHrVQ5Knn76aevZs6cb01HwYty4ce77UqW8Lr/8cvvtt99c7wutAwAAJ1zgQjOaVIMxuSZXqpfIiQIAAACAtKSeFqrFrsvvv//umtSqPIpK1ipoUb58eTY4gBOSvteUATF16lQ7++yzXYNuBWTVdFvUt2LevHmu76gy0MINHz7cNfJWI3T1+ujTp4+7v0poefquFGVbDBkyxDXwVp8Q9ddQ425lsinbwzc8BwDghGnOrZTs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Xbt27jt90KBBdvXVV7sygj/++KMrda7sOgWazz777KOWNXXqVPc/4OWXX3b/W+68804XmH799dfd/xYFNbSM8ePHu4y/mTNnuscpW09l0mlqDwDHF4ELAAAAADGvY8eOrtfEzTff7GbYarBMA4Waeas+E127ds3oVQSQSYMWVapWtX2ZdPZ9rty5bfmyZekWvFBQee7cubZu3TqXiScDBgxwZfwuuugi+/vvv+2bb75xGRQKRnzwwQfuf0ekwMXTTz9tPXr0sGbNmrm/VTLwvvvuc+UCly1bZmeddZbVrFnTmjZtal26dHH30f+dWbNm2c8//5wurxcAMjMCFwAAAABinkpBvfnmm66Xxfz5812fiXPOOcfNtL3xxhtdLwoASG8ayFbQosIVzSx3keKZ6g3Yu2WjrfpwhtsG6RW4UC+iDz/8MBS08PQ/QdkR6nmkoIX31ltvRVzOjh07XFaGLwMoDRo0sMWLF7vf9XpWrVrllrtw4cLQ61O2hYIbZFsAwPFH4AIAAABAzNPg08UXX2wtW7Z0l6CNGze6Uh933XVXhq0fgMxNQYu8JU/J6NU46annRJMmTUJ/HzlyxEaMGOECFgo0lCtXzpV10v8EZeb179/frr/++qOWo/v6/x//+c9/7I8//rDLL7/clSTUc9SrV88aNmzo+mjoop5HmzdvdsFzsi0AIMabc+sLW03r1CBPFzXE++2331wtQAAAAABIS7169XIlQCJZunSpDR8+nA0OAJlM9+7d7YcffrCBAwfarl27bPLkybZ161Z79913rXXr1q4fxoIFC456nO4r6mmhclHTp0+3X3/91W6//fbQfd544w1bv369G/uqXbu2DR482GVbaPzrggsucA26FSABAMRIxoXq/Kl24O+//x7x9ixZstitt96aFusGAAAAIBPr0KFD6LxDDVk1wJQjR46Ik6rSszksACDjKeAwdOhQ12RbPSyyZctmRYsWtdGjR1vWrFntvPPOcw28x40bZ7Vq1UrwWN1XlJ2hHhaiJtzqaaHJuaec8r/sGWVtiJqAq1yhmnarPKHGvRQUqV69usv28PcHAGRg4OKZZ55xNf70D+Kzzz5zJw6XXHKJffnll+4yZcqUNFw9AAAAAJnVPffc42bBipqhVqtWzZXsCNLglOqZayAJAJA5dOzY0QUoXnnllVBz7dKlS7vJtPq/4KlBd6TSTrqvVK1aNcF9Rdl94YGI559/3v1PUm8LNf/W36eddpqdccYZru/Sddddd9xeKwBkVikOXCi6rDRtRZb1ha30O19ntlOnTi5NLjySDQAAAAAppdmyungq0XH66aezIQEgE1PfijFjxrhSThqb8urWrWtPPPGEHT582OLi4kKlBNX3Ipyy9BSc0BiXyj75+yrwUbZs2QT3VempadOmufuKAiPqrSGHDh1yGYEAgBjocXHgwIHQl75+qnSUp1lOixYtSts1BAAAAJDpDRo0iKAFAGRyCi48/vjjrsRT/fr1bd26daGLyjcpoKAg98qVK23UqFH2wQcf2F133eUeu3fvXnc/UYCiS5cu1q9fP/vvf//rghL33nuva+RdqlSpBM85ZMgQu/vuu93kXVG/i0mTJrmqI1qf888/PwO2BACc/FKccaGItNLmlFWhwIUaGqkxkVLkVDZKZaQAAAAA4FideeaZrna5aoirnIcGmhKj25YsWcJGB4CT2Ntvv+0yKpRZoUuQMh8UhFAAQj0vlDmh/yE+c0+/t23bNpQh0bVrV9u3b59ryK2xLfW6UPmpoG3btrnMjuAkXQUybrnlFnvppZfc72QCAkCMBC4aN25sgwcPtjx58liTJk2sQoUKrhmSItgTJ07kCxsAAABAmlAz7pIlS4Z+TypwAQA4+SnTQpfEqBfSF198EfG2Nm3auIun/yl9+vRxl8QUKlTIVqxYkeA6BUUWL16cqvUHABzHwMUDDzxgf/75p7355psucKF+F7ru/fffdzUE1aAIAAAAAI6VzjOCjViTojrjAAAAADJpj4ucOXPa8OHDXa1Aueiii1yDbgUsZs+e7TIyUuuPP/6wmjVr2syZM0PXqV5gq1atrEaNGtaoUSObMmVKgseofqHWR+uh+yjzQ6WsgpJbBgAAAIDYphmxKukRifruNWvWLN3XCQAAAECMBC687Nmzh34vU6aMXXnlle5nah08eNAefvhh27NnT+i6rVu3uvqDWu6MGTNcevhzzz3nfvcUQHnttddccybVHVQgo3379q6JeLTLAAAAABDbNFnquuuus59//jl0neqcjxgxwpo3b247d+7M0PUDAAAAkM6loi699FIbOXKka4injIXkmuJ9/PHHKV6RF154wfLly5fgumnTprkAyYABAyxbtmxWsWJFV6Zq3LhxbkaVghPqq6GAR8OGDd1j1BhJ2Rdz5syxa665JtllAAAAAIh9ysru3r27tWzZ0jVeveSSS6x3796u9riyqzt37pzRqwgAAAAgPQMXderUsbx584Z+T+umePPnz7epU6faW2+9FQpAyIIFC9zzKeDg1a1b18aOHWubNm2yNWvW2O7du61evXqh2wsUKOCaMWmZClwkt4xixYql6WsBAAAAkPY0AUmTkl588UU36UmZFhUqVLDp06e7438AAAAAmSxwMWjQoNDvTz31VMRGeMHAQErs2LHDzZxSzdrSpUsnuG3dunVWuXLlBNeVKFHC/Vy7dq27XcIfp/v425JbRmoDF/Hx8QnKWgUpsJM1ezaLj//f/dKTf7q9e/em+3MDAADg5Kbjy7SexJQSf/31l82dO9eViNIx/T///GNfffWVValSxeLi4jJsvQAAqftO14TSzEhjUcdSbh0AMoNURRtUZkmZDPopCxcutK5du9o999zj0rRT4rHHHnMNua+99tqjblPzvRw5chzVHFz279/vBucl0n22b98e1TKOpSeHmn5HkitXLitfqaIdPnzIBXXSk55TJ3J/rFqVaPNCAAAAILXCj63TizIsdP5RqFAhlz194YUXusyL4cOH2+zZs13Pu+rVq2fIugEAUh60qFK1qu37/+M6mU2u3Llt+bJlBC8AIC0DF+opMXTo0AQBCkWJr7jiCpeNoaBAixYtolqWSkMpAKJGe4kFAHyTbc8HG/LkyeNuF93H/+7vkzt37qiWkVrqm1GpUqXEMy7i4iwuLluqM1FSS8+p2WZKmyfjAgAAAGlp5cqVGbZBFbho2rSpy9RWeVh56KGH7LLLLrOePXvarbfear/++muGrR8AIHrKtFDQokzzGyxn8eKZatPt37jR/npzltsGZF0AQOJSPKr+xhtvuMZ3HTp0CF2nUk06gVCq2+TJk6MOXMyYMcM2b96coK+FPProo27WVKlSpWzDhg0JbvN/lyxZMpTNoOuCX/b6W+niktwyUkvBiaQCH/sPHTRl0ad3Kr1/Oh+4AQAAANLuWDPjykSNGjXKGjVqdNT1yrLQhKhhw4ZlyHoBAFJPQYs8pyQs/w0AQKoCF+vXr7dzzjkn4m3nnnuujR49OuplPffcc0eVM2rcuLF16tTJzaZ6++23XaBEpY98zVrVtC1fvrwVLVrU8ufPb/ny5bN58+aFAhfqmbFkyZJQRkjt2rWTXAYAAACA2BcpaBHMhr733nvTdX0AAAAAHD9ZU/qAU0891b777ruIt82fP99lOERLGQ9ly5ZNcBEFFHRbs2bNbNeuXda7d2+Xlj5z5kyX0XH33XeH6usqQKEAyCeffGLLli2zLl26uHVQAESSWwYAAACA2HTLLbfY77//nuC6OXPm2M6dOxNc9/PPP7sJSwAAAAAyacbFTTfdZM8++6xrTq16sgoybNmyxT777DObNGmSa9KdVrTs8ePH28CBA+2GG26w4sWLW/fu3d3vnrIzVDJKpaqUvaETlgkTJrhZV9EuAwAAAEDsWbRoke3evTv0t7KoH3zwQXvzzTftrLPOytB1AwAAABBDgYs2bdq4clEvv/yyy1zwVIbpjjvusLZt2x7TCi1fvvyomrVTp05N9P563m7durlLYpJbBgAAAICMpyBFcr3k4uPj03WdAAAAAJwAgQvp0aOH3Xffffbjjz/a9u3brUCBAi44ULhw4bRfQwAAAACZgiZIde7c2caMGWOnnHJKRq8OAAAAgBMpcCFqjN2gQYO0XRsAAAAAmVahQoVcRoX61CXWVw8AAADAyS/FgQv1kRg9erTrabF37147cuRIgtuV2v3xxx+n5ToCAAAAyASKFCli7777rn300UcZvSoAAAAATqTAhZpcqxlenTp17Mwzz7SsWbMenzUDAAAAkCk1adIkyds1WQoAAADAySvFgYs5c+ZYly5drEOHDsdnjQAAAADg/3vssccsX758CRpz9+3b1/LmzRvaRrt27WJ7AQAAAJk5cHHw4EHXiBsAAAAAjqfatWsnCFgkdp2CGLVq1eLNAAAAADJr4KJ+/fr25ZdfWt26dY/PGgEAAACAmb388stsBwAAACATSnGDiquuuspmzJhhPXv2tNdff93eeuutoy4AAAAAAAAAYsO///5rzZs3tyJFitipp55qDz30kO3bty/BfVauXGm5c+dOcjnKeHzuueesfPnyVqhQIWvbtm2Cko0zZ8600qVL2+mnn27vvvtugsdecMEF9uOPP6bxKwNwskpxxkXnzp3dz8SCFGqUd/3116fN2gEAAAAAAABINQUbFLQoXLiwffXVV7ZlyxZr166dxcXF2bPPPuvu8/fff9s111xzVDAj3Lhx41z/qRdffNGVklcf3JYtW9o777xjhw8fdj1xhw0bZkeOHHFBjY0bN7qxwtmzZ7uARs2aNXknARyfwMUnn3yS0ocAAAAAAAAAyADLly+3uXPn2rp166xkyZLuugEDBtjDDz/sAheamKyAgwILyXnhhResa9euduutt7q/X3rpJZfBoedQBsbmzZutRYsWLljSunVrF7goUaKEe77Ro0cf99cKIBMHLvRlFLR//37LkSOHi54CAAAAAAAAiB2lSpWyDz/8MBS08LZv3+5+vv/++/b4449blSpV7JJLLklyWatWrXIlnzwFO4oXL27fffed3X777ZYnTx774YcfXMZF3rx5rWjRoqHnJtsCwHENXPgvqeHDh9u3337r6thNnz7d3nzzTatQoYL7kgIAAAAAAACQ8ZQJ0aRJk9DfCiqMGDHCLr30Uve3yj7J559/nuyyFIBQvwxv9+7drvTUpk2bXOmpp59+2i666CLLmjWry87Qdcq2GDly5HF5bQBOXiluzr106VJXF+/XX3+1a6+91qV+ib6InnzySZs1a9bxWE8AAAAAsN9//92mTJniGoOuX7/eFixYkKApKAAASFr37t1dVsTAgQNTvKluvvlmGzRokBsfVD8MNfmWAwcOuJ8PPPCAC2SoZJTKT82ZM8dlZFSuXNluuukmK1OmjHuMH08EgDQLXChyevbZZ9sHH3xgvXr1Cn3R9OnTxwU0dBIBAAAAAGlJs0N1zqHGoZowNWHCBDe7c9SoUXb99de7ut0AACBpPXr0sKFDh9orr7zixvdSqm/fvlarVi0766yzrGDBgpYzZ06rUaOGFShQIHSf/PnzW758+dzvyrZ49NFHXYbHoUOHXC8MNQifOXMmbxWAtA1cLFq0yNq0aWPZsmU7qq/FVVddZatXr07pIgEAAAAgSQpQvPvuu/bEE0/YN998E5pA1a1bNxfUGDJkCFsQAIAkdOzY0QYPHuyCFs2aNUvVtlLfimnTptnWrVtd422Vkv/zzz+tXLlyR933448/tiJFith5553n/ndffvnlljt3bmvUqJF9/fXXvFcA0jZwoUiqUsEi2bZtm2vUDQAAAABpacaMGdapUyc30KJa3d6ZZ57prteACAAAiKx///42ZswYe+ONN+yWW245pjJTL730ksu2UJbF/PnzXZPvCy+88Kj7+mwLUc8LTTQQZV5QKgpAmgcu/vOf/7hoajAVW5kXasYzceLEiF9UAAAAAHAsVBZKQYrEGoXu2LGDDQwAQATqR/H4449bz549rX79+m5Mz1+So94Vut/hw4fd36eccooLgihgsXDhQmvVqpXde++9LrMi6NNPP3XBjfPPP9/9Xbt2bZs+fbrrmasMynr16vFeAUjbwIVSsffs2WNXXHGF3XbbbS5o8dRTT7m/165dG2rKAwAAAABppWzZsvbFF19EvO377793twMAgKO9/fbbLvCgcoulS5dOcEnOt99+6+73999/h8pNNW3a1K688kp3Ue+p5557LslsC/84lZnShOeGDRtaixYteKsAJCmbpZC+rPSFN3nyZJs7d66VKVPGBTL0RdW2bVsrUaJEShcJAAAAAEm64447rF+/fnbw4EG75JJL3AQq1dSeN2+ey/zWLFIAAHA0/Y+M5v+kAgrhJZzCr4uLi3PNvXVJyueff57gb5WVev/993l7ABy/wIUULlzYunTpkpqHAgAAAECKaWbmli1bbPTo0fb666+7QRRle2fPnt3at29vt956K1sVAAAAyKyBC9WwS47q1gEAAABAWrr77rtdudoffvjBNQLV7M1zzz03QbNuAAAAAJkwcHH77be7tOxgmpj+Dm/6AwAAAABpLV++fNagQQM2LAAAAHASS3HgYsqUKUddpx4XCxYscL0vXnjhhbRaNwAAAACZWOvWrY/5XAUAAABAJghc1KlTJ+L1ataTJ08eV3N27NixabFuAAAAADKx8AahP/74o8v2rlGjhhUvXty2bdtmixYtcvdTw24AAAAAmbg5d2Jq1aplL774YlouEgAAAEAm9fLLL4d+nzx5smvOPWHCBCtVqlToel3XoUMHO+200zJoLQEAAADEdODi008/tbx586blIgEAAADAxo8fb/369UsQtJAiRYrYPffcY71797aHHnqILQUAOOn99ddftmnTJsuMihUrZmXKlMno1QAQi4GLSHVmjxw5YuvWrbN///3X7rrrrrRaNwAAAABw9u3bd1TpKG/37t1sJQBApglaVKla1fbt3WuZUa7cuW35smUEL4BMIMWBi0gnC1mzZrXKlSvb3Xffbc2aNUurdQMAAAAAp27duvb888/bGWecYRUqVAhtlV9//dWGDh1qF198MVsKAHDSU6aFghbl2l5nuUsVs8xk77pNtnrS224bkHUBnPyyHUudWe/QoUOWLVuaVp0CAAAAgBCVgrrtttvsmmuusdNPP90KFy5smzdvtn/++ccFMx555BG2FgAg01DQIk+Z0hm9GgBw3GRNzYPGjRvnGuB5CxcutPr169srr7ySlusGAAAAAE7p0qXt/fffdwGMs846y/XWq169uj3++OM2Y8YMK1SoEFsKAAAAOEmkOE1i4sSJLhW7VatWoeuUnnXFFVfYU089ZTlz5rQWLVqk9XoCAAAAyORy587tsi50AQAAAHDySnHg4o033rDOnTsnyLjQ7Kc+ffpYsWLFbPLkyQQuAAAAAAAAAABA+pSKWr9+vZ1zzjkRbzv33HNdjVkAAAAAAAAAAIB0CVyceuqp9t1330W8bf78+VaqVKlUrQgAAAAAAAAAAECKS0XddNNN9uyzz9rBgwftsssus6JFi9qWLVvss88+s0mTJlnXrl3ZqgAAAABi2pEjR2zEiBE2ffp027lzp9WuXdv69etnp59+esT7//bbb+486KeffrKsWbO6+/fs2dNOOeWUdF93AAAA4GSX4oyLNm3aWOvWre3ll192DbqvvPJK1xxPQYs77rjD2rZtm6Llbd682bp162Z169a1mjVrut4Zv//+e+j2pUuXuuepUaOGNWrUyKZMmXLUCcfw4cPtoosucve566677O+//05wn+SWAQAAAODEtmrVqhTdf9SoUfbaa6/Z448/7vr46byiffv2duDAgaPuu3XrVneekytXLnce9OKLL7rJW7r//v370/BVAAAAAEhVxoX06NHD7rvvPlu0aJFt27bNChQoYNWrV7fChQuneFn333+/O0kYN26c5c2b14YNG+aCI3PmzLF9+/a5EwQFG/r37++eTz91v2bNmiU44XjqqadcmSrNgtIJxLvvvms5cuQInWQktQwAAAAAsW379u02ZMgQ+/77711wIT4+3l2vn3v27HG3a8JSNPT4iRMn2sMPP2wNGzZ012nZmgyl85Brrrkmwf0//vhj9xzPPPOMC16Izjv02B9++MHq1auX5q8XAAAAyMxSnHHhaeC/ePHiVrBgQTv//PMtS5YsKV6GTi7UM+OJJ55wgY+KFSu6gMiGDRtcKva0adMse/bsNmDAAHebAg0KaijIETzh6NSpkztpqFq1qjvhWLdunTvhkOSWAQAAACD2Pfnkk/bmm29a2bJlLS4uzvLnz2/nnHOOK2G7Y8cOd7wfrWXLltnu3bsTBBw0GatatWqub1843U8T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yxbx3wwAAAAAAAAASAQELhKUghb7N6+P9ssAAAAAAAAAACBDqHEBAAAAAAAAAABiBoELAAAAAAAAAAAQMwhcAAAAAAAAAACAmEHgAgAAAAAAAAAAxAwCFwAAAAAAAAAAIGZEPXCxefNm16tXL1erVi1XqVIld8MNN7h58+aFvv7NN9+4Zs2auQoVKrjLL7/cTZo0Kdn379692/Xp08dVrVrVnX/++e6+++5zmzZtSvacw/0MAAAAAAAAAAAQG6IeuOjSpYv77rvv3ODBg93777/vypYt626//Xb322+/ueXLl7u2bdu6mjVrunHjxrnmzZu77t27WyDC17t3bzdz5kw3bNgwN3LkSPu+Tp06hb6enp8BAAAAAAAAAABiQ85o/vIVK1a4WbNmubfffttdcMEF9ljPnj3dV1995SZOnOg2btzozj77bNe5c2f7WunSpd2iRYvcK6+8Yjss1q1b5yZMmOBeeOEFd+GFF9pzFADRrgoFQ7QDQ8GMQ/0MAAAAAAAAAAAQO6IauDjppJPcSy+95M4999zQY9myZbO3rVu3WsqoSy+9NNn3VKlSxT3++OPO8zw3f/780GO+kiVLukKFCrm5c+da4OJwP0O/KzP0vUlJSal+TT8ze66czvP+fV4k+b8uGr/739+rX+zczp07o/L7AQAAcPQcyf0zAABAPFO6ei28fvbZZ12dOnXssd9//93dcccdltnljDPOcEOHDnUNGjRI8z5K6e61mHrHjh32PP2sU0891b7+3HPPuUceecSdfPLJthDbn+/U7z3nnHPcl19+6YoUKRLBvxgIcOAif/78rnbt2skemzp1qu3E6NGjhxs/frwrXLhwsq8XLFjQJsX/+ecf23Gh4Efu3LkPes7atWvtY70/1M8oUKBApl773r173eLFi1P92rHHHutKnlna7d+/z+3bt89F0oED++39/gOR/93//uJ99hp+++13t2vXrsj/fgAAABxVxxxzDC0MAAACRXNcLVu2dD///HOyQMTVV19tC7K1cFpZYZo2bWrzhcWLFz/oZ2jx9quvvureeustC060b9/etWnTxn3wwQfu77//dl27dnWTJ092s2fPdnfddZdbsGCBfZ++p2HDhgQtEDhRDVykpAPywQcftIijIpc6KaQcGPmf79mzx4IPqQ2cFMhQNFIO9zMyK1euXO7MM89Me8dFjhwu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x9ZovwwAAAAAQDpVrFjR5cqVK1RAWmbOnOkqV67ssmdPXoJZk+j9+/d3nudZgWm9nzVrlnvooYcO+rlDhgxx7dq1s4l8/Ry/YLUm+vV98a5iwNuNwAUAABEUrV0DUvKkQq5BibIR/70AAAAAgOBSuqJbbrnFJstfe+0199dff7lBgwbZx/7OAK3410T6tdde6x544AF37733urZt27oXX3zR7dixw1133XXJfuY///zj3n33Xff999/b55rMf/zxx913333nRo0a5apWreriXd6AtxuBCwAAArJroECe4yP+OwEAAAAA8GsqXHLJJTbZ3qdPH9esWTNrGKUz0mT8rbfe6vLnz+8++ugjm6x/6aWXrGD05MmT3XHHHZesEYcOHWoT9H4Nh+rVq9v36+eff/757plnnkmIRh8c4HYjcAEAAHAIx+XK7VRS/MDe5IXO4qWoOQAAAABEmybKR44caW8ppUxPdNFFF7kFCxYc8udpAj+lgQMH2lsiyRvgdiNwAQCIK0wiI9JyK2hw4IDbPis+i5oDAAAAABBvCFwAAOIKk8iIlnguag4AAAAAQDwJTOBC1dGfffZZN3bsWLdt2zYrPNKrVy93+umnR/ulAQgodg4cGSaRAQCRHB+okGHfvn3dl19+6bJly+YaNmzounfvbsUQAQAAAGStwAQuhg8f7t5++23Xv39/V7hwYcvb1aZNGzdx4kR3zDHHRPvlAQggdg4AABA/44NOnTq5nTt3utdff91t3brVPfTQQy4pKckNGDAgKq8fAAAASGSBCFzs2bPHjRgxwnXt2tXVqVPHHhsyZIirWbOmmzZtmmvUqFG0XyKAAGPnAAAAsT0++O6779y3337rJk+e7EqXLm2PPfrooxbo6NKliytUqBD/QgAAACALZfNSlh9PQD/88INr3ry5+/jjj13JkiVDj99www3urLPOSrWa+qGoOruaLVeuXGk/KVs2l7Rnl9sf4ebNlT2Hy5MzlzuwO8m5A/tdxGXP4bLnzusy/VdHqd2i3nZH2m5B7XNx3G5C29Fu9LkM4jwHRN3evXstTVKlSpVckMYHL7/8shs5cqSbOXNmsuBHhQoV3FNPPeWuvPLKDL+Gw40pdu/e7VavXu1y58zjsmXL4YLC8/a73ft2utNOO83lzp07w98farfcx7ls2YPTbuId2O92796Rqbbz2+2YPMFstz07M9du4W2XK28w225v0pH1uZzHB7Pd9m3Pgj6X7ziXLWfA2m7ffrd325H1uWNPyBvIdtu1JSnTfU7279/v9u3b54IoZ86cLkeOzPUZ2i3HEY0pArHjYu3atfa+SJEiyR4vWLBg6GsZoYYNf5+W44451kVL9mOPc9F06JZxMdtu0W67I2m3IPe5eG43oe1oN/pc+nGeA6JL97+HuwdOxPHBunXrDnqu0kmdeOKJbs2aNZl6DYcbUxx77LGuVKlSmfrZQUa70W70ufgQ+GO1IG2XaafS5zLlZHfEk/d6A+0WyTFFIHqcctFKyly1ijJu2bIlwz/v/PPPz7LXBgAAACC2xwd6fmp1L/R8reDMDMYUAAAAQNqyu4BE8v3t3OE0yMiTJ0+UXhUAAACAeBgf6Pkpn+s/P2/evEfxlQIAAADBFIjAhb+te/369cke1+cU0gMAAACCJaPjg8KFCx/0XAUyNm/ebOmlAAAAAGStQAQuypQp444//ng3Z86c0GNbt251ixYtcpUrV47qawMAAAAQ2+MDPabaFytWrAg99u2339r7Cy64IEKvGgAAAAiOQNS4UD7aVq1auUGDBrkCBQq4okWLuoEDB9rKqQYNGkT75QEAAACIofHB/v373aZNm1y+fPksTVSFChVcpUqVXOfOnV3v3r1dUlKS69Wrl7v66qvZwQ0AAAAcBdk8z/NcAGjwMXjwYDdu3Di3a9cuWzWlwUaxYsWi/dIAAAAAxND4YNWqVa5evXquX79+rlmzZvb8jRs3uj59+rivvvrKinJffvnl7sEHH7SPAQAAAGStwAQuAAAAAAAAAABA7AtEjQsAAAAAAAAAABAfCFwAAAAAAAAAAICYQeACAAAAAAAAAADEDAIXAAAAAAAAAAAgZhC4AAAAAAAAAAAAMYPABQAAAAAAAAAAiBkELgAAAAAAAAAAQMwgcAEAAAAAAAAAAGJGzmi/AAAIii+++MKtW7fObd++3VWtWtWVK1cu2i8JABBw8+fPd8WLF3ennnpqtF8KAABAwmD8H3+4L4492TzP86L9IgA4p0MxW7ZsgWuKoPzdgwYNch9++KErXLiwW758uTvttNNc69atXbNmzaL90gLd5/bs2eOOOeaYaL+kuHfgwAGXPTubOGkz+lu8+frrr1379u3dHXfc4Vq2bOkKFCgQ7ZeEAOCaQXsdDUEZU8SioLY9YwocCuP/+MN9cWzexzHLEFBpxauIY0XvwPdv9vbt2+e2bt3qgsL/u59//nn3+uuvu0Q0ceJEN3nyZPfiiy+6t956y82cOdMdd9xxbtq0adF+aYHk9zn1N/9/sH///ii/qsS4cZk7d66bMWOGmz59erRfVszz22zs2LHuzz//DLUl0t92On6XLl1Kkx2BatWquWuvvda9//777p133nEbNmygPXFUcc3IOK4X6ROEMUUsYhzLmCItQZ5zYvwfn7gvjs2xGIGLgN9c/PXXX+6XX34JdTY9zsRJ5P8f/oH/0ksvubvuuss1bNjQTZgwwe3evdsFgVa9r1692n322Wdu06ZNLtEsW7bMlS5d2p199tn2eZ48eWyiSI9v3rw52i8vsDS5/tprr9nHOXLkiPbLiVv++WvgwIHu/vvvd0888YQbOXKk++mnn6L90mJeUlKStdcbb7xhn7NrJX004P3jjz/cI4884n7//Xd7jHuXjNu7d6+979mzp6tbt67tCnz33XcT8jqM2ME1I3O4XqRPoo8pYg3j2H8xpki9bwR5zonxf/zhvjh2x2LUuAhgB/MHDM8884ybNWuWdbSiRYtaeoBXX32ViZMI8/8fTz/9tBszZoyla6hevbrLmTOny507twvCdmKl6qldu7ZNniiNkvpiIqQR8P/OtWvX2ipW/T3+36SvbdmyJRArTmKtz2l3hQIVnTp1co8++qj75JNPXP369aP9EuOazl0Ktuoaot1Exx57LPnyD0PnuLx581qwWgNe7bo4/fTTI/MPi3M6lkuUKGHH7bBhw2x11PHHHx/tlxV3dJ8h8+bNc0WKFHF///23BXPVvtdff707+eSTo/0SkaC4ZmQM14u0BWVMEauCPo5lTJF2GwV1zonxf/zivjh2x2KJebZAurbQvv32265Dhw7uo48+cuedd55dUH788cfQc5lQjRxFKz/99FPXr18/d+utt7pbbrnFNWrUyL72zTff2MR3IvbDHTt2hB679NJLXeXKld2QIUNstVQi3Mz4f6f+NkXw/XQwosld3dD7N/Ucb5H5X4TvrjjzzDNdvnz5SGuUBbSKqmbNmq5MmTI2+e4X+VUwQ8EhHHyM++e4qlWr2mBOheCEc8HBUq7g8T+/5ppr7ByqiffUnofDnxe/+uor16pVK2u7++67z3ZevPfee2706NFu48aNNCGO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f/31116FChW8e++919u5c6c95+mnn/bq1Knj9ezZ09u4cWPo+xLRl19+6Z199tnea6+95u3ateugr+/bty8qrwuJacOGDd6WLVtCn+u4uvPOO7077rjDO3DgQFRfWyzy20Tt1KtXL69Ro0besGHDQm04bdo0O367d+/urVy58qDvQ/JzXbly5bz58+cna6Nly5Z55513nrXjqFGjAt9kuub51zv1qalTp9p1smPHjt4555zjzZs3z762efNm78033/QaNGjg3XLLLYFvt/T2wXPPPdd74403vD///NMbP3689Tu1sX+9bd++vVe1alX7GsA1Izq4XmS+3RhTZD3GsaljTAHEN+6LU8dYLH0SYzk58P/Cd0l8+umnbvLkyZYiRDk/lValatWqVmT0888/dz169LD80loZrjzy3333na1+3LBhQ6hgdSKuktIqbq3c1i4Ubb8Nx4pZZCWlNNLxp2NMKdpuvPFGt27dOvfcc8+FdjXhP2oTrVzX+eehhx6yQuZTp04NHavataLUR0rdo+Lnf/75Z+j7giq8D6nt9u7da2nvVKhcqcmUpuyHH34ItZF2WtStW9eKV15//fUu6Cu1CxQoYP1N/UqpBHXM6jqpXT3aHaDjVtdG7Y7SjpVmzZrZczh2D0+pyZTmTW9aaaZjVsXfS5cubTV/dL3VjtAqVarYjk8go7hmZAzXi6zFmCLrMY5NG2MKIL5xX3wwxmLpR40LJIzwlCn9+vVz7733nt0AKjjx4IMPWl5zn/LrK12DJrZefPFFS4uhFFEffvihFa++++67EyZNVGqUvkJBGqXOCvKkJ44+TSKr8PvcuXMtFY1SH5GS7GCppaZT2ymtnVK6XXrppZbqTVvmFZRVjnxNGqhAcsGCBQPflXUu++mnnyzFltId6fyuj5WSRxPEOq+fdNJJ7t1337Ug0OjRowNb0yIlBfIVuFB7qdaFim2rgLkKSPfv39+ulwp2K61ghQoVbJI90dIpZuU9iF/cXekXmzdvbsEeLY5QjZpHH33UzZ4927Vv396CF36qLSCjuGZkHteLrMWYImswjj08xhRA/OC+OP0Yix0egQsknN9++80mXhSs0KSKJq6UX1qrazWJ4FPufeXsVu0Hf4eFnqvJBu3QCMrFhIKgiDTy4ac9AaUaPLt27bKdKproVFup8Oq3335rOwX84MWkSZNs8kX1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V65cOffxxx+7MmXKuIoVK9pztm/f7j788ENXtGhRCmECAAAAACKOcSwAANFF4AIRK2A2fPhwN3bsWPf888+7PHnyWGDiuOOOc9988437/fffXYsWLeyxffv22fe899579j58lQsAAAAAAIxjAQBIbBTnRkRoh0X37t3dVVdd5S677DL366+/2s4L7bbYvHmz7bi4/vrr3eLFi13x4sUtZVTOnDktiKH3AAAAAABEEuNYAACih8AFIkLpnxo3buyqVavmypcv71544QULUJx77rlW60K7MaZOnZqspoUKcVPTAgAAAAAQDYxjAQCIHpayIyKOP/5416lTJ/fUU0+5zz77zNJC1a9f32pczJw503Zc5MqVK9n3ELQAAAAAAEQL41gAAKKHHReIqI0bN1qAIn/+/Pb5nj173N13322Fz1588cVQPQwAAAAAAGIB41gAACKPwAUibs2aNa5fv35u69atljN07969VrRbAQ0KcQMAAAAAYg3jWAAAIovABSJOuyymTJni5s6d60qVKuVuvvlmCnEDAAAAAGIW41gAACKLwAViAoW4AQAAAADxhHEsAABHD4ELAAAAAAAAAAAQM7JH+wUAAAAAAAAAAAD4CFwAAAAAAAAAAICYQeACAAAAAAAAAADEDAIXAAAAAAAAAAAgZhC4AAAAAAAAAAAAMYPABQAAAAAAAAAAiBkELgAAAAAAAAAAQMwgcAEAAAAAAAAAAGIGgQsAAAAAAAAAABAzCFwAAAAAAAAAAAAXK/4PsXhY79uz3EIAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "----------------------------------------------------------------------------------------------------\n", " 📌 Top 5 Tasas de Éxito en 'marital_status': married-civ-spouse: 44.8% | married-af-spouse: 42.1% | divorced: 10.3% | widowed: 8.9% | married-spouse-absent: 7.6%\n" ] }, { "data": { "image/png": "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PnzY5syZY3fccYdddtllduGFF9qNN95okyZNco+l1X///Wc7d+60aHbw4EH3nq+44oqIbqs+6y+88IL7/Ztvvgmcd1OnTk3yOdOnTw8sFw3++uuvdH09fU9efvnl9uabb57w2Lp165L8LH/66adumY0bN7q/x44dm+RrHDt2zK699lr7+OOPT+l7AQAgWoVqJ+ta5pJLLrEWLVrYW2+9FdHXi3TbOtz1aRktm9Tf3n5ISbjLhetk1hfpbckIOgb+45Aaw4cPD9kWVFveb9++ffbUU0/ZlVdeaRdffLG7Xl+5cmWiZdRe1HPVfozEtqpted1117m2ZrAjR47YDTfckGQbdcmSJe46rFq1am6btdzRo0fTtNxvv/1mzZo1c8vcc889tnXr1hPW0717d3vkkUcsXNoH/v193nnn2UUXXeTa1E8//bRrw0frNUe/fv1s6NChp2z9wJkqc0ZvAIDIU0evOigXLlxod911V8hl9JgaLjfddBOHIB2pYZY/f/6Qj+XIkcP9fPTRRwO/xyIF3jp16mQ//vijNWrUyDVE4+Pj7csvv7RRo0bZF198YZMnT7asWbOmar0///yzPfDAAzZy5MgTLiqiyfz58+3ff/+18ePHW4ECBSKyzkWLFtl3333nLrKCffLJJ9a+ffuQz/voo48sWuiCp3DhwjZs2LB0eT0FynQxtWPHjpCP//rrr4EL9+DjVKVKlbBfR+d2165dbciQIS5YEsuffQBAbPO3kxMSEtzAk3feecf9r921a1eS7ZXTxf33328HDhxI8vHbb7/dateuna7bhJOjAS1ly5Z11xh+2bJlS/T3Qw895K5lFLQqWbKkvfzyy+53BefOOeeciB8GnWdqW/bu3du1Nf302RowYIDb9lB0zdChQwcXFOjZs6cLQDz//PO2fft2GzRoUKqXU4e92tW9evWyWbNmuZ8vvfRS4PG1a9e6a473338/Ve9R3xVe0EPvSUEiXe/NmDHDPvzwQzcYrlChQpZaugbTcfnf//5np4Kuc6+//npr2rSp23cAwkMAAzgDqcN38ODB7h93UgGM9957z/LmzWv169dP9+2LZQ0bNrSzzz47xWVilRqfauCvXr3aZQaoQ9ejRv6LL77oAhAKZKRmlI7XON62bZtFu6+//tq916uvvjoi6zt+/Lgb8dWmTRvLmTNnosd0LuriQ50CwYE1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AABJIYABAAAAnGLHjx+3RYsW2SuvvGJPPPGElShRIsXnrF271sqUKWNFihQJ+ficOXMsS5YsNnjwYMucObOVL1/eNmzYYJMmTSKAAaQTBS/y5k/58wwAAIC0IYABAAAAnCI7d+60119/3WbPnu0yJm688Ubbt2+fK+2UlI8//tjOPvtsW7NmjQtKJGXZsmVWs2ZNF7zw1KpVyyZOnOhGNKu2vN8///xjd999txUvXtxeeOEFy549e4TeJQAAAACcGgQwAAAAgAj78ccfXbbFe++954IQHTt2dMGL3Llz27Fjx+yLL75I8rmay8LLwMifP7/ddddd9vvvv9s555xjDzzwQGBejC1btljFihUTPdfL1ti8eXOiAIYCKZofo2TJkjZ+/HhXmgoAAAAAoh0BDAAAACCCNm3aZC1atLBy5crZzJkzrVq1aokej4+Pt8KFCye7jqNHj9r69eutQoUK1rdvXxf4WLBggd177702bdo0q127th08eNCyZs2a6HleYOLQoUOB+/79918XvFDZqueff/6E5wAAAABAtCKAAQAAAERQwYIFrX379vbmm29a79697bbbbnNzUniZFX///bfdcMMNST5fgQoFG7755hsX7PBKPV1wwQX266+/2pQpU1wAQ/cfPnw40XO9wEXOnDkD940ePdqOHDnink/wAgAAAMDphAAGAAAAEEEKLPTp08e6detm8+fPt1mzZtmYMWOsUaNG1rJlS7v44ott3rx5ST7fKwOVK1euEx4799xzA+WnihUrZtu2bUv0uPd30aJFA/ddfvnlLoDSpUsXu/76661OnToRe68AAAAAcCrFndK1AwAAADEcyFApqbfeestmzJjh7lMpp61bt7r5LJK6aVJuZVpccsklLgvD7+eff3ZlpaRGjRq2fPlyN6eGZ8mSJVa2bFmXBeJp3LixC54oeDFgwAD777//0m0fAAAAAMDJIAMDAAAAUa9Azjyn9WsqGKHbI4884uazSIkm/tYcGoMHD7ZBgwa5ybznzJljK1assDfeeMMto6yKyZMnW79+/axDhw5u4vDp06e75UPRcgpiDB8+3K0XAAAAAKIdAQwAAABEtbhMcXZL5RoZ9tqRVKhQofBeNy7OJkyYYKNGjbLu3bvbnj17rEqVKm4C74oVK7pllGWhAMaQIUOsadOmbmJwzbmh35N6bT2uQMZ1113n5tEAAAAAgGhGAAMAAABRLUt8vJnpFlsUcBg6dGiyy1StWtVee+21JB9fs2ZNor9vvfVWdwMAAACA0wFzYAAAAACIScePH3cTrNetW9dNrt6xY0f766+/wnruO++8Y5UqVbKNGzee8u0EAAAAYhUBDAAAAAAxafz48TZr1ix74oknbPbs2S6goflEDh8+nOzzNm3axDwiAAAAQDoggAEAAAAg5ihIMXXqVOvatavVr1/fzjvvPBs9erRt2bLFFi5cmOTzFOR4+OGH7fzzz0/X7QUAAABiEQEMAAAAADFn9erVtm/fvkSTmefNm9dNlr506dIkn6fJ1Y8cOWL33XdfOm0pAAAAELuYxBsAAABAzFGmhRQvXjzR/UWKFAk8FuzHH390WRuvv/66bd26NSLbkZCQYPv37092mQMHDkTktfB/+zKl/R0Ojkn0HRMAAHD6UBs4U6ZMYS1LAAMAAABAzPE6oLNmzZro/mzZstnu3btPWF4drL169XK3MmXKRCyAoWyOVatWJbvMH3/8EZHXwv/ty+zZs5/0ruCYRN8xAQAAp5fgdnhSCGAAAAAAiDleh6nmwvB3nh46dMhy5MhxwvJPPvmklS1b1u64446IbkeWLFmsQoUKyS5z8ODBiL5mLFPwqXLlyie9Ho5J9B0TAABw+li3bl3YyxLAAAAAABBzvNJR27Zts9KlSwfu19+VKlU6Yfk33njDjRKrVq2a+/vYsWPuZ5MmTez+++93t7RQ6nzOnDmTXSZUQAVpo32Z0v4Odz2IrmMCAABOH+GWjxICGAAAAABiznnnnWe5c+e2b775JhDA2LNnj/3yyy/WqlWrE5ZfuHBhor9/+OEHe/jhh23SpElWsWLFdNtuAAAAIJYQwAAAAEBUSzh6xBISjmfIa2fKFGeZMmeJ+Ho1f0K9evVOuH/o0KHWrFkz97vmRRgyZIj9/PPPVqBAAWvbtq21bt06sKyyBPzLI3WUTaFAxciRI93+LVmypI0YMcKKFStmjRo1chkWO3futDx58rgSU+ecc06i53sTfZcoUcLy5cvH7gcAAABOAQIYAAAAiGoKXvz3xTt2bM/OdH3d+LwFLHedmyz85ObwrV692k0W/dFHHyVKn1ZnuezatcvatWtnDRo0sEGDBtmKFSvcz1y5clnz5s1PwRbFpq5du9rRo0etf//+bk6DGjVq2JQpU9y8FBs3brSrr76aIBEAAACQgQhgAAAAIOopeHHs3212Ovj7779twIABdtddd1n9+vUtLi7uhGXWrl3rJq4tUqRIyHXMmTPHdaIPHjzYMmfObOXLl7cNGza4ckUEMCInPj7elYHSLdjZZ59ta9asSfK5l112WbKPAwAAADh5J15NAQAAAEgzlRNSOaKePXtaw4YNXdBBpYj81PGtoERSli1bZjVr1nTBC0+tWrXsjz/+sO3bt5+w/D///GPXXnuty9pQJgEAAAAAnAkIYAAAAAARlDNnTpc5sXjxYuvQoYMtWLDArrzySuvTp4/9+OOPgQwMBTWUpXH55Zdby5Yt7fPPP080v4LmYvDzsjU2b96c6H6tR/NjKGgyYcIEN18DAAAAAJwJCGAAAAAAp0Du3LntzjvvtLfffttmzpzpghctWrSwTZs22fr162337t3WpUsXl6Fx8cUX27333mtff/21e66yKDTJtJ/mzJBDhw4F7vv3339d8EITSb/wwguBZQAAAADgTMAcGAAAAMApouyIN954w81psWfPHmvfvr0VLFjQvvnmGzf/gpctccEFF9ivv/7qJpCuXbu2u//w4cOJ1uUFLpTh4Rk9erQdOXLEPT844AEAAAAApzsCGAAAAECEaQ6LV1991T788EM799xzXXbFjTfemGx5Jy33xRdfuN9VPmrbtsSTlnt/Fy1aNHCfyk9pUm9lclx//fVWp04djiUAAACAMwYlpAAAAIAIUokolXUSlY566623XOkoL3ihTItLLrnEZWH4/fzzz1ahQgX3e40aNWz58uV27NixwONLliyxsmXLugwOT+PGja1Ro0YueDFgwAD777//OJYAAAAAzhhkYAAAACDqxectcNq8pgIMixYtskKFCoV8vHz58lauXDk30fegQYMsf/78rsTUihUrXLkpUVbF5MmTrV+/fm4icM2fMX36dLd8KFpOQYzhw4e79QIAAADAmYAABgAAAKJapkxxlrvOTRn22qmlTIvkSkXFxcXZhAkTbNSoUda9e3c3N0aVKlVs2rRpVrFixUAQRAGMIUOGWNOmTa1w4cLWu3dv93soCpbocQUyrrvuOjePBgAAAACc7qIqgPH7779bs2bNXPq7fsqqVavchZtS6gsUKODS8Vu3bh14zvHjx23cuHE2d+5c27t3r0u3f+yxx6xUqVKBZVJaBwAAAKJX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119/tYsvvthuuOEGK1mypOXIkcP27NljW7ZsseXLl9u8efOsUqVK1rNnT7viiitO7dYDAAAAOKOtXLnSnn322SSDF6LH2rdvbz169EjXbQMAAAAQBQGMQYMG2SeffGJt2rRxgYuiRYsmuew///xjc+bMsb59+7oU74EDB0ZyewEAAADEEJWr3bRpU4rL/fHHH4HSUgAAAABiKICRP39++/DDDy179uwpLlu4cGHr1KmTtW3b1qV5AwAAAEBa3XLLLTZy5Eg3517Dhg2tYMGCiR7ftWuXu1YZPXq0tWzZkh0NAAAAxFoAo2vXrqlesUY/de/ePS3bBAAAAABOly5d7L///rMnnnjCZXfrOiN37tyBSbz1WEJCgjVt2tSVsQUAAAAQw5N4AwAAAEB6iY+Pt/79+7tJur/66itbv3697d271wUtFMgoW7asm3uvRIkSHBQAAAAgFgMY5513nmXKlCnsla5atepktgkAAAAAEilWrJg1a9aMvQIAAADEkLACGJrTwgtgHDp0yKZNm2ZlypSxxo0buzkv/v33XzfJ99q1a+2BBx441dsMAAAAAIkcOXLE/vnnHzIxAAAAgFgLYKjurOfRRx+1+vXr29ixYxNlZdx///328MMP28qVK0/NlgIAAABAEn755Re74447yAYHAAAAziBxqX3C+++/b7fffnvIklI333yzLV68OFLbBgAAAABhl5hS5jgAAACAGA5g5MqVy/78888kRz2dddZZkdguAAAAAAhb0aJFrXPnzuwxAAAAINZKSPndcMMN9swzz1iWLFlcKan8+fPbjh077IMPPrDnn3/eOnbseGq2FAAAAAAAAAAAxIxUBzB69uxpmzdvtsceeyxRGamEhAS77bbbSNsGAAAAAAAAAADpH8DImjWrjRkzxn799VdbtmyZ7dmzx2Vh1KpVy0qXLn3yWwQAAAAAAAAAAGJeqgMYnnPPPdfdgv3333+WO3fumN+xAAAAAE7eeeedlyjzOzlaTvPyAQAAAIjRAMbhw4dtxowZ9u2337rfVTpK9HP//v22bt06++GHH07FtgIAAACIMePHj3dlbLNly2atWrXK6M0BAAAAEM0BjOHDh9vLL79sFStWtJ07d7oLiQIFCtjatWvtyJEj1rlz51OzpQAAAABiToMGDWzChAnWvn17K1q0qLVo0SKjNwkAAABAOolL7RMWLlxo7dq1s3feeceNgLrgggts7ty57v6SJUva8ePHT82WAgAAAIhJl112mXXo0MGeffZZO3ToUEZvDgAAAIBoDWAo66JevXrud2Vh/PTTT+53jYa699577b333ov8VgIAAACIabrW0G3btm0ZvSkAAAAA0kmqS0jlyZPHzX0h55xzjm3evDkwcXeZMmXc3wAAAAAQSbly5bI2bdqwUwEAAIAYkuoMjOrVq9tLL71kBw4ccAGMHDly2EcffeQe+/77710gAwAAAAAAAAAAIF0DGJqke8WKFS59O3PmzHbnnXfagAEDrFmzZvbcc89Z48aNT2qDAAAAAAAAAAAAUl1CqlKlSvb+++/b2rVr3d89e/Z0WRffffedNWjQwAU2AAAAAAAAAAAA0jWAIYULF3Y3yZQpk91///0ntREAAAAAAAAAAACpDmDMmzfPUuOWW25J1fIAAAAAAAAAAACpDmD07ds30d/KupCEhIQT7hMCGAAAAADS0/79+23ZsmVWr169sJ9z/PhxGzdunM2dO9f27t1rNWrUsMcee8xKlSoVcvmVK1fa8OHD7ccff7Rs2bJZo0aN7OGHH7Y8efJE8J0AAAAASFUA4+OPPw78vmrVKtdIf/DBB+26666zIkWK2K5du+yTTz6xsWPH2tChQ8NZJQAAAACkyqZNm2zgwIH27bff2uHDh0Muo+uVcI0fP95mzZplw4YNs2LFitmIESOsQ4cONn/+fMuaNWuiZbdv327t2rWzhg0bum3QNdCAAQPcYK/nn3+eIwkAAABkVACjZMmSgd+7dOnighcdO3YM3Fe0aFFr2bKlu4hQo//KK688FdsKAAAAIIZpsNR3331nLVq0cD9z5MhhF198sX355Ze2du1aN6AqXLp2mTp1qvXq1cvq16/v7hs9erTVrVvXFi5caE2aNDkheFKnTh0bPHiwZc6c2cqWLWu33Xabew4AAACAUyMutU/47bffrEqVKiEfK1eunG3cuDES2wUAAAAAiSxdutR69Ohh/fv3t2bNmrkyTsoOf+ONN1z5J3/meEpWr15t+/bts9q1awfuy5s3r7vW0esEu+iii+yZZ55xwQvvuujtt9+2K664gqMEAAAAZGQGhl+ZMmVcSnWohvprr71mFStWjNS2AQAAAECAAg6VKlUKDJ7S/BUSHx9vd955pz399NNh760tW7a4n8WLF090v0rkeo8lpXHjxvbHH3+4THVvG9JK8wpq/o7kHDhw4KReA4n3ZUr7Oxwck+g7JgAA4PShNrB/Tu2IBjA6depk3bp1cw32q666yvLnz+/qwSrNet26dfbiiy+mZZsBAAAAIFkKLujaQ8455xzbvXu3/fPPP1a4cGHLly+f7dixI9Ud0MFzXSirQ+tNzsiRI93zVT63devWLhMjV65caTp6R44cSXHeDl17ITK0L7Nnzx6R9SC6jgkAADi9BLfDIxbAaNSokZukTrdnn33WRUvi4uKsWrVqNn36dKtevXpathcAAAAAkqW59nQNogm3df2hn5rHQoOsVEZKc/OFy+sw1VwY/s7TQ4cOubk1knPhhRe6n8q+0Db973//s1tuuSVNRy9LlixWoUKFZJc5ePBgmtaN0BUFKleufNK7hmMSfccEAACcPpQIEa5UBzCkQYMG7qbGvUYnabRTuBETAAAAAEiLrl272s8//2zPPfecGzyl+TD69u3rfpfHHnss7HV5paO2bdtmpUuXDtyvv70yVX7r16+3P//8MzDhtyhgomuhrVu3pvmAKnU+Z86cyS6TUkAF4dO+TGl/h7seRNcxAQAAp49wy0eFHcD4+++/XVq2Rgfp92BeGrenRIkSYW8AAAAAAIRD5Wvnzp3rggxy0003uWuPFStWWNWqVa1mzZph78jzzjvPcufObd98800ggLFnzx775ZdfrFWrVics/9VXX9nw4cPtiy++cJN9iwIau3btsvLly3MAAQAAgFMgrADG1Vdf7Sbo1kWBMi9SipCkVMMVAAAAAE5mLgyPStimpYytMsgVqNB8FgUKFHATcmtOC5WlUtncY8eO2c6dOy1PnjyuxFSTJk1s0qRJ9vDDD1uvXr1cJvqTTz7prpE0NyAAAACADApgPPXUU1aqVKnA76lJ8QAAAACAaC1JdfToUevfv7+b06BGjRo2ZcoUl3m+ceNGN5Br6NCh1qxZM1cqasaMGTZs2DBr2bKlxcfHu8dVwkq/AwAAAMigAEbTpk0Dv9eqVStQTiqY5sRYuXJlZLcQAAAAAE4BBR6UUaFbsLPPPtvWrFmT6L6yZcvaxIkTORYAAABAOolL7RM0yiipElE//vijtWvXLhLbBQAAAAAAAAAAYlhYGRhPP/20/fvvv+73hIQEGz9+vJtAL5gCG6oRCwAAAAAAAAAAcMoDGOXKlbMXXnjB/a75L37++Wc36V1w+rWCF4888shJbRAAAAAABDt8+LAtX77c1q9fb/v27XPXJbr+KF++vJtIO1u2bOw0AAAAIBYDGC1atHA3adCggcvAOO+88yKyATt27HAT4S1evNjNoaGJ8/r06eMuRLysjiFDhrigSYECBaxt27bWunXrwPOPHz9u48aNs7lz59revXvd8x977LHApOPhrAMAAABA9HrxxRfd3BP//fdfyMfz5s1r999/v7Vv3z7dtw0AAABAFM2B8cknn0QseCGdOnWyDRs22KRJk+z111+37NmzuwDDgQMHbNeuXW5OjdKlS9sbb7zhlh05cqT73aNgyqxZs+yJJ56w2bNnu4BGhw4d3AgtCWcdAAAAAKLT1KlT7ZlnnrE77rjDDVr69ttvbeXKle72zTff2Jw5c9xgK7Xxp0+fntGbCwAAACC9MzD8NAeGLhw+/fRTF2RQwMBPqdwzZswIa127d++2kiVL2n333WcVK1Z09z344IN2880326+//mpff/21ZcmSxQYPHmyZM2d2WRlesKN58+YuSKELml69eln9+vXd80ePHm1169a1hQsXWpMmTdwFTXLriGW5smSzLMpiOXLIolmmTHGWKbO2FAAAALHmlVdecdkV3bp1O+Gxs846y5WP0k1tfi2rwVAAAAAAYjSAMWrUKJs8ebKdffbZVqxYMRewCA5whEsXHFqfZ+fOnW7UlNZboUIFGzt2rNWsWdMFHjy1atVy6ePbt2+3v//+29W/rV27dqL08SpVqtjSpUtdAGPZsmXJrqNQoUKp3QWB97l///5kl9G+icuS2bRLUrNf0kvW+CyqwWV7v3jHju3ZYdEoPm8By1PnZjt44EBE9mG0HxNvkxQcjMbtAwAAsU3tk+D2/6mmkrOXXnppistdcsklbnATAAAAgBgOYMybN8+VZNI8FZE0YMAAly2hycE1YXjOnDlty5YtgcwMT5EiRdzPzZs3u8elePHiJyzjPZbSOtIawDhy5IibWyM5KodVtkJ5O3bsqB09etSizfHjx9zPw/9us6M7t1o0ynzsqNvO9et/t4MHD570+qL9mGi7jh07Zr+vXx+R9wsAABBpaq+nJw1sevfdd61OnTrJLqcSsWXLlk237QIAAAAQhQEMTZznlWuKpDZt2tjtt9/u0r41T4XmtVAHbvAFUrZs2dxPTfit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nilTJmvZsmUktg0AAABAjLv33nsD1x4JCQnWqVMny5o1a8gBVqVLl86ALQQAAAAQNQGM4cOHu1qzffr0sU8//dRdPFx11VX2+eefu9vMmTNPzZYCAAAAiDn333+/zZ071/3+1ltvWZUqVaxAgQKJlomLi7O8efO6eTAAAAAAxHAA44cffnCp27feeqvlyJHD5s+fH6hB27VrV1d3tnr16qdmawEAAADElEsuucTdPA8++KCVKlUqQ7cJAAAAQJTOgXH48GErU6aM+10/VVLKoxFPK1asiOwWAgAAAICZDR06lOAFAAAAEENSnYFRokQJN3GesiwUwPjvv//cBN5nn322Kyel8lIAAAAAEAmVK1e21157zapWrWrnnXeem3MvKXrsl19+YccDAAAAsRrAaNSokY0aNcpy5sxpjRs3tnLlytmzzz5rHTt2tKlTpzIiCgAAAEDEaNLuokWLBn5PLoABAAAAIMYDGJ07d7YNGzbY66+/7gIYmg9D9y1YsMDi4+PtmWeeOTVbCgAAACDm6FrD06VLl2SXPXr0aDpsEQAAAICoDWBky5bNxowZY0eOHHF/161b103kvXLlSjv//POtdOnSp2I7AQAAAMS4/v37u1v27NlPeExz8/Xp08fefvvtDNk2AAAAAFEwibcnS5Ysgd8VtLjuuusIXgAAAAA4ZTRw6uabb7Yff/wxcN+xY8ds3Lhxduutt9revXvZ+wAAAECsZWBcffXV9vzzz7tJ8xo0aJDixHkfffRRJLcRAAAAAOzNN9+03r1725133mkPPPCAXXXVVdavXz9bu3attWrVyrp3785eAgAAAGItgFGzZk3LlStX4HcmzgMAAACQ3sqXL29z5syxF1980caOHesyL8qVK2dz5861KlWqcEAAAACAWAxgDB06NPD7sGHDQk6WlzlzqqfTAAAAAIBU+fPPP23JkiWudFSRIkVs48aNtnjxYqtUqZLFx8ezNwEAAIBYnwNj0qRJdu+99wb+Xr58udWpU8defvnlSG4bAAAAAAQo40JzYKxfv94mTpxoH3/8sbVp08bGjBljzZo1SzQ3BgAAAIAYDGBMnTrVnn32WStTpkyiSbyvvfZal52h9G0AAAAAOBUBDF13vPvuu3bllVdalixZ7KGHHrJXX33Vjhw5Yi1btmSnAwAAAGeQVNd9mj17tpscz5+BUbx4cevfv78VKlTIpk+fbi1atIj0dgIAAACIcePHj7cGDRqccH/VqlVt3rx59txzz2XIdgEAAACIkgyMrVu32oUXXhjysYsuusjVoAUAAACASAsVvPAoG+OBBx5gpwMAAACxHMAoWbKkff311yEfW7p0qRUrViwS2wUAAAAAdscdd9hvv/2WaE8sXLjQ9u7dm+g+zX9Ro0YN9hgAAAAQyyWkbrvtNhsxYoSrMduwYUMrWLCg7dy50z799FObNm2a9ezZ89RsKQAAAICYs2LFCtu3b1/g72PHjlm3bt3s9ddft/PPPz9Dtw0AAABAlAUw2rZt68pIvfTSS26+C098fLy1adPG2rVrF+ltBAAAABAjFKzIlCmT5cyZM8llEhIS0nWbAAAAAJwmAQzp06ePPfjgg/b999/b7t27LW/evG7ivPz580d+CwEAAADEDA2W6t69u02YMMFKlCiR0ZsDAAAA4HQLYEiePHmsXr16kd0aAAAAADEtX758LsOiefPmSc69F0nHjx+3cePG2dy5c928GppH47HHHrNSpUqFXP7XX391JXV/+OEHi4uLc8v37duXYAsAAAAQDQGMgwcP2gsvvODmvDhw4IBr8Psp3fujjz6K5DYCAAAAiBEFChSw+fPn24cffpgurzd+/HibNWuWDRs2zIoVK+aCEx06dHDbkDVr1kTL7tq1y5XMveSSS1xJ3cOHD7vnafm33nrLsmXLli7bDAAAAMSKVAcwhgwZ4ibMq1mzplWuXNmNOgIAAACASGrcuHGyj2vg1MlSAGLq1KnWq1cvq1+/vrtv9OjRVrduXVu4cKE1adIk0fIaqLV//34bPny4Zc+e3d2ngIee+91331nt2rVPepsAAAAAnEQAQw35Hj162L333pvapwIAAABAqg0cONBy586daALvAQMGWK5cuQLL/Pfff6le7+rVq92k4f7Ag+b3q1Klii1duvSEAIaWU8aGF7wQb0DXnj170nRk9X4UFEmOMt8RGdqXKe3vcNeD6DomAADg9KE2cLgDklIdwDhy5IibsBsAAAAATjXNMeEPXCR1n4IZ1atXT9W6t2zZ4n4WL1480f1FihQJPOZ39tlnu5vfpEmTXEDD26a0XF+tWrUq2WX++OOPNK0bofelPwCVVhyT6DsmAADg9BJcrjViAYw6derY559/brVq1UrLdgEAAABA2DTXxKnijaIPvnjSXBa7d+8Oa9tefvll69+/v5u7Iy2yZMliFSpUSHEeQkRGmTJlXCnkk8Uxib5jAgAATh/r1q0Le9lUBzCuv/56e/zxx23nzp120UUXWY4cOU5Y5pZbbkntagEAAAAgXXmjvjUXhn8E+KFDh0Je53iU+fHcc8/ZCy+8YA888IDdfffdad4Gpc7nzJkz2WWS2xakjvZlSvs73PUguo4JAAA4faRmPrtUBzC6d+/ufs6bN8/dQr04AQwAAAAA0c4rHbVt2zYrXbp04H79XalSpSRLPj3yyCP27rvvup9t27ZNt+0FAAAAYk2qAxgff/zxqdkSAAAAAEhH5513npsc/JtvvgkEMDQZ9y+//GKtWrUK+ZzevXvb//73Pxs1apTdcMMNHC8AAAAgmgIYJUuWTPS30qtVMzY1aR8AAAAAkNF0HaNAxciRI90cFrrWGTFihBUrVswaNWpkx44dc6Vz8+TJ40pMvfnmm/bee++5IEbNmjXtn3/+CazLWwYAAABA5MSl5Unr1693paTUaK9WrZoboTRo0KA0TbD377//2mOPPWb16tWzSy65xFq2bGnLli0LPP71119bs2bN3Hwb1157rS1YsOCEAIpeu3bt2m5bevbs6S4y/FJaBwAAAIDY1LVrV7v11lvdRNy6FomPj7cpU6a4ybU3b95sderUcUELUdkoGT58uLvff/OWAQAAAJCBGRirVq2yu+66ywoWLGg33nijzZo1y92vhv5TTz3lUrCbNm0a9voeeughN3LpmWeecetUEOSee+6xt956y02Od99991m7du3cSKhFixa50U4aHaWAhQwcONAFPMaOHetGUGmCcV2EvPzyy+7x3377LcV1AAAAADh9qI3/5ZdfurkqNIH2X3/9FSgHlVq6jnn44YfdLdjZZ59ta9asCfw9derUk952AAAAAKcwgPH000/bBRdcEGi8v/LKK+6nRiwpG2LmzJlhBzA2bNjgLjwUBLn00kvdfQMGDLDFixfb/PnzbceOHW7yvB49erjHypcv77I9Jk+e7IIPW7dudROJT5gwwapXr+6WUSBEWRbff/+9y8iYMWNGsusAAAAAcHo4fvy4y95+44033GAnlbG97rrrbPz48fbnn3+6QUwq/wQAAAAgRgMYK1ascEGCzJkzu5qwftdff30grToc+fPnt0mTJtmFF14YuE8XIbpp8jxl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dWWkXnrpJTffhSc+Pt7atGlj7dq1O6kNAgAAAIC0WL9+vZUrV46dBwAAAMRqAEP69OljDz74oK1YscL+/fdfy5s3r1WtWtXy588f+S0EAAAAADPbvXu3jR492r799ls7fPiwJSQkuP2in/v373ePr1q1in0FAAAAxOocGJ5cuXJZ4cKF7ayzzrJLL73UMmXKFNktAwAAAACfp556yl5//XU755xzXAZ4njx57MILL3Tlbffs2WODBw9mfwEAAACxnoHx9ttv26hRo+yff/5xgYu5c+fa2LFjLUuWLO7+rFmzRn5LAQAAAMS0xYsXW5cuXey+++6zqVOnukyMZ5991vbt22etWrWydevWZfQmAgAAAMjIDIz33nvPlZCqVauWPfPMM3b8+HF3/zXXXGOfffaZjR8/PpLbBwAAAACOsiyqVavmfi9fvrz9/PPPgezw9u3b26JFi9hTAAAAQCxnYEyYMMHuuOMOGzhwoB07dixwf/PmzW3nzp02Z84c6969e6S3EwAAAECM05x7e/fudb+XKVPGduzY4ebky5cvnxUtWtS2bt2a0ZsIAAAAICMzMH7//XeXbRHKRRddxEUDAAAAgFOidu3abkDVpk2brHTp0m4+vrfeess99umnn7oABwAAAIAYDmAULFjQfvvtt5CP6X49DgAAAACR1q1bN5d1oZK2motPc2E8/fTTdtlll9n06dNdVjgAAACAGC4hdf3119uYMWOsSJEiduWVV7r7dPGg+rOa/6JJkyanYjsBAAAAxLiSJUu6Ofn++OMP93e7du2sUKFC9t1331nVqlWtadOmGb2JAAAAADIygKH5LdauXet+xsX9XwLH3Xffbfv377fq1au7UVEAAAAAcCpkz57dzjvvvMDf1113ndWtW9fNgwEAAAAgxgMYWbNmtcmTJ9uXX35pS5YscZPm5cmTx2rWrOkyMpSNAQAAAACRdvToUTcHxjnnnGM33nijffPNN9a1a1fbs2ePux5RprjmxQAAAAAQowGMe+65xzp06GBXXHGFuwEAAABAelCAYsqUKfboo4+6v5988kmXedGpUyebNm2ajRo1ygYPHszBAAAAAGJ1Em/VlyXLAgAAAEB6W7BggT300EN211132W+//Wa//vqrPfDAA9a6dWvr0aOHffLJJxwUAAAAIJYDGKov+84779iRI0dOzRYBAAAAQAjbtm2ziy66yP2+aNEiNydfvXr13N/FihWzvXv3st8AAACAWC4hlS1bNhfAeP/99618+fKWM2fORI8rO2PGjBmR3EYAAAAAsCJFitjGjRutevXqLtuicuXKVqBAAbdnvv/+exfEAAAAABDDAYwtW7ZYtWrVAn8nJCQkejz4bwAAAACIhCZNmtjQoUNt/vz5tnz5cnvsscfc/UOGDLFXX33V7r//fnY0AAAAEMsBjJdeeunUbAkAAAAAJKN79+4uA3zp0qXWs2dPu/POO939P/30k7Vv397NhwEAAAAgxgIYCxcutFq1alnevHlP/RYBAAAAQAgqV3vfffe5m9/s2bPZXwAAAECsBjC6detmr732mlWtWjVw34svvmjNmjWzggULnsrtAwAAAICArVu3uvJRhw8fDtx3/PhxO3DggC1btsxGjx7N3gIAAABiKYARPK/FsWPH7JlnnrHLL7+cAAYAAACAdPHBBx9Yr1697OjRoy4bw7tW8X4vV64cRwIAAAA4g8Sl9YlM1g0AAAAgPU2YMMHOP/98e/PNN102+M0332wLFiywhx9+2OLj4+3RRx/lgAAAAACxPIk3AAAAAGSE33//3UaNGmVVqlSxyy67zKZOnWrly5d3t+3bt7sAxxVXXMHBAQAAAGI9AwMAAAAA0lNcXJydddZZ7vdzzjnH1q9f7+a/kHr16tm6des4IAAAAMAZ5KQCGF6tWQAAAAA41TTHxXfffRf4XRN5r1692v29Z8+eRBN7AwAAAIihElKdOnWyrFmzJrrv/vvvtyxZspwQ1Pjoo48it4UAAAAAYGZ33HGHPf7447Z//37r0aOH1apVyx555BG79dZb7eWXX3bzYwAAAACIsQBG06ZNT/2WAAAAAECQ1q1bu6CF5rlo0aKFy7LYuHGje+yJJ56wjh072pAhQ6xkyZLWr18/9h8AAAAQawGMoUOHnvotAQAAAIAg3377re3bty/w91133RX4vVSpUvb+++/brl27rECBAuw7AAAA4AzDJN4AAAAATlsqYUvwAkB6OHTokF1wwQW2aNGiwH2///67NWzY0HLlymVVqlSxhQsXJvn8Y8eOWd++fa1YsWKWJ08eu+2222zr1q2Bx998800rXry4C87Onz8/0XMvu+wy+/7770/ROwMAIHoRwAAAAAAAAEjGwYMHrWXLlrZy5crAfQkJCXbLLbe4gMSyZcvs7rvvdiW4//zzz5DrGDZsmM2ePdvmzJlj33zzje3cudM9xwtu3HvvvTZy5Eh76qmnrF27dm798t5777nARrVq1ThGAICYE/Yk3gAAAACQETp16mRZs2YNKxvjo48+SpdtAhA7fvnlF7vzzjsDAQXPp59+ar/99pt99dVXLgOjcuXK9vHHH9vUqVNt4MCBJ6zn6NGjNnr0aKtXr577u2vXrnbHHXe437dv3247duxwc/3odTT/zz///GNFihSxwYMH2wsvvJBO7xYAgOhCAAMAAABAVFNZFspEAcgon332mV111VU2ZMgQF6jwLFmyxC655JJE99WpU8e+/vrrkOt5/PHHA79v27bNJk+ebPXr13d/FypUyHLmzGnfffedHT9+3K2zYMGC9sEHH1jRokXJvgAAxCwCGAAAAACiPgOjatWqGb0ZAGLUAw88EPL+zZs3W4kSJRLdp2DDxo0bk12fAhnKqsifP799+eWX7r74+Hh7+umnrW7duhYXF2djx45192m5559/PoLvBgCA0wtzYAAAAAAAAKTS/v37LVu2bInu09+a7Ds5mvdi6dKlbvLvRo0a2Z49e9z9nTt3dvNiqJSU5sPQhOCFCxe2ihUrugm/S5cubQ899NAJpawAADiTEcAAAAAAAABIpezZs58QrNDfKgWVnAoVKlj16tVt5syZduDAAXvzzTcDj+XJk8dy587tflf2hbI1xo0b5+bPWLNmjS1evDjR8gAAnOkIYAAAAACIWk2bNnVlVgAg2pQsWdK2bNmS6D79Xbx48ZDLv/vuu7Zp06ZEAZBy5cq5CbyDffTRR27uH82xoTJT11xzjeXIkcMaNGhgX3zxxSl4NwAARCcCGAAAAACi1tChQ61UqVIZvRkAcIJatWq5SbeVReFRcEH3h9KrVy+XdeHZu3evrV271ipXrnzCsl72hWhODE3sLcrEoIQUACCWEMAAAAAAAABIpSuvvNIFWNu1a2crV660YcOG2bfffmv33HOPe/zw4cMuI+PYsWPu706dOtmIESPsvffec8u3atXKlZO67rrrEq33k08+sbPOOssuvfRS93eNGjVs7ty57jnz58+32rVrc6wAADGDAAYAAAAAAEAqxcfH29tvv22bN292wYaXX37Z3nrrLTfZtnz11VeunNRff/0VCGD07t3bHnjgAReUyJQpk73zzjsu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n332mU0QKiCk1EazZ892U6dOtclapTMaOXKkW7hwoaXl0ipo1WnQ80iadlwoYKEdFQ0aNLAotY6xgnCaBM+TJ4819NpWp4lwTZITGEpfCiAplZfq6GiFwBtvvGHpinRj1q4vPV62bJm1OTpfao/UviRePYJTN2fOHPfUU0+56tWr24p5tUE61gosLV682Np/dYQKFChg7b7OmXLwIz46yZG2bNliO3J031KtIAUXI1/XrVs39+uvv9pOjcS/i5PTdfXee+9ZrRldhwoSqU2Ut956y9J2rVmzxl1xxRUWZBw2bBh9LQQWYwv/oO1JPsYV/kQ/FonRhz05xt/B9Znf5w7TvEw4cBKqWN+4cePQN998Y4/XrVsXGj16dKhevXqhWrVqhZYtW2bPb968ObRr167Q0aNH7fGhQ4c4ric4nh4dq927d4datWoVGjp0qD2nxzfddFOoX79+oTVr1oQWLlwYfv3evXtDBw4c4LimwIIFC0L33nuvff/rr7+GKleuHOratWtox44doXbt2oW++uorjmcUHDlyxL7+8MMPoerVq4eWLFlij5cuXRoqUaJE6OOPP7bvN23aZK/9999/7drw0L6kbptUrVq10LvvvmuPN27cGLrxxhtDffr0sXb94MGD9rzaer12+/btqfhfh9+vUe8zsWLFCrsnyT///BNq3bp1qEyZMqFvv/3WnvPu/ZHfRz6Hk/vxxx9DNWvWDLeFutamTp0aatGiReiZZ56xY3748GHri+ln3vmhLUQQMbbwD9qelGFc4T/0Y5EYfdjjY/wdPOsDOHfI8lKkK61qjqSV0L/99pv766+/LBVP27ZtbbV0wYIFbaW6VlsqnYG+VwoerbhUxJt0EceaNGmSpdVQKgjRscqcObPbvn277WrRanOtuFR+eaU3mjt3rq2w3Llzp71e6TjOOuusdPkcxIp169ZZsW7tsFCU+qabbrIUJ1rNr50XimAj/c7FvHnz7Htv54R2xOgzrc//hx9+aLtlOnfubHVKlLZObY1eq4K1Xroi2pfUpbSAOsZKF6WiwMqxr+Ovtl67X/RPtMJDtY+oDRNfKV4GDBhgO9hU00LXpgp263pU+khdt23atLGUYpG7Lbx+ADswku5reZustUpK7aHqh2mrt1JyDR061PpSStumvpZ2CV5//fV2Her8kJoLQcHYwj9oe04P4wr/oR+L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PO9vkIcZAIBgmT9/vvv7779d3rx5w88dPHjQ0kTqvr58+XL3zDPPuM6dO1uwQhPw7733nvvuu++O+VtMrCdvMvf33393f/75pwUxBg4c6F577TWXP39+qyem5z065krZeffdd9vjyAAT4GeMLfyFtgdALKIPCyBIqIFxmsiFCgBAfPO23auGxRVXXOGuuuoqS280duxYt23bNvfiiy+6+vXr22u//PJL16NHD9s9oALeSJl169a52267zdJu9e/f31WqVMmeV8BIO1u0OETpuSIDSkLaKAQFYwt/ou0BEIvowwIICmpgnAZyoQIAEL8OHTrkMmXKZMEL1WEYPny4y5Url+vevburXr16uIC3F6jYunWrGz16tD2+8MILo/32A6lAgQJu5MiRrkWLFm7p0qWuWLFiLnfu3K5EiRJWGL1Xr16uSpUqFijS8x52tyAIGFv4F20PgFhCHxZA0LADIxVWRymFgQbTZcqUsWKS+/btszRSF110Ufj1r776qhXzVPqoe+65J0GRJAAAECyR93HttrjgggusHsP777/vsmTJYhPpSmfUu3dvt3LlSgtsaNfAWWed5SZMmGCBj8i+BFJm4cKFVpz7iSeecHfccYcdX1myZInthFG9EYIWCBLGFsFA2wMg6OjDAggiAhinSXmY3377bRs8lypVynJdqxCSUhgoYBGZHmLMmDGuSZMmDKgBAIiRgZ8myxWsGDZsmLvmmmssgKHUUdp5oZRGClh8++237rfffrMVvLfeeqv1A1QTi9pXp2fBggWudevWFsRQIXQviOEhbRSCiLGF/9H2AAgq+rAAgooAxmkgFyoAAPE78Js1a5b74IMP3JVXXukee+yx8GsigxhPPfWUu/zyyxP8DSbWU3c1dJs2bexf8+bNXfbs2VPxrwPpi7FFcND2AAga+rAAgoy8BamQC3Xv3r2Wh3nHjh32vJeH+ZJLLrE8zN7zHlIaAAAQzBQvXvBi/fr1btGiRW7x4sVW60L1LTzaldm0aVPrH3Tu3Nlt2LAhwd+hH5B6Klas6Pr16+e++OILly1btlT8y0D6Y2wRHLQ9AIKEPiyAoKOI92kqV66cFe1UHuacOXOG8zBfe+21thpTqSX0PAAAiI389K+88opbs2aNGzhwoLv44ovduHHj3IABA1z79u2tFoYopZFqYv38888uf/78UX73se2WW25x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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "----------------------------------------------------------------------------------------------------\n", " 📌 Top 5 Tasas de Éxito en 'occupation': exec-managerial: 48.2% | prof-specialty: 45.7% | sales: 26.7% | craft-repair: 22.6% | transport-moving: 19.9%\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABikAAAJ3CAYAAADhzrIbAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3QmcjeX///GPQbJlCYWypJAkyloqqbSvJLQhWm0VohQqqRQSki20adem0qYVobRYE4my73uW+T/e1/d/nd89x5mZc8bMnFlez8fjPGbmnPvc5z73fZ8z1319rs/nypOYmJhoAAAAAAAAAAAAmSwhs18QAAAAAAAAAABACFIAAAAAAAAAAIC4IEgBAAAAAAAAAADigiAFAAAAAAAAAACIC4IUAAAAAAAAAAAgLghSAAAAAAAAAACAuCBIAQAAAAAAAAAA4oIgBQAAAAAAAAAAiAuCFAAAAAAAAAAAIC4IUgAAAAAAotamTRurVq2aVa9e3d566y32HAAAAA4LQQoAAAAAQFR++OEHmzt3ruXJk8ceeeQRa9GiBXsOAAAAh4UgBQAAAAAgKsOHD3cBin79+lnLli3ZawAAADhseRITExMPfzUAAAAAcjNdVhw8eNDy5s0b701BDrZ//37Lly9fvDcDAAAA6YhMCgAAkGneeecdV8c80k21zWvVqmXnnHOO3XrrrfbRRx+5Ts+MdNNNN4VeX9vm9erVK3T/c889ZznJ6tWrrXv37nbmmWdazZo17ayzzrK7777bPbZr1y53v973qaeeal9//XWmblvwfFi1alWmvjYOz2+//WatW7d251c0n7GspkuXLm4bhwwZEvHxn376yR544AFr1qyZ1a5d290uuugie/DBB23BggURn5Nd3ntK9DlM7js70u2uu+46rNdr2rRpaF2zZs1K8tjevXttxIgRNmDAgMN8V+mzfenxv6Ft27Yp7s+XX345yfL79u2zsWPH2mWXXea+oxs0aGCdOnWyxYsXH7JubZ9fj/6npSa4vN6n/P3333byySfbGWecYevWrTvs9wsAAJAchqAAAIAsQQEJdUKtXbvW3b777jv7+eefrU+fPvHetBzlzjvvtIULF4b+3rBhg61cudL9rg6xjRs32hFHHOFKupx77rlx3FJkF71797Z33303w4OKGWX69On26aefutH5mhA66L///rOHHnrI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n3yyrV+/Ptlltm7dajVr1rROnTpFvd6mTZvaTTfdZLlFtWrVrFevXumyLq1H60vptm3btoj7Obftd/nvv//sjTfesFatWlmDBg3s1FNPtSuuuMJGjx7tHkurHTt22KZNmywr27Nnj3vPZ511Vrpuqz7rzz//vPt91qxZofNu/PjxyT5nwoQJoeWygpUrV2bq6+l78swzz7R33nnnkMeWLl2a7Gf5q6++csusWrXK/f3cc88l+xoHDhywiy++2L744osMfS8AAGRVkdrJupY5/fTT7brrrrN33303XV8vvdvW0a5Py2jZ5P72+yE10S4XrcNZX3pvSzzoGASPQyyeeuqpiG1BteWDdu7caY8//ride+65Vrt2bXe9Pn/+/CTLqL2o56r9mB7bqrblJZdc4tqa4fbt22eXXXZZsm3UmTNnuuuwOnXquG3Wcvv370/Tcn/++adde+21bplbb73V1q5de8h6unXrZr1797ZoaR8E93f16tXttNNOc23qJ5980rXhs+o1x4MPPmgDBw7MsPUDOUm+eG8AgMOnzlx1Qk6bNs1uuOGGiMvoMTVOrrzySnZ5JlLjq0SJEhEfK1iwoPv5wAMPhH7PjRRcu/vuu+3XX3+1Zs2aucZm3rx57fvvv7dnnnnGvvvuOxs7dqwdccQRMa33999/tzvvvNOefvrpQy4cspIPPvjAtmzZYiNHjrSSJUumyzqnT59uP/30k7uQCvfll19a+/btIz7v888/t6xCFzWlS5e2J554IlNeT8EwXTBt3Lgx4uN//PFH6OI8/DjVqFEj6tfRud2lSxcbMGCAC4jk5s8+ACB3C7aTExMT3eCS999/3/2v3bx5c7LtlezijjvusN27dyf7+PXXX2+NGjXK1G3C4dGglcqVK7trjKACBQok+fvee+911zIKTJUvX95efvll97sCcBUrVkz3w6DzTG3Lnj17urZmkD5bDz30kNv2SHTN0KFDB9fxf99997kgw4gRI2zDhg3Wv3//mJdTp7za1d27d7dXX33V/XzppZdCjy9ZssRdc3z88ccxvUd9V/jAht6TAkG63ps4caJ9+umnbsBbqVKlLFa6BtNx+eyzzywj6Dr30ksvtWuuucbtOwDJI0gB5ADq1H3kkUfcP+fkghRTp061o446ypo0aZLp25ebXXDBBXbcccelukxupQamGvGLFi1yI/zV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TJjgGv+aMC2rj1BS9sd99913yESSyDp0EanyZApSAAAAAIebGa+2pcqSImvRvCQqaaxSXgBSRpACAIAwqrmreriqMayfmotAdU4VrFB92KxO82+opq+2F1mL6herTrEmRvcTLAIAAABppTal5lpQG1NtTWQdmjNH83BoXhIAKWNOCgAAAAAAAAAAEBdkUgAAAAAAAAAAgLjIF5+Xzd5+/vlnS0xMzNITpwIAAACx2Ldvn5vXpk6dOuy4bHxtcffdd1uJEiXssccec39/8cUXNmzYMDevkibtvP/++61GjRoRn7tt2zZ75pln7Ouvv3bbpBKHPXv2dCUP5dlnn7U33njDjjvuOHvyySetUqVK7v6NGzfazTffbG+//bYdeeSR6fI+AAAAkHuuLcikSAM12HUDAAAAcgrauNl/v3/88cf27bffhv5eunSp9erVy2699VZ76623rFq1atapUyfbvXt3xOcrsLFkyRJXQ/v555+3ZcuWWf/+/d1jixcvttdff93Gjh3ramsrYOFNnDjRWrVqRYACAAAAaWrjkkmRBn6U06mnnpqWpwMAAABZzm+//Wa50cGDB2348OH25ptv2vbt261evXpucvvjjz8+4vLvv/++9ejR45D7lbGgDIN4XVts2rTJnnvuObf9yqTQ+j7//HOrWbOmPfjgg24ZZUYoKyIhIeGQ19u5c6d99tln9v3331uDBg3cfRUqVHDPOemkk2zBggXuOS1btrRixYrZPffc4/7esGGDfffdd/brr79awYIFD+s9AAAAIHdeW5BJAQAAACDXUtbAq6++ao8++qhNnjzZBS06dOhg//33X8TllVFQv3591zEfvJUtW9biqXv37nbTTTclKeV09NFH2/z5813gQe/rxRdfdEGKKlWqHPJ8BS4+/PBDq127dpL7Dxw4YDt27HABC2VWbN261ebOnev+lqefftruuusuAhQAAABIMzIpAAAAAORKCkSMHz/edfA3adLE3TdkyBCXPTBt2jS7/PLLD3mOyiGpbFLp0qUtq/jyyy/tm2++cSPW7rzzztD9119/vcv8aNy4seXNm9cFIj766COXaRFOWRAXX3xxkvtU0kmlnUqVKuVu2kclS5Z0t6lTp7q5KDQPhbIoAAAAgLQiSAEAAAAgV1q0aJErc9SoUaPQfco0UDbC7NmzIwYplEnRtGnTdN0O1evdtWtXmp67Z88eu+2229yE11rP/v373f1a3+rVq+3ff/+1wYMHu+yPMWPGWNu2bV1mRZkyZVJc76hRo9wk2VOmTAltmwI6Tz31lBUvXtzy5ctnffv2dVknf/zxh5v3QiWnevfubW3atEnTewEAAEDOoHapJs6OFkEKAAAAALnSmjVr3M/wUk3qwPePBanU0dq1a23OnDmuRNTmzZtdpoHmqKhcuXKat2Pfvn22cOHCND1X82mofJPmw9A6tI2i3x966CErV66cnXPOOe6+u+++27766isX0FCwIjman0PBiHvvvdfKly9/yLatX7/evY6CGNoPyt7Qa5x//vnWunVrty1ZKdMEAAAAme+II46IelmCFAAAAABypd27d0e8gCpQoECosz9IGQN+ZNjAgQNdFsPzzz/vMgc++OADVxIpLTR59oknnpim5yrooMDJueee6/7eu3dv6H5N/q0Awsknnxxavm7dum6Z4H1BQ4cOtSeffNIGDBhg3bp1S/Z1+/fv79Zdp04dV2ZKk3ZXr17dqlatatu2bQsFRgAAAJD7LF26NKblCVIAAAAgU2kiXo0cR+ZSR7jmJcD/OfLII0NzU/jfRZ34mqMhnDr4Z8yY4eZ08OnrymTQXA3vvPOOK7uUFlpXoUKF0vTcr7/+Osnn6f7773c/FWi444473AVicN36u2HDhhFfb+LEifbggw+6eTlSClAog+Tdd9+1X375xe0nzXWhwI7WqQm6FfRJ6/sBAABA9hdLqSchSAEAAIBModHnKqGzZcsW9nicaC6BY489NuaLhpzKl3lat26dVahQIXS//tbk2JFo0uggddKrvJGyGeKhYsWKSf4uWrSo+6nMjI4dO7qyTvXq1XPzbowdO9ZWrFhht9xyi1tmx44dLptEpZk0n0SnTp3cY61atUpS7kqPBwNcCmLcfvvtoUCO1v/iiy/alVde6UpDnXHGGZn07gEAAJATEKQAAABApvABCtX71yhrOsozj5+YWZ3vkeZgyK1UnqhIkSI2a9asUJBCpYoWLFhgN9544yHLv/76624SapVS8pkC6uj/66+/rEWLFpbVXH/99W77Hn/8cVu1apXVrl3bvvzyy9Ck2U8//bRNmDDBbf+0adPcssqm0C1o+fLlVqlSJfe7PsOTJ0+2efPmJQlaKLCh5+l3lZkCAAAAopUnUVcsiIlqrsqpp57KngMAAIiyxNOSJUtc5+jRRx/NPouTjRs3ukCF5g0IL/2UW9u46lRXp7s68jVJ9KBBg1yH/ocffujKGCnDQNkJKge1evVqly3QoEED69q1q5uTQkELv7xKHsUqt+53AAAA5Fy/xdjGTcjg7QEAAABCNfOpUx9ffv8zJ8j/6dKli8uC6NOnj7Vu3doFb8aNG+fm8FBQonHjxjZ16tRQBooyD5SVomVVSkkBjEmTJqUpQAEAAACAck8AAADIRJR4ii/2/6EUlOjRo4e7hdNcE4sXL05y3ymnnGLjx4/PwKMEAAAA5C5kUgAAAAAAAAAAgLggSAEAAAAAAAAAAOKCIAUAAACyvaZNm1qvXr3ivRkAAAAAgBjli/UJAAAAQFYzfPhwK1KkSLw3AwAAAAAQI4IUAAAAyPZq1KgR700AMsTff/9tGzZsyJF7t1SpUlahQoVMea3LLrvMSpcubRMmTHB/X3XVVfb+++8nWeaDDz6wyy+/PMl906dPt/POOy/iOlesWOEmV7/11lvt7bfftjPOOMNef/11K1OmjHv8999/t1tuucXmzJnDpPUAAAApIEiRAfYdOGAHEw9aZknIk2D58+bNtNcDAADIiuWe6tevb506dbLzzz/fhg4dah9//LF9++23lj9/fmvWrJk98MADVqhQIbd8YmKiTZw40XUo/vPPP3bMMcdYq1atrH379qHOxO+//95GjBhhixcvtnz58lnjxo2te/fuVrZsWff4O++8Y3379rUXX3zRBg4caEuWLLFy5crZ/fffb5UqVbL+/fvbvHnzXIdlt27dXCep9++//9rTTz9t3333ne3du9dq167tnkewBeEBimrVqtuePbtz5I458siCtnjxogwPVEyePNmmTp3qAgbeggUL7OWXX3bfF16JEiUOee6ZZ55pq1evTnJfy5Yt7eijj3bb/d5779nXX39ts2bNst69e9sTTzxhgwcPdss98sgj9tBDDxGgAAAASAVBigygAMWUhbNt067tltFKFipqV59cz8wIUgAAAHgKHjRv3txGjhxpv/76qw0ZMsR1QN53333u8aeeesoFKdq1a2dnnXWW/fbbby5osH//frv99tttypQpLmigUdX6e/PmzTZs2DC7/vrr7d1333UdlKLltU4FRxS80DoUyNAI8datW9sdd9zhSlFpXRplfeyxx9qmTZtcQKRgwYKuA1M/tS033HCDvfXWW1alShUOJBxlUChAUeu4plakwKEd6NnZjr2b7ddVX7r3mJFBCn3eevToYfXq6ZrpfxQYXL58ubtPn8mUHHHEEUmWee2119z3xR9//OH+XrRokTVs2NBOPvlku+SSS1zQQubPn29//vmny9gAAABAyghSZBAFKNbt3JZRqwcAAEAKzj33XBcYkEaNGrmsCJVtUUBh27ZtNmnSJLvxxhtd56UfLb1+/XqbPXu2dezY0QUblDnxzDPPhNZ5+umn26WXXmrjxo2znj17uvsOHjzoAhHXXXed+1vrvueee9yIbQVApGjRoi5gotIv6uxUQGLLli2us7N8+fJumXPOOcet+9lnn3XBECBIAYpiBUuzU9JAQcObbrrJZS95yo5SxtQJJ5wQ07r27dtnffr0sQcffNAFIkUBFn2WFfj46aefQgGXRx991C3rM7MAAACQvATLQl544QXXgAxat26d3XvvvVa3bl1r0KCBu7DUaJigV155xaXp1qpVy9q0aeNSd4NWrVrlRsDpwlIXm0r/P3DgQKa8JwAAAGQ+lU8KUnBg165d7neVYFIGhEpABalDcezYsW6EtQIW4bXp1flYp04d+/HHH5Pcr/s8n2Fx2mmnhe4rXrx4KIAhM2bMcKOuVWJK26FbQkKCC1T88MMP6bQHAHz55Zf2zTffuIyloIULF1qxYsXctacyoFQqTuXhUvPGG2+4AOPdd98duk8ByKOOOsqVkps2bZoLYGr9yrS4+uqrOQgAAADZKUihQIOCB0H//fefqwusUS8a7TZ69GiXTutHxYnS7ZWu37VrV1cXWBOXadSaD2RotIsmMvO1SPv16+dGuqi+MAAAAHImlVAKUhBA81CIOhmlZMmSEZ/rH/cjpYN03/btSUt6FilSJNXXD1+/AiWnnHJKkpvaw1r37t05c/4BIDPt2bPHDVTTdV/451HXlApaXnTRRfbJJ5+4LKYrrrjCTXCdEl2PdujQIcn6VA5KgRBds6q8k7IzfBaF5qk49dRTXVDys88+y7D3CgAAkN3FvdzT2rVrXc1gNeA0wWDQhx9+6CYyVIPOXyT26tXLTUK4Y8cOd0E4atQol6p/5ZVXuscff/xxu+CCC+zNN990jdJPP/3UNRg16kWjZapWrWobN250gQ2l5qtRCQAAgNxDo55Fg1qC5V7UZtRExX7yXNXKD6cMi0iT68ZC5Z80ctuXjApH+xQ4fLpmVDa+AhHhlFnRpUuX0GdZmU9z5851QQg9JxJl+H/77bdujplIlBnlAyC6KYuiRo0aNnDgQDv++ONdIGTFihV25JFHcngBAACyWiaFJhTLnz+/vf/++0nS4uW7775zk5AFR7GdffbZ9vnnn7sAhYINf/31l6sz7OXLl881LFVPWDQaRiPTFKDwtE4FOZSGCwAAgNxFJULV/vzqq6+S3D9+/HhXZvSkk06y0qVLuwEzQStXrnQZECohejgUoFBJqcqVK7tR1v6mCXc1cXbevHkPa/0A/pdFP2XKFHfdqJsylXTT78qsCg82KttBA+SSo8Fv/jObkscee8xlUWzevNkFKxQkOeOMM0JzYQAAACALZlI0bdrU3SLRxZsCDkrRVQNT9Xo1p4QmONQIuDVr1rjlVEc0qEyZMq5BKFpGNYjDH5fVq1cfEhiJlsoF+LrGQZoYLSF/PlM1AV9SICP5l1BZgMx4PQAAgLTQpLKaZFrzgmXE3GBqB+mm1xD/WuGP6z5fi37ChAkuWKH25q+//upKgqqdqeW6devmJsdV0EJlYFSiSW1StUFvvvlmt55IrxXNfXq+AhJt27Z1N81ZoZIzygRW1nBGzp3mt1ttR79dwX3EJL/IKaZPn+5K/3q+ZPCTTz7pPncKVCgw6SkAmVIAQpn/Z511VoqvuWTJEjc/4ksvvWRbt2519/nPma5luV4DAADIokGKlCjbQcEJZUo888wzrqGndNm77rrLNfx8vd7wlPgCBQq4C2Ffi9Sn9AcfF79MWqjBGykTQ+m7lU+sYgcO/G8SxIym19HF5vJly9x7BQAAyKqU8Xo47a+U+ACEX7/aasG2kR7TMv4+TXyrNqIyF8aNG2flypVz5ZdatGjhlrnkkktcG1OdmJ07d7bChQvbmWeeaZ06dXLlmrSM7wDVa/r1ak41/9PfF75Nel2tV2VjVJJGy2pS7ocfftiViMnINp22RW3UZcuWRXycUlPIKSpWrJjkb31u5cQTT3Slglu1amVNmjRxn+tXX33VZfGr3JO/DtW1pjKqvN9//90uvvjiVLMoFNxUsE/BR73WmDFj3PeLqPQwAAAAslmQQheyhQoVcgEKjXITjXy77rrr7LfffgvV8/QXg8GLLz+ZmZaJ9Lho3Wml7VGjM2ImRd68ljdvPrf9GU2vo5IAqqfMyBwAAJBVqf2lOR80WCQjarJ/8cUXod81kjmcRk+Hu+2229wtOZdddpm7Jadly5buFqSs3/DXVzst/D6VlHr22WctHtRGVVDED9zxli5dGpftATLbtddeayNHjnRBBc1Do/LAymbycyQ+/fTTLtNKpYWDcymmNB+NPj8KZEycODF0nwIU7dq1cwHKF1988bCuPwEAAHKyLB2kUJkmdbz7AIW/oJNVq1ZZgwYNQpOYValSJbSM/vYTl2kdSrsN0uPil0kLBSOSa2Tu3b/P8uT53zIZzb+ED8oAAABkRSqtopsGVzDnQvxo3+s4qO0YHiyi1BNyMgUdgjp06OBukfTr18/dglKbz1AD2H766ack9ylTQyWMAQAAkMUnzk5JvXr13NwSwZR3H3BQ+u7RRx/tJi9TfVBP6euaLFvP9evQyDWl7HozZ850KfvVq1fP1PcDAAAAAAAAAACySZBCdUI12uu+++6zP/74w+bOnWt9+vRxGRRKyZX27du71Nl3333Xpdg+8MADLqihesJywQUXuFqimvxQAY/PP//cBg8e7J5HzV0AAAAAAAAAAOInS5d7KlmypL3yyitusmzNQ6GggoIOvXr1Ci2jOsDbt2+3oUOH2pYtW6xmzZouaKHnimrtjh071k1KqGU1p0WbNm3c5NsAAAAAAAAAACB+slSQ4oknnjjkPk1e9sILL6T4vFtvvdXdkqPSUOPHj0+XbQQAAAAAAAAAALmg3BMAAAAAAAAAAMi5CFIAAAAAAAAAAIC4yFLlngAAAAAASMnff/9tGzZsyLE7qVSpUlahQoV4bwYAAECmIUgBAAAAAMg2AYpq1arbnj27Lac68siCtnjxIgIVAAAg1yBIAQAAgLjad+CAHUw8GJfXTsiTYPnz5o3LawOInTIoFKA47dSrrEiRUjluF+7YscF++e099z7JpgAAALkFQQoAAADElQIUUxbOtk27tmfq65YsVNSuPrmemcUnSLF27Vo755xzDrl/4MCBdu2117rfFy5caAMGDLDff//dSpYsaW3btrWbb745tGy1atWSLA/kFgpQFDuqbLw3AwAAAOmAIAUAAADiTgGKdTu3WW6yaNEiK1CggH3++eeWJ0+e0P1FixZ1Pzdv3mzt2rWzpk2bWv/+/W3evHnuZ+HCha158+Zx3HIAAAAASD8EKQAAAIDDdPDgQZs+fbq98sor9uijj1q5cuVSfc6SJUusUqVKVqZMmYiPv/HGG5Y/f3575JFHLF++fFalShVbsWKFjR49miAFAAAAgByDIAUAAACQRps2bbK33nrLJk+e7DIfrrjiCtu5c6crw5ScL774wo477jhbvHixCzwkZ86cOVa/fn0XoPAaNmxoL7zwgqtXX6pU0nr869evt5tuusnKli1rzz//vB155JEcVwAAAABZHkEKAAAAIEa//vqry5qYOnWqCzR07NjRBSiKFCliBw4csO+++y7Z52puCZ9JUaJECbvhhhts+fLlVrFiRbvzzjtD81SsWbPGqlatmuS5Puti9erVSYIUCpZovory5cvbyJEjXRkpAAAAAMgOCFIAAAAAMfjnn3/suuuusxNOOMEmTZpkderUSfJ43rx5rXTp0imuY//+/bZs2TI78cQTrVevXi648dFHH9ltt91mL774ojVq1Mj27NljRxxxRJLn+eDD3r17Q/dt2bLFBShUYmrEiBGHPAcAAAAAsjKCFAAAAEAMjj76aGvfvr2988471rNnT2vZsqWbI8JnSPz777922WWXJft8BSMUUJg1a5YLaPiyTDVr1rQ//vjDxo0b54IUuv+///5L8lwfnChUqFDoviFDhti+ffvc8wlQAAAAAMhuCFIAAAAAMVDw4P7777euXbvaBx98YK+++qoNGzbMmjVrZq1bt7batWvblClTkn2+L9lUuHDhQx476aSTQqWijj32WFu3bl2Sx/3fxxxzTOi+M8880wVJOnfubJdeeqk1btyY4wkAAAAg20iI9wYAAAAA2TVYobJP7777rk2cONHdp7JLa9eudfNLJHfTRNjKmDj99NNdNkXQ77//7kpASb169Wzu3Llujgtv5syZVrlyZZfN4V100UUuQKIAxUMPPWQ7duzItH0AAAAAAIeLTAoAAADEXclCRbP1ayrgoFvv3r3d/BKp0WTbmtPikUcesf79+7sJtN944w2bN2+evf32224ZZUeMHTvWHnzwQevQoYObrHvChAlu+Ui0nAIVTz31lFsvAAAAAGQHBCkAAAAQVwl5Euzqk+vF7bXTU6lSpaJ73YQEGzVqlD3zzDPWrVs327Ztm9WoUcNNml21alW3jLIlFKQYMGCAXXPNNW4ybs2Bod+Te209rmDFJZdc4ua1AAAAAICsjiAFAAAA4ip/3rxmplvu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SJf3L+HfL7IXzhVwvoDvFuQWCQkJ7qbBFb680f8J/zv707wSTzzxRIrL1K5d282flpzFixcn+btly5budji073Uc1HYMDxZR6gkAAABAPGTZIIXS4VXPV5kUqufr092Vnq66vxp55ss8aZJBjQbz9He1atVimpQQAAAAAAAAAABkrgTLomrVqmXTpk2z9957z6ZMmeJurVq1cvNJ6HelyivDokiRIjZr1qzQ87Zt22YLFiywevXqub/1c+7cuUkmRJw5c6ablNDXEQYAAACQO2kC8WHDhtnZZ5/tsls6duxoK1eujOq5mshcg6NWrVqV4dsJAAAA5FRZNkih9POKFSsmuRUrVszV0NXvelxzTdx444329NNP2xdffOHmsLjnnntc9kSzZs3cejTB4I4dO+zBBx90dXY1aaEm47799tvj/RYBAAAAxNnIkSPt1VdftUcffdQmT57sghYdOnQ4pGRsuH/++cdNjg4AAAAghwYpotWlSxdr0aKF9enTx1q3bu3q7I4bN85NMijKltAkhcuXL7drrrnGlY/q2bOn+x0AAABA7qVAxPjx4901RZMmTVymtiY8X7NmjcvqTo4CGZrI/JRTTsnU7QUAAAByoiw1J0Vqkwt27tzZ3YIUlNAFgm4plY56/fXX0207AQAAkDaJiYnsujhi/yelTOydO3dao0aNQvcdddRRVqNGDZs9e7ZdfvnlEffjqFGj3Hx5nTp1cqVkAQAAAOSQIAUAAAByJp/lumvXLitYsGC8NyfX0v4PHo/cThkTUrZs2ST3ax48/1i4X3/91WVfvPXWW7Z27dp0Cx75YxO0e/duy+n0HiO995SWzw1i3S8AAABZidq3efLkiXp5ghQAAADIcMp+LV68uK1bt879XahQoZgarUifTnDtfx0HHQ/8X4e35roLKlCggG3duvWQXaR92L17d3erVKlSugUplJWxcOHCQ+7/66+/cvxh0nvUfIOxLJ8bxLpfAAAAsprwNnZKCFIAAAAgUxx77LHupw9UIPMpQOGPAyzUCay5KYIdwnv37o2Y8fPYY49Z5cqVrVWrVum6+5TZcuKJJx5y/549e3L8YVKw5+STT456+dywT9KyXwAAALKSpUuXxrQ8QQoAAABkCmVOqKyOSulo5DgylzrCyaBIypd5UuCsQoUKofv1d7Vq1Q7Zh2+//bYbEVanTh3394EDB9xPzV1xxx13uFtaPxvKLgqXG0qj6T1Geu8pLZ8bxLpfAAAAspJYs+YJUgAAACBTqaOcznJkBdWrV7ciRYrYrFmzQkGKbdu22YIFC+zGG288ZPlp06Yl+fuXX36xHj162OjRo61q1aqZtt0AAABATkKQAgAAAECupKwIBSOefvppK1mypJUvX94GDRrkSmI1a9bMZUps2rTJihYt6spBVaxYMcnz/eTa5cqVc6W0AAAAAMQuIQ3PAQAAAIAcoUuXLtaiRQvr06ePtW7d2mX5jBs3zpXHWr16tTVu3NimTp0a780EAAAAciwyKQAAAADkWgpKqGSTbuGOO+44W7x4cbLPbdCgQYqPAwAAAEgdmRQAAAAAAAAAACAuCFIAAAAAAAAAAIC4IEgBAAAAAAAAAADigiAFAAAAAAAAAACIC4IUAAAAAAAAAAAgLghSAAAAAAAAAACAuCBIAQAAAAAAAAAA4oIgBQAAAAAAAAAAiAuCFAAAAAAAAAAAIC4IUgAAAAAAAAAAgLggSAEAAAAAAAAAAOIiX3xeFgAAAABit3//fvvxxx9txowZtmrVKtu+fbuVKFHCypUrZ+ecc46dfvrplidPHnYtAAAAkE0QpAAAAACQ5f3333/26quv2oQJE2zNmjVWrFgxF5goWLCg+3v69On2wgsvWJkyZaxjx452/fXX2xFHHBHvzQYAAACQCoIUAAAAALK0X3/91Xr27Gn58+e3Nm3a2MUXX2wVKlQ4ZLklS5bY119/bS+//LJNmjTJBg0aZLVr147LNgMAAACIDkEKAAAAAFna/fffb927d7cLLrggxeWqVq3qbsqk+PTTT61Xr172ySefZNp2AgAAAIgdQQoAAAAAWdr777/vsihicdFFF1nTpk0zbJsAAAAApA+CFAAAAACytPAAxe7du23Hjh2WkJBgRYsWTXbuiVgDGwAAAAAyH0EKAEC2tu/AATuYeDBTXishT4Llz5s3U14LAJDUypUrbcyYMW7OiXXr1iV5TBNoN27c2Dp06GDHH388uw4AAADILUGKvXv32vbt26148eKWLx/xDgBA5lOAYsrC2bZp1/YMfZ2ShYra1SfXMzOCFAAQj4mz27VrZ8WKFbPzzz/fTZpduHBh99jOnTttxYoVNn36dPvoo4/sxRdftFNPPZWDBAAAAGQTMUcWNHLpgw8+sJkzZ9rGjRvdfXny5LFSpUrZ2WefbZdccokbxQQAQGZRgGLdzm3scADIoZ588kmrWbOmy6RIrrRT7969XSbFU089ZS+99FKmbyMAAACADA5SKCgxcOBA++OPP6x27dp22WWXWfny5a1gwYK2bds2W7Nmjc2dO9emTJli1apVs/vuu8/OOuusNG4WAAAAAPzP/PnzbejQockGKESPtW/f3u655x52GwAAAJDTghT9+/e3L7/80m655RYXnDjmmGOSXXb9+vX2xhtvWK9evVwqdr9+/dJzewEAAADkMiov+88//6S63F9//RUqAwUAAAAge0iIZqESJUrYp59+6kYmpRSgkNKlS9vdd99tn3zyibuYiNULL7xgN910U5L7FCBp3ry51alTx5o2berSvffs2ZNkbgwFUho1auSWURbHpk2bkqxjxowZdu2119ppp51mF198satXCwAAACDru/rqq+3pp5+2119/PVRyNmjz5s02efJkGzJkiF1++eVx2UYAAAAAGZhJ0aVLl5hXrBFM3bp1i+k5r7zyikvjrlu3bui+OXPmWKdOndw2KLigSfEefvhh27Jliys/JcrW0HLPPfecS/Pu27evW/7ll192j//55592++23u8n2Bg0a5CbV69mzp5UsWdIFNgAAAABkXZ07d7YdO3bYo48+6tr+utYoUqRIaOJsPZaYmGjXXHONG7AEAAAAIAdPnJ0R1q5d6wILs2bNskqVKiV5TCOiGjRoYHfccYf7W4+rzmyfPn1c9oRGTWkejFGjRoWCG4MHD3YBjZ9//tllVkycONHNk+Hr01apUsUWLFhgY8eOJUgBAAAAZHF58+Z17X9NjP3DDz/YsmXLbPv27S4woWBF5cqV3Xx45cqVi/emAgAAAMiIIEX16tUtT548Ua904cKFMU+Elz9/fnv//fdtxIgRSerNqsRUQkLSqlT6e9++fW7ElCbrloYNG4Ye10WKylLNnj3bBSmUZXHBBRckWYeWHzBggLuwieW9AQAAAIiPY4891pVwBQAAAJDLghSaY8J35Gv+hxdffNFlNFx00UVuDgqVXtK8EUuWLLE777wz5o3QPBO6RVKjRo0kfys4MWHCBKtZs6Yr16QsDM2ZUaBAgSTLlSlTxtasWeN+109d0IQ/vnv3bpeJofXESsGNXbt2HXK/9lNC/nyWmPi/ZTKafwm9l8x4PaQfzhVwvmSv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/S4PP/ww+wsAAADIaUGKf//916VP58+f3/0ezqdbe+XKlUu/LQQAAACA/0/lZt98801bt26d+/vKK6901x/z5s2zWrVqWf369dlXAAAAQE4LUpx//vluUmw1+pVBkSdPnhSXX7hwYXptHwAAAABEnJvCU8lZys4CAAAAOThI8fjjj9vxxx8f+j21IAUAAAAAAAAAAEC6BCmuueaa0O8NGzYMlX4Kpzkq5s+fH80qAQAAAAAAAABALpcQ6xNU+im5ck6//vqrtWvXLj22CznQvgMHbO/+fZl20+sBAAAAAAAAALJ5JsWTTz5pW7Zscb8nJibayJEj3YR14RS8KFq0aPpvJXKEg4kHbcrC2bZp1/YMf62ShYra1SfXM7O8Gf5aAAAAAAAAAIAMDFKccMIJ9vzzz7vfNR/F77//bkcccUSSZfLmzesCFL17907jpiA3UIBi3c5t8d4MAAAAZEP//fefzZ0715YtW2Y7d+501ya6BqlSpYrVqlXLChQoEO9NBAAAAJARQYrrrrvO3aRp06Yuk6J69eqxvhYAAAAApMmYMWPshRdesB07dkR8/KijjrI77rjD2rdvzx4GAAAAclqQIujLL7/MmC0BAAAAgAjGjx9vgwcPtltvvdUuuugiq1ixohUuXNg9pqDFihUr7NNPP7Wnn37aEhISrG3btlHvx4MHD9rw4cPtzTfftO3bt1u9evXs4YcftuOPPz7i8vPnz7ennnrKzcenzI1mzZpZjx49KHsLAAAAZFaQQnNSqAH/1Vdf2e7du12jPkgp1xMnTkzr9gAAAABAEq+88orLkujateshe6ZYsWKu1JNu+fPnd8vGEqRQlvirr75qTzzxhB177LE2aNAg69Chg33wwQeHlLjdsGGDtWvXzi644ALr16+fbd682R566CHr1auXjRgxgqMGAAAApEFCrE945pln3MiiP/74w/bv3++CFsFbeNACAAAAAA7Hxo0b7Ywzzkh1udNPP93Wrl0b0xwXytLo0qWLNWnSxJW0HTJkiK1Zs8amTZt2yPL//POPNW7c2B555BGrXLmye72WLVva999/H/N7AgAAAJDGTIopU6a40UP3339/rE8FAAAAgJideOKJ9uGHH7oAQUrefvttFzyI1qJFi9wE3I0aNUoyt0WNGjVs9uzZdvnllydZ/rTTTnNlp7w///zT3nvvPTvrrLNi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bM8//7y9/PLLLmPC27Ztm5szYunSpfbll1+6ybMjKVWqlOXPn98FUr2jjz7a3TTQM5zmrlD2hAaCfv/99y7LQqWnGjVq5AIhBCkAALlJzEGKTp062YoVK+ytt95yQQrNT6H7PvroI5eiOHjw4HTfSDUUFGB44oknXGBhzJgxbnTC1KlTXSOgXbt21rRpU+vfv78rN6WfhQsXDjUsVAPy1Vdfdc9XauagQYPc85V+qewPAAAAAFmXrjeCHYmpDXACgFioD2HUqFFungjNvxkc8Kiy1suWLbOvv/46SQAiUiaFAguai+L6669396msk27BeS3895T6Tj7//HP3d0JCQqgklB5LTEzkAAIAcpWYgxQFChSwYcOGudREOfvss11n//z58116YoUKFdJ9I/WPW/UaGzdu7P7u1auXC1ooILF8+XIXqHjkkUdco6BKlSouiDJ69GgXpNAcGsrw6N69uzVp0sQ9XymV2u5p06a59QIAAADIHvr06eNumng2nObLU7mW9957Ly7bBiD7UWWGRx991A3AVJ/DmjVrQo+pr0OTWr///vsuy8E/psGOquKg/oZNmzZZ6dKl3aDN++67z1V2qFOnjisXpfktVAGifv36SV5z0qRJrqSTsihE1R5UGkp/T58+3VWOAAAgN4k5SOEpMOApMJERwQlP6ZFqGGjyqbJly7r6kGoUaBSDghX6h+/rP0rDhg3thRdecCMW/v33X9u5c6dLmfSOOuooVzJq9uzZaQ5SaGTDrl27DrlfqecJ+fOZBj5kxugH/xKaxCsrj7aI137JjNdz60+M/RhwrmSt/ZJ5r8f5kl3PF75v2S858XwBgnSuZocySuo0VDte2dGq3S4HDhxw2dcaCV2mTJl4byKAbERBTX2HPPbYY+4WpOoRynAI7zc499xzXTDhhx9+sPPOO88NnlS2hLIwNm/e7IIM69atcwMltf7gd6syJVRCW4MmPc1J0bJlS1chQhNvq08DAIDcJKoghSL8mhNCQQH900xtojqfspheHnzwQevatavbDo1OUCrkc8895wIjGslQtWrVJMv7C5PVq1eHRjoouBG+THCERKyUSaIRF+E0oqvyiVXswIH9mZJqrtdRg2r5smW2Z88ey6oye78cPHjA/TxwMBNe78B+93rLli2P6RhwruTCc8W9EOdLdj1f+L5lv+TE8wUIlx1Kob7z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4ww3a9asVH+mVJc9e/Z01apVs4UcKk6ux7SL4q233grROwGiKEihAiynnnpqsscefPBBlzVr1qMCF19//XXoXiEAAAAA/H933nmn5WPeu3eve/zxx60Y59NPP+1uu+02N3z4cKtXAQAAEAv27dvnGjVqZOmfWrduna7/xyOPPOLuuecem5PNnTu3mzJlijv77LNdsWLFXOPGja1It/pJSpfJgnPEdJCiQYMG4X8lAAAAAJAK5VdWYEJ5mJVzWbsl1qxZYz/r0aOHu//++92LL77oChUq5J599lmOIQAAiHpK43TLLbe4JUuWuO+//97SNqVXnjx5An/XLor+/fu7N9980+pZLF682FJijhkzxgIiQMwGKV5++eXwvxIAAAAASMXPP//s/v3338D3d911V+DvhQsXdl9++aXbvn27y5s3L8cPAIAQWr16tRVnjleq6XD++edn+L+rFJV169a1WlrffvutFc8OBWW3UX/o8ssvt/RR+jdy5Mjhrr32WguEEKRAXNakAAAAAIBIU+oCAhQAAIQ+QFG8RAm3f9++uD202XPkcIsXLcrQQEVSUpJr2LChW758uRXXLlGiRMj+39pF0bdvX/u7alTo3xLtqPA8L2T/DhBqBCkAAAAAAAAAJKMdFApQXPJAfZezYL64Ozp7129xf783wd5nRgYpBg0a5KZNm+YmTJhgRbE3bNhgj6sWsBZdKK3ltm3brK6EimCfKO3IOP30012FChXs+0qVKrnRo0e7GjVquIkTJ1qKTCBaEaQAAAAAEPUefvhhG7yfyK4KpToAAAChoQBF7gsLcDhD5LPPPrMdDjfffHOyx6+55ho3ffp098MPP7iaNWu6FStWuAsvvDBNuyhee+21wPdt27a1/9fVV1/t7rjjDqvrFU0OHDhgARXVzlAgRfSeVWvsxx9/dBdccIHr16+fq127dqq/r50h3bp1cwMHDrS0oHqe/l8K7shbb71lNc3OOussN2zYMHfVVVcF/t1LL73UzZw50xUsWDAD3zGOhyAFAAAAgKhXqlQpUjoBAICYFJxqafLkycd9ribsj5WaaejQocf8PQU4gp122mlu0qRJLhrt37/fNW3a1M2fPz/wmN7zrbfe6i677DL3yy+/uHHjxrkGDRq4hQsXprrT5b333rNdKR999JEFItq0aeNatWrlxo8f7zZv3uw6duzovvjiC/fTTz+5hx56yM2dO9d+T79z0003EaCIMgQpAAAAAMTETooyZcpE+mUAAADgJCxYsMACFCkDMUqBtWzZMtv9kStXLleyZEn3zTffuMGDB1sR8JQUgNAOEe1AkSeeeMI1adLE/q56H2eeeabtSDn33HMDqa6USku7M1QLBNElc6RfAAAAsSBX1mwuq4qcHTqQYV/e4UORftsAAAAAAISMAgQKHiilUzDteLj88sstQOGrWrXqUc/zafeEdoqsXbvW7du3z3388ceufPny9rPChQtbXQ8Vf//1118DOzEU8Khbty67KKIQOykAADgB2U7J6lxSktsza4I7smtb2I9ZltPyutxV67tMfDoAAAAAgDihtEypWb9+ve16CHbOOee4NWvWpPr85557ztWrV8+dd955VmBc9SX8gIb+P48++qgrUqSIy549uxs5cqQ7dOiQ7aLQjg1EH4IUAACkgQIUR3Zs4pgBQAZSPmJt2QcAAEB82rt3r8uWLVuyx/S9Cl2nZuXKlS5nzpxu4sSJ1k9UDYqWLVu6KVOm2M979uzpnnrqKZcjRw4LVKiGxQ033GABjeuvv979/fffVqtCaaIQeTGX7klV3rV1Z8yYMYHHVEClWbNmrly5cu7aa691H3zwQbLfSUpKcv3793fVqlWz56hK/D///BOBVw8AAAAgrV5++WXbtg8AAID4pEBCyoCEvlcgIiXVs7j77rtd+/bt3c033+yqVKniPvnkE/f111+72bNnB56n4IX+v9pF0bdvX/fkk0+6559/3pUuXdr9/vvv7s0337R0UIi8mNpJoRNKUTFF1nzbt293LVq0sOBEt27d7ATTn8pf1qhRI3vOgAED3IgRI9wrr7ziChQo4Hr16mXV3hVpO/XUUyP4joDI5NPPKJkyZXaZlCIHAAAAAAAgTqjWwZYtW1y8ypcvX6COQ0YpVKiQmz9/frLHNmzYkGr9iM2bN9sC9LJlywYe04IWve5Vq1a5K6+8Mtnzhw0bZrsnlAZq1qxZtsvijDPOcJUrV3bff/+9q1ChQhjfGeIuSPHGG2+43LlzJ3tMUbKsWbO67t27u1NOOcVdfPHFdjJqC4+CFKrarqIoCm7UqFHDfkeRM+2q0PYfRduAREA+fQAAAAAAgJMPUJQoWcLt27svbg9ljpw53KKFizI0UHHVVVfZAnMVwVaKJlEAQcWzU8qbN6+lglqwYIErUaKEPaag0datW91FF12U7LmHDx92ffr0sV0WkjlzZsu64/9MuzIQeTETpJgzZ44bNWqUGzduXCDYIL/88ou74oorLEARfFK/++67dnKuW7fO/fvvvxYZ85122mmuVKlS9v8kSIFEQz59AAAAAACA9NF8owIU1TrVcWcUzht3h3HHP9vcd70m2/vMyCDFNddcY7shlDGnS5culgHn559/dkOGDLGfayH6tm3b3Nlnn23zwHqeFqVr94SCFvq75oQrVqyY7P+rsgC1atUKFOWuVKmS++ijj+z76dOnu06dOmXYe0SMByl27dplRUw6d+581BYfbfspVqxYssfy588fqAqvn0vK39Nz/J+lh6JswWmnfJkyZXKZs57iFITLiEic/08oyhjNkb9IHZeM+Pfs/++l/TOI52Pyv3+H4xIPx4V7y9HHhGuIc4VriHtLvN5v9e+rvQEAAMB/U4DirKLncKhCRAWtx48f7+677z5Lv1S0aFE3duzYQKDkhx9+cDVr1rR6xRdeeKFlytFccdOmTa0vrXROH374YbL+rHZK9O7dO1BMW1STonHjxlY6oF27dhbYQOTFRJCia9euViy7Xr16R/1s//79R9WV8CvBq7iKTlJJ7Tk7d+48qfoYKtidkoqxXFT0YnfkyGG7EMJN/86RI0fciuXL7VhEq4w+LklJR+zPI0kZ8O8dOWz/3vLlK9L0GcT1MbF/iOMSy8eFe8vRuIY4V7iGuLckwv2Wem0AAADIKCkX6SgwMWPGjFSfq8w6wc/XPMlrr71mX8eiHRcp61ycd955FvBAdIn6IIXSOymlk7b4pEYnpLb7BPMrwav6u34ueo7/d/85fn6z9FAdDF04qa52zpLFZclySrIUVOGif0eRxiJFikR89d3xZPRxyZw5i/2ZJfMpuiOF9d/Se9K/l9bPIJ6Pif07HJeYPi7cW47GNcS5wjXEvSXe77dLly6N6L8PAAAAIDFFfZDis88+s6InwXUo/K05X3zxhStQoIDbtGlTsp/5359zzjmBFcd6LDiPmr4vXrx4ul+XJgwVBEnNgcOHnHYWZcR2ef+fOJmAS0aJxHHJiH/P/v+Z0vcZxOsx+d+/w3GJh+PCveXoY8I1xLnCNcS9JV7vt6R6AgAAABAJUR+k0JadlFvfa9eubTnD6tevb7nKRo4cadvktQpNfvrpJ6vkftZZZ7k8efK43Llzu9mzZweCFKpxoervzZo1i8h7AgAAAAAAAAAAMRCk0G6I1CgAoZ81atTIDRw40D377LOuVatWbt68eW7o0KGuW7dugby6CkYo2KFK74UKFXK9evWyHRgKdgAAAAAAAAAAgMiI+iDFf1GwQkGKF1980TVo0MCdffbZ7oknnrC/+7TrQmmfVPFduzIqVarkBg0aZHUlAAAAAAAAAABAZMRkkGLx4sXJvi9TpowbNWrUMZ+vNFCdOnWyLwAAAAAAAABA6Kxevdpt2bIlbg9pvnz5ktU7RmjFZJACAAAAAAAAABAdAYoSJUu4fXv3uXiVI2cOt2jhIgIVYUKQAgAAAEDCSkpKcm+++aYbPXq02717t6WGfe6551zhwoX/8/ceeOABV7ZsWde2bdsMe70AAADRRjsoFKC4o8vVLv8Fp7t4s2nVTjeqxw/2PtlNER4EKQAAAAAkrAEDBrgRI0a4V155xRUoUMD16tXLtWrVyk2cONGdeuqpqf7OwYMHLZDx3XffWZACAAAAzgIUhYrn5VAgzTKn/VcAAAAAIPYp2DB48GDXrl07V6NGDVeiRAnXt29ft2HDBjdlypRUf2fu3LmuYcOG7pdffnGnnXZahr9mAAAAIN4QpAAAAACQkBYtWuT+/fdfV7ly5cBjCjyUKlXKzZkzJ9XfmTFjhqtWrZobN26cy5MnTwa+WgAAACA+ke4JAAAAQELSjgkpWLBgssfz588f+FlKjz/+eMhfh+d5bu/evUc9vm9f/BafDH6Pqb334z0/EXBcOC6cL1xD3Fu458ZSW0T7jNT6t5kyZXIniiAFAAAAgITkD6hT1p7Ili2b27lzZ4a9jkOHDrmFCxce9fjKlStdvNN7zJ49e5qenwg4LhwXzheuIe4t3HNjqS2ifUZqjlXfLTUEKQAAAAAkJH/grdoUwYPwAwcOuBw5cmTY68iaNasrWrToUY/v37/fxbsLL7zQlSxZ8oSfnwjHRDguHBfOF64h7i3cc2OpLaJ9RkpLly51aUGQAgAAAEBC8tM8bdq0yZ1//vmBx/V98eLFM+x1aCt8zpw5j3o8IwMlkaL3mNp7P97zEwHHhePC+cI1xL2Fe24stUW0z0gpLamehMLZAAAAABJSiRIlXO7cud3s2bMDj+3atcstWLDAVapUKaKvDQAAAEgU7KQAAAAAkLB5cps1a+Zee+01lzdvXleoUCHXq1cvV6BAAVe7dm135MgRt23bNpcnT5401U0AAAAAcOLYSQEAAAAgYbVr187ddtttrnPnzq5JkyYuS5YsbtCgQVYnYv369a5q1aruiy++iPTLBAAAAOIWOykAAAAAJCwFJTp16mRfKZ133nlu8eLFx/zdb7/9NsyvDgAAAIh/BCliXK6s2VxW51zSoQMZ9m9mypTZZTpF/yoAAAAAAAAAAOlHkCLGZVOwICnJ7Zk1wR3ZtS3s/16W0/K63FXru7TVZwcAAAAAAAAA4GgEKeKEAhRHdmyK9MsAAAAAAAAAAOCEUTgbAAAAAAAAAABEBEEKAAAAAAAAAAAQEQQpAAAAAAAAAABARBCkAAAAAAAAAAAAEUGQAgAAAAAAAAAARARBCgAAAAAAAAAAEBEEKQAAAAAAAAAAQEQQpAAAAAAAAAAAABFBkAIAAAAAAAAAAEQEQQoAAAAAAAAAABARBCkAAAAAAAAAAEBEnBKZfxYAEM1yZc3msjrnkg4dyLB/M1OmzC7TKfpXAQAAAAAAkCgIUgAAjpJNwYKkJLdn1gR3ZNe2sB+hLKfldbmr1neZ+CwAAAAAAAASCkEKAMAxKUBxZMcmjhAAAAAAAADCgpoUAAAAAAAAAAAgImIiSLFjxw733HPPuerVq7vLL7/cNWnSxP3yyy+Bn//444+uYcOGrmzZsq5OnTpu0qRJyX7/wIEDrlu3bq5y5cqufPnyrkOHDm7btvCnLwEAAAAAAAAAIC2WLl3qbrjhBpc7d253/vnnu169eh3zuVOmTLF5cT33uuuuc4sXLw78bNGiRfazM88803Xt2jXZ73Xq1Mn169cvKj6YmAhStG/f3v3222+uT58+7rPPPnMlS5Z09913n1u+fLlbtmyZa926tatWrZobM2aMu/32290TTzxhgQufPoDvv//evfHGG27YsGH2e+3atYvoewIAAAAAAAAAIFhSUpK76aab3Nlnn21z4u+884574YUX3IgRI1xK8+fPt+fecsst7tdff7UF/tdee63bs2eP/fzpp5+2hf/ffPON69u3r5s3b549vnnzZjdu3DibV48GUR+kWLVqlZs1a5YFGipWrOguuugi16VLF5c/f343ceJECzoUL17cPf744+7iiy+24IV2UwwcONB+f+PGjXbAO3fubL9fpkwZC3bMmTPHPmQAAAAAAAAAAKLBxo0bXbly5dzbb7/tLrnkEnfjjTe6WrVq2SL8lPScq6++2nXv3t3myHv27OlOP/1099FHHwV2UtSrV8+CF6VKlbLv5bXXXnMPP/ywy5Ejh4sGUV84W1tR3nvvPXfZZZcFHsuUKZN97dq1y9I+aRtLsKuuusq9+OKLzvM8iyD5j/kU6DjnnHMsUKH0T+mh//fevXuPelyvK3PWU5zn/e854eb/Exn37+kfcm7fvn1p+vfi+bhwTDgunC+JcR1xvz3+cUnrZ5fRItUOcVw4LrF0rujf17UCAAAAIHIKFizoRo0aFeij//DDD27mzJluwIABRz1XGYOuvPLKwPfqz2seXVmGtEtCqaLmzp3rrrjiCstIpO+3bNliGYn8XRXRIOqDFKeddpq75pprkj321Vdf2Q6LZ555xo0dO9YVKFAg2c+1y0IDve3bt1vkSYGObNmyHfWcDRs2pPt1HTp0yC1cuPCox7Nnz+4uKnqxO3LksDt8+LALt6SkI/bnkaSM+ffckcP2by5fvsLt37//hH8tro8Lx4TjwvmSENcR99vU6dgfOXLErVi+PE2fXUbL6HaI48JxidVz5dRTT430SwAAAADw/1144YVu9erV7uabb3aNGjVyKWkh/tq1a5M99s8//7i8efPa359//nn73WeffdY1a9bMFvIrBdRDDz0UNbsoYiJIkZIiPzqQtWvXdjVq1LDBXMrBlP/9wYMHLViR2mBLQQsV1E6vrFmzuqJFi6a+UjNLFpclyynulFPCf3gzZ85if2bJfIpzGfDv6X3p3yxSpEjaVzvH6XHhmHBcOF8S4zrifps6HfssWdL+2WW0jG6HOC4cl1g8V1ScDwAAAED0+Oyzz2yhfZs2bazcQf/+/ZP9/I477nD169d3TZo0sRIISvOk7EE1a9a0nysVlH5/9+7d7qyzznJbt251n376qe2iUABj6NChVh5Bf+rnkRJTQYqvv/7adezY0XJoKW+WH2xQMCKY/72iQVo5mfLnogDFyUSLNNmRM2fOVH924PAhp53yGbFd3v8nMu7f0z/0v2ObVvF6XDgmHBfOl8S4jrjfHv+4RNMKjGhqhzguHJdYOldI9QQAAABEl4oVK9qfWqh/11132Zx48IJ8BSYUbNAuC2UNUHDi7rvvdjt37gw8R8/3AxCq1ayAh4IUCkzoT9V/Vj3oN954w0VK1BfO9g0fPty1bdvWDrQqmvvpm5Sja9OmTcmeq+8VQMiTJ4+lgtqxY8dRgQo9R9thAAAAAAAAAACIBhs3bnTjxo1L9piKXmt+WzWaU1IqJz2+fv16W+SvXRNKE5XStm3b3OjRoy1IMWvWLEv9pCLbdevWTbUod0aKiSDFiBEjXI8ePSxapGhPcLRI0aSff/452fN/+ukn222ROXNmV6FCBZeUlBQooC0rVqywD7tSpUoZ+j4AAAAAAAAAADiWFStWuIYNGyarNaG57bPPPtvly5cv2XM//vhj99hjj9mCfr9O87Rp0wLpnoL17dvXPfjgg7aLW/PmmjMX7cCIdOrZzLHwobz00kvu+uuvt4rkqj6+efNm+1JUqHnz5rYtRVtdVKF88ODBbvLkya5Vq1b2+9otcdNNN7nOnTu72bNn23Pbt29vFc3LlSsX6bcHAAAAAAAAAIDRwnotvG/ZsqVbsGCB++KLL1ynTp1sx4SoxoSCEVKsWDHLOjRmzBj3999/u6ZNm7rChQvb7ohg27dvd6NGjbIghf9vTJ8+3f3222+Wwahy5coukqI+SPHVV1+5Q4cOualTp7qqVasm+3rxxRfdJZdc4gYMGOBmzJjhbr31Vtuy0qtXr2QHVrsw9P0jjzzi7rvvPitMmLLICAAAAAAAAAAAkZQlSxY3fvx4lytXLpvT1mL8du3a2Zdf/kABB1Ew4+2333YdOnSwv8ukSZNsp0Swfv362QYAv8ZylSpV3L333ms7LlQWQTUpIinqC2cruuNHeI6levXq9nUsOvgvvPCCfQEAAAAAAAAAEK3OPfdc2x2RmpSpmVq0aGFfx9OtW7ejHtNCf31Fg6jfSQEAAAAAAAAAAOITQQoAAAAAAAAAABARBCkAAAAAAAAAAEBERH1NCgAAACBe5cqazWV1ziUdOpBh/2amTJldplP0rwIAAABA5BGkAAAAACIkm4IFSUluz6wJ7siubWH/97KcltflrlrfZQr7vwQAAAAAJ4YgBQAAABBhClAc2bEp0i8DAAAAADIcQQoAAAAAAAAAAEJs9erVbsuWLXF7XPPly+fOP//8k/7/EKQAAAAAAAAAACDEAYqSJYu7vXv3x+1xzZkzu1u4cPFJByoIUgAAAAAAAAAAEELaQaEARfuul7jCF+aMu2P7z8q9rk/Xv+19EqQAAAAAAAAAACAKKUBxcYnckX4ZUS1zpF8AAAAAAAAAAABITAQpAAAAAAAAAABARFCTAgAAIMRyZc3msjrnkg4dyLBjmylTZpfpFP2rAAAAAADEDoIUAAAAIZZNwYKkJLdn1gR3ZNe2sB/fLKfldbmr1neZwv4vAQAAAAAQWgQpAAAAwkQBiiM7NnF8AQAAAAA4BmpSAAAAAAAAAACAiGAnBQAAADIEtToAAAAAACkRpAAAAECGoFYHAAAAACAlghQAAADIUNTqAAAAAAD4qEkBAAAAAAAAAAAigiAFAAAAAAAAAACICIIUAAAAAAAAAAAgIghSAAAAAAAAAACAiCBIAQAAAAAAAAAAIuKUyPyzAAAgHuTKms1ldc4lHTqQYf9mpkyZXaZT9K8CAAAAAIBYR5ACAACkWzYFC5KS3J5ZE9yRXdvCfiSznJbX5a5a32UK+78EAAAAAAAyAkEKAABw0hSgOLJjE0cSAAAAAACkCTUpAAAAAAAAAABARBCkAAAAAAAAAAAAEUGQAgAAAAAAAAAARETCBCmSkpJc//79XbVq1Vy5cuXc/fff7/75559IvywAAAAAMTRO2L59u+vQoYOrVKmSu+KKK1y3bt3cvn37MvQ1AwAAAPEkYYIUAwYMcCNGjHA9evRwI0eOtMFIq1at3MGDByP90gAAAADEyDihXbt2btWqVW7o0KHu9ddfdzNmzHBdu3bN8NcNAAAAxIuECFJogDF48GAbUNSoUcOVKFHC9e3b123YsMFNmTIl0i8PAAAAQAyME3777Tf3888/u549e7rSpUu7ypUru+7du7vx48e7jRs38hkCAAAA6ZDJ8zzPxbl58+a522+/3U2ePNlddNFFgcebNGniihUrZlu002Lu3LlOhy1r1qypPyFTJrf34H53JAMObdbMWVyOU7K6pAN7nUs6EvZ/z2XO4jJny+nS9c7i9bhwTDgunC8JcR1xv+W4cL5wHcX7veXQoUMuU6ZM7vLLL3eJIq3jhPfff98NGzbMff/998kCHWXLlnW9e/d2N954Y5pfw/HGFgcOHHDr1q1z2U7J4TJliq/1ZZ6X5A4c3ufOPfdcly1bthP+vcAxOTWXy5Q5i4s3XtIRd+Dgv+k+Lqdmz+Uyx+FxSUo64g7uT/9xyZojl8uUJf6Oi3fkiDu07ySOS674u450DR36N/3H5JTc8XuuHN5zEufKablc5izx1Q5J0pEkd2hX+o9LjjNyusynxOFxOZzk9u3Ym6bj4h+T3Gdmd1ni8JgcOZzk9mzfn+5z5Ywzs7osWePwuBxKcju2H0r1uKR1bHGKSwBaCSUFCxZM9nj+/PkDP0sLHeDgP1OT69TsLiNlzp4rQ/+9Y7/z44vn48Ix4bhwviTGdcT9luPC+cJ1FK/3FvVtj9e/jUdpHSdot0TK55566qnujDPOcOvXr0/Xazje2CJ79uyuSJEi6fr/xiuOCceF84XriHtLOuXnnpuqfByXVOVN23FJhPY5/5lp/51EOC55j3Fc0jq2SIgghV/ITgOIYIrw7Ny5M83/v/Lly4fstQEAAACIjXGCnp/yuf7ztVIuPRhbAAAAINHF3z6TY0StJGXxOw0kcuTIEaFXBQAAACCWxgl6fmoFtfX8nDlzhvGVAgAAAPErIYIU/pbsTZs2JXtc359zzjkRelUAAAAAYmmcUKBAgaOeq6DFjh07LEUUAAAAgLRLiCBFiRIlXO7cud3s2bMDj+3atcstWLDAVapUKaKvDQAAAEBsjBP0mGpVrFq1KvDYzz//bH9WqFAhg141AAAAEF8SoiaF8sY2a9bMvfbaay5v3ryuUKFCrlevXrYSqnbt2pF+eQAAAACicJxw5MgRt23bNpcnTx5L9VS2bFl3+eWXu8cff9x17drV7d271z333HPu1ltvZYc2AAAAkE6ZPM/zXALQAKNPnz5uzJgxbv/+/bYKSgOK8847L9IvDQAAAEAUjhPWrFnjatWq5V5++WXXsGFDe/7WrVtdt27d3HfffWcFs+vUqeOefvpp+zsAAACAtEuYIAUAAAAAAAAAAIguCVGTAgAAAAAAAAAARB+CFAAAAAAAAAAAICIIUgAAAAAAAAAAgIggSAEAAAAAAAAAACKCIAUAAAAAAAAAAIgIghQAAAAAAAAAACAiCFIAAAAAAAAAAICIIEgBAFHG87xIvwQAAICIo08EAACQGDJ59PwQZXRKZsqUKdIvA+n4vPjs0u+ZZ55x5513nnvooYfi/liuXr3aFSxY0GXNmjXSLwVISPv373fZs2fPkH9r+vTpbuPGjW7Pnj2ucuXKrlSpUhny7yJ94rntQexIpD4RcCIYb4UO95PEPsaMQ8ODsQVChZ0UiLi1a9e6xYsXu1WrVtn30dqgpSbRY3xJSUnJPq9Y+uyiyebNm92RI0fcxx9/7IYNGxY4lvF4fo0dO9bVr1/fff/99+7QoUORfjlAwvnnn3/cjz/+aPfvcHvttdfcc8895z777DM3YMAA9+STT7oxY8aE/d/FyU8q7Ny5k8OIiEikPlFqEuV94sQx3god2rnEns9hHBoejC0QSgQpEFFPP/2069Spk7vlllvcXXfd5WbOnBlTn4jfAH/66afu/fffd4nWycuc+X+3kFdffdX17ds30i8pZp199tnu4YcfdnXq1LHzaOjQoXE7KG/QoIG7+OKLXY8ePdwPP/wQ14GKePvsognHNv2WL1/u2rRp47766is3ZMgQN2XKFBcOEydOdF988YV799133UcffWSByVy5coXt30PoJsH0ufXv39+tWbOGw4oMl0h9okQbWyTC5xdqjLdCh3YuPGJpPieRxqEZibEFQtnGnxKS/wuQDs2bN7dtYY888og1EDt27HBXXnllzGwV9B04cMBNmzYtoTrewZ/LvHnz3DfffONeeuklW/mWJUuWSL+8mDyW559/vnXs9P3AgQPtZ/fee29gUB7t18GJOHz4sDvllFNsVfUdd9xhK6y7d+/urr766phO/eR/PosWLbJJvU2bNrmmTZvGxWcWTcdXKYPUVihtUOHChW3CG2l3zTXXWAqVJ554wgbsEyZMCMthXLp0qQ0Eixcvbm1Djhw53G233ebeeecda+/POOOMsPy7SDudB/6ig59//tl98sknbuHChZYSTO3Sueeey2FFhkikPlE8jy3oF4X2OArjrZNDOxcesTSfE6/j0GjA2CLxeGEcnxOkQERo5b1OZq0QSjlRoQk+dc51kkdDg5ZSyoY2W7ZsNuGjwdTXX3/trrvuOhevunbtapOvxYoVs++1CnfUqFGufPnyrkKFCpF+eTHdYZYLL7zQ3X333fZ3f/VcPA3K1THUda+OoM6b22+/PeY7iP7nMnnyZNetWzd31llnuXPOOcddf/31thoUoTm+ure+/vrrNtm9fv16V7FiRZvwvuGGGzjE6XD66afbtaig8l9//WXt7amnnhrSz2zDhg1uy5Ytdo/z73P6mdIIxerEW7zyP59XXnnFFh2UKFHCFSlSxO7Tcuedd9o5AoRTovWJ4nVsQb/o5DHeCj3audCLtfmceByHRhPGFonDC/P4nHRPyHAHDx60FZbabuc3aPv27XPz5893jz32mLv55pttgk9/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Q7my165d68aMGRNIB0VObAAATt53333nWrdu7Z588kl3yy23WKAimFI8sYMCAAAgsTGfgxPB2AKILgQpUtGkSRN38OBB99Zbb7lcuXK5pUuXWlDi2muvdV26dLEUTt9//70bMGCAW7RokTv77LOt/kSJEiVczpw5Xf/+/S24wWQJAAChpfZXuxv1dffdd7vcuXNziAEAAMB8DhhbADGMIEUqAYoDBw644cOHW8BB9H3Lli3dpZde6p5++unA7gjtsNDX4sWLbeVm6dKlLXe2ghiHDx+2nRQAACC0vvnmGzd48GBrq9mtCAAAAOZzwNgCiG3Mogdp1aqV27Vrl5s0aZJ9r90Up556qsuWLZut1CxYsKA97k+I5MuXz760gyJYUlISAQoAAMKkVq1atrtR7TFpFQEAAMB8DhhbALGNIMX/N3v2bDdv3jx3xRVXuN27d7s8efJYgEKeeeYZK4Z92mmn2U4KPzBx5ZVXun379rnChQsnO6jaSQEAAMKHAAUAAACE+RwwtgBiH+menHODBg1y9913n/vggw/c+PHj3bnnnutefvll2z3Rtm1bN3/+fFesWDGXP39+N2fOHLdt2za3c+dOO4D169d3r776aqQ/RwAAAAAAgITCfA4AxIeED1KoBsWePXvcxIkT7YAMGzbMAhUXXXSR7ajYvHmze/31112hQoWs7sS///5raaCWLFniVq5c6Ro1akRqJwAAAAAAgAzEfA4AxI+EDlI0bdo0UCQ7R44cgccVqPj000/dmjVr7O9lypRxR44csSCF6k2kTOdEkWwAAAAAAICMwXwOAMSXhC2e0K5dO/f333+7999/PxCgUCBC7rnnHte4cWN34YUX2tZB7aZQgEI/T63exCmnUNoDAAAAAAAg3JjPAYD4kzlRtwT+8MMPlrppwoQJbu/evfa4H4iQ5s2bu1tvvdX9888/rkePHm7Lli328wTeeAIAAAAAABAxzOcAQHxKuCDFnXfeaSmefvzxR9epUyfXs2dPN2LECLd///6jAhXaUaFAxbp161z79u3djh07XKZMmSL8DgAAAAAAABIL8zkAEL8SKk/R22+/bUEG1aDImjWra9GihTt06JDr3bu3/bxZs2Yue/bsgUCF/rz77rttx8Xq1avdaaedFum3AAAAAAAAkFCYzwGA+JZQhbNV9FpBCn0pOKFAhbz33nuub9++rkOHDoFAhfiBCtFh0u+lVjgbAAAAAAAA4cF8DgDEt4TYSbFw4UK3ZMkSt2vXLlekSBFXokQJd9ZZZwV+/sADD9ifqe2o8IMSClAoUEGAAgAAAAAAIPyYzwGAxBD3QQrtjlBNiZUrV7ps2bK5ffv2uVy5crmuXbu6qlWrBoIOfqCiT58+FpBo2rSpy5EjR7KgBPUoAAAAAAAAwo/5HABIHHEdpLj33nstKPHkk0+6woULu7PPPttNmTLFjR492j3yyCOue/fuVhjbT+ukQIUCEb169XL58+d39erVi/RbAAAAAAAASCjM5wBAYonbmhQDBgxw06dPd++++64788wzk/1sw4YNltpp6tSp7uOPP3YlS5YM1JyQ8ePHu5tuusmdckpcx3AAAAAAAACiCvM5AJB44rYC9F9//eUqV66cLEDhx2MKFCjgHnzwQVe0aFH39ttvu4MHDyb73VtuucUCFIcPH87w1w0AAAAAAJComM8BgMQTd0EKFbretm2b+/PPP13ZsmXtMaVzSllT4uKLL3aVKlWygtpZs2ZNtd4EOykAAAAAAADCj/kcAEhccRekUKHrvHnzujx58rhffvnFHlO9iWB+0KJ69epu9+7dbtOmTdYYAgAAAAAAIOMxnwMAiSvughRK6XTgwAFXpEgRN2fOHLd8+fKjnuMHLX7//XdXokQJd84551hjCAAAAAAAgIzHfA4AJK64m5lX2qZs2bK51q1bu0WLFrlBgwa5rVu3HvU8BTJ+++03d+mll0bkdQIAAAAAAOB/mM8BgMSVyfOrScehTz75xHXv3t3Vrl3b3Xnnne6KK65w+/btcxs2bHCvvvqq/Tl69GirPaHDkFpdCgAAAAAAAGQc5nMAILHEdZBCdSamTJniunXrZsWxzzzzTLd//35L76Tv33nnHftTNSpS1q0AAAAAAABAxmM+BwASS1wHKXzr1693f/75p1u2bJk77bTTXMmSJV25cuWsDsXhw4dtJwUAAAAAAACiB/M5AJAYEiJIcbzIPAWzAQAAAAAAYgfzOQAQX+KucPaxBMdi/L8ToAAAAAAAAIhezOcAQPxL6J0UAAAAAAAAAAAgchJmJwUAAAAAAAAAAIguBCkAAAAAAAAAAEBEEKQAAAAAAAAAAAARQZACAAAAAAAAAABEBEEKAAAAAAAAAAAQEQQpAAAAAAAAAABARBCkAAAAAAAAAAAAEUGQAgAAAAAAAAAARARBCgAAAAAAAAAAEBEEKQAAAAAAAAAAgIuE/wfzhK9+PE0qgwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "----------------------------------------------------------------------------------------------------\n", " 📌 Top 5 Tasas de Éxito en 'relationship': wife: 47.4% | husband: 45.0% | not-in-family: 10.4% | unmarried: 5.9% | other-relative: 3.5%\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABi8AAAJ3CAYAAADs0MJcAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA9iRJREFUeJzs3Qd4FNX3//FDQm8CIlW60lSwAIIiIipYsAA2FBUUBUURBcUCiCiKoKCICKgURVQUG1bsHQQUEaWIIDaK0ntL/s/nfv93f5Nlk+yGlE3yfj3PPkl2Z2dnZ2Y3d+6595wCycnJyQYAAAAAAAAAABAnEnJ6AwAAAAAAAAAAAIIIXgAAAAAAAAAAgLhC8AIAAAAAAAAAAMQVghcAAAAAAAAAACCuELwAAAAAAAAAAABxheAFAAAAAAAAAACIKwQvAAAAAAAAAABAXCF4AQAAAAAAAAAA4grBCwAAAAAAAAAAEFcIXgAAAAAAMuzyyy+3evXqWf369e3VV19lTwIAACBTELwAAAAAAGTIN998Y/Pnz7cCBQrYkCFD7KKLLmJPAgAAIFMQvAAAAAAAZMiYMWNc4GLw4MF2ySWXsBcBAACQaQokJycnZ97qAAAAAGQmNdeTkpIsMTGRHQuE2bdvnxUsWJD9AgAAkAcx8wIAAGSZ1157zeVBj3RTbvRGjRpZq1at7Nprr7V33nnHddJmpSuvvDL0+to278477wzd/8QTT1hesnr1auvXr5+ddNJJdvTRR9vJJ59svXr1co/t2LHD3a/3fcwxx9jnn3+erdsWPB/++usvywsy+1z66aefrHPnzu44RnMux7s2bdqEtnvOnDlRPUfL+efo+dmhd+/e7vVGjRoV8fHvv//e7r77bmvbtq0de+yx7tauXTu755577Jdffon4nNx6zIL0OU3tOz3S7cYbb8yy82X37t325JNP2tChQw/yXWXO9mXG571r165p7s+pU6emWH7v3r32zDPP2Lnnnuu+w0888US76aabbOnSpQesW9vn16PvqfQEl/efuz/++MMaNGhgJ5xwgq1bt+6g3y8AAEB6GKICAAByhAIV6nxau3atu3311Vf2ww8/2IABAzgimeiGG26wxYsXh/7+77//7M8//3S/qyNs/fr1VrhwYZf65dRTT2Xfx5G77rrLXn/99SwP6iGlzz77zD744AM3ml+FqIP27NljAwcOtDfeeOOA3fb777+724wZM+z666+32267jV2bRebNm2d33HGH/f3339ahQ4c8MxMk+F0djT59+thHH32U4vz88MMP3f/TiRMn2vHHH2+ZqXr16m7AgT4jDz74oD322GOZun4AAIBwBC8AAEC2KFmypBtB7ikNzrZt21wniIIX8vzzz9uFF17oZghkJ3Xaly9f3v2uEaV5xebNm1N0hp122mlWo0YNd9O+f/bZZ13gQqOX1SGF+JLW6Pz27dtb48aN3e9169a1vKxKlSp23XXXud9Lly6dpa+lQNHDDz/sfj/zzDOtYsWKKR67+eab3XeWpxkXGvG+detW+/LLL10wUMuNHz/efadcddVVlpdddtllVqpUqVQfP+KIIw56/Vu2bAmdB963337rAhfxRHU/RMdes2+uvvpqa9asWdTP1+yqTZs2ud+PPPJIa9269QHLHHXUUaHf33rrrVDgokSJEnbeeefZsmXL3KygnTt3ullAb7/9dobTzfn3E2kGkT4D7733nnXp0sWaNGmSofUDAABEg+AFAADIFocccohLXxRuw4YNLvWKOv9EnTHZHbw4++yz3S2vUYAiSLMrgiOCo03bg/hz6aWXWn5RrVq1iN8dWUHfPytWrHC/h4/of/HFF0OBi0KFCtnw4cPtnHPOCT2+fft2F9z4+uuv3d+PP/64derUyXUs51UKKh1++OFZtn7NYIlnlStXDgVRKlSoEArM6zzSrWHDhi6IofNEgeK0BAPNp59+ut16661pLj9t2rTQ7w888IB7Dc36OP/88+23335z57G+45UaMCMqVaoU+t2/N9H6DjvsMPv3339t0qRJBC8AAECWouYFAADIUeXKlbNatWqlCGYEKa/2fffd50ZBa4SzOoNUt6Fnz54uzVQkn376qUv3ctxxx7mRr0ovklZ+7vTqFKhzSqOxFeDQSGuNNNX6X375ZddZFIlyg/ft29eaN2/uRshr1olSeSjdSaS848H84uokHTduXOi5V1xxRYoaCOogbdmypRuFq0CPOro0ytbPYPGjY8PrA2j5YO74tGpOaFvVMdmiRQu3z1WfRDn9lSrEj4SOxv79+23y5MlupoCOn2Z/jB492qU3SYs6xu6//373HnytDr3vH3/8MdNqKfjltW6l+9Eob72W9q3SBnk///yzq4Gg4+H39+DBg23NmjUWi2jP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LrvsMjvxxBPtmGOOsfPOO88mTJjgHsuobdu22YYNGyye7dq1y73nk08+OVO3VZ/1p556yv0+Z86c0Hk3ceLEVJ8zefLk0HLx4M8//8zW19P35EknnWSvvfbaAY8tX7481c/yp59+6pb566+/3N9PPPFEqq+xf/9+O+uss+zjjz/O0vcCAEC8iNQu1rXL8ccfbxdffLG9/vrrmfp6md2WjnZ9WkbLpva33w/piXa5aB3M+jJ7W3KCjkHwOMRi+PDhEdt+arsHbd++3R588EE79dRT7dhjj3XX5z///HOKZdQ+1HPVXsyMbVVb8uyzz3Zty3B79+61c889N9U26ezZs91113HHHee2Wcvt27cvQ8v99ttv1rFjR7fMtddea2vXrj1gPX369LG77rrLoqV9ENzf9evXt8aNG7s29MMPP+za7PF6jXHPPffYQw89lGXrB/Kygjm9AQCyjjp51Tk5a9Ysu+KKKyIuo8fUiDn//PM5FNlIjbSyZctGfKxYsWLu59133x36PT9S0K1Xr162cOFCa9u2rWuUJiYm2tdff22PPvqoffXVV/bMM89Y4cKFY1rvokWL7IYbbrBHHnnkgAuMeDJz5kzbtGmTjR071sqVK5cp6/zss8/s+++/dxdc4T755BO75pprIj7vo48+snihi5/DDjvMhg0bli2vpyCZLqzWr18f8fFff/01dBEffpwaNmwY9evo3O7du7cNHTrUBUry82cfAJB/28XJyclukMlbb73l/rdu3Lgx1fZJbtGzZ0/buXNnqo9feuml1qJFi2zdJhwcDV6pVauWu6YIKlKkSIq/b7vtNnftooBV1apVberUqe53BeZq1KiR6YdB55naknfccYdrWwbpszVw4EC37ZHoGqF79+4uINC3b18XfHjyySftv//+s/vuuy/m5dRZr3Z0v379bNq0ae7n888/H3p82bJl7hrjvffei+k96rvCBzz0nhQg0vXdlClT7IMPPnAD38qXL2+x0jWXjsuHH35oWUHXteecc4516NDB7TsA0SN4AeRh6uwdMmSI+yeeWvDi3XfftdKlS1vr1q2zffvyszPOOMMOP/zwdJfJr9QQVWN/yZIlbkaAOnM9NfiffvppF3xQECOW0Tq+obxu3TqLd99++617r6effnqmrC8pKcmN/Lr66qutePHiKR7TuagLEXUQhAfVNOtDj6lj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1JQpU0IF4MIvmIoUKRIq9LZr166Ij8vBXAgrFVWkfK0AAADIHGqr/fPPP67tphz7yLkAUvXq1UNt6PCUPwAAAACQp4MXPhAwdOhQ+/HHH23q1Knu98svv9zKli3rHtMMCtW8uOSSS+ynn34KXcSq9kXwglYXur7AoO7X40E+aHEw+ZM1PZ78ywAAAFlHg1h0U6HorCgW3aZNG5dedNiwYZm+7rxC+13HQG3rSAEkUkYBAAAAyJMFu1Xj4p133nFT0UMblJDgAhkq2q3ffeDCO/LII0PpoHy6KC0bpL8rVqzoflf9jEiPi18GAAAA+c+YMWPsxhtvzOnNAAAAAADEW/BCBbNvu+02+/bbb1PUkvjll1+sTp06dscdd1jXrl1TPEczLkQBjvr161vJkiVtzpw5oce3bNnint+0aVP3t37Onz8/RZHH2bNnW61atezQQw/NhncJAACAeNSwYUOXDgkAAAAAEH9yNHihNFAqwP3AAw/Y3LlzXY2LO++80wUgFLRo166dC2xoVJzqXXz++ed29913W/v27V1wQ7UsunTpYo888oh9/PHHtmTJElfMW7Mt2rZt616jU6dOtm3bNrvnnntcTt7XXnvNJk+ebD169MjJtw4AAIAcprRRanv+9ddfVq9ePXvvvfesd+/edtxxx7l0UgMGDLAdO3aElk9OTnbtyLPPPtsaNWpkZ555pj377LPufu/rr792aU9POOEEO/HEE61v3762evXq0ONqix5zzDE2b948107V72rzfvLJJ64oturANW7c2K1bM5SDVP9DA3+0bVpGy2rQDgAAAADkRTle82LkyJH26KOPuqDD1q1brUmTJq5od5UqVdztscceswkTJtjTTz9tpUqVsvPOO8/69OkTer4uMJV2SheXKs6tmRa6iFRBbdHsimeeecbVz+jQoYOrmaEZHfodAAAA8O69914XUBg7dqwtXLjQRo0a5VKYKgAhw4cPtylTpli3bt3s5JNPdjOCNYhGbVENjHnjjTesf//+bqCN/t64caONHj3aLr30Unv99ddDs361vNZ50003uTSoWke/fv2sfPny1rlzZ+vZs6cbvKN1KQiigTlKt3rZZZe52hMDBw50P7UtV1xxhb366qtuYA/yJg3i0ox1ZC99HpmZBQAAkM+DFwpIDB482N0i0cg23dIqInj77be7W2o0Mu7ll1/O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O9sXX3wRWseaNWusUqVKKdbrZ2msXr06xf1aT9euXV3AZNy4cVa0aFGOLwAAAIBch+AFAAAAkA1Klixpl19+ub355puu2LYCFxdffLH9/ffftmLFCtu8ebPdfPPNbmaGinJff/319u2337rnavZE4cKFU6xPNTJk9+7dofs2bdrkAhdVqlSxp556KrQMAAAAAOQ21LwAAAAAsolmRcyYMcPVsNiyZYtdc801duihh9qcOXMsMTExNEvi6KOPtl9//dWeffZZa9Gihbt/z549Kdblgxaa2eGNGjXK9u7d654fHuwAAAAAgNwkx2derF+/3m6//XaXs/e4445zI8x+++230OOLFy+2Ll26uNFnbdq0caPUgpKSkmz06NF2yimnuGWuu+46+/PPP1Msk946AAAAgKykmhWqedGqVSt79913XZv3888/d6mjFJgoUaLEAemdjjzySFu7dq37XSmj1q1LWZzc/12xYsXQfUo5pbaxAiRfffUVBxUAAABArpXjwYtevXrZqlWr3PT4V1991V20aar7zp07bePGja7IYPXq1d0FmJZ95JFH3O/e2LFjbdq0aXb//ffbSy+95IIZyiXsR6ZFsw4AAAAgqygtlNq3okE0r7/+uksX5YMVmmFx/PHHu9kXQYsWLbIjjjjC/d60aVObP3++7d+/P/T47NmzrVatWm7mhteuXTtr27atnXPOOTZw4EDbtm0bBxYAAABArpSjaaOU11eFBHv06GF169Z199144412wQUXuIs45fgtVKiQK3BYsGBBq1OnTijQ0alTJxegmDhxovXr189at24dmiqvWRizZs2y9u3buyn5aa0DAAAAuVNi6XK54vUUXPjss8+sfPnyER9X+7R27dquvXrfffdZ2bJlXRt2wYIFoQE3arc+88wzds8997iBOqqXMXnyZLd8JFpOAYzhw4e79QIAAABAbpOjwYtDDjnEHn300RQ5gHURpmnxGmX2xBNPWLNmzVzQwVN6qfHjx9t///1n//zzj23fvt3lAfZKly5tDRs2tLlz57rghabop7WO1C4iAQAAEL8KFEiwki3Pz5HXjZVmWISnhApKSEiwcePGuXZxnz59XC0MtWcnTZoUGuCjAIiCF0OHDrUOHTrYYYcdZnfccYf7PRK1cfW4ghhnn312ivYyAAAAAOQGcVOwW9PaNcJMhQWfeuopV3hw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AAAAiCsELwAAAAAAAAAAQFwheAEAAAAAAAAAAOIKwQsAAAAAAAAAABBXCF4AAAAAAAAAAIC4UjCnNwDxrUShIlbIzJL27rbcqECBBCtQUO8AAAAAAAAAAJBbELxAmoqo4z8pybZ9/Zbt37IhV+2txNLlrGTL861ATm8IAAAAAAAAACAmBC8QFQUu9m9ax94CAAAAAAAAAGQ5al4AAAAAAAAAAIC4QvACAAAAAAAAAADEFYIXAAAAAAAAAAAgrhC8AAAAAAAAAAAAcYXgBQAAAAAAAAAAiCsELwAAAAAAAAAAQFwheAEAAAAAAAAAAOIKwQsAAAAAAAAAABBXCF4AAAAAAAAAAIC4UjCnNwAAAAAAItm3b59999139u2339pff/1lW7dutbJly1qVKlWsVatWdvzxx1uBAgXYeQAAAEAeRPACAAAAQFzZs2ePTZs2zSZPnmxr1qyxQw45xAUsihUr5v7+7LPPbPz48VahQgW77rrr7NJLL7XChQvn9GYDAAAAyEQELwAAAADEjYULF9odd9xhhQoVsssvv9zOOussq169+gHLLVu2zD7//HObOnWqPffcczZixAg79thjc2SbAQAAAGQ+ghcAAAAA4kb//v2tX79+dsYZZ6S5XN26dd1NMy8++OADu/POO+3999/Ptu0EAAAAkMcLdm/atMkGDRoUylnbuXNnmzdvXujxbt26Wb169VLcrrzyytDju3fvtvvuu89atGhhxx13nPXt29c2bNiQ4jWUI7djx47WuHFjN3LrnXfeydb3CAAAACA6b731VrqBi3Dt2rWzmTNnsosBAACAPCTHZ17cdttt9u+//9rIkSPt0EMPteeff96uvfZae/3116127dq2dOlSGzx4cIoLGE0h9/SYgh1PPPGEy3N77733Wu/evd30cfntt9+sR48eLgiiqeTKj6tp6OXKlXMBDwAAAADxI9jWl507d9q2bdssISHBSpUqlWpti/DnAQAAAMjdcjR4sWrVKvv6669dMb4TTjjB3Tdw4ED78ssv3cipLl262Pr1692MicMOO+yA569du9beeOMNGzdunDVp0sTdpyCIZlf88MMPbibGlClT3GyNW2+91T1ep04d++WXX+yZZ54heAEAAADEoT///NOefvppV9Ni3bp1KR5T4e6WLVta9+7drVq1ajm2jQAAAADiOHihlE1bt261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PAUv/vrrLxekOOSQQ+zoo4+2J5980ooWLWrt2rWzFStWuILe7du3j3p9mzZtspEjR9pnn33mLkrq1atnffv2tSZNmrjHv/32WxsxYoT99ttvVrlyZbv55pvt3HPPDT1/9+7dNmzYMHv//fdt165d1qZNG7vnnnusXLlyoWXSWwcAAACA+LB3714bOnSoK8a9f/9+K1mypJUoUcI9puuF7du3W8GCBe3SSy91g6gSExNzepMBAAAAZIGEWJ9QqFAhF6yQGjVq2KpVq9wFhpxwwgn2+++/x7S+2267zX744QcXwJgxY4bLXXvttde6QIiCDT169LBTTjnFXnvtNbv44ovtjjvucMEIb/DgwfbVV1/ZE088YVOmTHHP6927d+jxaNYBAAAAID6oCLfa7QMGDLBvvvnG5s2b52Z566b6erpPQQsFN0aPHp3TmwsAAAAgXmZeKLjw6aef2oknnmi1atWypKQk+/HHH91MCU3tjoUCH19//bVNmzbNBT5k4MCBbnr4zJkzbf369W4mxq233uoe0xTxX375xZ555hlr0aKFrV271t544w0bN25caKaGgiBnnXWWC4gcd9xxLqCR1joAAAAAxA8FLjTAqXPnzhEf1wzryy+/3M3AVlvft/MBAAAA5PPgRbdu3eymm26yLVu22IMPPminn366m8nQtm1bF3DwQYholC1b1iZMmGDHHHNM6L4CBQq4m9avUVZnnHFGiucov62mkatguEZe+fs8BVQqVqxoc+fOdcGL9Nah18oIPXfHjh1RLavXSChU0FTjPFKh83jmNzd3brs22mznzp1Zsu154bhm1b7JzXLzcRWOLQAge//vZLw9nRqlhqpdu3a6y6ndv3Hjxkx9bQAAAAC5OHihQIBmOigdkwwZMsTVqHjppZdcEGLQoEFRr6t06dJ26qmnprjvgw8+cDMyNBX89ddfP6AQX4UKFVyHqy5UNPNCAZAiRYocsIyfBaKfaa0jWBsjFkqVtXjx4qiWVZqtWkfUsf3799m+ffssN0lK2u9+7k/Kfdtu+/e57V+xYqWrh5LZcvNx1TYrh/TKFSuyZN/kZrn5uArHFgCQ3QoXLpyp61NdvRdeeMFOOukkV9sitbb4pEmT3KxwAAAAAHlTzMELad26tbuJggcTJ07MlI35/vvv7a677nKzOLR+daqGXwz5v/fs2eMCEJEulhTM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APnSXXfdZX/++WfExxYvXmyjR4/O9m0CAAAAEKczL5YsWWL9+vWz3377LeLjBQoUsM6dO2fGtgEAAADIZ66//vrQtUZycrL16tXLChcuHHEwVfXq1XNgCwEAAADEZfBi+PDhLtds//797dNPP3UXEqeddpp98cUX7vbcc89lzZYCAAAAyPN69uxpr7zyivv99ddft4YNG1q5cuVSLJOQkGClS5d2dS8AAAAA5E0xBy9+/PFHN337oosusmLFitnMmTNDOWh79+7t8s42adIka7YWAAAAQJ52/PHHu5t34403WrVq1XJ0mwAAAADkgpoXe/bssZo1a7rf9VNppDyNfFqwYEHmbiEAAACAfOmhhx4icAEAAADkUzHPvKhSpYormqfZFQpebNu2zRXrPvzww10KKaWUAgAAAICMaNCggb388svWqFEjq1+/vquplxo99ssvv7CjAQAAgDwo5uBF27Zt7dFHH7XixYtbu3btrHbt2vbYY4/ZddddZxMnTmRkFAAAAIAMU4HuihUrhn5PK3gBAAAAIO+KOXhx00032apVq+zVV191wQvVv9B977zzjiUmJtrIkSOzZksBAAAA5Hm6tvBuvvnmNJfdt29fNmwRAAAAgFwRvChSpIiNHj3a9u7d6/4+5ZRTXNHun3/+2Y466iirXr16VmwnAAAAgHxmwIAB7la0aNEDHlPtvf79+9ubb76ZI9sGAAAAIM4KdnuFChUK/a6Axdlnn03gAgAAAECm0SCpCy64wBYuXBi6b//+/TZmzBi76KKLbOvWrextAAAAID/PvDj99NPtySefdAXz2rRpk27RvI8++igztxEAAABAPvTaa6/ZHXfcYZdffrndcMMNdtppp9k999xjy5Ytsy5dulifPn1yehMBAAAA5GTwolmzZlaiRInQ7xTNAwAAAJDV6tSpY9OnT7enn37annjiCTfjonbt2vbKK69Yw4YNOQAAAABAfg9ePPTQQ6Hfhw0bFrFQXsGCMZfPAAAAAIA0/fHHHzZ79myXLqpChQr2119/2Zdffmn16tWzxMRE9h4AAACQR2Wo5sWECRPs+uuvD/09f/58a9mypU2dOjUztw0AAABAPqaZFqp5sWLFChs/frx9/PHHdvXVV9vo0aOtY8eOKWphAAAAAMjnwYuJEyfaY489ZjVr1kxRsPuss85yszI0hRsAAAAAMiN4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LrjA2rdvbytXrrQXX3zRVq1aFemnhFNM7I//N3CqczebBBAUnN/AHDG+MT8MNuYR8YvrzWAIxfCaDsELnHGHDx/2z927d7datWrZ999/byNHjrRt27bxaseZr776yu6++24WSAMgXbp0VrRoURs2bJgvbOvNbuHChZF+WjiDjhw54p9bt25tN9xwg2deKANj7dq1vM5RILwAHR6n5JN84FR/Lzp36wOIZpzfIMwRIcwPg4l5RHziejNY0sXwmk6GSD8BxJ4MGf7vz0oHiS5SN23aZCtWrPADqWPHjnbOOedE+ikijWTPnt2OHj1qa9assdKlS/uOOxbjopPGRhcnNWrUsAceeMAef/xxe+211/x4rly5cqSfHs6AhIQE/zxnzhw/L6ukn9K/5Y477rBSpUrxOqcxHXN6bwx/1thMmjTJNmzY4OfKDh06+C7V3LlzMzY44e9G6eCff/65v8dqonLTTTdZyZIlk67DgEji/IbjMUeEMD8MJuYR8YfrzeA5FsNrOmzpwxkXXoBp1aqV5cmTx1OWGjdubPPnz6eEVAxLvls47MILL7T69evbkCFDbPv27QQuovy41UXp1KlT/VgN10pU2bfFixdH+unhDI2xdrupbJQWOtX7onPnzt68WxkYP/30E69zGtq/f3+KwIUWobt06WLFixe3O++808466yzr2bOnBzKA449lnavvuusu27Nnj11yySX24YcfWo8ePWz9+vW8WIg4zm84GeaI8Yf5YexgHhF/uN4MnnQxvKZD8AJnlBZhtNN+ypQp9p///Md3jTZq1MgeffRRa9q0qffAePnll30hG7FBY3rgwIGk3VTqcZG8x0mDBg0sV65cSfX29PeB6JtU6I1O2VL33XefnXvuuTZw4EB77rnnfEfvuHHjAv9mF+/CKb+6kNEx2aZNG6tZs6Z17drVbrvtNg9gqAfGunXrIv1U44LeExWo0PlQY6MF6DFjxnjQ4t5777VKlSr5IvStt97qOxSXL1/u30cPDIgyp55++mk/fnWuVsZFxowZrV69ev6ZMp2IJM5vOBnmiPGF+WFsYR4Rn7jeDI4jcbCmQ/ACqRLp++2332zv3r0p3uzatm3rCzJvv/22DR48mCbeMWD48OHWsmVL++KLLzyAoeiuGrWr34lOjocOHfLGXtrlrYW55CmniKyJEyf6zkgFnTROMnfuXLv0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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "----------------------------------------------------------------------------------------------------\n", " 📌 Top 5 Tasas de Éxito en 'race': asian-pac-islander: 27.2% | white: 25.6% | black: 12.2% | amer-indian-eskimo: 11.2% | other: 9.6%\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjAAAAJ3CAYAAAA6dRg5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA61JJREFUeJzs3QmcjfX///+XfSc7WbKULUkLUUgULZK1VYVEZaskKRElZUkla3baiJRWn0qbIktS2ZKQSvZ9Z/635/v3vc7/muPMzDljljMzj/vtNjczZ7nOda7rOsd1vV/v1+uVKSYmJsYAAAAAAAAAAACiSObUXgEAAAAAAAAAAIBgBDAAAAAAAAAAAEDUIYABAAAAAAAAAACiDgEMAAAAAAAAAAAQdQhgAAAAAAAAAACAqEMAAwAAAAAAAAAARB0CGAAAAAAAAAAAIOoQwAAAAAAAAAAAAFGHAAYAAAAAAAAAAIg6BDAAAAAAIIrNnj3bKleu7H7uu+8+O3bsWGqvEgAAAJAiMsXExMSkzEsBAAAAACJx4sQJu/76623r1q121VVX2dixYy1HjhxsRAAAAGQIZGAAAAAAQJSaN2+eC17UqVPHxowZQ/ACAAAAGQoZGAAAAACAkE6ePGlZs2Zl6wAAACBVkIEBAAAytLlz5wZqywf/VKlSxWrUqGENGjRwdec/+ugjS+7qm3fffXfg9bVunieeeCJw+6hRoyw9+ffff+2xxx6zK6+80qpXr+7K5HTt2tXdd/jwYXe73vdFF11kX3/9dYqum/940Cx4JI2vvvrKbdNrrrnGTp06dcb9u3fvdsd527Zt7YorrggcF506dXIZCRpUj++zrM9RWuX/DgjnZ//+/Yl+LW1jbzn6jgm2aNEiu+WWWyy1+NevUaNGZ728999/P95t2apVqzOes3TpUvf9f/nll9vFF1/sHqOeJMH/F+j7wb+shAQ/fsmSJe72du3aub/feOONs36/AAAA6QFTaQAAAOKgASo1y/3vv//cz3fffWc//fST9evXj22WhB588EFbs2ZN4O+dO3faX3/95X6fOXOm7dq1y7Jnz26vvfaaXX311Wz7NE5BqUGDBrnf77jjDsuSJUus+z/++GP3GTt06FCs23VcfPvtt+5Hx8Xo0aOtePHiKbruGWkfKaj4xRdfWLRRwCtz5syWKVOmiJ/r/54Jx2effWaPPPJIrCDbb7/95o7P9evX21NPPWVJTQEMBU1GjhxpTZo0saJFiyb5awAAAKQlBDAAAAD+T968ed2Aquf06dN28OBBN1tcAQyZMWOGtWjRws0IT0kauC9SpIj7/bLLLks3+2zfvn2xBhU1I/+8885zP9r2kyZNcsELDVYrEwZpnz5Df//9t+XMmdNuvfXWM4IXjz76aGB2uwZv69evb7ly5bJVq1bZL7/84m7Xv927d3eBDB0f6dWll16a4Of9bBp6a9n333+/+/3CCy+MlQETDcGLUEEKZWxpnZWp0rJlS3dshMv/XaNsnuDllyhRIvC7MlsGDBgQCF40bNjQChUqZPPnz3eN1adPn25NmzZ1mRlJ8d68v6+77jorWbKke58KYjz//POJWj4AAEB6QQADAADg/xQoUMDNOg6mwTzNhD1w4ID7+/PPP0/xAMYNN9zgftIbBSn8lGXhr7fvlVVB+qCMJg38egPC55xzTuA+ZdpoRrsXvLjpppvc4K0CHZ63337bDSrLzz//7AIeCiimVyqfpkBNci5fP9HKH1AoVqxY4PeNGzfawIED7eWXX3ZBMGUt+B8bl7Vr1waW1bt373gf++mnn9qePXvc7wqejh8/3v1etmxZ97re8ZjYAIaCc/qu88qhee9PGUk69idOnOiCJb169bLChQsn6jUAAADSA3pgAAAAJECzbsuXLx8roOG3fft2N5immbPq01CtWjVXr/+BBx5wJadCWbhwod155512ySWXWO3ate3xxx93y4lLQj0wNKP9xRdfdEGOmjVrukE1Lf+dd94J2S9AtmzZ4gbH6tSp42q7K/tEZbKWLVsWsi6+vx79W2+9ZePGjQs896677go8zpsdX69ePTerW8Gexo0bu8FpL5NFNIM6uK69Hu+vBx9fDwqtq2Zi161b121z9SvRjGgNekfSF0AzrKdOnWrNmjVz+09ZIK+++qodP3483uft2LHDnn32WfcevB4Net8aWA9Fjwuud58Q7/Fa9qZNm+z22293r6Vtq/I2ovXU4KoG8nU8Va1a1WrVquUeq34RoSgYp/d48803u+NFj9ds9tdff/2M0k1eNpKOpTZt2rjHKzNA/SlUpz+u4ysU9ZFRKShRUNBPy1LpIjn33HNtyJAhsYIXovek7Zg7d2537IUr0m2kbaDjXf0f9HgdX+rFcc8999gHH3wQ5+t8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S8vR8uL72b9/f8jtnNG2uxw/ftxmzZplt99+u11xxRV20UUX2c0332wTJkxw9yXWwYMHbffu3RbNjh496t7zVVddlaTrqs/62LFj3e9LliwJHHeTJ0+O8zlTp04NPC4a/PXXXyn6evqevPLKK23u3Lln3Ldhw4Y4P8sLFy50j9m6dav7e9SoUXG+xqlTp+z666+3L774IlnfCwAA0SLUebGuXS699FJr27atvffee0n6ekl9Lh3u8vQYPTauv73tkJBwHxeus1leUq9LatA+8O+HSAwdOjTkuZ/O3f0OHTpkzz//vF199dVWs2ZNd33+22+/xXqMzg/1XJ0vJsW66lzyhhtucOeWwU6cOGE33XRTnOekixcvdtddl1xyiVtnPe7kyZOJetwff/xhrVq1co+577777L///jtjOQ8//LD17dvXwqVt4N/eVapUsYsvvtidQ7/44ovunD1arzGeeuopGzJkSLItH0hvsqb2CgBIORro1QDlggUL7K677gr5GN2nE5nmzZuza1KQTtQKFiwY8r5cuXK5f5988snA7xmRAm9du3a1VatWWZMmTdyJaZYsWWzRokU2YsQI++6772zixImWPXv2iJb766+/2oMPPmjDhw8/4yIjmsyfP9/27t1rY8aMsUKFCiXJMr/66itbsWKFu+gK9uWXX1rHjh1DPu/zzz+3aKELoKJFi9oLL7yQIq+nQJkurnbt2hXy/t9//z1wIR+8n6pVqxb26+jY7tGjhw0ePNgFSzLyZx8AkHHPi2NiYtxEkw8++MD937pnz544z0/SigceeMCOHDkS5/233Xab1a1bN0XXCWdHE1jKly/vrin8cuTIEevvRx991F27KGhVqlQpmzlzpvtdwbnzzjsvyXeDjjOdSz7++OPu3NJPn62nn37arXsoukbo1KmTCwr06tXLBSBGjx5tO3futIEDB0b8OA3Y6zz6scceszfffNP9O2PGjMD969evd9cYn3zySUTvUd8VXtBD70lBIl3fTZs2zT777DM3+a1IkSIWKV1zab/873//s+Sg69obb7zRWrZs6bYdgPgRwAAyEA34Dho0yP1HHlcA4+OPP7b8+fNbw4YNU3z9MrJrr73WSpcuneBjMiqdjOqEf+3atS4zQAO6Hp30v/766y4AoUBGJLN2vJPl7du3W7T74Ycf3Htt3Lhxkizv9OnTbgbYvffea7lz5451n45FXYxokCA4sKbsD92nwfloyFpR4Eon/ilBM8V69uxpP/30U5yPUQAja9as1q5dO8uWLdtZf2e/8sor7pjXRQ4AABn1vLhNmzZusE8Do/o/NtIJK9FE2bTx0Qx1/SBl6ZjKlClTYOBffwcP+sd3/qeJULfcckucj1HgQpOHnn32Wbv11lvdbcqM0M+rr77qrmMSs67xmTRpkguiNG3aNNbtyvDXNVN8k5I0wencc891QQZvIo3GCZT5ruuHChUqhP24f//9150/a7JZ/fr1rWzZsi7ooXPr4sWLu+coa0Pbr0yZMhYJXceE2u7arp07d3bvU9eKibn2CpW1klS0zZT9oiwMBVsAxI8SUkAGki9fPrvmmmts2bJlIWcP6zZlaGjQLC1fFCD90cyXH3/80Z2E+oMXnvvvv9+dHM+bN8+VWkqPXnrpJevXr1+SLU8ZFps3b3aZWcEUJNEJuy6yQqWh60KoTp06lpEoUKLvxnXr1sVbHkKz2HRRdrbBC8mcObO1bt3a3nrrrbMqkQYAQFqXM2dOVy5G2RhetiOQlHT+5mVBKOP7uuuusylTptiBAwfifZ6OyX/++ScwoB+Xjz76yA3wt2jRInBb4cKFAyVDjx07lqh1jYvOHXUOqUFyf7BDE8IU0Pj666/jzGbyAg5aV38WsCZBahKUlyUR7uO8clFeYNL717td66RSq8EZLGejQYMG7jz6m2++ccuPRiqNp/Jb0bp+QDQhgAFkMBqs1MBkqFTITz/91N3nLx+lYEf79u0DM4FUp3Pp0qWJqv8aqoeDMkJmz57tTqJq1KjhTjJ0wqhyQZrprNfULA0N3uokyE8nOaq1qTqXtWrVsu7du9uff/4Z6zGqhanZHzr51Gwu9ffQNgg3NfWNN94IrJtmfmnmeSjhrEty19VVloJOUrWe2m7qD6ETYr1/3edRLVCl4CvLRttD20UzfhI6adZr61jQwLdmwGmb6GRVGT3BNMj70EMP2eWXX+4ep1lGwTN8tDyV/xk5cqRbX6XK63lxnfB7KfVx0cwaDbjrAtej/axZepdddpl7r9qGmiXkDQZrpo+XsaFj219Ldtu2bS7dWgP12pZ6rypfEGzjxo3uZFvvVTOvnnvuOZeqHFy7VtkMzzzzjDuetS46rrRv/DN7tD56LX0+NTtP20Wfj7j2v2rm6lhTUOfCCy9021Cp21r3hCh1WyWNNPsnmNKYdWGhfR1M+1EXBMEp8XHV6w11u45BzT7ztoVmSGnmkf84FR3P+rzqc6VtqywEb9DC6yMhSu/W7wrAen08dJueq+3p7WN9ryiVXQEava6OC+335cuXJ7i9lA6vdXj//ffdBW1ctH7nn3+++13HWbiBB32v6rNyxx132OHDhwO36zjReof6nAEAkJF4g7DeuZPOjTS5Q2VW9X+ozk+87NBIrmF0rqVzA50zaEDx22+/TdQ5drjLC+55EU4/CZXE0WCzd200fvz4kK+tWeOa2a5zFp0b6rH9+/cP9NSLdHmhhPvccM+lg2lZr732mjsH0vN0ntu7d283WO4XzvlkfOfWwcqVK+fKQImyAFTiSSVK1dNB5/dbtmyJ8xxRvPM/nceF2h7abhdccMEZEwW1n5Tx4S0nFF1D6JhQH7rgdY2Lzh1Vxik4i1/n0HqurlfiqsqgdfXWza9YsWKudKt3f7iP8zK6vWCQ15vCu10ZKMqoTqgiQaS8iVr+z6ACTrr21WdYx4aOCV2r+vvO6fOpyXN///33GX3rdC2k63595+j6TyXhggMQCmjpGq1evXruNXTtrGvV4PEM9UEpUaKEG3MAED9KSAEZjE7AChQo4IIV+o83uHyUTtT0H7HoP3E1+NUMD282hE74dDGgk4ykKGWjEwD13VB6qU701ExY/9krW0QneDqB1/06MdaJllcqRs1zdbGiAVud0OokSBcWOvnQyZj/hE6362RBJ2ga3NaJ7SOPPGIVK1a0SpUqxbluOlHRybNOinXRo8CKBtyDRbIucdFFRahyPOecc46bhR2Ol19+2caNG+e2kV5b9T+VkaATtDx58gROUFW/f/Xq1e496eRSs2Z0Aab+CroIiI9ml6suvwJNOn60fP2t8k3eCaK2k5adN29e69Chg3ttDfpq8FkXUP4TZQWE1BxN200n096JfzAN1OvY1IlwXIJPeHWs6qJWJ6CqsareLrp4USq16IJKA9EaHH7nnXfcyadOML3ZQLrg1DGpi0x9ZvR50Hqq3JQuDL2T0zvvvNP9rgs5lQ7SCaj6VfjpmND20kmw/tUx4fXu0L7QvvOo4Z22k7adBr81yB6Kgj16bc2+UmaKZj1pe2pbK7Pi3XffjXNb6SJJJ+Xe+whFn29tQwW2vGCFTvi///57l+qsjITE0EWdgkq6CNX666RdM49UzmrTpk02YMAA9zhd4OpiTRe72gf6fOizq9+1H1XCSsEo7Ud9Z+mY12fau/hTcFSNArUfFaRRZo6OPV046V+lq+v19FnVdtB3kWbBxUWBBX1PSfAFtEf7Sxe3Ok4VbPvll1/c7bpg1j6NKyVex4COP33n6eLGX9JL+1frqllyobJlAADICHQur3MXDf7q/3v/JBfNfNe5uAZrdX4QyTWMBli9c1c99+2337YuXbq4Ujde1m+459jhLi9Smhyh8x+V5dEEIZ3Tqrxk8CQJnZspK1lNz3V+roCPzjd1nqtzUZWljGR5Z7Mu4Z5Lh6JtrVJh2q7eJJjp06e7bfvhhx+6sk7hnk9Gcm6tY8jjlUTS+bb6VOi8Wuf4qmag46h27dqxytGKJv7odXRtofer9dJ1rVeGSttEE92Cedc3uq4I1S9Nx5/OV3X9qtcOXte4aGKXtktwfwUF+rygRlyNwr3MCK+8k5+uH71z4XAfp+s4bVNNKlRZYAVidI6r23SdpyyJ5Jis413rewEGHY/6POrcW8ePviMUaNPnVN8Z+lzrmNP21edbE9A0EcoLKOoY0DWGAmZ6H7o20qQwXSfoOkVBDX0mdHzr2kP7S58VncfrelnBV53z++mY0PsHkIAYABlOv379YqpVqxaze/fuwG3btm2LqVy5csyIESPc3ydOnIhp0KBBzNVXXx1z4MCBwOP27dsXU79+ffdz/Phxd9s111wT065du8Bjgv+O63b9rddcu3Zt4LYXX3wxplKlSjEPP/xw4LZDhw7FXHjhhTGPPvqo+1vrc+mll8Y88sgjsZa/ffv2mFq1asU89NBDgdu0rJo1a7r7PCtXrnS3v/TSS3Fuo127dsVUr17dLev06dOB21999VX33D59+kS8LqFoOVpeXD9//fVXvNvP+1v7ItR6aP30Prp06eL+3rlzp1vuxIkTYz3uiSeeiLn33nvjXVe9lp47ZcqUwG1HjhyJue6662Lq1asXc+rUKXdb27Zt3Tb/999/A487evRoTMuWLWNq1Kjhtq1/edofCbn44otjbr311phIXH/99TG33XZbrP3nHdfNmjUL3DZnzhy3HosXL461X2rXrh3z33//BW7TcnQMantqO0rfvn3dZ2nDhg2xPkt6//79N2zYMPf3//73v1jr+Mwzz7jbv/rqq1jH1/jx4894P8H7v3///m677NmzJ9bjdAxoGcG3+/3www/uMR9//HGs27UNdLu2yZIlS9zvCxcuDNz/0Ucfuc+ijivv2PV46+4/ZkPdrr+1DP/nXvTdo8etWbPG/d2pU6eYm266KdZjtJ1uvPHGmGXLlgVu838e/e/hvvvui/Vcrbtu/+abb2Ld/tZbb7nbP/vss5hw+beTn9bd+84ZPXp0zOeffx7z2muvub/1GfGOG20LPU7b4s8//4ypW7duzM033xznPtN7adiwYdjrBwBAWuSdW/z222/ufFE/Oqf+6aefYnr27Onue/7552OdG1WpUsWde3kivYbxn4eJ/i/WOaDOWyM5xw53eaLzOT02rr+Dz7G6d+/uziX++eefwG0699Tr+x+n8wUt59ixY7HWVefQl1xyScTLCyXc54Z7Lh3KDTfcENO5c+czzteaN28es3nz5ojOJ+M7t47E3r17YyZMmBDYxy1atAic/+uY9G5777333DmntpNue/LJJwPL0Pr26tXrjGUvWrTIPfaDDz6Itc46X5w2bVqC161x0bnj/fffH+9j/OekfuPGjXO3b9q06Yzn3H777TFNmjSJ6HGiz4V3jaTrZF1riD5DTz/9dExiaH/4PzvB9H2g1+vYsWOscQAdT366PtDtkydPjvNzqbETXXu1adMm1mdM21C3t27d2v39888/u2V98sknsY59rcPjjz9+xjrq2NTjt2zZkqhtAGQUlJACMiCViNJMFH9JH5Xa0YwEr3yUZiVoNoJmvmgmvUczCDRbQbMtvJTQs6FZD/4UaS9bwV+iRbORNTNas1lEM4k020EzRzQr2/vR7BalKGv2kd6fR7Ns/DP3q1at6v71lheKytBoho5mWflrhgaX8Il0XeIybNgwNyMl+Ce+jAM/1dvXzHjNCPHTrBHtP68kjTJbtD01U0SzXLzbNaPeS0mOj57vZRyIMlo040QzqXQ8aObbzz//7BqpacaPRzP4lb2imShaT//zvayH+CgLJdImaprBr8wS//5Tnxcdw/4SPaFm+OmzoVn9yqjw9qm2ZZMmTdxxof2uz4tmkilDxz8TUDOQ/GXYvBlZekxwCrdmrok/ZVlCzc4KpuwELVdZOh4di162RHzvUVkvEl+atj43WrZ/3bRdlGnk/06IlDKqNBtKx7b/M+NtG5VjEx0/Ks+lLChvdpgyyDTTMq6Zc/FtQ6Vuq6yCUrk9/tmC8W2vcOnY0oxHfXa1bzXDU5lHmu2pz4hmX/rpe9SrPazn+PelnzI3NIMtORsJAgAQLZTpoPMN/ej/bWU16nxE5+EqlRl8LeGf/R3pNYzOSXR+4dH/xcp41KxwXSuEe44d7vIipfNSlb/RMkuWLBm4XeeV/nMaUcb6nDlzYpUoCl7PSJaX2HUJ91w6LjoH1LWYZrTr2kKUwawsY+3vSM4nIzm3jo8yKpTdouxfZRPoOPPKBSuzRud7ypJQ5rDOOXXup94TytzwMjQkvsbbwffpWkYZJcooVvZFJHT9qXPHxJZk8kpgJdQoPNzHiY4bZRooG0rXMMpiUbaSjgVlSuk8V9tXGSLadtrHZ8u7DvfWT2VpVUpO29Sj1/VKOym7Ki66jlAWuzJ5/J8xbWNd+ynzWuf7yjzR6+nzqM+Ljnf9rSoAL7744hnL9TK048qGAfD/UEIKyIB0Mql0TZWRUmqvaFBQKateCR/vP9BQ5Y+8BmVKc1XNyLMRXLLFS7FVynXw7d4Jkld/NL4TOZ3A6uQh1LK8E47gGpR+KvUj3kmy/yLEv86RrktclOp9tjU/dYGlVGFd4OmEWmWEvPqi3rbTe9cF2NNPP+0GWvW3Th51MaET7uC+BsG0PYLrtnoN5LTNvNcJddx4g/w6biItkeVdnES6PXSCqlRzDYRrX3nN63XhERddXKnMkC68gvt2eHRBoJJb+lEN2mDBTfz0eVKgI9T70gW1d7x54itl5NGJsNZVJ8dKb9f707b19kF8x7fWW+ILROgzpzR5XQBqmUqHVvqzyrqdDa2nAlkalAjFSzXXheDKlStdKTf96LtJ5cD0nRX8uQwl+HPvbTMFtVQ2TeuhH72vhLZXuPS9qvUOpn2vY04X4366gNPxr+2rcgdx7XftJz1G+y2cYwMAgLRME3uKFCniftf/kzpX0nlkqPPU4P8XI72GCfU47zxD52c6VwvnHNsTzvIiof/7FXwIde6j9+PvV6ZzN01SUakolX3VeY5X4icxy0vsuoR7Lh0XlQfVgLYG7zXJSv0VdA6oiWXe9gv3fNJzNudPOlfUZD+VsdIgtQIsKoWlyWrewLw/aOVR4E3X2Dr/U7BFk8hC9RzU+wh1Xq79qONfr6l10HEYLh2fOjYTO+nIK2fqrZuf3oO33HAf558MpzJLHgV61FtGATGVZ1LAR6WbtH9V9lhlef0TxSLlXfP4rwsUVFPJKJWk02fZO5Ykvj4w3ndLqGbt/utc9bXQ8aEeniolpW2k41SBLfVp8cY7PN420ucGQNwIYAAZkAbxNKtBM371n7pOMDX7wT8wGd9/3t59kZxESajZwzqBiGsd4+INNKpfQ1yD/pol4wm3h0So1w91kukf6Ix0XZKL9olmfGuwWbPTdVGmk2bNNvLq9ns0C0wDqrqg0IC0ZpUpU0RZGRpQDQ5Q+IXa59428AeZQvEe519G8AlcXPR+1JRZM9fiuvDTSa/ei+qR6iRS+0Q1axWY04mkskK0HN0e30WTd5yqcWBwnxj/TBlvRk+o7RV8gZ3QdgneruEcs+pZo94eCo7pAkqzlVSPVftSQY34eMtPaNBes9i03fX94F20Rtr7Jvhzr791jKrObChesE8Xh5ppp4s+DRhoBpOCD/reUq1lf+3hUIKPLQWxlC2kC0DNEtRFhLKxtG9CBR2Smi6cvMaFHr1HXbiph4lqNWtbx/cZS8x3GQAAaU0kE3uC/79PimsY73HeJINwz7HDWV5ihRogDj6P0wxvzWBXEEUT1jRBSTPO1cshuD9bOMtL7LqEey4dF/VsUKa4zv203fWvzpd0Dqh+HjrPD/d80pOYba+JT8qq0GC3rkEUSFEfAw1Cx3UNGypo4mW/aJBeM/SDebcF95HQrH4dZ5p4pn0b3DshnGvZxE7Q0aQc0fsO7hmp9fWCEOE+LhRNKNJ5vhqkiyZX6pj1Jn0pYKTbzuY8XZky4vUB0YQ4TYbSuqlHnQJjuk8TjbyJnYkR/N2iygPNmjVzfft0va0sE13PqMdGcEa2/1oaQNwIYAAZlE6I1CxWJ4VeySMFNTzeDHUN+gXz0mX9JYKCTxCDG7lpsFezCsKZOZ0Qb900IBjcDE8nQToJiG8QPhzeSbVmRfsbn6lEj392REqsSziWLVvm9qUusHr27Blru2vg2Xs/Sotds2aNaxas2S760b7STDedJGrwWydy8c080QmaP8CkbeRlYnizWxJz3MRHJcU0uKsAi1d2yU/bWQ3T1cB54MCBboabghcKWuhCzs9LRY+L3oMaYmvbBe9TzarRibDu1+M0o8Z7/36azeOn48R7/3462dcx5U/DD5dmJ2mbq1SAv+lz8AVqfBdU3qykuOjEXmW+NKNOx70uFENlNvgvDIM/+8HbW9tCx2HwttVMMaVmexk9yioRr4SELF++3A0W6EI8oQBGMH3f7d+/382g82fNhLO9wqWLXF2UKNDiny2mi2zN7goul6bPnwYWNMNMJcEUmFFjwWDaT7pQjqvEFAAASNw1THAWrHjndjp/DvccO9zlRapgwYJuhnbwuWVwyRlNulLG6hVXXOHOJ/wD7F7z7kiWdzbrEu65dCg6Z1LDZb2OJs14E2c0cUcZ77oW0KS7cM8nE0slvxR80Xto2LChKxsU17mnBqt1HqxzTT/vGPSCcZpUpQF5LdO/f7Q9NPlJ12d+Ot70PufOnWtjx4511+rhHkPaV3qNhM714+KVXNZ20PWARwP/un7xzmnDfVwoOl6VVeN9HnXNoOCl/z2ECvhEQttbvOtbTdjTsarSyf7snRUrVkT03RLcGN3b13ov2uY6hvVeVLZOPwpi6bhVYE7XOP4S2t4+IssaiB9T+YAMSjMk9B+n0qF1Uq4Z3P6ZKpphopnuGpDTAKtHv+s/ft2n2d6hKOVbFwj+2TkaAA2VzZAYOlHVSZ4GCr3yL6IUaV1caGZMOHU4E3oNDQqr9qq/h4Vm+af0uoTDO/HxSoB5NKivWp3ee/j9999dTWCl53oUYNEJdTgzP3RiqQFgj07GdIxoQFjHk3dcqGar6g97NKitWVN6Lf/Jbbh00qksCl0YBJfhEc3K0omiToJ1/Hlp/cHbQzNgdBHp36fB2Qg62Vc2gx6rZfq98MILbhaQBvP1PK2Xarl6PSVEr62yVX4qxaTgSnAavQa6RRdGidnnmvXkD14os8SrFxtfvwTvBNy/j0LRxaX2lz6/+p7w96YJ5mXG+LeZvi+0Hf20zfSY4Nt1YaYLNR2jot9VQsD/PnScamaTfxadfg9ndpm2l96PN1PMOy41q06Sor+EArS6KNJnwk8BFx0Xyn4KRTM59bkZM2ZMrGPJo/2kC6KU+C4BACAti/QaRgOv3ixt71xX57HKYNAAarjn2OEuL1L6v1/nX8pC8M6RROcbuo7z6LpL66Nzcv/guCYuqVSOaF3DXd7ZrEu459Kh6HzsnnvuceWj/DThQ7xzwHDPJxNL26p169buukfLjG/ijCaYaBKYSj35zzF13aKSSV55KWWk6NpJk7I8mkioQXbdFyqrQ9u8f//+7jpTk13Cpefp3DG+rPP46FpBnxNNlPJf0+taWMtWFkokjwumwKB+lIXs0WfTC4Tp3F7BwOCslEgsXrzYXZPpmPUmL4X6PGtynia+SfA1ov8aw7vu1zWtf8KWztM1IUrZJgpCKNtCE6785dh0veZlqARfb3tl3vzXKADORAYGkMGzMDRgppON4JNEDRL269fPzXTRyZtmCosGvjUTQgPGcaXiKl1SZXpU81GvoVk6OsmPr+9AJDSrR2WCVBNVA39eU3JdlChI0qdPn7N+Dc36Ue1KzebXCYhOvnQirAsQ/4yhlFiXcCidXeus9dDJnspWaaBfs5V0ouU1JNPJvy6gRo4c6U5oFXTQvzppUz3PuOrI+o+Lvn37uoszBbx0sqqTrnHjxgUeo+NG20zHjEr25MmTx203PUf3qY5xpHQCrDqi7du3dzOgdJKv96ELNV0wqdeF/lZJJe+kVCeBWi/tB53AqwySLhj820O8jAJd6OoiU4PMWo62n4I9+tGyvGCf9rM3Q0oXSLpw0m1qLKkAjQbEvQCKN+CsWfUKLGimvbaJTqJ1Uq3blCodqm5uQnRhqP2rixrNbtIJv3cxnVATOh0HOpFWw3V/5lVcZaS0zyW+AIYepxRw9VjRMahtofXxB1j820IXr5rZpm2pzAqVi9J70o83m03Hi/b59ddf7y4u9BjtT38jee0/XZjrteJrPqnl6kJCr6/lqZyT0ri9Pjbxba9wKdij7aCAhS6QlLGii1nNnNPrKyMoFH2XqoSUjiNdnKpMgEfvW8vQcQIAAOIX6TWMzpl1zqHzSw0sauBV5/LeuU+459jhLi8xdL6p81DN5NZ5kZarcw2dY3sDqXpdnd/pnEPrqzJSunbx+m2J1lWPC2d5Z7MuEu65dDCdP+qcWkEDnSuqnJCuVVU6Stdg2qeRnE8mlralFzRJiK4FNaFJ175adwUttB4KZGkym9fjQBOWlCGj60tNWNHgvK7BdK4XVyksbwKP3qOOJfXUSOjc3aMJipo8FZw9Hy7tQx3Lek/6HClzQNe42p/+bOZwH+enz6EmnvkDFDrXVYBLWcy6rlFwR9d8CVFQSNvbH6zUdZ+2lTJWtL09Oi50vOr40bp6/U1+/fVX9zkJvkbUNaYymnROr+PBu+7X9ZyuGfV4XUMq0KHvHW/imj5/Tz31lLv+1QQnZWho/+laOzgYqp5/yhgigAHEjwAGkIEp0KAyNDr5DjUwqUE+neQqyDF69Gg3K0T/cQ8ePNgNFsdFg4savNOFggIZSrF87bXX3H/+Xg3Qs6UTZp3waAaEBuNV5kYzrlQKSScYSUHvQyegmiX/4osvuhMwbYvgoERKrEtClHWg9dRJsk74dfKvEycN+usETuWhNDivx2lfan/oAkIXA9rHOmHUBUlC5a4UtHjyySfd9vBqwep9qz6rRxd6OpHTian2uU7odAzodTW4m1gKgOkiTCfEXl1cXSgp8KKUXF1IeXVH9T60PXQSrPeuE3edPGrddRGpY1gnqpoxpBNJBai0PRRU0LbQYzUgrvegf3Xc6gRYF586Offocbrw0PZQ3wl9ltQMXRdzGoT2tqdmZmlbv/zyy+6CV6WMtDxlGOj4SQwNdCs4oEF5nbQrSKPX1mdZJ9V6L15mTTCtly6gNPMpIToJ1/vRPozvxFon+Zpppu8UbTfNMtSFifaPv8m9ty30GM040+9arjKWNAvLu8hWHVrtT+0/Hcc6jrS/9Bpad/9Fk15T3zX6iascly78tN11DCnQos+Csnr0WdB92l6J3Rd+WhctUzO+9P70mVEjStUtju/iUbO29J61PfwXpxp8UEDsbC/EAQDIKCK5htEAuSaC6LxN1y96nM7XvCyNSM6xw1leYujcRufWKouqrG+tg1ev39/3TKWiNLiqCUY6R9a5s86tNCDcvXt3d66jAeFwl3c26xLuuXQoPXr0cOeLeh86x9Z5qMrx6NrKK9EZ7vlkStB21uC0jgld+yiLRKWVtD2CJynpeNSxpPXV4LnO//S8hEpeaRKU3qf2r46xcCaE6dxR1+M6lwzuTxEOXSPpmNdxpXNnZUjoOAoudxru4zyaeKRBe20HPwW2NLFIFRD0/nROHU4Db2Xz6JrKo0CXjjUFVfTj31baJlpH7SddJ+p7Qtez2h/qNeLP9FdASsEY7Z9WrVq5z7KuFXRur+frdr2WsnMUgPLKQun6TPfr2FRmhr4ftE00thAcqNL1jbaFevMBiF+mmPi6XAEA8H90saGZZ/502IxOzf00cB88MK2BdF3cKcMh0mb3KUUzsjRrTbPXzrZOMJKPgqK6gNfnLiX66QAAACDtUxBLpbaUteKfTITooXJTHTt2dJPRgvtqAIiNHhgAACSSslY0U95fH1UlnJTNoZPQaA1eiJoiKqvIX4cX0UXHlWZuKbuI4AUAAADCpXNHlXHSuWQ4/eKQ8lTOViVoCV4ACSOAAQBAIqmngZpzK1VdGRdTp051Fwpq5hbtM52UNdKrV68zmlwieuiCUyXPFMAAAAAAIs2g17mkSpsiuqgPisoiqzwYgIQRwAAAIJFU81f1eFXjWP+q94HqrCqQofq00U79PlRTWOuL6KL6yaqTrCbtXvNHAAAAIFw6h1RvB51T6twS0UM9etT3Q31QACSMHhgAAAAAAAAAACDqkIEBAAAAAAAAAACiTtbUXoH06KeffrKYmJiobt4KAAAAnK0TJ064njqXXHIJGzMJcB0BAACAjOBEBNcRZGAkAwUv9AMAAACkZ5z3sj0T8t9//9mjjz5q9erVs2uvvdb1jDp27Jj169fP1f4O/rnvvvtCLuf48eM2YsQIt4yrrrrKNT7dtm1b4P63337bGjRoYDfffLP9/PPPsZ7XrFkz27FjRxLvLQAAAKTEdURUZWCMHz/evvvuO5sxY0bgtjVr1tjgwYPt119/tUKFCln79u3tnnvuCdx/+vRp1zR19uzZduDAAatVq5ZreFmmTJkkXUYkvMyLiy66KJFbAgAAAIh+v/zyS2qvQrqS3q4jdFHauXNnK1iwoH3//fe2e/du69ixoxUvXtymT59uR44cCTx206ZN1rBhQ3vyySdDvv8nnnjCXSvOmjXLihYtao8//rg99dRTtmTJEtu5c6e99NJL9vHHH9vixYvd7ytWrAg0Sm3ZsqU1atQoRd87AAAAkuY6ImoyMN544w17+eWXY922Z88e69Chg5UtW9bmzJljXbt2teHDh7vfPTohffPNN+3ZZ591s24UjOjUqZObaZNUywAAAAAARGbdunUuoDBlyhS78MILrX79+jZo0CB37VWgQAErUaJE4GfAgAHWtm1ba9GiRchlTZ061U1Ku/rqq61atWr2+uuv29KlS23Dhg22ceNGFyS55pprrFWrVrZ27Vr3HF3P6RqzT58+7DoAAIA0Kms0pBTrZFUzZ8qVKxfrPs2u0SwkneRmzZrVKlasaJs3b7YJEyZY69at3Qnp5MmT7bHHHnOzdWTkyJHuxHjBggUuVTgplgEAAAAAiIwCE59++qnLuPDbt29frL+/+OIL++abb2z9+vUhl6MJZjNnzrRLL730jPu0LGXOK7tjy5Yttnz5cjd5TXSdd8MNN1jJkiXZdQAAAGlUqgcwfvvtNxdg+OCDD2z06NH2999/B+5btmyZ1a5d2wUePHXq1HGlppQm/M8//9ihQ4esbt26gfvz58/vZuRoNo6CD0mxjMSmSx8+fDhRzwUAAADSAp3zqvkeEMo555xjTZs2PaN0b+PGjWM97oUXXnBlfuMq4Zs5c2bX+8LvlVdesSJFiri+GdmzZ7eePXtahQoVLGfOnC6rXo0hlX2xcOFCdg4AAEAaluoBDNUijaseqZqyVapUKdZtxYoVc//++++/gaZtwTNq9BjvvqRYRmLohFm9NwAAAID0TIPHQDjUt0K9KTRRzKPyT19++aULSITr/fffd2WBx40bFzj+XnzxRdcnI1euXC6IoYx7BU+yZMli1113nf3+++/20EMPuXUAAABA2pHqAYz4HD169IwLohw5crh/jx07Fmj6FuoxXlpyUiwjMZRVcv755yf6+QAAAEC0U/8BIBzqQ6GMiHfeeceqV68euF29CWvWrOky4MMxb948u+2226x79+6ub6Gf+mB4k8lUFlilqVSuWP03Zs+e7bI1lP1x2WWXsdMAAADSiKgOYGjmTHAjbQUdJHfu3O5+0WO8373HaOZNUi0jMZRKr+UDAADg7J06dcoNSiLlaEKOZq/Hh/JRCIeCDWPHjnV9LNSH0E89MuJq3B1MpaHuvvtue+CBB1yAIi7Tpk1zWRfnnnuuLVq0yGVnqJyVygZ/9913BDAAAADSkKzR3vRt+/btsW7z/lYjuJMnTwZu8xq1eX9Xrlw5yZYBAACA1OuxoLKee/fuZRekAg366nyaQAUSa+DAga7Uk4IPbdq0OePzrXJSTz31VILLUTaFghfdunWLN3ih67uXXnrJPv/880D/DPXe8O7TawIAACDtiOoARq1atdyJrmbcebO/Fi9ebOXLl7fChQtbvnz5LG/evLZkyZJA8GH//v22evVqa9euXZItAwAAAKnDC16oP5myWxlITxka5D18+HBg4k9wvzggHOoJ+Oyzz1rfvn2tXr16sXoMKjC2efNmO3DgQMjyUSr1q5K+epwCDx07drSrr77alaLyL6dQoUKxygFPnz7dlYlS9oV3PfjGG2+4v7/66ivr3bs3Ow8AACANieoAhtKLJ06c6GbkqL7pqlWrbOrUqW4Wj+hEVUEGNXDTiWupUqVs2LBh7iS3SZMmSbYMAAAApDxNQPGCF5p4gpTllVNVEEP7IKFyUkCoZtv6HD/33HPuJzhI9t9//8XqXeGnXhkdOnRwj1u2bJlt2bLF/QQH0xYuXGgNGzZ0vyvQMWLECFuwYEHgfvXAuPXWW61Ro0bWo0cPq1OnDjsKAAAgDckUE0U5tE888YT9/fffNmPGjMBtCjgMHjzYZUQULVrUzbzxZ0bohFgpwnPnznUNuzXDpn///la6dOkkXUYkfvnlF/fvRRddlMgtAQAAAJ2X/fnnn1auXLmz6k2GxNMs+E2bNrnsZX+/OA/nvUmL7QkAAICM4JcIxs+jKoCRXnDhAQAAkHQBjLgGz5H6+4Dz3qTF9gQAAEBG8EsEAYzMKbA+AAAAAAAAAAAAESGAAQAAAAAAAAAAog4BDAAAAGRIauqrHmwAAAAAgOiUNbVXAAAAAEgNr732muXNm5eNDwAAAABRigAGAAAAMqRq1aql9ioAAAAAAOJBAAMAAAAZtoRU7dq1rVu3bta4cWN7+eWX7ZNPPrFvv/3WsmXLZk2aNLEnn3zScufO7R4fExNj06ZNs3feecf+/vtvK168uN1+++3WsWNHy5Qpk3vMokWLbPTo0bZu3TrLmjWr1atXzx577DErWbKku3/u3Lk2YMAAmzJlig0ZMsTWr19v5557rvXp08fKlStnAwcOtJUrV1qxYsXs4Ycftptuuimwvv/8848NHz7cvvvuOzt27JjVrFnTPY9ADDxbtmyxnTt3skHSqCJFiljZsmVTezUAAACiCgGMKHPi1Ck7HXPa0qvMmTJbtixZUns1AAAAzqDAQuvWrW3MmDG2atUqGzlypBUsWNB69erl7h86dKgLYHTo0MGuuuoq++WXX1xA4eTJk9alSxebN2+eCyg0a9bM/b1nzx579dVX7bbbbrP33nvPChcu7Jajx2uZCpwosKFlKMihwcs77rjDHnjgAVfeSsu67LLLrESJErZ7924XLMmVK5c9/fTT7l+ty1133WXvvvuuVaxYkT2awSl4UblyFTt69EhqrwoSKWfOXLZu3VqCGAAAAD4EMKKMghfz1iy13YcPWHpTKHc+a1G1lpkRwAAAANHn6quvdkEDqVu3rsum+Oqrr1ywYf/+/TZ9+nRr166d9e7d2z3myiuvtB07dtjSpUvt/vvvd4EIZVyMGDEisMxLL73UbrzxRps0aZI9/vjj7rbTp0+7IEXbtm3d31r2I488Yvfee68Ljki+fPlcMOXXX391AQwFK/bu3WtvvfWWlSpVyj2mQYMGbtmvvPKKC5QgY1PmhYIXNavdbHnzFEnt1UGEDh7aaStXz3f7kSwMAACA/x8BjCik4MX2Q/tTezUAAAAyFJVk8lPgQKWiRGWdlDmhslJ+/fr1c//+8ccfLpjhZWt4NBB5ySWX2I8//hjrdt3m8TIzLr744sBt55xzTiC4IT/88INVrVrVla3SekjmzJldEOODDz5IgneP9ELBiwL5SqT2agCJpu/dnj172pdffumyzZTF9vzzz1vOnDnd7cEB21GjRrmMtlBU0u/FF190AeCmTZva+PHjrVChQu4+lQhUxp0y2BQcrlSpkrt9+/btLkCtLDu9PgAASF0EMAAAAACzMwaqFCBQ3wvR4Jd4A1/BvPtVBiqYblu9enWs2/LmzXvG4+IbKNPyN2/ebBdeeGHI+48cOcJAG4A0T9+5bdq0ceX71I9I5fPUZyhLliw2bNgw912q/kHt27cPPCd//vwhl6V+RcqYmzFjhlWuXNnuu+8+69q1qwtW/Pzzzy64oSy7iRMn2hNPPOF6FImy6RQQIXgBAEB0IIABAAAAJMAbINNgWoUKFWI11lbvAQ22SagGysrM8O5PLJWUUsNxrwxVsOzZs5/V8gEgGqxbt84WL15s27ZtcxlnMmjQINcnSAGMNWvWuKCEMuQSoswLlQVUOT7R8x966CE7deqUrV271gWElQ3XvHlzV8bP+w5XzyL1QQIAANEhc2qvAAAAABDtatSoYdmyZbOFCxfGun3y5Mn26KOP2gUXXGBFixa1Dz/8MNb9f/31lys/pV4YZ0PBiz///NPKly9vF110UeDn/fffd028NTsZANI6BSY+/fTTQPDCs2/fPldST+WlvFJP8dFjf/rpJ2vVqlXgNpXcU18hfV+qvN/GjRvdcpcvXx7oO6LsCwU5yL4AACB6kIEBAAAAJEClo+655x6bOnWqy3ZQQEElSFSKRFkRKjelQEbfvn1dHwzN6N2zZ4+99tprVqBAgUBz7sRSuRQFK/Svyqkoo+Pjjz+2WbNmudcEgPRA/X/Uq8Jz+vRp9z3auHFjl32RKVMmGzx4sH3yySeuf5C+d++9994zlqPghJcBd9VVV7kA8HXXXWevvPKKe426detaw4YN3Xe7fvR9umvXLpszZw7ZFwAARBkCGAAAAEAYVLZEA2Zvv/22q5leunRpe/rpp+32229392umb548eVyTWNVZV5+L+vXruwE2ZWecDc1G1uuOGDHCnnnmGTt27JiVK1fODeSpXjwApEcKEK9YscKWLl3qMiUUwKhSpYp1797dvv76a+vcubMr8deyZctYzzt48KD7V9/FKiWl7241AL/77rtt/vz57j59pyo4ooBG1qxZXVNvZV9s3brV2rVr5wIaAwYMcM8BAACpJ1OM15kQSeaXX35x/yqtP1LHTp6wycu/tO2H9qe7PVIsT37reFkjy5E1W2qvCgAASAOOHj0aKJuUM2fO1F6dDCmhfXA2572wJN2eGuS97LLLrF6tDlYgX8L9ARBd9h3YZt8tneIG6c+25Fx6of4VCtqqGbf6WGjoQpltypjwKJChvhkLFiyI9Vz10VCWhbLmvAwNlfNTzwuVoTr33HNjPV79jerUqeMy6xSMVhaIgsMqH6iyU8GPBwAAKXfeSw8MAAAAAAAQNRSYUPBi5syZgSbcyr7wBy+katWqLiARrGTJku5fZWt4KleuHOhNFOyll16yBx54wPW+WLRokQtgKMtO/Y2U/QEAAFIPAQwAAAAAABAVBg4caOPGjXMlnrwSfdK/f3+79tprYz1WWRX+IIVHTbmVNaGMCo/XQ+O8886L9Vhldaif0IMPPuj+Vk8j9d6QkydPuswPAACQeuiBAQAAAAAAUp2CDM8++6z17dvX6tWrZ9u2bQvcd/PNN9uQIUNs+PDhrueFykZNnz7dFi5c6O4/cuSI7du3z0qUKOECFY888ogLeqgEXrFixVyAokWLFu5+v5EjR1qXLl1c9oXUqlXLpkyZYs2bN3fro9JsAAAg9RDAAAAAAAAAqe7999+3U6dO2XPPPed+/JQJ8e6777qgxNNPP23lypWzN9980/W6EPXK6NChQyBjolevXq6Pj5pwq6m3AhJjx46Ntcy9e/e6TA9lcvgDGsr8mDZtmvu9TJkyKfLeAQBAaAQwAAAAAABAqnviiSfcT1xuueUW9xNK+/bt3Y9HWRj9+vVzP3E555xzbP369bFuq169umvcDQAAogM9MAAAAAAAAAAAQNQhgAEAAAAAAAAAAKIOAQwAAAAAAAAAABB1CGAAAAAAAAAAAICoQxNvAAAApDknTp2y0zGnU/x1M2fKbNmyZEnx1wUAAACAjIgABgAAANIcBS/mrVlquw8fSLHXLJQ7n7WoWsvMUieA8d9//1mDBg3OuH3IkCHWqlUr9/uaNWts8ODB9uuvv1qhQoWsffv2ds899wQeW7ly5ViPBwAAAIBoRgADAAAAaZKCF9sP7beMYu3atZYjRw77/PPPLVOmTIHb8+XL5/7ds2ePdejQwRo1amQDBw60lStXun/z5MljrVu3TsU1BxCNtmzZYjt37kzt1UAiFSlSxMqWLcv2AwCkewQwAAAAgBR2+vRp++qrr+yNN96wZ5991s4999wEn7N+/XorV66cFStWLOT9s2bNsmzZstmgQYMsa9asVrFiRdu8ebNNmDCBAAaAM4IXlatUsaNHjrBl0qicuXLZurVrCWIAANI9AhgAAABACtm9e7e9++679vbbb7uMiZtvvtkOHTrkSjvF5YsvvrDSpUvbunXrXFAiLsuWLbPatWu74IWnTp06Nn78eDfLWrN1/Xbs2GF33323lSxZ0saOHWs5c+ZMoncJINrpO0HBi0rXtLbcBYum9uogQof37LD1C+e4/UgWBgAgvSOAAQAAACSzVatWuWyLjz/+2AUh7r//fhe8yJs3r506dcq+++67OJ+rXhZeBkbBggXtrrvusj///NPOO+88e/DBBwN9MbZt22aVKlWK9VwvW+Pff/+NFcBQIEX9MUqVKmVjxoxxpakAZDwKXuQtknAGGAAAQGohgAEAAAAko7///tvatm1rFSpUsOnTp9sll1wS6/4sWbJY0aLxz4A+efKkbdy40c4//3x74oknXODjo48+ss6dO9uUKVOsbt26dvToUcuePXus53mBiWPHjgVu27t3rwteqGzV6NGjz3hOei/d9dprr9ns2bPtwIEDVqtWLevfv7+VKVMm5ON///13GzZsmP3888+WOXNm93htf6/kl4JP2p/+7SvdunWz7t27p8h7AgAAANIzAhgAAABAMipcuLB17NjR5s6da48//rjdeuutrieFl1nxzz//2E033RTn8xWo0ID5kiVLXLDDK/VUvXp1N8A+adIkF8DQ7cePH4/1XG9gPXfu3IHbRo4caSdOnHDPz0jBC1G2yZtvvmkvvPCClShRwgUnOnXqZPPnzz9jW3hN0S+99FKbMWOG27Z6nh7/3nvvueDQpk2b3DZ+//333X72+Lc3AAAAgMQjgAEAAAAkIwUW+vTpYz179nQD5RpAf/XVV61JkyZ2xx13WM2aNW3evHlxPt8rA5UnT54z7rvgggsC5ac0IL99+/ZY93t/Fy9ePHDblVde6QIoyhC48cYbrV69epYRKAAxefJke+yxx6xhw4aBYE79+vVtwYIF1qxZs1iP//zzz+3w4cM2dOjQQNBIAQ89d8WKFS5opL4kyoapUqVKqrwnAAAAIL3LnNorAAAAAGQEGgRXKSnN3p82bZq7TaWc/vvvP9fPIq4fNeVWpoUyAZSF4ffrr7+6slKi8kbLly93ZY08ixcvtvLly8fKDmjatKkLnih48fTTT9vBgwctI1i7dq1rmK7Agyd//vxWrVo1W7p06RmP1+OUseFvbq4yUrJ//373b0KN1QEAAACcHTIwAAAAkCYVyp0vzb6eghH66du3r5vBnxANkquHxqBBg2zgwIGumfesWbNs5cqVNmfOHPcYZVVMnDjRnnrqKVfmSI3Dp06d6h4fih6nIIYyDLTc9E5NzqVkyZJnZLh49/mVLl3a/fhNmDDBBTQULPIaq6s/yX333ecCJMp0uffee+2WW25J9HrGxMS4zI9IHTlyJNGvieih/ZiY/Z+Y10Hal1LHCwAASU3nvJkyZQrrsQQwAAAAkOZkzpTZWlStlSqvm5SKFCkS3utmzmzjxo2zESNG2MMPP+wyAJQ5oAbelSpVco9RloUCGIMHD7aWLVu6xuDquaHf43pt3a9Axg033BArMyE98gZsQzU637dvX4LPVx+MmTNnWr9+/QL9S5QZo8bgPXr0cCW8vv76axeUUo+RNm3aJGo99dw1a9ZE/Dz140Dap/3oz/pJztdB2pdSxwsAAMkh3H58BDAAAACQ5mTLksXM9JNxKOAwZMiQeB9To0YNe+edd+K8XyWP/DTIntiB9rTGG+RTLwz/gJ+acOfKlSve2WGvvPKKjR071h588EG7++67A/d9+OGHrmSX159EvTDUlF2N1RO7XbNlyxYoCxaJo0ePJur1EF3KlStnVatWTfbX4XhJH1LqeAEAIKlt2LAh7McSwAAAAACQ7nmlo9TYvGzZsoHb9XflypXjzIZQRoUCFfpXPUv8Qs18VkbMBx98kOj1VCp97ty5I35efEEYpB3aj4nZ/4l5HaR9KXW8AACQ1MItHyU08QYAAACQ7ik7Qv1G/I3QVYpr9erVgZ4WwVRi69NPP3Wlu4KDF3pu7dq1be7cubFu/+WXX+yCCy5IpncBAAAAZCxkYAAAAADIEDV227VrZ8OHD3c9LEqVKmXDhg1zvSuaNGniSkHt3r3b8uXL5zIrFJj4+OOPXRBDgYodO3YElqXH5M+f3+rUqWMjR450/UfOO+88W7Bggcu+GD9+fKq+VwAAACC9IIABAAAAIENQs+2TJ0+6RtzqAaDMC/WrUN+JrVu3WuPGjV2fkVatWrmyUTJ06FD34+c95vnnn7dRo0bZgAEDbNeuXVaxYkV79dVXrX79+qn0DgEAAID0hQAGAAAAgAwhS5Ys1rt3b/cTrHTp0rGanE+ePDnB5akklXpj6AcAAABA0qMHBgAAAAAAAAAAiDoEMAAAAAAAAAAAQNQhgAEAAAAAAAAAAKIOAQwAAAAAAAAAABB1CGAAAAAgzYk5ecJOnziW4j963eTw33//WeXKlc/4mTt3buAxa9assXbt2lnNmjWtUaNGNn369FjLCH48AAAAAKR1WVN7BQAAAIBIxcSctoPffWCn9u9OsY2XJX8hy1uvuWVKhmWvXbvWcuTIYZ9//rllyvT/v0K+fPncv3v27LEOHTq4wMXAgQNt5cqV7t88efJY69atk2GNAAAAACD1EcAAAABAmqTgxam92y3a/fPPP/b000/bXXfdZQ0bNrTMmc9Mgl6/fr2VK1fOihUrFnIZs2bNsmzZstmgQYMsa9asVrFiRdu8ebNNmDCBAAYAAACAdIsSUgAAAEAyOuecc6xUqVLWq1cvu/baa13QYffu2Jkj69atc0GJuCxbtsxq167tgheeOnXq2KZNm2znzp1nPH7Hjh12/fXXu6yNo0ePJvE7AgAAAICUQQADAAAASEa5c+d2mRPffvutderUyT766CO7+uqrrU+fPrZq1apABoaCGsrSuPLKK+2OO+6wb775JrCMbdu2WYkSJWIt18vW+Pfff2PdruW0b9/eBU3GjRtnOXPmZP8CAAAASJMIYAAAAAApIG/evHbnnXfa+++/7xpwK3jRtm1b+/vvv23jxo22b98+6969u8vQUKPuzp072w8//OCeqyyK7Nmzx1qeembIsWPHArft3bvXBS/OPfdcGzt2bOAxAAAAAJAW0QMDAAAASCHKjpgzZ47rabF//37r2LGjFS5c2JYsWWJZsmQJZEtUr17dfv/9d5s0aZLVrVvX3X78+PFYy/ICF8rw8IwcOdJOnDjhnh8c8AAAAACAtIYABgAAAJDM1MPirbfess8++8wuuOACl11x8803x1veSY/77rvv3O8qH7V9e+yG5d7fxYsXD9ym8lOtW7d2mRw33nij1atXL9neEwAAAAAkN0pIAQAAAMlIJaJU1klUOuq9995zpaO84IUyLS699FKXheH366+/2vnnn+9+r1Wrli1fvtxOnToVuH/x4sVWvnx5l8Hhadq0qTVp0sQFL55++mk7ePAg+xYAAABAmkUGBgAAANKkLPkLpYnXU4Dhq6++siJFioS8v2LFilahQgXX6HvgwIFWsGBBV2Jq5cqVrtyUKKti4sSJ9tRTT7lG4OqfMXXqVPf4UPQ4BTGGDh3qlgsAAAAAaREBDAAAAKQ5mTJltrz1mqfK60ZKmRbxlYrKnDmzjRs3zkaMGGEPP/yw641RrVo1mzJlilWqVCkQBFEAY/DgwdayZUsrWrSoPf744+73UBQs0f0KZNxwww2ujwYAAAAApDUEMAAAAJDmZMqazTJZ+qGAw5AhQ+J9TI0aNeydd96J8/5169bF+rtNmzbuBwAAAADSKnpgAAAAAAAAAACAqEMAAwAAAAAAAAAARB0CGAAAAAAAAAAAIOoQwAAAAAAAAAAAAFGHAAYAAACiWkxMTGqvQobFtgcAAACQmtJEAOPkyZP2yiuv2DXXXGOXXHKJ3XXXXbZy5crA/WvWrLF27dpZzZo1rVGjRjZ9+vRYzz99+rS9+uqrVr9+ffeY+++/3/76669Yj0loGQAAAEhZ2bJlc/8ePnyYTZ9KvG3v7QsAAAAASElZLQ0YO3aszZ4921544QUrU6aMvf7669apUyf7+OOP3cVUhw4dXNBh4MCBLrChf/PkyWOtW7d2zx8zZoy9+eab7vklSpSwYcOGuefPnz/fsmfPbnv27ElwGQAAAEhZWbJksXPOOce2b9/u/s6dO7dlypSJ3ZBCmRcKXmjbax9oXwAAAABASksTAYzPP//cmjVrZvXq1XN/P/HEEy6goUDDn3/+6YIYgwYNsqxZs1rFihVt8+bNNmHCBBd8OH78uE2ePNkee+wxa9iwoXv+yJEjXTbGggUL3HJnzZoV7zIAAACQOjT5RLwgBlKWghfePgAAAACAlJYmAhiFCxe2hQsXuhJPJUuWtHfeecdlTlSpUsUFMmrXru0CD546derY+PHjbefOnfbPP//YoUOHrG7duoH78+fPb9WqVbOlS5e6AMayZcviXUaRIkVS/D0DAADAXMaFzv+KFStmJ06cYJOkIE3wIfMCAAAAQGpKEwGMp556ynr27GmNGzd2F1GZM2e2UaNGWdmyZW3btm1WqVKlWI/XBa78+++/7n7RhW/wY7z7ElpGYgIYXtp9pBfombNlNfWpTI8NE723dOTIkXT5/gAAANKTY8eOJfgYndNR1gsAAABAhg5gbNiwwfLly2ejR4+24sWLu6wLlYSaOXOmHT161GVj+OXIkSNw0aXBcgn1mH379rnfE1pGYmiGoBqDRyJnzpxW/vyKdurUSde4PL3R+zp16pT9uXGj2+YAAABI+4LPowEAAAAgwwQwlAHRq1cvmzp1ql1++eXutosuusgFNZSFoUF/9bnw84IOavSo+0WP8X73HpMrVy73e0LLSGzK/fnnnx95BkaWLJYlS9ZY5azSC70vZdBUqFCBDAwAAIB0QOfkAAAAAJBcon6U/Oeff3bZDApa+F188cX2zTff2LnnnntGU0fvb2VreJkMuk0lp/yPqVy5svtdjQnjW0ZiKBiRmODHsZMnLFOm//f89MZ7S17gCAAAAGlbejxnBQAAABA9MluUU3BB1q1bF+v29evXW7ly5axWrVq2fPlyV5rIs3jxYitfvrxr/q1G33nz5rUlS5YE7t+/f7+tXr3aPVcSWgYAAAAAAAAAAEhZUR/AqFGjhl122WXWp08fF1TYtGmTvfzyy/bDDz9Y586drXXr1nbw4EHX6Fsp7HPnznXlprp06RKoyduuXTsbPny4ffHFF7Z27Vp75JFHXGCkSZMm7jEJLQMAAAAAAAAAAKSsqC8hlTlzZhs7dqwLWvTt29c13q5UqZILMKiMlEycONEGDx5sLVu2tKJFi9rjjz/ufvf06NHDlZLq16+fax6tjItJkya5PhWiLIuElgEAAAAAAAAAAFJO1AcwpECBAjZgwAD3E1eWxjvvvBPn89U4unfv3u4nLgktAwAAAAAAAAAApJyoLyEFAAAAAAAAAAAyHgIYAAAAAAAAAAAg6hDAAAAAAAAAAAAAUYcABgAAAAAAAAAAiDoEMAAAAAAAAAAAQNQhgAEAAAAAAAAAAKIOAQwAAAAAAAAAABB1CGAAAAAAAAAAAICoQwADAAAAAAAAAABEHQIYAAAAAAAAAAAg6hDAAAAAAAAAAAAAUYcABgAAAAAAAAAAiDoEMAAAAAAAAAAAQNQhgAEAAAAAAAAAAKIOAQwAAAAAAAAAABB1sqb2CgAAAABAKCdPnrQff/zRfvjhB9u6dasdOHDAChYsaOeee641aNDALr30UsuUKRMbDwAAAEinCGAAAAAAiCrHjx+3N99806ZOnWrbtm2zAgUKuKBFrly53N9fffWVjR8/3ooVK2b333+/3XbbbZY9e/bUXm0AAAAASYwABgAAAICosWrVKnv88cctW7Zsduedd9r1119vZcuWPeNx69evt6+//tpmzpxp06dPt2HDhlnNmjVTZZ0BAAAAJA8CGAAAAACiRp8+feyxxx6za6+9Nt7HVapUyf0oA+Ozzz6zJ554wj799NMUW08AAAAAyY8ABgAAAICo8cEHH7jsi0g0bdrUGjVqlGzrBAAAACB1EMAAAAAAEDWCgxdHjhyxgwcPWubMmS1fvnxx9rqINOgBAAAAIPoRwAAAAAAQVf766y97/fXXXY+L7du3x7pPzbzr1atnnTp1sjJlyqTaOgIAAABIfgQwAAAAAERVE+8OHTpYgQIFrHHjxq6Bd548edx9hw4dss2bN9tXX31lH330kU2ZMsUuuuiisJd9+vRpe+2112z27Nl24MABq1WrlvXv3z/OQMjvv//umoP//PPPLgNEj1evDQVRPG+88YZNnjzZduzYYdWrV7d+/fpZtWrVkmBLAAAAAMh8Npvg2LFjtnPnTjt58iRbEgAAAMBZe/HFF10gQA25FVxo3769tW3b1v3o9wEDBrim3QoSDB06NKJljxkzxt5880179tln7e2333YBDWVyHD9+/IzH7tmzxwVScubMaTNmzHAZIbt373aP13WQvPfee24devbsaXPnzrXSpUu75+hxAAAAAFIhgKE07scee8ylbdesWdPq169vNWrUsAYNGthTTz1l3333XRKsFgAAAICM6LfffnNBgLh6XYju69ixo/36669hL1dBCmVK9OjRwxo2bGhVqlSxkSNH2rZt22zBggVnPP7zzz+3w4cPuwBFpUqVXFBF2Rh//PGHrVixwj1m3Lhx1q5dO2vevLmdf/759vzzz1uuXLlchgcAAACAFCwhtXjxYhsyZIhLo1bg4qabbrJSpUq5E/T9+/e7E//ly5fbvHnzrHLlytarVy+76qqrkmAVAQAAAGQU55xzjv39998JPm7Tpk2B0lLhWLt2rStBVbdu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62b79++3559/3ho3bmyPP/64NWnSxObPn++yMAAAAAAgMVSm9o033rArr7zS9boIRRngU6ZMcZOrAAAAAKRfEQcwrr32Whs3bpz98ccf7u9BgwZZr1697O2337aLLrrI+vfvnxzrCQAAACAD0OSojh072nXXXWdXX321lStXzvW6EDXw3rJli8sI37Vrl02ePDm1VxcAAABANAUwpGHDhu5HChYsyIUDAAAAgCShSVHqg/H666/bN9984yZK+RUvXtyuuuoq69SpU1ilpgAAAABkkADGunXr7NSpU1atWrVYtw8ZMsSaN29uF154YVKvHwAAAIAMpkyZMi7TW44dO2YHDhxwvfeUiZE7d+7UXj0AAAAA0dbEe+zYsdaiRQs3G8rvv//+czVq27RpY5MmTUqOdQQAAACQQfzwww+x/s6RI4cVKVLEihUrFm/w4vvvv0+BtQMAAAAQdQEM1Zh95ZVXrG3btvbAAw+ckcL97bffWqtWrWz48OFcOAAAAABItGHDhlm3bt1szZo1YT1+2bJl1qVLF/c8AAAAABmwhNS0adPshhtuCKRxB1MfjMGDB7tsDGVhXHnllUm9ngAAAAAygFmzZrns79tuu81KlSplTZo0sRo1aljp0qVdBsb+/fvt33//teXLl7uJVH/99Ze1b9/eXnvttdRedQAAAACpEcBYv369Pffccwk+rnXr1i6QAQAAAACJkTVrVuvevbsLYEyZMsWVsB0/frxlypQp8JiYmBg799xzrWnTpi54oaxwAAAAABk0gHH06FHLlStXgo8rVKiQHTp0KCnWCwAAAEAGpp4Xffr0cT9//PGHbd261TXzVva3ghfly5ePeJlqBK5MjdmzZ7tl1apVy/r37++ahif0vM6dO9vFF1/sgit+yhDZvHlzrNtatmxpL7zwQsTrBwAAACARAQyla69bt87q1q0b7+PWrl3L7CcAAAAASapixYru52yNGTPG3nzzTRdcKFGihOub0alTJ5s/f75lz5495HOOHz/ughwqV6UAht/hw4ddCStliFx44YWB23PmzHnW6woAAAAgzCbemlU0ffp027NnT5yP2bt3r3tM/fr12a4AAAAAoooCEZMnT7YePXpYw4YNrUqVKjZy5Ejbtm2bLViwIORzVqxYYa1atXKNwvPnz3/G/Rs2bHDZGZdccokVLVo08JMvX74UeEcAAABA+hdWBsa9997ras/ecccd9sgjj1iDBg0CJaWOHDniZiPp5F+lpjp27Jjc6wwAAAAAEVG2uMrd+rPKFZSoVq2aLV261Jo1a3bGc77++ms3Qatr167WvHnzM+5XlnqRIkWsQIECSbY31N9DmR2R0nUZ0j7tx8Ts/8S8DtK+lDpeAABIajrn9fe4O+sAhmYQvf766/bwww9bz549XWO9c845x8022rdvn506dcoqVapkkyZNspIlS57t+gMAAABAklKmhQRfr6jXhndfME3eio8CGLlz53ZZHcrWUH+O1q1b2z333GOZM4eV7H6GEydO2Jo1ayJ+3qZNmxL1eogu2o8pUYKM4yV9SKnjBQCA5BBXCddEBTBENWffe+89++qrr1zGhU7ys2TJ4hroaVZSvXr13N8AAAAAEG28GefBF0o5cuRwk7IS4/fff7f9+/db06ZNXZbG8uXLXV8NLU8TvxIjW7Zsdv7550f8PGXDI+0rV66cVa1aNdlfh+MlfUip4wUAgKSmUqzhCjuA4R6cNatde+217gcAAAAAUoKCBCtXrrQDBw64LIcaNWpY3rx5I1qGN0tZvTD8M5aPHTsWKI8bKWWp6/lez4vKlSvbwYMHbezYsda9e/dEZWEolV5ZHZFK7HtAdNF+TMz+T8zrIO1LqeMFAICkFm75KAnrjPqVV15xJ+aRUB1G9cUAAAAAgMSaMGGC68HXpUsX69Wrl+u5d+WVV9ro0aMjWo5XOmr79u2xbtffxYsXT9S6KZsjuGG3SuvqWiixWR0AAAAAIgxgeGnRU6dOPeOEP9iOHTtszJgx7vF6HgAAAAAkxpw5c+yll15yDbanTZtmH3/8sftXf7/22muuxG24qlSp4rI2lixZErhN1yurV6+2WrVqJarxoDLTtR5+v/zyixUtWtRligAAAAA4O2GVkHr66afdyfkLL7xgQ4cOtYsvvtilbZcuXdqlLCqV+99//3U1X9XITv0ynn/+edcbAwAAAAASQxOo7rjjDhswYEDgtgoVKtgVV1zhykBNnz7dWrZsGXa2RLt27Wz48OFWqFAhK1WqlOtXUaJECWvSpImdOnXKdu/e7TIqwmmKq7T36667ziZNmuTWqXr16vbDDz/YxIkT7amnnmKHAwAAAEkg7B4YdevWtffff9818Z4/f759+OGHtmvXrsD9RYoUcY28u3XrZtdcc01SrBsAAACADGzz5s32xBNPhLyvcePGLkMjEj169LCTJ09av379XBNjZV4oAKHG2Vu3bnXLHDJkiLVq1Sqs5amklbI6lCWybds2N8FLwYtbb701ovUCAAAAkARNvKVhw4buR44cOeKyL8455xw3owkAAAAAkop6U/zzzz8h71PAIdJG3lmyZLHevXu7n2AKPiibPC5ffvnlGbdlzZrVunbt6n4AAAAApFIPjLiofFSxYsUIXgAAAABIco0aNbJXXnnFVq1aFev2n3/+2UaNGuXuBwAAAJB+RZyBAQAAAAApoXv37vb999/bbbfd5npWqGztzp077e+//3Z991TCCQAAAED6RQADAAAAQFRSiah3333X9bpYunSp7du3zy666CLr2LGj61MRTrNtAAAAAGkXAQwAAAAAUWnevHl29dVX25133ul+/Hbs2GEzZsyw+++/P9XWDwAAAEAU98AAAAAAgOTSt29f++uvv0Let2bNGnv11VfZ+AAAAEA6lugMjF27dtnx48ctJibG/X369Gk7cuSILVu2zO64446kXEcAAAAAGUTnzp3tjz/+cL/rWqNr166WPXv2kNcjZcuWTYU1BAAAABC1AYy1a9faY489FrioCJYpUyYCGAAAAAAS5YEHHrDZs2e739977z2rVq2aFSpUKNZjMmfObPnz53d9MAAAAACkXxEHMIYOHeqa5/Xp08cWLlzoZkNdc8019s0337if6dOnJ8+aAgAAAEj3Lr30Uvfjeeihh6xMmTKpuk4AAAAA0kgPjJ9//tl69uxp7du3txtvvNGVjVJDvXHjxtm1117rGukBAAAAwNkaMmQIwQsAAAAgA4s4A0N9L8qVK+d+178qKeVRCveAAQOSdg0BAAAAZBhVq1a1d955x2rUqGFVqlRxJWrjovtWr16dousHAAAAIIoDGOeee6799ddfdvnll7sAxsGDB23r1q1WunRpV05K5aUAAAAAIDHUtLt48eKB3+MLYAAAAABI3yIOYDRp0sRGjBhhuXPntqZNm1qFChXs5Zdftvvvv98mT55MijcAAACAROvWrVvg9+7du8f72JMnT7KlAQB27Ngxu+yyy+y1116zhg0bui2yePFie/TRR23VqlVWqlQp6927t3Xq1Cnk1oqJiXE9X1UefdeuXVarVi0bNWqUVatWzd0/d+5cF1TPmjWrjRkzxm6+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SbU8AAAAAEmUgfH+++/biBEjbMeOHS5wMXv2bBs1apRLd9bt4davAgAAAIC4KMvikksucb9XrFjRJk+eHJhM1bFjR3vttdesb9++YW3AKlWqWN68eW3JkiVWtmzZwPJXr15t7dq1i3gn6Dro0ksvdeWt2rZtG7hdy7/88svZqQAAAGHasmWL7dy5k+2VRhUpUiRwfh0VAYyPP/7YlZBq3ry5XXPNNYHGdtddd50NHDjQxowZYw8//HByrCsAAACADEQlag8cOOB+V+moXbt2uRK2yn5QloN684VLk6wUqBg+fLgVKlTISpUqZcOGDXNZHU2aNLFTp07Z7t27LV++fGE3rFT/v86dO1u1atWsQYMGNmfOHNeTY/DgwYl+zwAAABkteFGlahU7cvj/9StD2pMrdy5bu2ZtsgUxIg5gjBs3zm6//XZ75pln3Em+p3Xr1u6Ef9asWQQwAAAAAJy1unXruusPZU/ogkjla9977z0XOFi4cGHEPfh69OhhJ0+etH79+rkmxrVq1bJJkya5TPKtW7da48aNbciQIdaqVauwllevXj3Xp0OTuNRsXM23tb7KFgEAAEDClHmh4EW7/ldYsfPys8nSmO2b99vMQUvcfoyaAMaff/7pMjBCufjii10pKQAAAAA4Wz179rS7777bXX/MnDnTunTpYi+++KILEqj8U9euXSNaXpYsWax3797uJ1jp0qVt3bp1cT73yy+/DHl7ixYt3A8AAAAST8GLMpUjm5yCjCHiAEbhwoXtjz/+sKuuuuqM+3S77gcAAACAs6UyTyphu2nTJve3Mi9UY3fFihVWo0YNa9myJRsZAAAASMciDmDceOON9uqrr1qxYsXs6quvDjSw+/XXX13qdLNmzZJjPQEAAABkQOpHoRJSnhtuuMHq16/v+mAAAAAASN8iDmCoQff69evdv5kzZ3a3Ka378OHDdvnll7s0bwAAAAA4W+pXoXJR5513nt188822ZMkS18dC5aNq167tJlapLwYAAACA9CniAEb27Nlt4sSJtmjRIlu8eLHt3bvX8uXL5y4glJGhbAwAAAAAOFsKUKjJ9pNPPun+fu6551zmhXpfTJkyxUaMGGGDBg1iQwMAAADpVMQBjPvuu886derkemCE6oMBAAAAAEnho48+skcffdTuuusu12/v999/txdeeME1zVYgY+jQoQQwAAAA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e3Lw4EEbOXKk9xbYuXNn/Ek4yq0gKO69914rVaqUlzr78MMP7dChQwQxcF4ncRSs6NChg40aNcomTJhgr776qn3zzTf29ttv2969e3kUA0LzTfny5f05WbhwYfz1BCqB2MA8H2ysO3EhWHciGrCOiBysI84fAQwkmt27d9vcuXPt1KlT8ZvL+nz8+HGrWrWqRx4rVKhg5cqVs8aNG/um9KRJk9gAgGdXKLNCpXeGDRvm5VMUxPj0009tx44d9sEHH1itWrW8tNSTTz5pbdu2ta+++opHDokulAEUEup3MWDAALvvvvts8uTJ/rp2+PBhghj4Swp46bWuYsWKHpjVBoxOBCqoMWXKFC9JhvA4NzChzCplYOgQxiuvvGLjxo3z68m2AqIP83xkYN2Ji8W6E9GAdURwsY64eBSMR6LV3/vxxx998zn0pkAn6q+88krPwli8eLE3uC1btqx169bNkiVL5iWC1qxZ4wEPehvErtD40TjRyXVlYLz22mseqHj//fe9XIdOJ//8888+XlQvfu3atXbNNdeE+64jhht5amwuW7bMX/eKFStmDRo08CDG008/baNHj/YxXaNGDUubNm247zYC+HonykZcvXq1B/k1J4b6/CjQr9c9lVm85557wn2XY/Y5WrRokf8f1/NQtGhRz8Do1KmT30bvY/RaUKdOnfggBlmBQORjng8+1p24HOOHdSciEeuI4GMdcWnIwECC27Rpk3/OnTu3HT161J5//nkvEbVr1y7fhFHQQj0wChUqZD179vSNGtFmdf78+Vn0x7DQC/ysWbN8zKg56jPPPGO//vqrn3JVQ1tlYKhkx2233ebf1ybxxIkTLU+ePOG++4gxoeCFgrEanwpOKOtC2ULq66Og7Msvv+yvderlMnbs2PgMDcS20EkcZeaEFC5c2HLkyOFjRfNlKPivuVElFum1EB6hOUkZF0rP13Oi/8sKVuj501z16KOPehBDwcrQzwCIfMzzwce6ExeLdSciFeuIyME64tKQgYEENX78eBszZoyXU1ApjEceecS6du1qV199dfyLrTadlearLIyZM2f6ZoAalM6bN89/LhTQQGy+wCs40bFjRw9cKAim67Jmzeqbw0OGDPET7SNGjLADBw7YQw89ZClSpGDMINEoAJEqVar4RY/Gq5p5Dho0yE9l65S2xqTG5g8//GB///vfPYhR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x5InT+6ZPQQvACBxMc8DAIKCdQQQXgQwAAARafXq1Xb33XdboUKFzrp+woQJtm7dOu9noM1q4MxFxxdffOEN3VU2qmTJkl46qlu3bt4vZdy4cX5bNX7PmDGjf/3II4/wAAJAGDDPAwCCgHUEEH408QYARBSVg9Jm85o1a+zQoUNnXR8qDzVt2jTbtWsXjZcRT8GLWbNmeX8UBSf+9re/eUN3Ne2WXr16WalSpey9997zAId6pgAAEh/zPAAgSFhHAOFHAAMAEGihwESIykGprM99991nX3/9tX366afx10uqVKns6quvtnTp0pGBEcP27t171mVl5bz44ovWtWtXGzBggD3xxBNedmzYsGF+fSiIUbhwYQ90nDvuAAAJg3keABAkrCOA4KGEFAAg0JsaocCEsirWr19v119/vd15551WqVIlD2DoBL1uV7FiRduzZ4/NnDnTe2EokIHY9MYbb9jWrVutc+fO3t9CY+inn36ybNmyWZ06dXxRonFTo0YNy5cvn/fBUN+Lf/3rXx7c2LFjR3wfDABAwmGeBwAECesIIJgIYAAAAltrNBS86Nu3r/e2yJAhgx0/fty+++47a926tbVq1crfZOprZV2o0bI+3n//fc++CNUrRWxRhk7dunV9LBw9etQzLVR2TB9btmzxYJgydBo1ahQ/vl5++WVbuXKl/fvf/7arrroq3H8CAEQ95nkAQNCwjgCCiQAGACCQQoGH4cOH25QpU7zUT7FixTxYMXXqVP/e008/bX369PFGy+qJkTVrVs/E0Kl7bVbrDShixyeffOLPf8OGDf3yokWLPPD11FNPecZOzpw5PXAxf/58q1KliuXKlcu2bdvmGT21atWyG264gTEDAImEeR4AEBSsI4BgY2cHABDYk5lq0v3ll19amzZtPHjx/fff26pVq6x48eI2Z84c3/xo3LixX9ZHiBp5E7yILRs2bLAWLVpY5cqVrX///p59oQCGyozpa5WHCo2hJUuWWLNmzfznxo0b5+WmSpQo4c29AQCJg3keABAErCOA4KOJNwAgkBScULmo3bt3ez+LzZs321tvvWUPPfSQDR061AoUKOClotSMeePGjWf9rDIwEFuuvfZae+WVVzy7okOHDn7dk08+6aWkFMjQ9zZt2uT9UbJkyeINux999FEbO3as9e7dm+AFACQy5nkAQBCwjgCCjwAG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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "----------------------------------------------------------------------------------------------------\n", " 📌 Top 5 Tasas de Éxito en 'sex': male: 30.6% | female: 10.9%\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjAAAAJ3CAYAAAA6dRg5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAxbtJREFUeJzs3QeUFEX39/HLLjlnUJAsSUT0kaSgiAhmQTCjAgKiKKAoooJZUSQoKEkJZgQFEwYeA2YQUEQlSFJAyTnHfc+vnrfm3ztsmFl22WH3+zlnDrMzPT093T1Ddd26t3IkJCQkGAAAAAAAAAAAQAyJy+wNAAAAAAAAAAAACEcAAwAAAAAAAAAAxBwCGAAAAAAAAAAAIOYQwAAAAAAAAAAAADGHAAYAAAAAAAAAAIg5BDAAAAAAAAAAAEDMIYABAAAAAAAAAABiDgEMAAAAAAAAAAAQcwhgAAAAAAAAAACAmEMAAwAAAABixIEDB+z888+3GjVq2KmnnmrffPNNZm8SAAAAkGkIYAAAAABAjHjvvfds9erVlitXLnvhhRfsnHPOyexNAgAAADJNjoSEhITMe3sAAAAAgM++uPDCC23dunU2fPhwO++889gxAAAAyNYIYAAAAAAAnIMHD1rOnDnZGwAAAIgJtEwBAAACpkyZYvfff3+S+yRHjhyWO3duK1q0qJ188sl25ZVX2sUXX+wezyg33nij/fTTT+7+gAED3HtK3759berUqe7+HXfcYXfeeWeWOY5r1qyxwYMH2w8//GDbt2+3IkWKWL169ezFF1+03bt3W4sWLWzTpk3uWKjEzrnnnnvMtk3zEnhffPGFlS9f/pi99/Hq8OHDds0119j8+fPt8ccft6uvvvqIZb7++mv74IMP7JdffrGNGzdafHy8lStXzho1amTt27e3SpUqHfGa5s2b2z///OPuv/rqq9awYUM73syaNctuuummiJfXsg8++GCGnL/6run7VKxYMbvtttssMwS3L/h7l1YXXHCBrVy5MtnnR40alSjLRb8vo0ePto8//tj9Dum3p0mTJtajRw93PgZF+xscXL5Bgwb22muv2cyZM+3mm2926542bZrly5fvqD4vAABAVsQcGAAAABFS5c19+/a58i7fffed3X333fbkk0+y/9KZOk8//PBDF6RQSR11aK9atco99/rrr2da8AJp8+abb7rghQJ/l19+eaLn1Gl+yy23WNeuXe2jjz5yAQl9x9SRvGTJEtfJe+mll9obb7zB7s9A//3vf61Vq1b2yiuvuAyMWJLW7dm5c2fodyMS+/fvtw4dOrighoIe/rdHc5K0a9fO/vrrL0tvCtBVr17dnff6PQMAAMCRyMAAAABIRsGCBe26665LNJJcnWIzZsxwQQxRB2vr1q2tTp06x3Q/quO+ZMmS7v5//vMfyyq2bdtmCxcuDP2t0dEVK1Z0N+37sWPHuuCFsjGY3Dj27dq1y83lIOoEzps3b+g5BSrUYfzHH3+4v5XJpA5dZTdt3rzZvvrqK/d6dSQrc6NMmTIu+yYr69KlS4rPH+13Pbj+QoUKJcrG0D6PJT6z7bHHHnPnijIVateuHfHrFy1a5ILOcvrpp9uZZ555xDIVKlQI3ddvy6+//uru67dVc5HMnj3bFi9e7PbNo48+auPHjz/qzxNOGUYPPfSQTZgwwa699lo76aST0vweAAAAWREBDAAAgGSofMg999xzxOPqzGrZsqXt2LHD/f35558f8wDGRRdd5G5ZjYIUQRqVHKzHr5I7OH5MnjzZtm7d6u63adMm0XPDhg0LBS8ULBw5cqQrreMp06Zjx46uA1kd0QMHDrTzzz8/Q0u2Zbakfm+Op/UfrRNOOMGVbpLSpUuHMiOUBaGbzg8FMlQ+LC4u5WICwUCoSlElVbrM0/k1ceLE0N86F+vWret+j3TO6RxWSbu///7bBVPTomzZsqH7/rOJyhAqQKdAnQLiDzzwQJrWDwAAkFVRQgoAACBKxYsXt8qVK4f+Dh+5vH79ejdaV/XXTz31VDdq+Oyzz7Zu3bq5Gv9J0Wjz66+/3o0UViddnz593HpSqqeuevG6+RHuQSpJ8swzz7ggh+aP0Ohjrf/tt99OtiSLyqb07t3bjYI/7bTTXPaJSmXNmTMn9F56X0/v6x9/6623XOkV/9obbrghtNxvv/3m6sOrlvwpp5zigj3qFFQtf5/J4uf7UMdkkJbX+n3gwr+fbqtXr060rLZVI8wbN27s9rk6IFUW56mnnnKliiJ16NAhNxpapYt0/JQFos52daSmZMOGDa4jUp9Bn1HHXJ/bj+oOp+X8Z4k0MOMzGq644gp3ruhzau4HzY2gOSSS88knn7iR3meccYY7H1TKScdrz549oWX0+S677LLQNul+8Fzp169f6LmmTZuGAhMpdQprbgrR96VatWqh59QxrNJSns67YPBCSpQoYU8//bS7r05jZR9s2bIlov0U6Tnnaf93797dLa9l/bmj73FSy6fleKcnzZcQ/C5ozgZPnez6DvrnxowZE3ouqe+P7vu5GXzQMKnflWh/UzSfkH8vfbcjUbNmzdD9qlWrun+DASvNB6TjpACyvqPhAc/kAhhVqlRJ8X2XLl1qa9eudfc1H4WOvw+sBefI0G9MalQKLbifJ02alOxn85kwfv6Wd999133HAQAA8H/IwAAAAIiSOjTV4eUFS34omKHOuvB66aqlriDFN998Yy+//LKdddZZoefUEacJa4Pef/9911kXLLkTKb2H5ufwGSLe3Llz3U3zS2iEcbCEzIIFC9zI5mBH/88//2ydO3dOceSyp9HLKtkSHEktCtioTNDevXsTLa/O03feeceV49LI6lKlStnRmD59uvXs2dOV+QoGInQcdFPHozoHU5skV53uWo/mBPD+/fdfV7Jq3rx5yb7uzz//dNkCOs6e7mu7lKGjMjhXXXXVUX1G7UMFhoIds6JAgjrgdVMQShMKB+m9w+eQUFaDbp9++qk7/zQ/hUpzPfvss67Uk0aD6zPpOZ0DP/74o8um8DT3i16TEs174SfZDnYCi85tzXMhyrBRQCYpCtDovRU0jFS055w6nJWZ4MsNef7c0fIKtvhz+lgd75Rccskl7hxVYEoUpFNJtQIFCrhAk//sCnLp+B2ttPympIU6/PU7mT9//lDGgoKmtWrVcuef9rtobgv9ZirI0rZtW/ebG156Kfh7pN9cTcSt4IBKlGn54Dmn+Va88Anjg8HqZcuWpbj9+s28//77Q38roOV/P4MBjPCAir4f+o1SQEYTeyvYBgAAgP8hgAEAAJDCfAyDBg0K/a1Rxuos/vbbb0Odr+owDE5MrNHOPnhRvnx51zGlke1ffvmlG7GtTnWNSvcBDHWIqdPYU53/Zs2auSCJOk6jpU7au+66KzQyWZ2uGi2vz6JtUMe06rrfe++9bgS+qNNfHbg+eKGgiUY4a+SzauNrhHVq1FmoDmGNWlfHuLIXRCPUg52pGhmu0kDqfNXj6vRV52enTp3ca9SxFyzl4mv2n3jiicm+tz6TOox98EKj6DXaX6Vo1Jmsfa79rE5YbV9K1MEdDF6oA12jzTWq/vvvv0/yNTov1DnqO7M1gludyQp8fP311267NJJfn10T9nqqd+/3eUqfLxjU8sELdejr3FKHsfa3OvlFgRadj762vzrqffBCx1OvUfkadRLrHNP6dIwGDx4c6mRVAGTo0KGh0fh6Tf/+/UPbcc0110Q0/4jfJr8fg3zpKNG26nuUnGiCF9Gec6IsDx+80Eh4daJrOS2vjA8dx+eee85lHxzN8Y6E3js5OtbKhvIefvhh97d+V3QbMmSI65xXcEgUBFDZrdRKLek7pu32wQFl6Sjbxc+3kZbfFNFn99/fSOd10PvoFl7KTxlGuimIqIwGBW70G6xt0sTjKr2kTBiVX9Lx0DEKBiV0vgezc5ThpnPQl2vS/gu+X1DhwoVD94PLhVNQRdkhPlNL3+9gMFFZRPquJkUBmuD3hgAGAADA/yGAAQAAkAx1jr300kspdqyq41dBh2AnlTriV6xY4V6rMjiiTmVfVkkdXZ6yAnz5FQU89Lcf2a5R3+oIjcbo0aNDHY0qf6QR9CqDIursVCegOvTVoacR++qw1b9+ZHF8fLzrDPQlVJYvX+7mLggfzZ4UjXIOjjLWa9Sxqw5zrVejpX1nqjraVZYpuD/UMa7O0mAAI5Ka/epI1WhqBVHUealghqcOSu3T4PukJBisURBHHdfadnVKq4NWo/XDqaNbx9uP3lbpHN8hr32iAJU6eRW4euKJJ0Kv69q1q0UjuP0aDR8c4a+Ag7IdFLjR8fWC5+8jjzziOlX961UiSkEMlR/SfvYZBup01vmhzmKVmNIIcn9OKdgQLCOWEmX1JNcxHyy7Ft5hfDSiPec0ObTvlNbnV2e4L1mkzAWdSyr3EwzApPV4p7dixYq5TBh/HqmMWzBjS530wUmqk6Njr2CMD2AouKrMgaP5TRGV1UrvuYEUTNRN32t9FxXMUCBC308FK/Vbpd8A/Z4FS75pmxRQUSBSmUGiY61ycwrQBUupKRMpKFeuXKH7PnAdTpkpKhHoz2uVD1SAKVLB70dKmV4AAADZEQEMAACAKGmUszo3W7RoEerI8zRvhG6eMjbUaRYc1R8MBgTr5ausSbAsjzr0n3/++VTnGgjyJWX8vALB7VPNepWe8XMlaJvUsacSMJ5GVvvghSgjQsEXX8c9Oeo4DwYvRJ2pvXr1SvSYOtlVZiU450MkwZGUlCxZ0gUXPI2m1zwA6lwNlltK7X3U4Rlc/vbbb3ed4KJOcB3zpAIYwUwD7atgNoEmD/YZNpoE+GgEO9GVZaAMHXXAasS8yl6Fj7RXx7wvdaZO2GDAQ0EDnb/KzlDnrz6DtlX0mZVt0Lp1a9ex6zuvtX5lK2hkfySCc5T4QJ4XDLKEl246GtGec3ny5HEBCnV4K2NH8zuoQ9tnIIwdO/aYHm+fsZDcZwt37rnnuuOq8ko6jr6DXd/j4O/Q0UjLb0pGU5BJ52NyE7rrd1RBDv0OKAtHwTp/run8UOk0ef31193xPtpzUMFmBa18STQFvlLLfAnSPtW5qIBasCwZAAAACGAAAAAkSyN5VUJJZWRUikcdk+okVGkSjVZWB29SNMJXpYjUYRo+F4YEO8uCnVXBWuu+I1kZHZEGMDT6N1ijPrxsj2hCY9/ZqPkSJDhZePg2hE84m9K+Soo+q+YF0KTDCpQk1TmXHh3YymJRiSW9lzqrk5q0O7X30X4OTkYcXgs/uYmA1fHtaYS/H+UfTh3pCgikNg9HctS5rlI/OhfV0akR57oFAxK33HJL6HgFt0udq0mdD8nV9tdnV0dvcG4WdZT7skKRCE5GHD43QjBQF02ALhLRnnP6jMpi0HYos0K3cePGuc5xZRBoThDd1DGd0cc7koyjcJpzQeXR/GTj+t1QgCs9pPU3JaP8/vvvLpiqQGLw/FKwQIEIX4pJWXGa0yecjqky4XwAQ+uT4DHygYik/k4ueBdcRr8hCoyozFg09B3R9zqYnQQAAAACGAAAAClSh5dKRalevjojfWelRmZr5LVqngepLIk6RNVBqk4x1TJXp6/K04TXdvfr94Kd5yk9lpxgqZPkBDtukxq9HJwEOxrhmSj+vZQZ8Nlnn7m/NUeGSrxoRLQ6W1XSJz1oNL0mbdbkzT6Yos5+vY8ei2QOj6T2RzBLIKmOzaT2mfZDShOva4R8WgMY2j5lRiiQoDkcNBeLnyRbZbRUKksdySpdpKyM4PargzeluSSSCu74/ekp40OBoeCcACnxHf5+25MrmaNyTsrySOocUlaMgjLKNFFJL2X6pCQt55zmqlDmgAJgCggpAKb31bo0X4Ju+uyapFqf41gd70gpaBDs9NZxV1kw7bejlR6/KUdLgQoFLPQ9Ds6d4gMKynpRsCKSclnh2UA+COIndJfw4Gfw7+By4fScjoP2vwJgyqALlheMVPB7AwAAAAIYAAAAEbv11ltdRobvRFNnqEq4+DrvftJvdeip40+dbprXQnwpn3Dq4PL19MOzNdSJGs2IZo3g1c2PmNYcBOr4TW5eAmV3iOYL8JLKGPG18aPt6NSocN+RrA5rlblRmRTxE0unB81B4DvbVTpHE6n78i3BiXwjmVNA9e997XwdF9X8Ty5LwQvuP43k13niqbM7mlIykVCGRb9+/dw+18TR6nBXCRtlGyjIovNSAbZg56k+lwIewW1RR6svkRVOHeB+lLqnAIDmXPCTWacmGDBRR35wrgudl35fazsUPPBzxARpkmhNSq2byqlpm5LKEjrac04d4SqFpDJu2iYFLVQqSpNSa59qfgeVe9P8C8f6eKdE23rfffcdEVzTvmrWrFlE2VMZ8ZuSnjSPiL7jQQoI63xRkCCpgJoCTioht3btWhf40s3TY54/lsHsqvDf3ODfyQXQdG4raKH5g5QhomC35s8JZjClxgdK9DsEAACA/3PsWtcAAADHOY2MVWea7/RVx+tDDz0UGpGtDm/f+a1lgx1r6qD1giO469evH7qvEcZ+vgEZP358ovItkWjevHmiiZ2D61MHt8rqeL5TL1gWSJ3c6rz1NDG2RvunJqmR14sXL07UQew7krWPgp3jac36CG5jsCPRdyBr36kDPNL30TFTB7WnDkk/ulyZMCNGjEjydcGa/8qCCO5zlZJRNoSyJtSpfDQ0z4cmWG7UqFFoTpITTzzRTRofnO/Ad9DqOR9AU5aKJnkOBhQ00bAyhDT5cPBYqeRScPL4Vq1ahe6rfJWCeJHQ+3vBsks+uOHn3JAhQ4a4DucgfZ+CpZAaNGiQYvAiLefc7Nmz3f7Tcdcx0rFTYEXfCWVX+f0X/AzH6nhHQsEq/5nVqe/nr1EpIgU2wrOIkhMMuoRnfaXlNyU9BTM89Pl0rihTRvOFJJcNpKCKJrDXb5f2kfaHP+7KUPI04bsPdvmAm+bN8BN963uiYIinAGlSFEzRJOF33HFHKONG35Xgb1NKtE/9/x2RZpIAAABkF+SnAgAAREE14FWuRJ3bomyMiRMn2vXXX5+ovIhG4Gp08Nlnn+3qrAfL8QQnk1Zt/Zdfftktr44zTQqsDkNlQiiYEC2VjVFHrTrsNGJck9eq0031/dWZ7zs0NV+CJuD1HbKamFzZCurg0yh0dUTqvjoKfcdatIL7Q5//pptucu+jeRxUNiip/ZEWwRHxynrRvtR7q6NdE1lH8z7aRo3291kIKtGkTlN1dCfXGakOfo22Vge3jqGfCFrlaZQNoNHx6hBVKaMgZYr4Udc6V0466aQUt00dpH6uAWVC6PzQiHcFHIKBmmBAqmPHjqEggCYWViaB5rfQBNO+/JTOiWBgQEE5Py+FPrs+myZv1v7wz6uTPrWR4toOdeKKzufwSd4VkNG+Xr58uevA1XmnAI2yBrQvta0+s0CBCE3KnN7nnLKndI7ofTTpuL5/+r4ou0WZLT47SsEtlZo6muMdCWVwpUQd9sr6EAUa9dvhPfzwwy5o1LZtW7cNel7n2G233Zbq+wbLdykoo/NSx0vnZVp+U0S/ez5opHNb60oLBYy1z/W7G+kcLNoHCmAoAKHvrY6rfot1XHyAVoGGzp07hwI4V199tcu4kdtvv90uvPBC9733c6jo9cl9R30ASFlPOudGjx7tfj+VraRAdGqCvy0+CAUAAID/IQMDAAAgSnfeeWeiSavVmana53pMnV6eOmZVUkQdqeoQ9SNz1fGnclNStmxZ18HsO8DUqazXqHNanbEXX3xxVNumkcSabFzzc4hKDCmzw3es+pHswTJAeu/gaxQAUMaIRi+rczK4DdHUuFenY3AEuyY11wh1dSQHJ3VWJ/DRUBAoWJ5IgQsFldQxHe37KCvh2muvDf2tDlsdD3UwKlvGTxIcpOOquVF8J7AmRdc+VzDF73N1+gbXK9pGdbLqpuOUGs3Dos5y0XFRB/+ECRPc+6ij1pfC0eTbngJryjDwdF7p8/hyWNo/2nZlHYRnWOicVcaRzo8HH3wwNNpdHboKhqQmmKngR7QHaX9pW3yntDp8v/vuOzePjCbh9vtOyw0fPjzJfX+055yOnea28JMz6/un46Lt8qXidM737ds3lFGS1uMdCX8+JHfTtomCitomny2h76iCKPr+6zzxlH0QSRZAMDCg741KkimAk9bfFF96zm+39k1aKWCm/R3NBPIKJCjI5+eTUABNJcR88ELntjI5gueKSoH5DCztA/+9F2VnaDsiocwQP0m9AoUKnqUmWIYrms8JAACQHRDAAAAAiJI6OzXa2VMwQh18on81Wbc6ktUprI4s1aJX55k6x31JFHXQeursVKetOnzVOarXtG7d2o2EDgZKIqVOXI3UV0emRrNrnep81Kh5BUs0Ijh8wmR1Dr/zzjsu80LBAH1GjThWh6kmQA5+9mj2kzo6FWBQ5686DRWw0d8qO6P7ok7CaOb6CKf1aNsVPFLQR++jjklN7K338Z3z33//fWjS3pQ88sgjbj8p40Gv1THQiGxl3fh1hdOoaXXSqpSMSsAoY0AZCtrn6tgdOHDgUc+NoJHo6nRVZ36TJk3cdumz6tiecsop1qNHD7cfgnNP6D01ql/npUpP6dzSZ1DmhkbET506NTTi289x4WnkvZ9su2TJki5jwlM2xieffJLi9uo9lLEkGsmeFK1X3w0FAVXOyh8/fSa9VuWt1FGuuWYy6pzTMdLn0fdFx1yBGr1OneD6LikAouyQY328U6L95efV0fdVASZP56ovQ6QAgwIdyU1A7+l7r8CsPrM+u8pRBbNy0vKbkl58GbBoKaijOVD0rz+v9K8Cejrvg6Wx/Lmj32GVgVKWkpbXhN9XXHGFW48ei4QCZcGsF333Uivl5cun6dzT9xQAAAD/J0dCsKgoAAAAsh2NqFa2hTpg1cGtMjDBTvD7778/NImu6uoHR3gDKdFcHf3793dZDJpgO1juC8D/smlUOk1z9ihQ1q9fP3YLAABAAHNgAAAAZHMaz6KR/cGR85rcVp3OKgMzc+ZM97j+jnQkPOCzi3RubdmyxY3g93MOAPgfzSOi4IUyPjTPBwAAABKjhBQAAEA2p1JEwQl2NT+A6r+/+uqroeCFqCSTyscAkVKpIZVUk7feeivVUjpAdqMSZaLf4OQmCQcAAMjOKCEFAAAAl4XhJ+5evHixm2jc19fXXARXXXWVq5MPREuTc2sOCk2KrWyMSy65hJ0ImNmvv/5qV199tZubQ/OwaA4MAAAAJEYAAwAAAAAAAAAAxBxKSAEAAAAAAAAAgJhDAAMAAAAAAAAAAMQcAhgAAAAAAAAAACDmEMAAAAAAAAAAAAAxhwAGAAAAAAAAAACIOQQwAAAAAAAAAABAzCGAAQAAAAAAAAAAYg4BDAAAAAAAAAAAEHMIYAAAAAAAAAAAgJhDAAMAAAAAAAAAAMQcAhgAAAAAAAAAACDmEMAAAAAAAAAAAAAxhwAGAAAAAAAAAACIOQQwAAAAAAAAAABAzCGAAQAAAAAAAAAAYg4BDAAAAAAAAAAAEHMIYAAAAAAAAAAAgJhDAAMAAAAAAAAAAMQcAhgAAAAAAAAAACDmEMAAAAAAAAAAAAAxhwAGAAAAAAAAAACIOQQwAAAAAAAAAABAzCGAAQAAAAAAAAAAYg4BDAAAAAAAAAAAEHMIYAAAAAAAAAAAgJhDAAMAAAAAAAAAAMQcAhgAAAAAAAAAACDmEMAAAAAAAAAAAAAxhwAGAAAAAAAAAACIOQQwAAAAAAAAAABAzCGAAQAAAAAAAAAAYg4BDAAAAAAAAAAAEHMIYAAAAAAAAAAAgJhDAAMAAAAAAAAAAMQcAhgAAAAAAAAAACDmEMAAAAAAAAAAAAAxhwAGAAAAAAAAAACIOQQwAAAAAAAAAABAzCGAAQAAAAAAAAAAYg4BDAAAAAAAAAAAEHMIYAAAAAAAAAAAgJhDAAMAAAAAAAAAAMQcAhgAAAAAAAAAACDmEMAAAAAAAAAAAAAxhwAGAAAAAAAAAACIOQQwAAAAAAAAAABAzCGAAQAAAAAAAAAAYg4BDAAAAAAAAAAAEHMIYAAAAAAAAAAAgJhDAAMAAAAAAAAAAMQcAhgAAAAAAAAAACDmEMAAAAAAAAAAAAAxhwAGAAAAAAAAAACIOQQwAAAAAAAAAABAzCGAAQAAAAAAAAAAYg4BDAAAAAAAAAAAEHMIYAAAAAAAAAAAgJhDAAMAAAAAAAAAAMQcAhgAAAAAAAAAACDmEMAAAAAAAAAAAAAxhwAGAAAAAAAAAACIOQQwAAAAAAAAAABAzCGAAQAAAAAAAAAAYg4BDAAAAAAAAAAAEHMIYAAAAAAAAAAAgJhDAAPIgm666SarVauWbdiwIdlltm3bZnXq1LE77rgj4vU2b97cbrzxRssuatSoYX379k2XdWk9Wl9Kt+3btye5n7Pbfpf9+/fbpEmT7Nprr7WGDRvaqaeeapdddpmNGTPGPZdWO3futM2bN1ss27t3r/vMZ599drpuq77rI0eOdPdnzZoVOu/GjRuX7GsmTJgQWi4WrFq16pi+n34nzzrrLJsyZcoRzy1dujTZ7/JXX33lllm9erX7e/jw4cm+x6FDh+zCCy+0L774IkM/CwAAsSqpdrKuZc444wy76qqrbOrUqen6fundto50fVpGyyb3t98PqYl0uUgdzfrSe1syg45B8DhEY+DAgUm2BdWWD9q1a5c99dRTdu6551q9evXc9foff/yRaBm1F/VatR/TY1vVtrzoootcWzPcgQMH7JJLLkm2jTpz5kx3HXb66ae7bdZyBw8eTNNyy5YtsyuvvNItc8stt9i6deuOWE+vXr3s/vvvt0hpHwT3d82aNe20005zbepnnnnGteFj9ZrjwQcftAEDBmTY+oGsKmdmbwCA9KeOXnVQTp8+3W644YYkl9FzarhcfvnlHIJjSA2zYsWKJflcvnz53L8PPPBA6H52pMBb9+7dbf78+dayZUvXEI2Pj7fvv//eBg8ebN999529/PLLljt37qjW+/vvv9ttt91mgwYNOuKiIpZ8+OGHtnXrVhsxYoQVL148XdY5Y8YM+/nnn91FVrgvv/zSOnXqlOTrPv/8c4sVuuApVaqUPf3008fk/RQo08XUpk2bknx+yZIloQv38ONUu3btiN9H53aPHj3sySefdMGS7PzdBwBkb8F2ckJCght48sEHH7j/a7ds2ZJse+V40a1bN9uzZ0+yz19zzTXWuHHjY7pNODoa0FK5cmV3jRGUJ0+eRH/ffffd7lpGQaty5crZ66+/7u4rOFexYsV0Pww6z9S27NOnj2trBum71b9/f7ftSdE1Q+fOnV1QoHfv3i4A8eKLL9rGjRvt0UcfjXo5ddirXX3PPffYm2++6f597bXXQs//+eef7prjk08+ieoz6rfCBz30mRQk0vXeK6+8Yp999pkbDFeyZEmLlq7BdFz++9//WkbQde7FF19sbdq0cfsOQGQIYABZkDp8H3vsMfcfd3IBjI8//tgKFy5szZo1O+bbl521aNHCypcvn+oy2ZUan2rgL1q0yGUGqEPXUyP/pZdecgEIBTKiGaXjG8fr16+3WPfjjz+6z3r++eeny/oOHz7sRnzdfPPNlj9//kTP6VzUxYc6BcIDa8r+0HPqnI+FrBUFrtTQPxY0Mqxnz572yy+/JLuMAhg5c+a09u3bW65cuY76N/v5559357wuagAAyI6Saie3a9fOdfapY1T/50Y7gCWWKLs2JRqhrhuOLZ1TOXLkCHX86+/wTv+U2oMaGHXFFVcku4wCFxpM9Pjjj9vVV1/tHlNmhG7Dhg1z1zVp2daUjB071gVRWrVqlehxZfzrGiqlQUoa8HTiiSe6IIMfWKN+A2XC63qiSpUqES+3Zs0a157W4LOmTZtahQoVXNBDbe0yZcq41yhrQ/vvpJNOsmjouiap/a792rVrV/c5de2YlmuxpLJW0ov2mbJflIWhYAuAyFBCCsiCChUqZOedd57NmTMnydHDekwZGuo0O54vApD1aKTLTz/95BqdweCF16VLF9cYfu+991yppaxoyJAh1q9fv3RbnzIs/v77b5eZFU5BEjXQdVGVVNq5LnwaNWpk2YkCJfptXLx4cYrlIDRqTRdhRxu8kLi4OGvbtq299dZbR1UiDQCArCZv3ryuXIyyMXz2I5Ce1J7zWRDKAL/gggts/PjxtmPHjhRfp3Py33//DXXoJ2fatGmug79169ahx0qUKBEqIbpv3740bWty1JZUm1Kd5MFghwaIKaDx9ddfJ5vN5AMO2tZgVrAGRWpQlM+SiHQ5Xy7KByb9v/5xbZNKr4ZnsByNc845x7Wrv/nmG7f+WKTSeCq/FavbB8QiAhhAFqXOSnVMJpX6+Omnn7rnguWjFOzo0KFDaOSP6nLOnj07TfVek5rDQRkhkydPdo2munXrukaFGogqF6SRznpPjcpQ560aPUFq1Ki2pupa1q9f3+68805bsWJFomVU+1KjPdTY1Ogtze+hfRBpKuobb7wR2jaN9NLI86REsi0ZXUdXWQpqlGo7td80P4QawPr8es5T7U+l3CvLRvtD+0UjfFJrJOu9dS6o41sj3rRP1DhVRk84dfLefvvtduaZZ7rlNKoofESP1qfyP0OHDnXbq9R4vS65Br5PoU+ORtKow10XtJ6Os0bl/ec//3GfVftQo4J8Z7BG9viMDZ3bwdqxa9eudenV6qjXvtRnVbmCcMuXL3eNa31WjbR64oknXGpyeK1aZTM88sgj7nzWtui80rEJjuTR9ui99P3UaDztF30/kjv+qpGrc01BnVNOOcXtQ6Vqa9tTo1RtlTTSaJ9wSlvWhYSOdTgdR10AhKfAJ1efN6nHdQ5qtJnfFxoRpZFGwfNUdD7r+6rvlfatshB8J4WfR0KUzq37CsD6eTz0mF6r/emPsX5XlLquAI3eV+eFjvvcuXNT3V9Kf9c2vP/+++4CNjnavmrVqrn7Os8iDTzod1Xfleuuu852794delznibY7qe8ZAADZme+E9W0ptZU02ENlV/V/qtorPls0mmsatb3UVlAbQh2K3377bZra3JGuL3zOi0jmk1BJHHU2+2ul0aNHJ/neGjWuke1qw6itqGUfeuih0Bx70a4vKZG+NtK2dTit64UXXnBtIr1O7d57773XdZYHRdK+TKmtHa5SpUquDJQoC0AlnlSyVHM6qL2/cuXKZNuM4tuDatcltT+0304++eQjBg7qOCnjw68nKbqm0DmheenCtzU5akuqjFN4Vr/a1Hqtrl+Sq9KgbfXbFlS6dGlXytU/H+lyPsPbB4P83BT+cWWgKMM6tQoF0fIDt4LfQQWcdC2s77DODZ0TunYNzkOn76cG0/3zzz9HzGOnayP1A+g3R9eDKgkXHoBQQEvXbE2aNHHvoWtpXbuG929oHpSyZcu6PggAkaGEFJBFqcFVpEgRF6zQf7Th5aPUMNN/vKL/tDXBr0Z0+NEPauCp8a9GRXqUstF/+Jp3Q+mkathpMmH9565sETXo1GDX82oIq2HlS8Vo8lxdnKjDVg1YNXp0IaHGhhpfwQacHlfjQA0ydW6rIXvXXXdZ1apVrXr16slumxomaiyrEayLHAVW1OEeLpptSY4uIpIqx1O0aFE3CjsSzz33nI0aNcrtI7236n0qI0ENsgIFCoQapKrfv2DBAveZ1JjUKBldcGl+BTX6U6LR5arLr0CTzh+tX3+rfJNvEGo/ad0FCxa0jh07uvdWp686n3XBFGwYKyCkydC039R49g39cOqo17mphm9ywhu4Old1EasGp2qqam4XXawodVp0AaWOaHUOv/32266xqQalH/2jC0ydk7qo1HdG3wdtp8pN6ULQN0avv/56d18XbiodpAan5qsI0jmh/aVGr/7VOeHn7tCx0LHzNMGd9pP2nTq/1cmeFAV79N4abaXMFI1y0v7UvlZmxTvvvJPsvtJFkRrh/nMkRd9v7UMFtnywQg38H374waU2KyMhLXQRp6CSLjq1/Wqka6SRyln99ddf9vDDD7vldEGrizNd3OoY6Puh767u6ziqhJWCUTqO+s3SOa/vtL/YU3BUEwPqOCpIo8wcnXu6UNK/Sk/X++m7qv2g3yKNekuOAgv6nZLwC2ZPx0sXszpPFWz77bff3OO6QNYxTS4FXueAzj/95uliJljSS8dX26pRcUllywAAkB2pba+2jDp/9f9/cNCLRr6rba7OWrUXormmUQerb8vqtRMnTrRbb73VlbrxWcCRtrkjXV+0NFhC7SGV5dGAIbVxVW4yfNCE2mrKUtak52qvK+Cj9qfavWqbqkxlNOs7mm2JtG2dFO1rlQrTfvWDYl599VW3bz/66CNX1inS9mU0bW2dQ54viaT2t+apUDtbbX5VN9B51KBBg0TlaUUDgfQ+utbQ59V26TrXl6HSPtHAt3D+ekfXGUnNn6bzT+1XXc/qvcO3NTka6KX9Ej6/ggJ9PqiR3EThPjPCl3cK0vWkbxtHupyu67RPNchQZYIViFGbV4/puk9ZEhkxeMdf+/sAg85HfR/VFtf5o98IBdr0PdVvhr7XOue0f/X91oA0DYzyAUWdA7rmUMBMn0PXShokpusGXbcoqKHvhM5vXYvoeOm7ona9rp8VfNU1QJDOCX1+ABFKAJBl9evXL6F27doJmzdvDj22du3ahBo1aiQMHjzY/X3gwIGEc845J+Hcc89N2LFjR2i5bdu2JTRt2tTd9u/f7x4777zzEtq3bx9aJvzv5B7X33rPRYsWhR575plnEqpXr57Qq1ev0GO7du1KOOWUUxLuvvtu97e254wzzki46667Eq1//fr1CfXr10+4/fbbQ49pXfXq1XPPefPmzXOPDxkyJNl9tGnTpoQ6deq4dR0+fDj0+LBhw9xr77vvvqi3JSlaj9aX3G3VqlUp7j//t45FUtuh7dPnuPXWW93fGzdudOt9+eWXEy3Xt2/fhJtvvjnFbdV76bXjx48PPbZnz56ECy64IKFJkyYJhw4dco9dddVVbp+vWbMmtNzevXsT2rRpk1C3bl23b4Pr0/FIzWmnnZZw9dVXJ0TjwgsvTLjmmmsSHT9/Xl966aWhx9599123HTNnzkx0XBo0aJCwbt260GNaj85B7U/tR7n//vvdd2np0qWJvkv6/MHj9+yzz7q///vf/ybaxkceecQ9PmPGjETn1+jRo4/4POHH/6GHHnL7ZcuWLYmW0zmgdYQ/HvTjjz+6ZT7++ONEj2sf6HHtk1mzZrn7X331Vej5adOmue+izit/7np+24PnbFKP62+tI/i9F/32aLmFCxe6vzt37pxwySWXJFpG++niiy9OmDNnTuix4Pcx+BluueWWRK/Vtuvxb775JtHjb731lnv8s88+S4hUcD8Fadv9b86LL76Y8Pnnnye88MIL7m99R/x5o32h5bQvVqxYkdC4ceOEyy67LNljps/SrFmziLcPAICswLc1/vjjD9d+1E1t7F9++SWhZ8+e7rmnnnoqUVupZs2ari3mRXtNE2yXif5vVptQ7dho2tyRrk/UvtOyyf0d3ua68847Xdvi33//DT2mtqjeP7ic2g9az759+xJtq9rUp59+etTrS0qkr420bZ2Uiy66KKFr165HtN8uv/zyhL///juq9mVKbe1obN26NWHMmDGhY9y6devQ9YDOSf/Y1KlTXRtU+0mPPfDAA6F1aHt79+59xLq///57t+wHH3yQaJvVfnzllVdSvY5NjtqSXbp0SXGZYBs1aNSoUe7xv/7664jXXHvttQktW7aMajnR98JfM+m6Wdceou9Q//79E9JCxyP43Qmn3wO9X6dOnRL1C+h8CtL1gh4fN25cst9L9aXoWqxdu3aJvmPah3q8bdu27u9ff/3VreuTTz5JdO5rG/r06XPENurc1PIrV65M0z4AshtKSAFZmEpEaeRJsKSPSu1oBIIvH6VRCBp9oJEuGknvacSARidodIVPAT0aGuUQTIn22QrBEi0ajayR0Rq9Iho5pNENGimiUdn+ptEsSknWaCN9Pk+jaoIj92vVquX+9etLisrQaESORlUFa4SGl/CJdluS8+yzz7oRKOG3lDIOglRvXyPjNQIkSKNEdPx8SRpltmh/amSIRrX4xzWi3qcgp0Sv9xkHoowWjTDRyCmdDxrp9uuvv7qJ0zTCx9MIfmWvaOSJtjP4ep/1kBJloUQ7aZpG8CuzJHj8NM+LzuFgiZ6kRvTpu6FR/cqo8MdU+7Jly5buvNBx1/dFI8eUoRMc+acRR8EybH4ElpYJT9nWSDUJpihLUqOxwik7QetVlo6nc9FnS6T0GZX1IimlZet7o3UHt037RZlGwd+EaCmjSqOfdG4HvzN+36gcm+j8UXkuZUH50WDKINPIyuRGyqW0D5WqrTIKSt32gqMDU9pfkdK5pRGO+u7q2GpEpzKPNLpT3xGNtgzS76ivNazXBI9lkDI3NGItIycOBAAgVinTQe0P3fT/uLIc1T5Ru1ylM8OvLYKjv6O9plEbRe0NT/83KwNSo8J17RBpmzvS9UVL7VSVv9E6TzjhhNDjamcG2ziiDPZ33303UYmi8O2MZn1p3ZZI29bJUZtQ12Ya0a5rDVFGs7KOdbyjaV9G09ZOiTIqlN2ibGBlE+g88+WDlVmj9p+yJJRJrDao2oKae0KZGz5DQ1KaeDv8OV3bKKNEGcbKvoiGrkfVlkxrSSZfAiu1icIjXU503ijTQNlQuqZRFouylXQuKFNK7V7tX2WIaN/pGB8tf13ut09lalVKTvvU0/v60k7KrkqOriuU1a5MnuB3TPtY14LKxFb7X5knej99H/V90fmuv1UV4JlnnjlivT5jO7lsGACJUUIKyMLUeFR6pspIKZVX1CmoFFVfwsf/h5lU+SM/IZnSWlUj8miEl2zxKbVKsQ5/3DeIfL3RlBpuarCqsZDUunwDI7zmZJBK/YhvFAcvOoLbHO22JEep3Udb41MXVEoN1gWdGtAqI+Trifp9p8+uC67+/fu7jlb9rcaiLh7UwA6f1yCc9kd4nVY/YZz2mX+fpM4b38mv8ybaEln+YiTa/aEGqVLL1RGuY+Unr9eFRnJ0MaUyQ7rQCp+3w9MFgEpu6aaas+HCJ+3T90mBjqQ+ly6g/fnmpVTKyFPDV9uqxrDS2fX5tG/9MUjp/NZ2S0qBCH3nlBavCz6tU+nPSndWWbejoe1UIEudEEnxqeW68Js3b54r5aabfptUDky/WeHfy6SEf+/9PlNQS2XTtB266XOltr8ipd9VbXc4HXudc7r4DtIFm85/7V+VN0juuOs4aRkdt0jODQAAshIN9ClZsqS7r/831XZSuzKpdmv4/5PRXtMktZxvd6i9prZbJG1uL5L1RUNtAQUfkmoL6fME5y9TW06DVlQqSmVg1e7xJX7Ssr60bkukbevkqFyoOrTVea9BV5pfQW1CDTTz+y/S9qV3NO0ptR01+E9lrNRJrQCLSmFp8JrvmA8GrTwF3nTNrfaggi0aVJbUHIT6HEm103Ucdf7rPbUNOg8jpfNT52ZaByH58qZ+24L0Gfx6I10uODhOZZY8BXo0t4wCYirPpICPSjfp+KoMssr0BgeORctfAwWvExRUU8kolaTTd9mfS5LSPDD+tyWpydqD172a10Lnh+b0VCkp7SOdpwpsaZ4W3//h+X2k7w2A1BHAALIwdeJpFING/Oo/cTUoNdoh2DGZ0n/W/rloGk2S1OhhNRiS28bk+I5GzdeQXKe/RsV4kc4hkdT7J9WoDHZ0RrstGUXHRCO+1dms0em6CFMjWaOLfN1+T6O+1KGqCwh1SGsUmTJFlJWhDtXwAEVQUsfc74NgkCkpfrngOsIbbMnR59GkzBqpltyFnhq5+iyqP6pGo46JatQqMKeGo7JCtB49ntJFkj9PNVFg+DwxwZExfgRPUvsr/II6tf0Svl8jOWc1Z43m9lBwTBdMGp2k+qs6lgpqpMSvP7VOe41a037X74O/SI127pvw773+1jmqurJJ8cE+XQxqZJ0u8tRBoBFLCj7od0u1lYO1hpMSfm4piKVsIV3waVSgLhqUjaVjk1TQIb3pQslPVOjpM+pCTXOYqDaz9nVK37G0/JYBAHC8i2agT/j//+lxTeOX84MOIm1zR7K+tEqqgzi8XacR3hrBriCKBrBpwJJGnGsuh/D52iJZX1q3JdK2dXI0Z4Myx9UW1H7Xv2o/qU2o+TzU7o+0femlZd9rIJSyKtTZrWsSBVI0j4E6oZO7pk0qaOKzX9RJrxH64fxj4fNIaFS/zjMNRNOxDZ87IZJr27QO2NEgHdHnDp9DUtvrgxCRLpcUDTBSu18TpIsGW+qc9YPAFDDSY0fTblemjPh5QDRAToOjtG2as06BMT2ngUd+oGdahP+2qBLBpZde6ubx0/W3skx0faM5NsIztIPX1gBSRwADyOLUANJksWoE+pJHCmp4foS6Ov3C+fTYYImg8AZh+MRt6uzVKIJIRk6nxm+bOgTDJ79To0f/6afUCR8J34jWqOjgRGcq0RMcDXEstiUSc+bMccdSF1Q9e/ZMtN/V8ew/j9JgFy5c6CYL1ugW3XSsNLJNjUJ1fqvhltJIEzXIggEm7SOfieFHs6TlvEmJSoqpc1cBFl92KUj7WROmawLnRx991I1oU/BCQQtduAX51PPk6DNoQmztu/BjqlE0avjqeS2nETT+8wdp9E6QzhP/+YPUuNc5FUy7j5RGI2mfqzRAcNLn8AvSlC6g/Cik5KghrzJfGkGn814XhkllNgQvBMO/++H7W/tC52H4vtXIMKVi+4weZZWILxkhc+fOdZ0DuvBOLYARTr9327dvdyPmglkzkeyvSOmiVhchCrQER4fpolqjucLLpen7p44EjShTSTAFZjSRYDgdJ10YJ1diCgAAJC3aa5rwrFjxbT21pyNtc0e6vmgVK1bMjdAOb2uGl5zRICxlsDZs2NC1L4Id7H7y7mjWdzTbEmnbOilqQ2nCZb2PBtH4gTQayKMMeF0baBBepO3LtFLJLwVf9BmaNWvmygYl1xZVZ7XaxWp7Bvlz0AfjNMhKHfJaZ/D4aH9oMJSu14J0vulzTpkyxUaOHOmu3SM9h3Ss9B6ptf2T40swaz/o+sBTx7+uZ3wbN9LlkqLzVVk1/vuoawgFL4OfIamATzS0v8Vf72oAn85VlVIOZu/8/PPPUf22hE+M7o+1Pov2uc5hfRaVrdNNQSydtwrM6ZonWFLbHyOyroHIMMQPyOI0IkL/USr9WY1wjeAOjkzRiBKNdFeHnDpYPd3Xf/R6TqO9k6IUb10QBEfjqAM0qWyGtFDDVI06dRT68i+ilGhdTGgkTCR1N1N7D3UKq9ZqcA4LjfI/1tsSCd/Q8SXAPHXqqzan/wxLlixxNYCVjuspwKIGdCQjPdSQVAewp8aXzhF1COt88ueFarSq3rCnTm2NktJ7BRuzkVIjU1kUuhAIL8MjGoWlhqEavTr/fBp/+P7QiBddNAaPaXg2ghr3ymbQslpn0NNPP+1G/agzX6/Tdql2q59TQvTeKlsVpFJMCq6Ep82ro1t0IZSWY65RTsHghTJLfH3YlOZL8A3u4DFKii4mdbz0/dXvRHBumnA+Mya4z/R7of0YpH2mZcIf14WYLsx0joruq2RA8HPoPNVIpuCoOd2PZDSZ9pc+jx8Z5s9LjaKT9JhfQgFaXQTpOxGkgIvOC2U/JUUjN/W9GTFiRKJzydNx0gXQsfgtAQAgK4n2mkYdr36Utm/7ql2rDAZ1oEba5o50fdFSW0DtMWUh+DaTqP2h6zpP12HaHrXRg53jGsikUjmibY10fUezLZG2rZOi9tlNN93kykcFaQCI+DZhpO3LtNK+atu2rbsO0jpTGkijAScaFKZST8E2p65jVDLJl5dSRoqupTRIy9PAQnWy67mksjq0zx966CF33anBL5HS69SWTCkLPSW6dtD3RAOngtf4ujbWupWFEs1y4RQY1E1ZyZ6+mz4Qpra+goHhWSnRmDlzprtG0znrBzMl9X3WYD0NhJPwa8bgNYfvB9A1bnAAl9rtGiClbBMFIZRtoQFYwXJsun7zGSrh19++zFvwmgVA8sjAALJJFoY6zNS4CG8UqpOwX79+bmSLGmsaKSzq+NbIB3UYJ5d6q/RIlelRjUe9h0blqFGf0rwD0dAoHpUJUg1Udfz5Scl1EaIgyX333XfU76FRPqpVqdH8anCosaWGry44giOEjsW2RELp69pmbYcadypbpY5+jU5Sw8pPQKbGvi6Yhg4d6hqwCjroXzXSVL8zubqxwfPi/vvvdxdjCnipcapG1qhRo0LL6LzRPtM5o5I9BQoUcPtNr9FzqlscLTV4VTe0Q4cObsSTGvX6HLow0wWS5rrQ3yqp5BuhavRpu3Qc1GBXGSRdIAT3h/iMAl3Y6qJSncxaj/afgj26aV0+2Kfj7EdE6YJIF0p6TBNJKkCjDnEfQPEdzhpVr8CCRtprn6jRrEa0HlNqdFJ1clOjC0EdX13EaDSTGvj+4jm1Sed0HqjhrAnXg5lXyZWR0jGXlAIYWk4p35pjReeg9oW2JxhgCe4LXaxqJJv2pTIrVC5Kn0k3P3pN54uO+YUXXuguJrSMjmdwInkdP12I671SmmxS69WFg95f61M5J6Vt+3lsUtpfkVKwR/tBAQtdECljRRevGimn91dGUFL0W6oSUjqPdDGqsgCePrfWofMEAABEJ9prGrWh1QZRe1Mdi+p4Vdvet4UibXNHur60UPtT7VKN5FY7SetV20Ntbt+RqvdVe09tEG2vykjpWsbPvyXaVi0XyfqOZlsk0rZ1OLUn1cZW0EBtR5UT0rWrSkfpmkzHNJr2ZVppX/qgSWp0bagBTroW1rYraKHtUCBLg9v8HAcawKQMGV1vagCLOud1Taa2X3KlsPyAHn1GnUuaUyO1trynAYsaTBWeTR8pHUOdy/pM+h4pc0DXvDqewezmSJcL0vdQA9GCAQq1fRXgUlazrnMU3NE1YGoUFNL+DgYrdR2ofaWMFe1vT+eFzledP9pWP7/J77//7r4n4deMuuZURpPa+DoffD+Aru90DanldU2pQId+d/xANn3/HnzwQXc9rAFPytDQ8dO1d3gwVHMAKmOIAAYQGQIYQDagQIPK0KixnVTHpDr51KhVkOPFF190o0D0H/WTTz7pOouTo85Fdd7pwkCBDKVUvvDCC+4/e1/z82ipgawGjkY8qDNeZW40wkqlkNSgSA/6HGpwapT8M8884xpc2hfhQYljsS2pUdaBtlONYjXw1dhXQ0md/mqwqTyUOue1nI6ljocuGNT41zFWA1EXIKmVu1LQ4oEHHnD7w9d+1edWPVZPF3ZquKkhqmOuBpzOAb2vOnfTSgEwXXSpAezr4OrCSIEXpeDqwsnXGdXn0P5Qo1efXQ11NRa17bpo1DmshqlGCKnhqACV9oeCCtoXWlYd4voM+lfnrRq8uthUY9zTcrrQ0P7QvBP6LmkydF28qRPa70+NxNK+fu6559wFrkoZaX3KMND5kxbq6FZwQJ3yaqQrSKP31ndZjWh9Fp9ZE07bpQsmjXRKjRrd+jw6hik1pNWo18gy/aZov2lUoS5EdHyCk9z7faFlNMJM97VeZSxp1JW/qFbdWR1PHT+dxzqPdLz0Htr24EWS3lO/NbolV45LF3ra7zqHFGjRd0FZPfou6Dntr7QeiyBti9apEV76fPrOaOJJ1SlO6WJRo7T0mbU/ghej6mxQQOxoL7wBAMiuormmUQe5BoaoHafrGS2n9pvP0oimzR3J+tJCbR21tVUmVVng2gZfrz84D5pKRalzVQOO1GZWW1ptLXUI33nnna7tow7hSNd3NNsSads6KT169HDtR30OtbnVLlU5Hl1r+ZKdkbYvjwXtZ3VO65zQtZCySFRaSfsjfNCSzkedS9pedZ6rPajXpVbySoOi9Dl1fHWORTJATG1JXZ+rbRk+P0UkdM2kc17nldrSypDQeRRe/jTS5TwNRFKnvfZDkAJbGmikigj6fGpjRzKBt7J5dI3lKdClc01BFd2C+0r7RNuo46TrRv1O6PpWx0NzjQQz/xWQUjBGx+fKK69032VdO6itr9frcb2XsnMUgPJloXS9pud1biozQ78P2ifqawgPVOl6R/tCc/UBiEyOhJRmuwIAZDu6uNBIs2D6a3anyfzUcR/eMa2OdF3MKcMh2snujxWNwNIoNY1WO9q6wMg4Corqgl3fu2Mxnw4AAACyHgWxVGpLWSvBwUWIHSo31alTJzc4LXxeDQBJYw4MAABSoawVjZQP1kNVCSdlc6jRGavBC9EkiMoqCtbdRWzReaWRWsouIngBAACAtFJbUmWc1LaMZP44HHsqb6uStAQvgMgRwAAAIBWa00CTcys1XRkXEyZMcBcGmrwt1kc2KWukd+/eR0xqidihC0yVPFMAAwAAADjajHq1LVXqFLFF86CoTLLKgwGIHAEMAABSoRq/qr+rmsb6V3MfqK6qAhmqRxvrNN+HaghrexFbVC9ZdZE1Sbuf7BEAAABIK7UpNbeD2phqayJ2aI4ezfuheVAARI45MAAAAAAAAAAAQMwhAwMAAAAAAAAAAMScnJm9AcejX375xRISEmJ60lYAAAAgvR04cMDNrXP66aezc9MB1xUAAADIjg5EcV1BACMNFLzQDQAAAMhOaAOn//5knwIAACC7SYiib50ARhr4zItTTz01LS8HAAAAjku//fZbZm9ClsJ1BQAAALKj36K4rmAODAAAAAAAAAAAEHMIYAAAAAAAkM0sXbrUWrVqZQULFrQKFSrYs88+G3puxYoV1qJFCytQoIDVrl3bpk+fnuK63nnnHatevbpbvmXLlvb333+HnnvxxRetZMmSVqNGDZs5c2bo8X379tnJJ59sa9asyaBPCAAAsgICGAAAAAAAZCOHDx+2Sy65xEqVKuUmkx81apQ98cQT9uabb7qa1K1bt7ayZcvanDlz7MYbb7Q2bdrYypUrk1zXDz/8YNddd5317t3bfv75Z8uTJ49de+217rkNGzbYPffcY5MnT7YOHTrY7bffHnrd2LFj3TaccMIJx+xzAwCA4w9zYAAAAAAAkI2sW7fO6tWrZyNHjrRChQq5TIjzzz/fvvvuOxe4WLZsmQtMKKOiVq1a9sUXX9i4cePskUceOWJdgwYNsvbt29utt97q/h42bJidd955tnHjRlu+fLkVK1bM/X3iiSfa448/7pbZv3+/Pffcc/b1118f888OAACOLwQwAAAAAADIRpT18Pbbb7v7yrhQsOKbb76xESNGuDJPZ5xxhgteeE2aNLEff/wxyXXNmDHDXnnlldDflStXtr/++isUqNi8ebPL3pg7d64rVSUKhlx00UVkXwAAgFQRwAAAAEBMOXTokB04cCCzNyPbyZUrl8XHx2f2ZgA4xipVquQCDJdeeqm1bdvWevXq5bIlgsqUKWOrV68+4rVbt261LVu22MGDB918Gr/++qs1bNjQBULKlSvn1tOzZ0+rUqWK5c2b1yZOnOh+35V98dVXXx3DTwkAAI5XBDAAAAAQEzQKeO3ata5DDJmjaNGirnxMjhw5OARANvHuu++6397bbrvN7rrrLtu9e7ebxyJIf2vS7XA7d+50//bo0cOeeuopN49G//79XTBEGRdxcXH2zDPPWN++fS1fvnwuiDFmzBgX7FDA9IILLrAlS5a4uTH69OlzzD4zAAA4fhDAAAAAQEzwwYvSpUtb/vz56UQ/xsEjdVquX7/e/c2kukD2ceaZZ7p/9+7dazfccIN16tTJdu3alWgZBS/0uxwuZ87/dSl07tzZTfYtb7zxhsvYUCmqs846yz2meTBE2RdDhw51c2o8/PDDdsopp7gJvuvWrevm4PjPf/6T4Z8XAAAcXwhgAAAAICbKRvngRYkSJTJ7c7IljY4WBTF0HCgnBWTtSbw1p0Xr1q1Dj9WuXdvNWaEA5sKFC48IMCcV2CxZsqQrP1ezZs3QY/oN123VqlVHLK+5MpR1odJS33//vcvOUOZX48aN3QTiBDAAAEC4uCMeAQAAAI4xP+dFUiN8cez4/c8cJEDWtmLFCrvyyivtn3/+CT2mkk+lSpVyE3b//PPPtmfPntBzCi40atQoyQwMBR0094W3ceNGd9PcGkGaJ2PIkCGunJSovNThw4dDzykTDAAAIBwBDAAAAMQM5l5g/wPIePXr13eBB5WLWrBggX388cd277332oMPPmjnnnuunXTSSdaxY0f7448/7Omnn7affvrJbrnlFvdaZWkoI0OZc9K7d28bNmyYKwWlzA29rl69etagQYNE7/nqq6+6MlF+gnBtg8pN/fLLLzZjxowkAyQAAAAEMAAAAAAAyEZUIu7999+3AgUKuPJNmsNCE3Hr5p9bs2aNC3K8/vrrNnXqVKtQoYJ77Q8//ODKSfkSUe3atXPzWigAouUV2NDrgwFpZVgMHjw4lH0hmgPjr7/+subNm9sdd9xBAAMAACQpRwJ5mlH77bff3L+nnnpq9C8GAADAETR5rEqaVK5c2fLmzcseitHjQDs4fbE/AQAAkB39FkX/OhkYAAAAyPI0wjc48hcAAAAAEPtyZvYGAAAAABnthRdesIIFC7KjAQAAAOA4QgADAAAAWV7t2rUzexMAAAAAAFHK1BJSs2bNsho1aiR5O//8890yq1evtltvvdXOOOMMa9KkiT333HNuUrCgN954wy1ft25du/76623BggWJno9kHQAAAMj6JaTULlRb85NPPnGT1Z5++unWoEED69evn+3evTu0vKaJmzBhgl100UWujXnBBRfY2LFj3ePe999/79qemrS2YcOG1rt3bzfprTdlyhRX03XOnDnWtm1bd79Vq1b25Zdf2vLly+3mm2+20047za172rRpibb333//tbvvvtttm5bRsuFtXAAAAADI6jI1gKELxu+++y7RTen9OXLksNtvv90OHDhgt9xyi1t24sSJ9sgjj9hbb71lL774YmgdU6dOtYEDB1rPnj3dRWL58uWtY8eOtnnzZvd8JOsAAABA9vLwww9buXLlbMSIEa6t+M4779jIkSNDz6t9qZsCH6NGjbJ27drZoEGDbMyYMe759957zzp16mQnnHCCDRkyxO6//3775Zdf7JprrrFNmzaF1nPw4EEX2Lj22mvd+vPly2f33HOPdevWzZo1a+bWXbp0abvvvvts7dq17jVqx2r5P/74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mnQ6T5489vnnn1uOHDlCjxcqVMj9u2XLFjepdPPmze3RRx+1efPmuX8LFChgbdu2zcQtBwAAAID0QQADAAAAyGCHDx+2GTNm2BtvvGGPP/64nXjiiam+5s8//7RKlSpZ6dKlk3x+0qRJbjLqxx57zHLmzOkmkv77779tzJgxBDAAAAAAZAkEMAAAAIAMsnnzZnvnnXds4sSJLmPisssus127drnSTsn54osvQhNMKyiRnDlz5liDBg1c8MJr1KiRm4R648aNVrJkyUTLb9iwwW688UY74YQTbOTIkZY3b950+pQAAAAAkDEIYAAAAADpbP78+S7b4uOPP3ZBiC5durjgRcGCBe3QoUP23XffJftazWXhMzCKFStmN9xwg61YscIqVqxot912W2hejLVr11r16tUTvdZna6xZsyZRAEOBFM2PUa5cORsxYoQrTQUAAAAAsY4ABgAAAJCO/vnnH7vqqqusSpUq9uqrr9rpp5+e6Pn4+HgrVapUius4ePCgLV++3KpVq2Z9+/Z1gY9p06ZZ165dbfz48da4cWPbu3ev5c6dO9HrfGBi3759oce2bt3qghcqW/Xiiy8e8RoAAAAAiFUEMAAAAIB0VKJECevUqZNNmTLF+vTpY1dffbWbk8JnVvz77792ySWXJPt6BSoUbJg1a5YLdvhST3Xq1LElS5bY2LFjXQBDj+/fvz/Ra33gIn/+/KHHhg4dagcOHHCvJ3gBAAAA4HhCAAMAAABIRwos3HfffdazZ0/78MMP7c0337Rhw4ZZy5Yt7brrrrN69erZe++9l+zrfRmoAgUKHPHcySefHCo/VbZsWVu/fn2i5/3fZcqUCT121llnuQDKnXfeaRdffLE1adIk3T4rAAAAAGSkuAxdOwAAAJCNAxkqJTV16lR75ZVX3GMq5bRu3To3n0VyN03KrUyLM844w2VhBP3++++urJTUr1/f5s6d6+bU8GbOnGmVK1d2WSBeq1atXPBEwYv+/fvbzp07j9k+AAAAAICjQQYGAAAAYl7x/IWO6/dUMEK3+++/381nkRpN/K05NB577DF79NFH3WTekyZNsnnz5tm7777rllFWxcsvv2wPPvigde7c2U0cPmHCBLd8UrScghgDBw506wUAAACAWEcAAwAAADEtLkecta5VP9PeOz2VLFkysveNi7NRo0bZ4MGDrVevXrZ9+3arXbu2m8C7evXqbhllWSiA8eSTT1qbNm3cxOCac0P3k3tvPa9AxkUXXeTm0QAAAACAWEYAAwAAADEtV3y8memWvSjgMGDAgBSXqVu3rr399tvJPr948eJEf7dr187dAAAAAOB4wBwYAAAAAAAAAAAg5hDAAAAAAAAAAAAAMYcABgAAAAAAAAAAiDkEMAAAAAAAAAAAQMwhgAEAAAAAAAAAAGIOAQwAAAAAAAAAABBzCGAAAAAAAAAAAICYQwADAAAAAAAAAADEHAIYAAAAAAAAAAAg5hDAAAAAQExLOHjADh/Ylyk3vXdGWLdundWoUeOI25QpU0LLLFy40Nq3b2/16tWz5s2b26uvvppoHeHLAwAAAEBWkzOzNwAAAABISULCYdv53Qd2aPvmY7qj4gsXt4JNLrccGbDuRYsWWZ48eezzzz+3HDn+7x0KFSrk/t2yZYt17NjRBS4effRRmzdvnvu3QIEC1rZt2wzYIgAAAACIPQQwAAAAEPMUvDi0db0dD/7991/r37+/3XDDDdasWTOLizsy6fnPP/+0SpUqWenSpZNcx6RJkyxXrlz22GOPWc6cOa1q1ar2999/25gxYwhgAAAAAMg2KCEFAAAApKOiRYtauXLlrHfv3taiRQsXdNi8OXH2yOLFi11QIjlz5syxBg0auOCF16hRI/vrr79s48aNRyy/YcMGu/DCC13Wxt69ezmeAAAAALIEAhgAAABAOsqfP7/LnPj222+tc+fONm3aNDv33HPtvvvus/nz54cyMBTUUJbGWWedZdddd5198803oXWsXbvWypYtm2i9PltjzZo1iR7Xejp06OCCJqNGjbK8efNyPAEAAABkCQQwAAAAgAxQsGBBu/766+399993E3AreHHVVVfZP//8Y8uXL7dt27bZnXfe6TI0NFF3165d7ccff3SvVRZF7ty5E61Pc2bIvn37Qo9t3brVBS9OPPFEGzlyZGgZAAAAAMgKmAMDAAAAyCDKjnj33XfdnBbbt2+3Tp06WYkSJWzWrFkWHx8fypaoU6eOLVmyxMaOHWuNGzd2j+/fvz/RunzgQhke3tChQ+3AgQPu9eEBDwAAAAA43hHAAAAAANKZ5rB466237LPPPrOTTz7ZZVdcdtllKZZ30nLfffedu6/yUevXJ5603P9dpkyZ0GMqP9W2bVuXyXHxxRdbkyZNOJYAAAAAsgxKSAEAAADpSCWiVNZJVDpq6tSprnSUD14o0+KMM85wWRhBv//+u1WrVs3dr1+/vs2dO9cOHToUen7mzJlWuXJll8HhtWrVylq2bOmCF/3797edO3dyLAEAAABkGWRgAAAAIObFFy5+3LynAgwzZsywkiVLJvl81apVrUqVKm6i70cffdSKFSvmSkzNmzfPlZsSZVW8/PLL9uCDD7qJwDV/xoQJE9zySdFyCmIMHDjQrRcAAAAAsgICGAAAAIhpOXLEWcEml2fae0dLmRYplYqKi4uzUaNG2eDBg61Xr15ubozatWvb+PHjrXr16qEgiAIYTz75pLVp08ZKlSplffr0cfeTomCJnlcg46KLLnLzaAAAAADA8Y4ABgAAAGJajpy5LIdlLQo4DBgwIMVl6tata2+//Xayzy9evDjR3+3atXM3AAAAAMgqmAMDAAAAAAAAAADEHAIYAAAAAAAAAAAg5hDAAAAAAAAAAAAAMYcABgAAAAAAAAAAiDkEMAAAABAzEhISMnsTsjX2PwAAAIBYQgADAAAAmS5Xrlzu3927d2f2pmRrfv/74wEAAAAAmSlnpr47AAAAYGbx8fFWtGhRW79+vdsf+fPntxw5crBvjmHmhYIX2v86DjoeAAAAAJDZYiKA8d5779mYMWNs1apVVqFCBbvjjjvsoosucs+tXr3aHn/8cZs9e7a7kG3Xrp3deeediS6q3njjDRs3bpxt2LDB6tSpY/369bPatWuHno9kHQAAAMhcZcuWdf/6IAaOPQUv/HEAAAAAAMvuAYz333/fHnzwQXvggQesadOmNm3aNLv77rvdhZOCEbfccotVqlTJJk6caCtXrnTLxsXFWY8ePdzrp06dagMHDnQBCgUtFAjp2LGjffLJJ1a8eHE7cOBAqusAAABA5lPGxQknnGClS5d2bTgcWyobxQAfAAAAALEkZ2anqj///PN200032Q033OAeu+2222zOnDn2008/2T///GP//vuvTZo0yYoUKWLVq1e3TZs2uYBFt27dLHfu3DZq1Chr3769XX755e71Tz31lLVo0cImT55st956q3322WeprgMAAACxQ53odKQDAAAAADJ1Eu8VK1a4IMVll12W6PGxY8e64IMCGaeccooLPHiNGjWynTt32sKFC10g4q+//rLGjRuHns+ZM6edeeaZrlyUpLYOAAAAAAAAAAAQe3JmdgBDNGGgyjwtWLDAypcv77IwmjdvbmvXrj2iBq9KCsiaNWtcsEJUaiB8mUWLFrn7qa3jtNNOO6qJDmOh1EJcrpyWkPC/bQJS40+TPXv2cM4AAICoqL3J5OoAAAAAskUAQ1kQct9997mJu++55x5X8un222+38ePH2969e61w4cKJXpMnTx737759+1wHrISXgdIyel5SW0daqS5zLGRw5M2b1ypXq2qHDh20gwcPZvbm4Digc+XQoUO2Yvly9/0AAACIBiVYAQAAAGSLAIYmChRlX7Rp08bdr1WrlsvEUABDnfP79+9P9BofdMifP797XpJaJl++fO5+aus4mm2vVq2axUQGhqsTnTOUkQKkROeK6opXqVKFDAwAABCVpUuXsscAAAAAHDOZ2uNdpkwZ968m1g5SYGDGjBnWoEED+/PPPxM9t379+tBrfekoPVa1atVEy/h1q3xUSus4msDB0QRA0tO+gwcsR47/bROQGn+a+CAfAABApGhvAgAAAMg2k3hrcu0CBQrYr7/+muhxBRwqVKhg9evXd9kYvtSUzJw5072mZs2aVqJECatcubLNmjUr9LzKKGnibr1WUlsHAAAAAAAAAACIPZkawFB5p86dO9uLL75oH330ka1cudJGjhxp33//vXXs2NFatGhhpUqVsl69erlJuT///HMbMmSIderUKVR7V/dVbmrq1Kkupf2BBx5wdf3btWvnno9kHQAAAAAAAAAAILZk+qQJmrBbpWyGDh1q69atc6Wghg8fbg0bNnTPv/zyy/boo4/a1VdfbUWKFLHrr7/evcbT4zt27LDnnnvOtm7danXq1HEBjeLFi4cm7E5tHQAAAAAAAAAAILZkegBDlG2hW1IqVqxo48aNS/H1mgRct+REsg4AAAAAAAAAABA7MrWEFAAAAAAAAAAAQFIIYAAAAAAAAAAAgJhDAAMAAAAAAAAAAMQcAhgAAAAAAAAAACDmEMAAAAAAkCUdPnzYhg0bZk2bNrV69epZly5dbNWqVckuv2TJEuvatas1bNjQGjdubD169LB///039PyhQ4esbt26VqNGjUS34cOHH6NPBAAAAGQvBDAAAAAAZEkjRoywN9980x5//HGbOHGiC2h07tzZ9u/ff8SyW7ZssY4dO1revHnttddes5deesk2b97slt+3b59b5q+//nL333//ffvuu+9Ct06dOmXCpwMAAACyPgIYAAAAALIcBSnGjRvnsiiaNWtmNWvWtKFDh9ratWtt+vTpRyz/+eef2+7du23gwIFWvXp1q1Onjj377LO2bNky+/nnn90yixcvtoIFC7p1lSpVKnQrUKBAJnxCAAAAIOsjgAEAAAAgy1m0aJHt2rXLlYLyChcubLVr17bZs2cfsbyWU8aGMjC8uLj/XS5t3749FMCoWrXqMdl+AAAAAGY52QkAAAAAshplWsgJJ5yQ6PHSpUuHngsqX768uwWNGTPGBTTq16/v/v7zzz/t4MGDdsstt7gASZkyZezmm2+2K664Is3bmZCQ4DI/YsGePXsyexMAZBP6vYmV3z4AwLGnNnCOHDkiWpYABgAAAIAsx3fG586dO9HjefLksW3btqX6es2D8frrr1u/fv2sePHioUm+NY+GylKVLVvWvv76a7v//vvtwIED1q5duzRtp167cOFCiwWa4wMAjtXvTTDjDQCQ/eQOa6cnhwAGAAAAgCzHd4xpLoxgJ5km4c6XL1+Ko8Gef/55GzlypN1222124403hp776KOP7NChQ6E5LzQXxr///mtjx45NcwAjV65cVq1aNYsFe/fuzexNAJBNVKpUyWrVqpXZmwEAyCRLly6NeFkCGAAAAACyHF86av369VahQoXQ4/q7Ro0ayWZDKKNCgQr926FDh0TPJzVaWBN+f/DBB2neTqXO58+f32JBSoEdAEjv35tY+e0DABx7kZaPEibxBgAAAJDlKDuiYMGCNmvWrNBjmox7wYIFoTktwvXp08c+/fRTGzx48BHBC722QYMGNmXKlESP//bbb3byySdn0KcAAAAAsjcyMAAAAABkyZq67du3t0GDBrk5LMqVK2fPPvusm7uiZcuWrhTU5s2brVChQi6zQoGJjz/+2AUxFKjYsGFDaF1apnDhwtaoUSMbOnSolShRwipWrGjTp0932RejR4/O1M8KAAAAZFUEMAAAAABkSZps++DBg24ibs3voMwLzVeheSdWr15t559/vg0YMMCuvPJKVzZKBg4c6G5BfpmnnnrKhg8fbg8//LBt2rTJqlatasOGDbOmTZtm0icEAAAAsjYCGAAAAACypPj4eLv33nvdLVz58uVt8eLFob/HjRuX6vpUkkpzY+gGAAAAIOMxBwYAAAAAAAAAAIg5BDAAAAAAAAAAAEDM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AAAAAESjQIECdvPNN7PTAAAAAKQ9A+PMM8+01157zfbs2eMCGPny5bPPP//cPffLL7+4QAYAAAAAZDaVtx02bJg1bdrU6tWrZ126dLFVq1Ylu/ySJUtcFohKWjVu3Nh69Ohh//77b6Jl3njjDTv//POtbt26dv3119uCBQuOwScBAAAAsqeoAxiapHvevHmuYZ8zZ07XaO/fv79deeWV9vzzz1urVq0yZksBAAAAIAojRoywN9980x5//HGbOHGiC2horg2fUR60ZcsWN9df3rx53YCtl156yZXP1fJ+Xo6pU6fawIEDrWfPnjZlyhQrX768e42WAwAAABADAYwaNWrYJ598Yt26dXN/9+7d27p3724lS5a02267zfr06ZMBmwkAAAAAkVOQYty4cS6LolmzZlazZk0bOnSorV271qZPn37E8soq3717twtQaK6/OnXq2LPPPmvLli2zn3/+2S0zatQoa9++vV1++eVWrVo1e+qpp1xG+uTJkzk0AAAAQCzMgSGlSpVyN8mRI0comAEAAAAAsWDRokW2a9cuVwrKK1y4sNWuXdtmz55tl156aaLltZwyNpSB4cXF/W+81/bt223Tpk32119/JVqfMtJVYlfru/XWW4/J5wIAAACyk4gCGO+9915UK23dunVatwcAAAAAjpoyLeSEE05I9Hjp0qVDzwWpHJRuQWPGjHEBjfr169uaNWuSXZ+CJWmVkJDgMj9igeY5BIBj9XsTK799AIBjT21gJUakWwCjb9++if72K9cbhT8mBDAAAAAApCd1dM2ZM8fOOeecqDrjc+fOnejxPHny2LZt21J9vebBeP31161fv35WvHhxW758ebLr83NkpMWBAwds4cKFFguUYQIAx+r3JpjxBgDIfnKHtauPKoDxxRdfhO6rcX3vvffa7bffbhdddJEbcaQJ77788ksbPny4DRgwIO1bDQAAACDb+ueff+yRRx6xn376KcmJtiXSzn7fMab1BDvJFGzQvBXJ0SCt559/3kaOHOnm+LvxxhuPWF9QautLTa5cudx8GrFg7969mb0JALKJSpUqWa1atTJ7MwAAmWTp0qURLxtRAKNcuXKh+3feeacLXnTp0iX0WJkyZey6665zjXlNdHfuuedGu80AAAAAsjkNhtKE2VdddZX7V4GBevXq2ffff29//vmnGzAVKV/qaf369VahQoXQ4/q7Ro0ayWZD3H///fbRRx+5fzt06JDk+qpWrZpofboeSitlsufPn99iwdEEYgAg2t+bWPntAwAce5GWj5L/zUoXhWXLlrmJ75JSpUoVW716dbSrBAAAAAA3GfZdd93lyjZdeeWVrjyTsr/fffddNw9FMDM8NTVr1rSCBQvarFmzQo9pMu4FCxa4dSWlT58+9umnn9rgwYMTBS+kRIkSVrly5UTrO3jwoCtrldz6AAAAAByduLSk+X344YdJPvf2229b9erVj3KTAAAAAGRHu3btCmVHaHCUgg0SHx9v119/vc2cOTOqmrrt27e3QYMGucCHJtpWcKRs2bLWsmVLO3TokG3YsCFUNmnKlCn28ccfu2UaNGjgnvM3v0ynTp1s/PjxNnXqVJf2/sADD7jn2rVrlyH7AwAAAMjuIiohFdS9e3fr2bOnm3DpvPPOs2LFitnGjRtt+vTprhH/0ksvZcyWAgAAAMjSNL+eri2kYsWKbrJtBRBKlSplRYsWtU2bNkW1vh49ergsCWV0KNCgTImxY8e6eSeUOX7++ee7slXK9lDZKBk4cKC7Bfllrr76atuxY4c999xztnXrVqtTp44LaGiSbwAAAAAxEMDQaKUXX3zR3dRw1yR3cXFxdvrpp9uECRPszDPPzIDNBAAAAJDVaS49XWMoS0LXF/p33LhxbhCVykhFO9eEMjdUgkq3cOXLl7fFixeH/tb7ROKWW25xNwAAAAAxGMCQ5s2bu9u+ffvcqCiNhlKKNgAAAACklTImfv/9d3v++efd4CiVc+rbt6+7Lw899BA7FwAAAMhGIgpg/Pvvvy5tW6nWuh/Op3l7J554YvptIQAAMezAoUN2OOFwZm8GjiNxOeIsV3x8Zm8GEJNUnnby5Mm2fv169/fll1/uri3mzZtndevWdXNTAAAAAMg+IgpgqDasJujWRYMyL3LkyJHi8gsXLkyv7QMAIKYpePHewtm2efeOzN4UHAeK5y9krWvVV2GbzN4UIObnwvBUopYytQAAAED2FFEA46mnnrKTTjopdD+1AAYAANmJghfrd23P7M0AAAAAAADIfgGMNm3ahO43atQoVE4qnObE+OOPP9J3CwEAAAAAAAAAQLYTF+0LVE4quRJR8+fPt44dO6bHdgEAAAAAAAAAgGwsogyMZ555xrZu3eruJyQk2IgRI9wEe+EU2ChUqFD6byUAAAAAAAAAAMhWIgpgVKlSxUaOHOnua/6L33//3XLnzp1omfj4eBe8uP/++zNmSwEAAABkWfv377e5c+fa8uXLbdeuXe66Q9cXVatWtbp161qePHkyexMBAAAAxGIA46qrrnI3ad68ucvAqFmzZkZvGwAAAIBs4KWXXrLRo0fbzp07k3y+cOHC1q1bN+vUqdMx3zYAAAAAMR7ACPryyy8zZksAAAAAZDvjxo2zIUOG2C233GKtWrWyihUrWoECBdxzCmj8/fff9tlnn9mgQYMsLi7OOnTokNmbDAAAACBWAxiaA2Py5Mn21Vdf2Z49e+zw4cOJnleq9yuvvJKe2wgAAAAgi3rjjTdcdkXPnj2PeK5IkSKufJRuuXLlcssSwAAAAACyj7hoXzB48GB76KGHbMmSJXbw4EEX0AjewgMaAAAAAJCcTZs22X/+859Ud9AZZ5xh69atY0cCAAAA2UjUGRjvvfeedezY0e67776M2SIAAAAA2Ua1atXso48+siZNmqS43LvvvmuVK1c+ZtsFAAAA4DgMYKgObbNmzTJmawAAAABkK7169XIlpFasWGEtWrRwQQo/B8auXbts5cqVNn36dJs/f74NGzYsszcXAAAAQCwHMJTe/fPPP1vDhg0zZosAAAAAZBvKvHj99ddt+PDhLkBx4MCBRM/Hx8fbmWee6Sb7btSoUaZtJwAAAIDjIIDRuXNnu/fee938F6eddprly5fviGXq16+fXtsHAAAAIIurV6+ejR071vbv32+rVq1yWd+aW69QoUJWoUIFy507d2ZvIgAAAIDjIYCh+S/kxRdfdP/myJEj9Jwm8dbfCxcuTM9tBAAAAJANKFBRtWrVzN4MAAAAAMdrAOPVV1/NmC0BAAAAgGSsW7fOJk+ebHfccQf7CAAAAMgmog5gNGjQIGO2BAAAAACSsXbtWnvhhRcIYAAAAADZSNQBDJk/f77NmjXL1ahV2SjRv7t377a5c+fapEmT0ns7AQAAAGRjtWrVsi+++CKzNwMAAABALAcw3njjDXviiSdCgYuguLg4a9KkSXptGwAAAACE5scoV64cewMAAADIRqIOYLz++ut2zjnn2MCBA2306NG2c+dOe+CBB+zrr7+2vn372uWXX54xWwoAAAAgS5eI+vbbb23FihXuGkODowoVKuQm9W7UqJGVLVs2szcRAAAAQKwHMFavXu0CFUWKFLE6derYiy++aHnz5rVWrVrZ8uXL3STfl156acZsLQAAAIAs5cCBA/bkk0+6CboPHTpkBQsWtAIFCrjnFMjYtWuX5cyZ06655ho3cCo+Pj6zNxkAAABArAYwcuXK5QIWUrFiRfv777/dRYce/89//mPjx4/PiO0EAAAAkAVpYu4pU6ZYv3793KCo4sWLJ3p+8+bN9umnn9rTTz/tght33XVXpm0rAAAAgGMrLi2T53311VfufuXKle3w4cP266+/htK+j4bSxU8//XR3AeMtXLjQ2rdvb/Xq1bPmzZu7DI8gvf+wYcOsadOmbpkuXbrYqlWrEi2T2joAAAAAZA61/e+++2677rrrjgheiB67/vrrXeDi/fffz5RtBAAAAHCcBDA6duxoEyZMcOnb+fPnt/PPP9/69OnjRkQ988wzLgsjLZTFcc8999ju3btDj23ZssW9X4UKFezdd9+17t2726BBg9x9b8SIEfbmm2/a448/bhMnTnQBjc6dO9v+/fsjXgcAAACAzKEyUVWqVEl1OQ2eUtseAAAAQPYRdQCjRYsWNmrUKDeZnjz22GNWqVIlFzzQhcdDDz2Upg0ZPny4SwkPmjRpkitNpffQ+7Vt29Y6dOhgY8aMcc8rSDFu3Djr0aOHNWvWzGrWrGlDhw51mSDTp0+PaB0AAAAAMo/m1XvjjTfs4MGDKQ52UqlaZYMDAAAAyD6ingNDFCzQTYoVK+aCCEdj9uzZ9vbbb9t7770XWq/MmTPHGjRo4Cbt8xo1amSjR4+2jRs32r///usm9WvcuHHo+cKFC1vt2rXdOjWZeGrrKFmyZJq2OSEhIVG2SGbJkSOHxeXKaQkJ/9smIDX+NNmzZw/nDMBvMI4xfoNxvFN7U+3P9KRs7k6dOtkFF1xg5557rhsc5Qc2qa2/cuVKV8J206ZNR33dAQAAACALBzAWL15shw4dcgGCoAEDBtjll19up5xyStQbsH37dnfRokn7TjjhhETPKZOievXqiR4rXbq0+3fNmjWhOTfCX6dl/HOprSOtAQyNAtPcGplNE6pXrlbVDh06mOKoNcDTuaLv8Yrly23v3r3sGIDfYBxD/AYjK8idO3e6ru/UU09182C89NJL9s0337jM7qAyZcrY2Wef7crERlJqCgAAAEA2DGCMHDnSTZZ9ww03JApgrFu3zqV8a2JszWFxyy23RLUBjzzyiJu4+7LLLjviOXWuhl8g5cmTx/27b98+N4Jcklpm27ZtEa0jrVSWqlq1ahYTGRjx8RYfnzNRlgmQHJ0r8fHxrgOArB2A32AcW/wG43i3dOnSDFnvSSed5Eq++jb6jh073Nx2ysTQvHsAAAAAsqeIeryVsv3888/b1Vdfbd26dTtiRNS3337rJsbWTXVpzzrrrIjeXCWjVOLpww8/TDa7wE/G7fmggy5k9LxoGX/fL5MvX76I1nE0gYNYuZjad/CAKZM/vdP5kTX508R/RwAcHX6DwW8wspOMaG/++OOPiUrCarCRH3CUkh9++CHi6w4AAAAAWTiA8corr9hFF10UGhUVTvNgPPnkky4bY+zYsRFfSLz77ruulm1w3gt5+OGH7eOPP7ayZcva+vXrEz3n/1bgxJdM0mMVKlRItEyNGjXc/dTWAQAAACDzPPvss3biiSda9+7dI5qkWwOgVG5KbfqpU6cek20EAAAAEMMBjD///NOeeOKJVJdr27atC2REShkb4TX4W7ZsaT169HBzarz//vuuBq7q9avkjcycOdMqV65sJUqUsEKFCrm08lmzZoUCGJpTY8GCBda+fXv3d/369VNcBwAAAIDMM2nSJFeu9pprrrFy5cq564G6deta+fLlXcaz2veau27u3Lku83vVqlXWoUMHe+GFFzhsAAAAQBYXUQBDQYZIys0UL17cdu3aFfGbJ5cBocCCnlNA5OWXX7YHH3zQTdo3f/58mzBhgj366KNuOc1toUCFAiF6b13waASXsi504SOprQMAAABA5tE8bnfeeacLYIwfP95N6D169OhE5ao0b5eyNFq1auWCF2RSAwAAANlDRAEMjX5avHhxotq0SVm0aFG6XkwokKHgg7I62rRpY6VKlbI+ffq4+56yNVRKql+/fi7QoowLlbHSJNuRrgMAAABA5ipdurTdd9997rZs2TJbvXq1m8xb5WoVvFAGNQAAAIDsJaIAhrIZXn31VbviiivcBURStm7d6pZp3rz5UW2QAiVBSh9/++23k11eZaHuvfded0tOausAAAAAEDuqVq3qbgAAAACyt7hIFrr55pvdv9ddd5199tlntmfPntBzuj99+nT3nDIgOnXqlHFbCwAAAAAAAAAAsoWIMjA0WfZLL71kvXr1sp49e7o6tUWLFrXDhw/btm3b3ATZ1atXd6WbTjjhhIzfagAAAAAAAAAAkKVFFMAQpXBPnTrVZsyYYd9++62tXbvWlW9SPdqmTZtakyZN3N8AAAAAAAAAAADHLIDhFs6Z01q0aOFuAAAAAAAAAAAAmToHxvPPP2/79u2LasW7d++2oUOHpnW7AAAAAGRT27dvt2+++camTZtmP/zwg+3cuTOzNwkAAABArGZg6AKiVatW1qFDB7v44outdOnSyS67YcMGmzx5sr311ltkagAAAACIypgxY2zEiBFuAFVCQoJ7LHfu3Hbrrbda9+7d2ZsAAABANhJRAKN///4uGPH000/bwIED7bTTTrO6deta+fLlLV++fLZjxw5bs2aNzZ071xYvXuzmy3jqqafc3BgAAAAAEIl3333XhgwZYu3atbPLL7/cSpYs6QZIvf/++/bCCy+4+ffatGnDzgQAAACyiYjnwGjcuLG7cNAk3h9++KF99NFHtmnTptDzurjQRN533HGHnXfeeRm1vQAAAACyqAkTJth1111nDz/8cOixKlWqWMOGDS1v3rz26quvEsAAAAAAspGoJvGWZs2auZvs2bPHZV8ULVrUpXUDAAAAQFr9/fff1rdv3ySfO//8812GBgAAAIDsI+oARpDKR+kGAAAAAEerTJky9u+//yb53OrVq61gwYLsZAAAACAbicvsDQAAAAAAad68uT3//PM2f/78RDvk119/teHDh7vnAQAAAGQfR5WBAQAAAADp5c4777QffvjBrrnmGitXrpybZ2/jxo32zz//WNWqVa13797sbAAAACAbIYABAAAAICaoRNQ777zj5rqYPXu2bdu2zU499VTr1KmTXXnllW4ibwAAAADZBwEMAAAAADHhvffes3PPPdeuv/56dwvasGGDvfbaa9alS5dM2z4AAAAAx8kcGJs2bbI1a9a4SfZ006R6S5Yssbfeeit9txAAAABAtnD//ffbqlWrknxu4cKFNmzYsGO+TQAAAACOowyMRYsW2T333GPLli1L8vkcOXLYddddlx7bBgAAACCL69q1a+jaIiEhwbp37265c+dOcgBVhQoVMmELAQAAABw3AYyBAwe6WrT33XefffXVV+7i4rzzzrNvvvnG3V599dWM2VIAAAAAWU63bt1s8uTJ7v7UqVOtdu3aVrx48UTLxMXFWeHChd08GAAAAACyj6gDGL/++qtL7W7Xrp3ly5fPPvzww1CN2h49eri6tGeeeWbGbC0AAACALOWMM85wN+/222+3k046KVO3CQAAAMBxOgfG/v37rVKlSu6+/lVJKU8joubNm5e+WwgAAAAgWxgwYADBCwAAAABpz8A48cQT3cR6yrJQAGPnzp1uAu/y5cu7clIqLwUAAAAAkahVq5a9/fbbVrduXatZs6abUy85em7BggXsWAAAACCbiDqA0bJlSxs8eLDlz5/fWrVqZVWqVLHnnnvOunTpYuPGjWPEFAAAAICIadLuMmXKhO6nFMAAAAAAkL1EHcC444477O+//7Z33nnHBTA0H4YemzZtmsXHx9uQIUMyZksBAAAAZDm6lvDuvPPOFJc9ePBgVOs+fPiwvfDCC26S8B07dlj9+vXtoYceSnXQlV7XtWtXO+20047YJg3o0vVQUJs2bezpp5+OatsAAAAAZEAAI0+ePDZs2DA7cOCA+7tp06ZuIu8//vjDTjnlFKtQoUK0qwQAAAAA69evn7vlzZv3iL2huffuu+8+e//99yPeUyNGjLA333zTBRfKli1rzz77rHXu3Nldv6j8bXJz/inI8e2337oARtDu3btdOd3Ro0e7ax8vqe0FAAAAkAmTeHu5cuUK3VfQ4qKLLiJ4AQAAACDNFFi44oorbP78+aHHDh065LIo2rVr57IoIqVAhErc9ujRw5o1a+bm1xg6dKitXbvWpk+fnuRrfv75Z7vyyittzpw5Vrhw4SOeX7p0qcvOOP30061UqVKhW6FChdL4iQEAAAAcdQbG+eefby+++KJr9Ddv3jzVifU+//zzSFYLAAAAACFTpkyxPn362PXXX2+33XabnXfeefbggw/an3/+ae3bt7devXpFvLeUsbFr1y5r3Lhx6DEFJWrXrm2zZ8+2Sy+99IjXfP311y7DXHNxXH755Uc8v3jxYitZsqQVKVKEowYAAADESgCjQYMGVqBAgdB9JtYDAAAAkN6qVq1qkyZNspdeesmGDx/uMi+qVKni5rBQ4CEayrSQE044IdHjpUuXDj0X7q677kpxnQpg5M+f32V1KFujWLFi1rZtW7vpppssLi5tye0JCQmuNFUs2LNnT2ZvAoBsQr83sfLbBwA49tQGjjTGEFEAY8CAAaH7SU1Op8n0cuaMejoNAAAAAEhk5cqVNnPmTFc6SsGG1atXu/koatSoYfHx8VF3xofPdaE5/bZt25amvb5kyRLbvn27tWrVymVpzJ07182rofX17NkzTevU3IILFy60WPDXX39l9iYAyCb0e8P8QQCQveVOZk66cGmKOowZM8bVhdW/ooZ77969rVu3bi61GwAAAACipYwLXWMULVrUTZR91llnuUyMYcOG2ccff2yPP/641a1bN6J1+Y4xzYUR7CTbt2+f5cuXL00HR5kher2f80JBlZ07d9rIkSPtzjvvTFMWhuYWrFatmsWCvXv3ZvYmAMgmKlWqZLVq1crszQAAZBLNLRepqAMYmgjvueeeSxSo0CTeF154ocvO0Iimq666KtrVAgAAAMjmFMDQ3BP9+vULTaJ99913W4sWLaxv37523XXX2R9//BHRunzpqPXr17vrFU9/K/CQ1lFi4SPFqlev7sqgKAtDJaWipdR5laWKBWkN7ABAWn5vYuW3DwBw7EUzRUXUQ4QmTpzoJs974IEHEl0c6CLjjjvusAkTJkS7SgAAAACwESNG2MCBA0PBC09ZF++995516NAh4r1Us2ZNK1iwoM2aNSv0mMo/LViwwOrXr5+mOr0KpCjIEvTbb79ZqVKl0hS8AAAAAJDOGRjr1q2zU089NcnnTjvtNJc+DQAAAADRat68eYqllm677baI16VMCWWNDxo0yIoXL27lypVz81WULVvWWrZs6ebY2Lx5sysHFUkddo0Su+CCC2zs2LFuYvE6derYjz/+aC+//LI9+OCDEW8XAAAAAMu4DAw1/NVQT8rs2bPdBQEAAAAAROLaa6+1ZcuWJXps+vTptmPHjkSPzZ8/P+rMiR49eli7du1ctrjKT2kScAUgFAxZs2aNNWnSxM2tESnN+9e5c2cbMmSIXXzxxTZ+/HgXvLj66quj2i4AAAAAGZSBoca5Ri4dOHDApVCXKFHCjVz66quvXANejXoAAAAAiMS8efNs165dob+VGdGzZ09755137JRTTjmqnaiAxb333utu4cqXL2+LFy9O9rVffvnlEY/lzJnTunfv7m4AAAAAYjCAobqzKiP12muvJZrvQhcHN998s3Xs2DG9txEAAABAFqFgRWoTV2u+CQAAAACIOoAh9913n91+++32yy+/2LZt29wke5pYj4nrAAAAAKREg6F69eplo0aNshNPPJGdBQAAACB9Axiiye7OOeectL4cAAAAQDZUtGhRl2HRtm3bZOfWAwAAAIA0BTD27t1rI0eOdHNe7Nmzxw4fPpzoeaWDf/755+xdAAAAAEcoXry4ffjhh/bZZ5+xdwAAAACkbwDjySefdBPqNWjQwGrVqmVxcXHRrgIAAABANteqVasUn9fAKAAAAADZW9QBjOnTp9tdd91lXbt2zZgtAgAAAJCtPPLII1awYMFEE3j379/fChQoEFpm586dmbZ9AAAAAI6TAMaBAwfchN0AAAAAcLTq16+fKHCR3GMKZpx55pnscAAAACAbiTqA0aRJE/vmm2+sUaNGGbNFAAAAALKN1157LbM3AQAAAEBWCWBcfPHF9vDDD9vmzZvttNNOs3z58h2xTOvWrdNr+wAAAAAAAAAAQDYUdQCjV69e7t/33nvP3ZKabI8ABgAAAAAAAAAAOKYBjC+++OKo3hAAAAAAAAAAACDdAxjlypVL9Pe+ffssd+7cLvMCAAAAAAAAAAAgUwIYsnz5chs2bJj98MMPtnPnTps8ebK98847VqVKFbvxxhvTZcMAAAAAAAAAAED2FRftCxYuXGjt2rWzP/74wy677DJLSEhwj8fHx9tTTz1lU6dOzYjtBAAAAJBNLFu2zF599VUbNGiQrVu3zubMmeMGTgEAAADIXqLOwHjmmWesTp06Nm7cOPf3G2+84f7t16+fKyelC402bdqk/5YCAAAAyNIOHz5sDz30kL377rtuoJTK1F500UU2YsQIW7lypb3++utWtmzZzN5MAAAAALGagTFv3jzr0KGD5cyZ84h5Ly6++GL766+/olrfpk2b7N5777VGjRrZ6aefbl27dnUjroIZH+3bt7d69epZ8+bNXYAk/CJH5ayaNm3qlunSpYutWrUq0TKprQMAAABA5lOg4sMPP7QnnnjCvv/++1C2t64X1O4fOnRoZm8iAAAAgFgOYOTJk8f27t2b5HNbt251E3pHo3v37vb333/bmDFj3DwaefPmdQGSPXv22JYtW6xjx45WoUIFNwpLyyqNXPeDFzlvvvmmPf744zZx4kR3YdO5c2fbv3+/ez6SdQAAAADIfGqj9+jRw9q2bWtFixYNPV6rVi33uIIaAAAAALKPqEtInX322S7j4YwzzrBSpUq5x5SJsWvXLldW6qyzzop4Xdu2bbNy5crZrbfeatWrV3eP3X777XbFFVfYkiVL7Mcff7RcuXLZY4895jI+qlatGgp26KJGQQq95z333GPNmjVzr9eoLGVjTJ8+3S699FKbNGlSiusAAAAAEBs2btzoghVJKVOmjG3fvv2YbxMAAACA4ygDQ+nbu3fvtgsvvNBuuOEGF7x4+umn3d9r1qyxu+++O+J1FSlSxAYPHhwKXmzevNkmTJjg6tpWq1bNTdbXoEEDF3jwVGpKZap0cbNo0SIXOGncuHHo+cKFC1vt2rVt9uzZ7u/U1gEAAAAgNlSsWNG+/vrrJJ/76aef3PMAAAAAso+oMzBOOOEEe//9912gYebMma40kwIaynZQqabSpUunaUP69+/vsiVUgmrkyJGWP39+W7t2bSi44fn1K1ii5/02hS/jn0ttHSVLlkzT9qoerz53ZlMAKS5XTlN5YF8jGEiJP01UCo5zBtHinOE3GOnzG6xSmXyfcDzyE2tnlJtvvtlN4n3gwAE777zz3Hspe3rWrFku87pv374Z9t4AAAAAskAAQ4oVK2Z33XVXul+sXHPNNfbGG2+4eSo0r4U6WMPn1NAcHLJv3z538S9JLaPyVJLaOtJKF1WaHDyzac6QytWq2qFDB+3gwYOZvTk4DuSNj7dcCQl22BLMchD0QuQOJZgtXrrU/f7h/3+f+A1GlPT/9aFDh2zF8uXJzikGxLpo57yLxlVXXeWysjWg6a233nIBE2V4qySs5rm77rrrMuy9AQAAAGSBAIYvzZSS+vXrR70hKhklTz75pP3666/2+uuvu44hPxm354MOytDQ86Jl/H2/TL58+dz91NaRVrqI8tuc6RkY8fEWH58zUZksIDn5c+dzQ4B3/fCRHdq+iR2FiMQXLm6FmlxhJ598MqPG+Q3GUdD/1/Hx8ValShW+SzguLV26NMPfQ/PjqVTtzz//7AYlqUTsaaedlmhSbwAAAADZQ9Q93jfeeKPrNA+WPQhPI480M0GjqzRRd6tWrUKd73FxcS4wsH79ejcXhv4N8n9rEj+fcaDHVMoquEyNGjXc/dTWkVb6zEcTAElP+w4eMB2CjEznR9bhT5PDOzbb4W0bMntzcJxwvy85LBQcxv/hNxjRfZf+9y/fJRyvjlV7s2DBgnbOOecck/cCAAAAkIUCGK+++uoRj2kuCE2Wrbkxhg8fHvG6NIm2UsJffvlla9q0qXtMpUkWLFhgzZs3d/NTTJw40ZVa0GhF0bwblStXthIlSlihQoXcxY1q4voAxvbt293r27dvH8oGSWkdAAAAADLPTTfddNTXIwAAAACypqgDGA0aNEjy8WbNmrmMBNWrHT16dETr0uTaGln1xBNPuFuRIkXcaxWE6NChg5urQsGNBx980NW8nT9/vps8/NFHHw3V31WgYtCgQVa8eHErV66cPfvssy7romXLlm6Ztm3bprgOAAAAAJknfEL7X375xWV61KtXz0qVKmVbt261efPmueU0sTcAAACA7CNdJ00488wz7aWXXorqNUOGDLHBgwe7ScF37Njh1qGJvE888UT3vIIPmhejTZs27gKmT58+7r7Xo0cPV0qqX79+bjJMZVyMHTvWzVEhyrJIbR0AAAAAMsdrr70Wuq+BRiozq/a8BiV5eqxr165Wvnz5TNpKAAAAAMd9AOPLL7+0AgUKRPUalYF65JFH3C0pdevWtbfffjvZ16ss1L333utuyUltHQAAAAAynwYePfTQQ4mCF6Js627durmsapWgBQAAAJA95EyPGrWHDx+2tWvX2j///GNdunRJr20DAAAAkI0oozq8pJS3a9euY749AAAAAI6zAEZSFxRxcXFuPotbb73VzTkBAAAAANFq1KiRKzF78sknW5UqVUKP//HHH/bcc8/Zueeey04FAAAAspGcR1Oj1tMcFDlzpms1KgAAAADZjEpE3XDDDXbppZfaSSedZMWKFbNNmzbZ6tWrXVDjgQceyOxNBAAAAHAMxaXlRWPGjHGT6Hlz5861Jk2a2Ouvv56e2wYAAAAgGznhhBNs2rRpLpBxyimnuPn1NJ/d448/bu+++64VLVo0szcRAAAAQCwHMMaNG+fStytVqhR6rEKFCnbhhRfa008/bZMnT07vbQQAAACQTeTLl89lYaiU1NixY23w4MHWrl07y5UrV2ZvGgAAQLrZt2+f1alTx2bMmBF6bMWKFdaiRQs3iKN27do2ffr0FMv8Dxo0yCpXruwGeXTs2NF27twZen7KlClucIiyWj/88MNEr23YsKH98ssvHE1kzQDGxIkTrVevXonSt/Vl6Nevn91xxx02YcKE9N5GAAAAAAAAAMgS9u7da9ddd52b5ysYkGjdurWVLVvW5syZYzfeeKO1adPGVq5cmWyFnEceecSeeuop+/777+2ff/6x66+/3j136NAhVz1HAQ49r+CGn9f4448/dn25p59++jH6tMDRiXriinXr1tmpp56a5HOnnXaajRw58ig3CQAAAAAAAACyngULFrhAgw8oeF999ZUtW7bMfvjhB5eBUatWLfviiy9cNRwFKsINHz7cevfu7QIh8sorr1i5cuVs8eLFLiND84hdddVV7n1uuukm27Bhg5UuXdoee+wx+m+RtTMw9EX48ccfk3xu9uzZLkoIAAAAAAAAAEjs66+/tvPOO++I/tWZM2faGWec4YIXnuYcTq4fdvny5a4UlKesilKlSrnlS5Ysafnz57eff/7ZzV2sdZYoUcI+/fRTK1OmDNkXyNoZGFdffbU9++yzduDAAVeTTSf/5s2bXZRw/PjxLvIHAAAAAAAAAEjstttuS3KXrFmzxk488cREjynYsHr16iSX13MqG+Xt2rXL9dFu3LjR4uPj7ZlnnrGmTZtaXFycy9bQY8q+ePHFFzkkyNoBjA4dOrgyUq+99lqi+S70Jbj55ptdTTUAAAAASG8aaVilShV2LAAAyHJ2795tefLkSfSY/tZk30m55pprbMCAAS5LQxN533333e7x/fv3u381V7H6anPkyGEFCxZ0E4IrQ6N69epugLoyPtq1a2eDBw92ywBZJoAh9913n91+++02b94827p1qxUuXNjq1q1rxYoVS/8tBAAAAJAtbNu2zYYOHWo//fSTu/j2taH1ry7q9fzChQszezMBAADSXd68ed28FUEKXqgUVFL69+/vBneccsoplitXLrv11lutXr16rp/WK1SoUOi+si+GDRtmL7zwgh08eNDNlXHOOefYlClTrG3bthxRZJ05MDzVTlPUrkiRIvaf//yHSB0AAACAo/LUU0/ZO++8YxUrVnQZ3rroPvXUU1352u3bt7sLbwAAgKxI8w6vXbs20WP6W3NbJNc3O2nSJNuyZYuboFvBib///tsqVap0xLKff/65FS9e3M2x8f3339sFF1xg+fLls+bNm9t3332XYZ8JyLQAxvvvv2/NmjWzNm3aWLdu3dyXo2/fvnbnnXeG0pQAAAAAIBrffvutu6YYOXKkK4tQtmxZe+6559yEkzVq1LClS5eyQwEAQJbUqFEjN+n2nj17Qo8puKDHk9KnTx975ZVX3OByZV3Mnj3bZaueddZZRyyrQSAPP/ywu685MQ4fPuzuKxPDZ7wCWSaA8fHHH7sSUvryDBkyJHTCK3L39ddf24gRIzJiOwEAAABkccqyOP300939qlWr2u+//x4aYdipUyebMWNGJm8hAABAxjj33HPtpJNOcvML//HHH/b000+7spq33HKLe16DxpWRcejQIfe3Jvx+9NFHXeBi7ty51r59ezdBuDItgr788stQBR2pX7++TZ482b3Hhx9+aI0bN+aQImsFMEaNGmXXXnutDRw40Fq2bBl6XLXSNFpq2rRp6b2NAAAAALIBzam3Y8cOd1/lD1QHWnPuSZkyZWzdunWZvIUAAAAZQ+UzVfVmzZo1Ltjw+uuv29SpU61ChQru+R9++MGVk1q1apX7W/2wl19+uV100UXudumll9qgQYNSzL7wr9PgEGVqqMLOVVddxSFF1prEe8WKFS4DIymnnXaaDR8+PD22CwAAAEA2oxGAGjBVs2ZNd7Gu0YK6cNdIxK+++soFOAAAALKK8PJN1apVcxVukqJgQ3B5BTxUalO3lIRnsKrcFAPQkaUzMEqUKGHLli1L8jk9rucBAAAAIFo9e/Z0WRcaMJUjRw679dZb7ZlnnrGGDRvahAkTXNY3AAAAgOwj6gyMiy++2M1qX7p0aVebTXRxofq0mv9C6UoAAAAAEK1y5cq5Off++usv97cyL0qWLOkmtKxbt661adOGnQoAAABkI1EHMHr16mV//vmn+1ez1suNN95ou3fvtjPPPNONmgIAAACAtMibN68rIeWppnPTpk2taNGi7FAAAAAgm4k6gJE7d257+eWX7fvvv7eZM2e6SfUKFSpkDRo0cBkZysYAAAAAgGgdPHjQzYFRsWJFu+yyy2zWrFnWo0cP2759u7veUCa45sUAAAAAkD1EHcC45ZZbrHPnznb22We7GwAAAACkBwUoxo4daw888ID7+4knnnCZF927d7fx48fb4MGD7bHHHmNnAwAAANlE1AEM1Z8lywIAAABAeps2bZrdfffddsMNN9iyZctsyZIl9vTTT1vr1q1dIGPgwIEEMAAAWdLKlStt48aNmb0ZALK4kiVLWoUKFSxLBzBUf/aDDz6w//znP5YrV66M2SoAAAAA2c769evttNNOc/dnzJjh5tw755xz3N9ly5a1HTt2ZPIWAgCQMcGLGjVr2t49e9i9ADJU3nz5bPGiRcdVECPqAEaePHlcAOOTTz6xqlWrWv78+RM9r+yMV155JT23EQAAAEA2ULp0aVu9erWdeeaZ9uWXX1qtWrWsePHi7rlffvnFBTEAAMhqlHmh4EWd7pdZgXIlMntzAGRRu/7ZZL+/+KH7zcnSAYy1a9fa6aefHvo7ISEh0fPhfwMAAABAJC699FIbMGCAffjhhzZ37lx76KGH3ONPPvmkvfXWW9atWzd2JAAgy1LwonBlgvUAcFQBjNdeey3alwAAAABAqnr16uUyvGfPnm29e/e266+/3j3+22+/WadOney2225jLwIAAADZSEQBjOnTp1ujRo2scOHCGb9FAAAAALIllaO99dZb3S1o4sSJmbZNAAAAAGI8gNGzZ097++23rW7duqHHXnrpJbvyyiutRAlq8wEAAABIH+vWrXPlo/bv3x967PDhw7Znzx6bM2eODR06lF0NAAAAZBMRBTDC57U4dOiQDRkyxM466ywCGAAAAADSxaeffmr33HOPHTx40GVj+GsRf79KlSrsaQAAACAbiUvrC5msGwAAAEB6GjVqlJ1yyik2ZcoUl+19xRVX2LRp0+zee++1+Ph4e+CBB9jhAAAAQDYS9STeAAAAAJARVqxYYYMHD7batWtbw4YNbdy4cVa1alV327hxowtwnH322ex8AAAAIJtIcwYGAAAAAKSnuLg4K1KkiLtfsWJFW758uZv/Qs455xxbunRpVOvTa4cNG2ZNmza1evXqWZcuXWzVqlURva5z5842fPjwI5775JNP7OKLL3bzA7Zu3dp+/PHHqLYJAAAAwDEKYPhatAAAAABwtDTHxc8//xy6r4m8Fy1a5P7evn17oom9IzFixAh788037fHHH7eJEyeGAhMprUfPqVTVt99+e8RzM2fOdOWsrr32Wps6dao1btzYunbtasuWLYv6swIAAABIxxJS3bt3t9y5cyd6rFu3bpYrV64jghqff/55pKsFAAAA/l97dwJkZXXmj/+BZhcQUFniDhhBKy4oRhxFZqLEoGOB2+iICyOKiRkmiCgGREVxiZQmGkncUIyijgHNGJ1INCmHGFlEKzpBSJDoqFFQ2USQpbv/dU5+3X8bNTYI3re7P5+qW7fv+5778nJv9+k+9/ue80CWgoHLL7881qxZEyNGjIhDDz00Lr300jjppJPivvvuy/UxaisFEWkJqlQUvF+/fnnbTTfdlGdjzJgxI4477rhPPCeFJ+PGjYuPPvoo2rZt+4n9d9xxRxx11FFx5pln5seXXHJJvPjiizFlypQYP368dxEAAEoRYAwaNGhr/7sAAAA5DEihRapzcfLJJ+fg4c0338yvTJo5kZZ9mjBhQuy8884xZsyYWr9iaebGhx9+mGdJVEmhRKqvMXfu3E8NMJ555pkccKSLt44//vga+9LsjRRwjB49usb2VKsjBSJbqrKyMgc2RbB27dpSnwLQQKT+pih9XxHof4GG1gdXVlbWenWnWgUY11577Rc9JwAAgE+YM2dODhqqnH766dVf77rrrrnmxPLly6NDhw6b9eq98847+b5Lly41tnfs2LF636bSrI/PkpawSgO9zp071/p4tbFhw4Z45ZVXoghee+21Up8C0ECk/qZFixalPo3C0P8CDbEPbrbJak9feAkpAACAL1u6Mmtzw4uPX8266cCoefPmsXLlys0+XlpW6rOOt27duthSaUne7t27RxFU/R8BtrU99tgjevbs6YXW/wINtA9etGhRrdsKMAAAgHqn6qqytCTVx68wS2FDy5YtN/t4KaioOt7HbenxPh7QtGrVKorgi/w/ADa3vylK31cE+l+gofXBjWq5fFQiwAAAAEoq1ZyozRTyNNB56qmnanXMqqWjli5dGrvttlv19vR477333uxzbNeuXR7oped/XHrcqVOnzT4eAADw+QQYAABASaXC2luyTNTf06NHj2jdunXMnj27OsBIdSzmz58fgwcP3uzjpfCkV69euWZHKjZeJR3/4IMP3qrnDgAA/I0AAwAAKPkMjP3222+rHjPN6EhBxcSJE3M4svPOO8cNN9yQi3D3798/ysvLY9myZdGmTZtaFzEcMmRInHfeeTlw6du3b0ybNi0X4J4wYcJWPXcAAOBvGv+/ewAAgHpl+PDhcdJJJ8XYsWPjtNNOi7Kysrjrrrty4ey33347Dj/88HjiiSdqfbzU/pprrokHHnggBg0aFLNmzYqf/vSn0a1bt236/wAAgIbKDAwAAKBeSoHFqFGj8m1Tu+yySyxcuPAzn/ub3/zmU7cPHDgw3wAAgG3PDAwAAKBk0kyG9u3bewcAAIBPMAMDAAAomWuvvdarDwAAfCozMAAAAAAAgMIRYAAAAAAAAIUjwAAAAAAAAAqn5AHGihUrYty4cdG3b9/o1atXnHbaafH8889X73/uuefihBNOiP333z+OOeaYePzxx2s8f926dXHllVdGnz594sADD4yRI0fGsmXLarT5vGMAAAAAAADF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2LFj9b6PS7MsNm2blplq165dvP322/lxCjBatWqVZ3W88MIL0b59+zjxxBPjzDPPjMaNt2xy+4YNG+KVV16JInjttddKfQpAA5H6G8vv1Xw9ABpaH9zsU5Z0/TQCDAAAoN5ezbrpwKh58+axcuXKT23/aYOo1H7dunX56z//+c+5NsY3v/nNuOCCC/LMjFRXIx3vP/7jP7boPJs2bRrdu3ePIvjoo49KfQpAA7HHHntEz549S30ahaH/BRpaH7xo0aJatxVgAAAA9U7VVWWpFsbHrzBLYUTLli0/tX1qu6nUPs26SO644478uKrmxd577x2rV6+On/zkJ/Hv//7vWzQLI02drzp+qX3a6wKwrfqbovR9RaD/BRpaH9yolstHJYp4AwAA9U7VclBLly6tsT097tSp0yfad+7c+RNtU6CxYsWKvOxUkmZobFqw+6tf/WpeQ/jTZnUAAABfjAADAACod3r06BGtW7eO2bNnV29Lyz/Nnz8/evfu/Yn2aVuqjfH6669Xb5szZ06+P+igg3KhwaOOOip+/OMf13jeyy+/nIt/p3oYAABAPQ4wbrvttjjjjDNqbEsF7QYPHhwHHHBA/NM//VPce++9NfZXVFTEzTffHEcccURuc+6558Ybb7yxWccAAADqlzRbIo0BJk6cGE8//XQsWLAgRowYkWda9O/fP8rLy+Pdd9+tXnd8//33j169euU2L730UsyaNSvGjRsXAwcOzDM20jT3o48+Ou6666544okn4v/+7//ioYceijvvvDMX9QYAAOpxgHH//ffHD3/4wxrbli9fHkOGDInddtstpk2blgvlpQFI+rrKpEmTYurUqXHVVVfFgw8+mAONoUOHVq9fW5tjAAAA9U8KFk466aQYO3ZsnHbaaVFWVpYDiFQ4++23347DDz88hxFJCijS7IpddtklzjrrrPje974Xffv2jSuuuKL6eCNHjsxjjRtvvDEGDBgQd999d4wZMyZOOeWUEv4vAQCg/ip5Ee8lS5bE5Zdfnqd2pwroH/ef//mfeXAxfvz4aNKkSXTr1i1P6b799tvjxBNPzCHF5MmT46KLLop+/frl59x00015NsaMGTPiuOOO+9xjAAAA9VMKLEaNGpVvm0pBxcKFC2ts22GHHfLs7s+SxhPpgqh0AwAAGkCA8cc//jEHDP/1X/8Vt956a7z11lvV+55/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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "----------------------------------------------------------------------------------------------------\n", " 📌 Top 5 Tasas de Éxito en 'native_country': india: 43.4% | canada: 33.3% | philippines: 33.3% | germany: 30.4% | united-states: 24.6%\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjAAAAJ3CAYAAAA6dRg5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3QmclfP///9X+55K+yaVSqgspQgJkT0pIktJ1hIpIRFClEQpUZK10kKEPsiaUpGUFqkQ7bv2Zf635/v7f5/fNaczM2dmzsycmXncb7dzm5lzrnOd61zXdc68r/fr/Xq98yQkJCQYAAAAAAAAAABAHMmb1RsAAAAAAAAAAAAQjgAGAAAAAAAAAACIOwQwAAAAAAAAAABA3CGAAQAAAAAAAAAA4g4BDAAAAAAAAAAAEHcIYAAAAAAAAAAAgLhDAAMAAAAAAAAAAMQdAhgAAAAAAAAAACDuEMAAAAAAAAAAAABxhwAGAAAAACBLHDhwwM477zyrW7eunXTSSfbNN99wJAAAABBCAAMAAAAAkCWmTp1qa9assQIFCtiwYcPs7LPP5kgAAAAgJE9CQkLC//sTAAAAAIDMyb646KKLbP369fbSSy/Zueeey24HAABAIgQwAAAAgCgdPHjQ8ufPz/6KUxwfcM4AAADkLJSQAgAASZo8ebKrSx7pVq9ePWvQoIEr93HLLbfYxx9/bBmd2HnDDTeEXl/b5vXp0yd0v0bx5iRr1661+++/38444ww78cQT7cwzz7S77rrLPbZ79253v68d//XXX2fqtgXPB5WAyclWrVplt912m/3000+J7s/J515OOD5Z4fDhw9auXTt3TkyYMCHiMvqs9uzZ01q2bOm+R08++WS79NJL7cknn7TVq1dHfI6W9efanDlzLDvSdif1PyXSbcCAARn2HbVjxw576qmn7NVXX03nu4rN9gX/p6XVBRdckOz+nDlzZqLl9T9kyJAh7nn+/8sDDzxg//zzzxHrTu13XXB5/e+W2bNnu791Lu/Zsyfd7xcAAOQOBDAAAECaKFixb98+V/rju+++s/vuuy/dnU040h133GHTpk2zzZs3u3IrmzZtsr///ts99tZbb7n7CxYs6GrHn3POOezCDDB06FC77LLL7KuvvsrwIB2y//F55513bOHChVaqVCm7/PLLj+g0V8C3a9eu9tFHH7mOYn2PqiP5999/tzfffNMFMt5+++0s2/7c4H//+59deOGF9sYbb7isnXiS1u3577//Qv8borF//367+eabbeTIkfbXX3+F/r9oTpKrr746yUBaejRt2tTq1Knjznv9zwIAAIgG+e8AACAqxYsXtw4dOiQaZawOE3UaKogh6ny78sor3UjOzKSO+7Jly7rfTz31VMsptm/fbkuWLAn9rfrwxxxzjLtp348ePdoFL4YPH87Etxnogw8+cJ17uencyynHJ7Pt2rUrNDpdncCFCxcOPaZAhTqMFy9e7P7OkyeP69A97rjjbMuWLW50vJ6v9/LEE09YhQoV7Pzzz7ec7NZbb0328fR+poLrL1GiROj3L774wu3zeKLzQR5//HF3rtx0001Wv379qJ+/dOnSUABPGT2nnXbaEctUr1499Lv+f/zyyy/ud32HaS6SuXPn2rJly9y+6d+/v73++uvpfj/hOnbsaP369bOxY8fatddea9WqVUvzawAAgNyBAAYAAIjKUUcd5UoZhVNHR6tWrWznzp3u788//zzTAxitW7d2t5xGQYogjVgNzr+QXcvI5CQ59dxD2kycONG2bdvmfm/Tpk2ix1588cVQ8EIB4REjRliTJk1CjyubqlOnTq4DWR3Rzz77rJ133nlJdgTnBJH+p2Sn9adXpUqVXJlAKV++fCgzQlkQuun8UCBDJZfy5k2+eEIw2H3VVVdZ+/btk1xW59d7770X+lvnokqZ6X+Ozjmdw7NmzbI///zTBczTomLFiqHf/XuTiy++2AXoFKjToIeHHnooTesHAAC5ByWkAABAupQpU8aOPfbY0N/ho1o3bNjgRnKqxrbmadCIUtXZvv322+3nn3+OuE6NRL7uuuvcKFJ14PTu3dutJykp1eZWuYqBAwe6juZGjRq5kala//jx45Ms16GSGqpRrxHSDRs2dNknKpU1b9680GvpdT29rr//3XffdWU5/HOvv/760HK//vqrdevWzZo3b24nnHCCC/aow+jhhx8OZbKIaoar0ypIywfr3ydX313bqtHHzZo1c/tcnVMqmaKa7ypjE61Dhw65kbIqa6PjpywQdcSqky05GzdudJ1Ueg++trretx/xG4v6/sHnaMSygmca0atjfPrpp7vOy3///feI5ynYNnjwYNeRpuOj/aPlNTo+OI+Ir9cfrAd/4403JtrGSOfe3XffHbpP+yqc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mfp6+p4844wzbPLkyUc8tmLFiiQ/yzNnznTLrFmzxv390ksvJfkahw4dsosuusi++OKLDH0vAABktUjtYV2znHLKKdauXTubMmVKTF8v1m3oaNenZbRsUn/7/ZCSaJeLVnrWF+ttyQo6BsHjkBrPPvtsxDaf2uxBu3btsqeeesrOOecca9SokbsuX7x4caJl1C7Uc9VOjMW2qg3ZunVr16YMd+DAAbvkkkuSbIvOnj3bXW+dfPLJbpu13MGDB9O03B9//GFXXXWVW+aWW26x9evXH7GeHj162IMPPmjR0j4I7u969epZw4YNXdt54MCBrq0er9cWDz/8sD399NMZtn4gJ8qf1RsAIHOpo1cdlDNmzLDrr78+4jJ6TA2ayy+/nMOTidRgK126dMTHihQp4n4+9NBDod9zIwXe7rrrLlu4cKG1atXKNVDz5ctn33//vQ0ePNi+++47e+2116xgwYKpWu+iRYvsjjvusEGDBh1xsRFPpk2bZtu2bbOXX37ZypQpE5N1fvXVV/bTTz+5i69wX375pXXu3Dni8z7//HOLF7oQKleunD3zzDOZ8noKlOkia/PmzREf//3330MX9OHHqX79+lG/js7t7t2724ABA1ywJDd/9gEAua89nJCQ4AaYfPjhh+5/6tatW5Nsl2QXt99+u+3ZsyfJx6+55hpr1qxZpm4T0kcDV4499lh3LRFUqFChRH/fd9997ppFQasqVarYW2+95X5XcO6YY46J+WHQeaY2ZO/evV2bMkifrUceecRteyS6NujSpYsLCvTs2dMFIIYPH26bNm2y/v37p3o5ddir/Xz//ffbO++8436++eaboceXL1/uri0++eSTVL1HfVf4oIfek4JEuq5744037LPPPnOD3sqWLWuppWstHZf//e9/lhF0PXvxxRdbmzZt3L4DkDICGEAuow7fxx9/3P1DTyqAMX36dCtZsqS1aNEi07cvNzv//POtatWqKS6TW6lRqob/0qVLXWaAOnQ9Nf5fffVVF4BQICM1o3d8o3nDhg0W73744Qf3Xs8777yYrO/w4cNuJNhNN91kRYsWTfSYzkVdlKizIDywpuwPPabO+XjIWlHgShcAmUEjxu655x77+eefk1xGAYz8+fNbx44drUCBAun+zh46dKg753WxAwBAbmsPX3311a6zTx2j+t+a2oEq8URZtMnRCHXd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QwYGAAAAAAAAAACIO/mzegNyop9//tkSEhLieuJWAAAAIFYOHDjg5tU5+eST2alxcv1w1113WenSpe3JJ590f3/88cc2cuRIN0eTJg3t3bu3nXTSSSmu5/XXX7fx48fbp59+Grpv6NChNmHCBKtataoNHDjQatSo4e7fvHmz3XjjjTZp0iQrXLhwzN4LAAAAcu/1AxkYGUAXH7oBAAAAuQHt3/jaf5988ol9++23ob/nz59vjz76qN122202ZcoUa9iwod155522e/fuZNezZs0aGzFiRKL7li1b5gIar732mqvfrWCG98Ybb9i1115L8AIAAAAxa/+SgZEB/MipaEY0AQAAANndr7/+mtWbkK3F8vphy5Yt9tJLL1njxo1dBobWuXTpUuvXr589+OCDbpkzzzzTxo0b50a9JfeaPXv2tFNPPdUFMvxyv/32m/u9ffv2dtRRR9m9997r/t60aZN99913tnDhQitSpEi63wcAAAByrtRcPxDAAAAAAIAc4v7777cbbrjB/v3339B97dq1C/2+Z88eGzJkiJUvX97q16+f5HoU4FCGxi233GL9+/cP3V+9enVbuXKlbd++3WV26G8ZNGiQy+ogeAEAAIBYIoABAAAAADnAl19+ad98840b0XbHHXcc8fgXX3xhrVq1cun6b7/9thUvXjziejZu3GgPPPCAff755zZ37txEjzVr1sxatGhhZcqUcbfp06e7uS8074WyLwAAAIBYYg4MAAAAAMjm9u7d6+a4GD58eJJZECeeeKLLmnj88cft5ptvttmzZ0dcTmWh9PgJJ5wQ8fH33nvP1q9fb2vXrnWlqgYPHuyyL1Rq6vTTT7fatWvbm2++GdP3BwAAgNyJDAwAAAAAyOZU5um0006zCy+8MMllKlSo4G6NGjVywYuRI0da06ZNEy3z2Wef2Q8//GCvvvpqsq9XtmzZ0Jwb77//vv3yyy921VVXWYcOHezqq692E3yfd955Vrly5Ri9QwAAAORGBDAAAAAAIJtTVsS6detCZaH27dvnfiq4MHPmTMuXL5+dcsopoeU1/4Um5I60nr///tvKlSvn/j548KDt37/frfeTTz6xs846K9Hyzz//vN1+++0u6+P77793f1etWtWOO+44V37qiiuuyOB3DgAAgJyMAAYAAACyjUOHDtmBAweyejNynQIFCrgOcMSvr776KtFnQ3NYyMCBA90E26tWrXLZFZ5KSQUDGp6Wf/jhh0N/T5482V588UW3/ipVqiRaduvWrTZhwgSXfSF58+a1w4cPhwIfmmsDAAAASA8CGAAAAIh76gjV6PJt27Zl9abkWqVKlbKKFStanjx5snpTEMExxxyT6O8SJUq4n5qPomvXrm5uiqFDh9rFF19sb731lv344482btw4t8yePXts+/bt7viWL1/e3Tz9nj9/freecEOGDHHzbvg5NzQfxuuvv26XX365LVmyxE499VSOFQAAANKFAAYAAADing9eqDO1aNGidKJncvBo9+7dtmHDBvd3pUqVMvPlEQPKtJgyZYo99NBD1qdPHzeZt7IxfEbF+PHjrVOnTqnKmNDnUeWmFixYkCigce2119obb7zhfq9WrRrHDwAAAOmSJ4G83pj79ddf3c+TTjop9isHAADIhWWjli9f7oIXRx99dFZvTq61efNmF8SoU6fOEeWkaP+mD/sPAAAAucmvqeg/z5sJ2wMAAACkma/rr8wLZB2//5mDBAAAAEBmIYABAACAbIG5F9j/AAAAAHIXAhgAAAAAAAAAACDuEMAAAAAAAAAAAABxhwAGAAAAcrWWLVtanz59snozAAAAAABh8offAQAAAOQmw4YNs+LFi2f1ZgAAAAAAwhDAAAAAQK5Wv379rN4EIFl//fWXbdq0KcfupbJly1r16tWzejMAAAAQhwhgZIEDhw7Z4YTDmfqaefPktQL58mXqawIAAGSXElJNmjSxu+++28477zx74YUX7JNPPrFvv/3WChQoYK1atbKHHnrIihYt6pZPSEiwN954w8aPH2///POPVahQwa699lrr3Lmz5cmTxy3z/fff2/Dhw23ZsmWWP39+a968ud1///1WqVIl9/jkyZPt0Ucftddff92efvppW758uVWuXNkeeOABq1GjhvXv398WLFhg5cuXtx49etgll1wS2t5///3XBg0aZN99953t27fPGjVq5J5HICbnBi/q1q1ne/fuyepNyTCFCxexZcuWEsQAAADAEQhgZAEFL6YumWtbdu/MlNcrU7SEXXl8YzMjgAEAAJASBRbatm1rL7/8si1cuNCGDBlipUuXtp49e7rHn332WRfA6NSpk5155pn266+/uoDCwYMH7bbbbrOpU6e6gMKll17q/t66dau9+OKLds0119iUKVPs6KOPduvR8lqnAicKbGgdCnJoNHqHDh3s9ttvd+WttK5TTz3VKlasaFu2bHHBkiJFitgjjzzifmpbrr/+env//fetVq1aHOAcRpkXCl40qNrSihcqbTnNf/u22sI1X7r3SRYGAAAAwhHAyCIKXmzYtSOrXh4AAABJOOecc1zQQJo1a+ayKb766isXbNixY4eNGzfOOnbsaL169XLLnHHGGbZx40abO3eu3XrrrS4QoYyLwYMHh9Z5yimn2MUXX2yjR4+23r17u/sOHz7sghTt2rVzf2vd9957r910000uOCIlSpRwwZRFixa5AIaCFdu2bbN3333XqlSp4pY5++yz3bqHDh3qAiXImRS8OKpIuazeDAAAACBT5bU48sorr9gNN9yQ6L4lS5a4C0Slxiu9XxeMQbrw04XaWWed5ZbRRePff/8d83UAAAAgd1B7MEiBg927d7vfVdZJmRMqKxXUt29fe+2112zVqlUumKHsiyCNLD/55JPtxx9/THS/7vN8ZkbDhg1D95UqVSoU3JAffvjBjj/+eFe2StuhW968eV0QY9asWTHaAwAAAAAQH+ImgPH222+7esNBSrfX6DNd8E2aNMnuuusuN6JNv3tK7X/nnXfsiSeesPfee88FI7p06WL79++P2ToAAACQe6gsU5ACBJr3QpT9IGXKlIn4XP+4ykCF0307dyYuIVq8ePEUXz98/QqinHDCCYluaktr3Xv25Nx5EgAAAADkPlleQmr9+vWuzvCcOXPchIVBEyZMcBMnPv74427yQ9X0/fPPP23UqFEulV4BhjFjxrhawS1atHDPUY1iZVLMmDHDjXyLxToAAAAAKVmypPupuShq1qyZaGJtTbasuTJE9fzDKTPDP55WKimlCcd9GapwBQsW5EABAAAAyDGyPANj8eLFLsDw4YcfJkqXl3nz5rkLNAUevKZNm9rq1avdReHSpUtt165drjZx8KKyfv36rgZxrNYBAAAASIMGDVzbdebMmYl2iAbE3HfffXbcccdZuXLl7KOPPkr0uMqTKnNCc2Gkh9q1KlN17LHH2kknnRS6ffDBB24S73z58nGgAAAAAOQYWZ6BoTkpdItk3bp1VqdOnUT3lS9f3v1cu3ate1wqVap0xDL+sVisIy1UZsDXSg7KkyeP5S2Q31SFwJciyGj+ZVRSILNeEwAAIFb27dvnSnweOnTI3WJN7SPd9BriXyv8cd131FFHuTnbxo4d6wIZp512mi1cuNBNqq1JvbVcjx497OGHH3YBjcsuu8yVfRo+fLgbJHPjjTe69UR6rWju0/MVrLj55pvdTXNkfPrppzZx4kTr06dPhuwfz2+32pR+u4L7SO1cAAAAAMhRAYzk7N2794g0+EKFCoUuZH2N30jLbN++PWbrSIsDBw64ycPDFS5c2I6tXcsOHfq/SRczg15LF5yrVq50+wMAACC7UTat2m4ZwQcn/PrVjgu2mfSYlvH3aU41BSOU8TB69GirXLmyK+l09dVXu2Vat27t2pbKyujWrZsVK1bMzjjjDLv77rtdCSgto9cQvaZfr59/TT/9feHbpNfVeocNG2b9+/d3y2qut379+tmVV16ZoW09bYvarytXroz4OOWrAAAAAOSqAIY6+8Mn0vYXcUWLFnWPi5bxv/tl/OSHsVhHWmhEXu3atSNnYOTLZ/ny5U9U1ioj6bVUTkB1msnAAAAA2Y3aZZpjQgNMgu21WPniiy9Cv//2229HPD5w4MAj7uvatau7JeWSSy5xt6S0b9/e3YKaN29+xOur/RZ+n8pUDR061LKC2q8KmPgBQd6KFSuyZHsAAAAA5GxxHcCoWLGibdiwIdF9/u8KFSqEMhh0ny6kgsvUrVs3ZutICwUqFCCJZN/BA6YM+8xKs/cvk56ADAAAQFbJmzevu2lABnM8ZB3tex0HtSnDA0mUjwIAAACQIyfxTk7jxo1t/vz5iWr5zp49201aePTRR1u9evWsePHiNmfOnNDjO3bscKPU9NxYrQMAAAAAAAAAAGSuuA5gtG3b1v777z83CaLS0idPnuwmTLzttttCdXY7duxogwYNcqn/S5cutXvvvddlXbRq1Spm6wAAAAAAAAAAAJkrrktIKUPitddeswEDBlibNm2sXLlyboJE/e51797dlYHq27evm7RQWROaTFFzUMRqHQAAAAAAAAAAIBcHMJ555pkj7mvQoIGNHz8+2Vq8vXr1crekxGIdAAAAAAAAAAAg88R1CSkAAAAAAAAAAJA7EcAAAAAAAAAAAABxhwAGAAAAAAAAAACIOwQwAAAAAAAAAABA3ImrSbwBAACA1Dhw6JAdTjicJTstb568ViBfvix5bQAAAADIDQhgAAAAINtS8GLqkrm2ZffOTH3dMkVL2JXHNzazrAlgrF+/3s4+++wj7n/66aftqquucr8vWbLEBgwYYIsWLbIyZcrYzTffbDfeeGNo2bp16yZaHgAAAADiDQEMAAAAZGsKXmzYtcNyk6VLl1qhQoXs888/tzx58oTuL1GihPu5detW69Spk7Vs2dL69+9vCxYscD+LFStmbdu2zcItBwAAAIDoMQcGAAAAkIUOHz5sX375pd1yyy3277//RvWc5cuXW40aNax8+fJWrly50K1w4cLu8QkTJliBAgXs8ccft1q1armghTIwRo0alcHvJvsegxdffNHOOussa9Sokd166632999/R/XcDz/80GWzrFmzJsO3EwAAAMhtCGAAAAAAWWDLli0uoHD++edbz549rUqVKrZr1y7XGZ7UzXeSL1u2zAUmkjJv3jxr0qSJ5c///xKumzZtaqtXr7ZNmzYdsfzGjRvtoosuclkbe/futdzm5ZdftnfeeceeeOIJe++991xAo0uXLrZ///5kn/fPP/+4IBEAAACAjEEJKQAAACATLVy40N5++22bPn26C0JotP9ll11mxYsXt0OHDtl3332X5HM1l4XPwChdurRdf/31tmrVKjvmmGPsjjvuCM2LsW7dOqtTp06i5ypbQ9auXWtly5ZNFEhRdoYCKOrIV2mq3ERBijFjxtj9999vLVq0cPcNGTLEZWPMmDHDLr300ojPU5CjV69edsIJJ9js2bMzeasBAACA3IEABgAAAJBJNGK/Xbt2VrNmTRs3bpydfPLJiR7Ply+fKwWVnIMHD9rKlSutdu3a1qdPHxf4+Pjjj61r1672+uuvW7NmzVwWRcGCBRM9zwcm9u3bF7pv27ZtLnhRuXJlGz58+BHPyS3ziSjzRfvNK1mypNWvX9/mzp2bZABj5MiRduDAAbv77rsJYAAAAAAZhAAGAAAAkEmOPvpo69y5s02ePNl69+5t7du3d/NT+MwKzYFxySWXJPl8BSoUbJgzZ44Ldvg5L0488UT7/fffbfTo0a4jXveHlz/ygYuiRYuG7lOmgTrh9fzcGLzw2SpSqVKlIzJW/GORsmiUtfH+++/b+vXrY7IdCQkJtnv37iPu37Nnj+UGep+R3j8AAAByHrV98+TJE9WyBDAAAACATKLAwgMPPGD33HOPTZs2zc27oMmjW7VqZR06dHATSE+dOjXJ5/syUMWKFTviseOOOy5UfqpixYq2YcOGRI/7vytUqBC674wzznABlG7dutnFF19szZs3t9zGBwgiZaxs3779iOXVya5yU7ppIvVYBTAUSFqyZMkR92vektxA79MH5AAAAJDzFYxyABUBDAAAACCTqaNWpaR0++mnn9ycGCrl9Nlnn7n5LJKjTItrrrnGRowYYaeffnro/kWLFrmyUtK4cWM3GbXm1FCmhmiehmOPPdZlgXgXXnihC54oePHII4+4oIpKUuUmvtNcGSvBDnRlrBQpUuSI5Z988km3H6+99tqYbkeBAgVCxy8ot0yqrmDQ8ccfn9WbAQAAgEywYsWKqJclgAEAAIBsrUzREtn6NU855RR3e/DBB6MKHmjib82h8fjjj1v//v3dZN4TJkywBQsW2KRJk9wyyqp47bXX7OGHH7YuXbq4kkdjx451y0ei5RTEePbZZ916cxNfOkoZKtWrVw/dr7/r1q17xPLaxxot5ucvUZBINFfG7bff7m5poRT6YHkvL1IQJSfS+4z0/gEAAJDzRFs+SghgAAAAINvKmyevXXl84yx77VgqW7ZsdK+bN6+bQHrw4MHWo0cP27Fjh5twWhN416lTxy2jLAsFMAYMGGBt2rRxE4Nrzg39ntRr63EFMlq3bp1oQuucrl69ei5wpHlFfABD+/S3336zjh07HrH8jBkzEv39yy+/WK9evWzUqFGh/Q8AAAAgNghgAAAAINsq4Moj/V+JpNxEAYenn3462WUaNGhg48ePT/LxZcuWJfr76quvdrfcRtkUClQMGjTITaZepUoVe+6559w8IiqvpQyLLVu2WIkSJVyJqfASX36ib02uXqpUqSx6FwAAAEDOFNthYwAAAACQzXTv3t0Fb/r27esmU9e8IaNHj3bzUqxdu9ZNbj59+vSs3kwAAAAg1yEDAwAAAECupoCFykDpFq5q1apHZKsEaSL15B4HAAAAkHZkYAAAAAAAAAAAgLhDAAMAAAAAAAAAAMQdAhgAAAAAAAAAACDuEMAAAAAAAAAAAABxhwAGAAAAAAAAAACIOwQwAAAAAAAAAABA3CGAAQAAAAAAAAAA4g4BDAAAAGRbCQcP2OED+7LkptfOCOvXr7e6desecZs8eXJomSVLlljHjh2tUaNG1rJlSxs3blyidYQvDwAAAADZUf6s3gAAAAAgrRISDtt/331oh3ZsydSdmK9kGSve/HLLkwHrXrp0qRUqVMg+//xzy5Pn/71CiRIl3M+tW7dap06dXOCif//+tmDBAvezWLFi1rZt2wzYIgAAAADIGgQwAAAAkK0peHFo2wbLDv7991975JFH7Prrr7cWLVpY3rxHJkQvX77catSoYeXLl4+4jgkTJliBAgXs8ccft/z581utWrXszz//tFGjRhHAAAAAAJCjUEIKAAAAyCSlSpWyKlWqWM+ePe388893QYctWxJnjyxbtswFJZIyb948a9KkiQteeE2bNrXVq1fbpk2bjlh+48aNdtFFF7msjb1798b4HQEAAABAxiGAAQAAAGSSokWLusyJb7/91rp06WIff/yxnXPOOfbAAw/YwoULQxkYCmooS+OMM86wDh062DfffBNax7p166xixYqJ1uuzNdauXZvofq3n5ptvdkGTkSNHWuHChTPlfQIAAABALBDAAAAAADJZ8eLF7brrrrMPPvjATcCt4EW7du3sn3/+sZUrV9r27dutW7duLkNDE3V37drVfvjhB/dcZVEULFgw0fo0Z4bs27cvdN+2bdtc8KJy5co2YsSI0DIAAAAAkF0wBwYAAACQBZQdMWnSJDenxY4dO6xz58529NFH25w5cyxfvnyhbIkTTzzRfv/9dxs9erQ1a9bM3b9///5E6/KBC2V4eEOGDLEDBw6454cHPAAAAAAgOyCAAQAAAGQizWHx7rvv2meffWbHHXecy6647LLLki3vpOW+++4797vKR23YkHjScv93hQoVQvep/FTbtm1dJsfFF19szZs3z7D3BAAAAAAZgRJSAAAAQCZRiSiVdRKVjpoyZYorHeWDF8q0OOWUU1wWRtCiRYusdu3a7vfGjRvb/Pnz7dChQ6HHZ8+ebccee6zL4PAuvPBCa9WqlQtePPLII/bff/9l0rsEAAAAgNggAwMAAADZWr6SZbLNayrA8NVXX1nZsmUjPl6rVi2rWbOmm+i7f//+Vrp0aVdiasGCBa7clCir4rXXXrOHH37YTQSu+TPGjh3rlo9EyymI8eyzz7r1AgAAAEB2QQADAAAA2VaePHmtePPLs+y1U0uZFsmVisqbN6+NHDnSBg8ebD169HBzY9SvX99ef/11q1OnTigIogDGgAEDrE2bNlauXDnr3bu3+z0SBUv0uAIZrVu3dvNoAAAAAEB2QAADAAAA2Vae/AUsj+UsCjg8/fTTyS7ToEEDGz9+fJKPL1u2LNHfV199tbsBAAAAQHbCHBgAAAAAAAAAACDuEMAAAAAAAAAAAABxhwAGAAAAAAAAAACIOwQwAAAAAAAAAABA3CGAAQAAgGwhISEhqzchV2P/AwAAAMhsBDAAAAAQ1woUKOB+7t69O6s3JVfz+98fDwAAAADIaPkz/BUAAACAdMiXL5+VKlXKNmzY4P4uWrSo5cmTh32aiZkXCl5o/+s46HgAAAAAQGYggAEAAIC4V7FiRffTBzGQ+RS88McBAAAAADIDAQwAAADEPWVcVKpUycqXL28HDhzI6s3JdVQ2iswLZFcrVqywu+66y77//nsrU6aMdevWzXr16uUe++yzz6x37962fPlyq1Onjj3zzDPWunXriOs5dOiQPfzwwzZ27FjbtWuXW+6ll16yChUquMcnT57sXid//vz28ssv22WXXRZ67umnn24jR460k08+2eIJ+wYAAMQ7AhgAAADINtSJTkc6gGgdPnzYLrnkEmvcuLH9/PPP9vvvv1uHDh2sSpUq1qRJE2vTpo0NGDDArrjiCps6dapdeeWVtmzZMqtRo8YR61Jw47333rMJEyZY2bJlrXv37nbDDTfYjBkzXHCja9euNnToUPeanTp1so0bN7rg6/Tp010ANt6CF+wbAACQHTCJNwAAAAAgR1q/fr01atTIRowYYccdd5xdfPHFdt5559l3331na9ascUGHe++912rWrGn33XefFStWzH788ceI6zp48KANGTLEzj77bKtfv74LYGg9smnTJtu8ebO1a9fO2rdv735XAEMef/xxe/TRRy3esG8AAEB2QAYGAAAAACBHUubD+PHjQxPSz5o1y7755htX4qlFixbuJipNN27cONu3b5/LzIgkGITQfDyvvfZa6PnKyChatKj99NNPLrNBgZCjjz7aPv30U1diKt6yL4R9AwAAsgMCGAAAAACAHE9lof766y+79NJLrW3btonmgahXr54rA6UyUZHKR4UHMpRVUbp0aTevhqi03cCBA+2ss86yvHnzurkxdJ+WGz58uMU79g0AAIhXlJACAAAAAOR4kyZNsmnTptmCBQtc2SivXLlyNnfuXBdoUHBCyyVH815o+fPPP99atWplO3bscPfffffdtmXLFlc+SqWpNDeG1q3JwVVWqnr16q5MlTJB4g37BgAAxCsCGAAAAACAHO+0005z2Reax+KV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KBjSunVrsi8AAEhNBkZ4qmM09A+9R48eqX4eAAAAAITr1q2b/ffff26UskY663pD9en9JN56TJ2NKueicrYAkF41atRwAQYFRdu2bev6OJQtEaRBnmvWrIn4fM1l0bVrVzfXRXj5O63nnnvusZo1a1rhwoVdAPbAgQMu+2LmzJkcPAAAUjsHBgAAAABklXz58lnfvn2tS5curnyLyq/s3LnTBS0UyDj22GPdHHzhnYsAkFaTJk1yZZ/uuOMON7fO7t27rVChQomW0d8KVESigKsyNlq1auWyMMINHDjQld/W3KIKYowaNcpNHq7vuwsuuMDNv6G5MXr37s1BBADkWlEFMOrVq2d58uSJeqWawAoAAAAAYk016K+66ip2LIAMd9ppp7mfe/futeuvv96V1VbGV5CCF0WLFj3iuYsWLXIBiV9//TXFkt2i7AuVwNOcGo8++qidcMIJNnHiRGvQoIGbg+PUU0+N6XsDACBHBTA0p4UPYOif8+uvv+5SKTUyQHNebNu2zU3yvXz5cjcyAQAAAACygjoBN27cSCYGgDRP4q05LTTvjle/fn03ubbmxwgfsKkMDd0fKXtDc1xo8m45dOiQ+6mMsVdeecUFRILeeOMNl3WhLDLNu6HsDM0r2qxZMzeBOAEMAEBulT/aerPeQw895CaveumllxJlZdx+++3Wq1cvW7x4ccZsKQAAAACk4LfffrNrr72WrHAAabJq1SqX5fX3339blSpV3H2aZFuDNzVh96BBg2zPnj2u7JMouKD7I/WjBIMUc+bMsY4dO9qCBQvcvBlBBw8etOeff94+//xz93fevHnt8OHDocdUKg8AgNwqb2qf8Mknn9g111wTsaTUFVdcYd9++22stg0AAAAAUl1iShnkAJAWjRs3dtkOKhelgOj06dPdYM2HH37YzjnnHKtWrZp16tTJDd585pln7Mcff7RbbrnFPVdZGsrIULZFmTJlrHbt2qGbD4bo9xIlSiR6zXHjxrkyUX4OH23D22+/bT///LObO6Np06YcTABArpXqAEaxYsXsr7/+iviY/rkfddRRsdguAAAAAEg1jWy+++672XMA0kQTaH/wwQeu70Plm7p06WLdu3d3N//Y2rVrXZDjrbfesilTplj16tXdc2fNmuXKSSl7I1rKsBg8eLCbzNvTHBirV6+2li1buu8zAhgAgNwsqhJSQZdccolLbSxQoIArJaUJpzZv3myffvqpDR8+3G699daM2VIAAAAAAIAMpkyIyZMnR3xMGRRff/11xMfUR5JUuaekHsufP/8RpbirVq3qgiEAACANAYyePXu60Qb9+vVLVEZK/4jbt29PujYAAAAAAAAAAMj8AEbBggXtxRdftN9//93mzZtnO3bscFkYSmn0aZMAAAAAAAAAAACZGsDwjjvuOHcL999//1nx4sXTtVEAAAAAEFSvXr1EGeDJ0XKanw8AAABALgtg7N+/39544w378ccf3e++hqN+7t6921asWGG//PJLRmwrAAAAgFzq5ZdfduVsCxUqZB07dszqzQEAAAAQjwGMZ5991t566y2rU6eObdmyxV1AlClTxpYvX24HDhywu+++O2O2FAAAAECu1bJlSxs5cqR17tzZKlSoYO3atcvqTQIAAACQwfKm9gkzZsywTp062YcffuhGPp144ok2ceJEd3+VKlXs8OHDGbOlAAAAAHK1008/3bp06WIvvPCC7du3L2br1TWM5vk766yzrFGjRnbrrbfa33//neTyixcvtptuuslOPvlkNxdgv379bOfOnTHbHgAAAABpzMBQ1sXZZ5/tflcWxoQJE9zvGgXVtWtXe/3118nCAAAAAJAhdM2hDPANGzZYtWrVYlae6p133rFnnnnGKlasaM8995wLlEybNs0KFiyYaNlNmza5AV3nn3++PfbYY7Z161Z75JFHrE+fPjZ8+PCYbA+AjPHXX3+5z3BOVrZsWatevXpWbwYAADGT6gBGiRIl3NwXcswxx9jatWtDE3fXqFHD/Q0AAAAAGaFYsWIu+yFWdG0zZswYu//++61FixbuviFDhrhsDGWZX3rppYmW/+eff6x58+b2+OOPW/78+e3YY4+19u3bu+cAiO/gRd169Wzvnj2WkxUuUsSWLV1KEAMAkHsDGKeddpq9+eab1qRJExfAKFKkiH3++ed25ZVX2s8//+wCGQAAAACQHSxdutR27dplzZo1C91XsmRJq1+/vs2dO/eIAEbDhg3t+eefD/39xx9/2AcffGBnnnlmpm43gNRR5oWCF7XPb2tFypTLkbtvz5aNtuLzSe69koUBAMi1AQxN0n399de71G0FMq677jqXMj1u3DhbtmyZdejQIWO2FAAAAABibN26de5npUqVEt1fvnz50GNJufDCC231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Woc2Vqh8zpsbZN+GTfb3u1OYGwRAzglguIXz57fzzz/f3QAAAAAAAICcTMGLolWpNgIAWSVvNAsNHTrU9u3bl6oV7969282LAQAAAAAZYceOHfbNN9/Yxx9/bLNmzbL//vuPHQ0AAADktgwMXRhceOGFdvPNN9vFF19s5cuXT3LZjRs32sSJE+3dd98lUwMAAABAhhg1apS9/PLLbqBVQkKCu69gwYJ222232V133cVeBwAAAHJLAOORRx5xwYhnnnnGnn32WWvYsKE1aNDAqlatakWKFLGdO3fa2rVrbf78+bZs2TI3X8ZTTz3l5sYAAAAAgFiaNGmSPf/883b11Vfb5ZdfbmXLlnUDqT744AMbNmyYm6evTZs27HQAAAAgt8yB0axZM3dBoEm8p02bZh999JFt3rw59LguGjSR9913323nnntuRm0vAAAAgFxu7Nix1qFDB3v00UdD99WsWdNOP/10K1y4sI0bN44ABgAAAJDbJvGWFi1auJvs2bPHZV+UKlXKpWsDAAAAQEb7888/rU+fPhEfO++881yGBgAAAIBcGMAIUvko3QAAAAAgs1SoUMH+/fffiI+tWbPGihcvzsEAAAAAcoC8Wb0BAAAAAJAaLVu2tKFDh9rChQsT3f/LL7/YSy+95B4HAABZ659//nHzVZUpU8aqVKli9913n+3du9c9tmrVKjffbrFixax+/fo2Y8aMJNeTJ0+eiDeVjJThw4e70vZ169a12bNnh563b98+O+6449y8vQByaQYGAAAAAGS2bt262axZs+yaa65xHSLqtNi0aZPrKKlVq5b17NmTgwIAQBZKSEhwwYvSpUvbt99+a1u2bLHOnTtbvnz57Nlnn7Urr7zSTjrpJJs3b55NnTrVzV21ZMkSq169+hHrCg9ADBkyxMaPH29XXHGFbdy40e6//36bPn26C17ceeed9tNPP7nlRo8ebZdccolVqlQp0943gNgjgAEAAAAgW1GJqPfff9/NdTF37lzbvn276wRRx8hVV13lJvIGAABZZ9myZS6gsG7dOlf6UR5//HEXbGjdurX98ccfbjCCMjCOP/54++KLL2zMmDH22GOPHbGuihUrhn5X5saLL75o06ZNs6OOOsrmzJnjgiTnnnuuVa5c2Z544gm33P79++2FF16wr7/+OhPfNYCMQAADAAAAQLaikZrnnHOOXXfdde4WpJGYb775pt16661Ztn0AAOR2Cjp8+umnoeCFp0EHCmyccsopLnjhNW/e3H744YcU19uvXz8777zzXPkpqVatmsvu+Ouvv2z+/PmhDA4FQxQoIfsCyMUBjM2bN7toplLC5PDhw7Znzx6X+tWhQ4dYbiMAAAAAhDz44IOudIRGXIZT+QmNzCSAAQBA1ilVqpRdeOGFob/Vbzhs2DAXfFBJKGVLBCnQsWbNmmTXqSDFO++84zI3PK3nnnvusZo1a7oMzPfee88OHDjgsi9mzpyZAe8MQNwHMJYuXerSvZTqFYkm0SGAAQAAACCWunbtGroG0SCqu+66ywoWLBhxoFWk+tkAACDr9O7d281NodKPmsOiUKFCiR7X35p0Ozma0+K0006z008/PdH9AwcOtD59+liRIkVcEGPUqFEueKL5Ni644AL7/fff3dwY2gYAuSCAoYl2lO71wAMPuEimLhpUZ+6bb75xt3HjxmXMlgIAAADItW6//XabOHGi+33KlClWv359K1OmTKJl8ubNayVLlnTzYAAAgPigPkRlRCh78sQTT3RBBg04CFLwomjRosmuR/NfqT0Qic/KVPaFAiSaU+PRRx+1E044wbUfGjRo4LI/Tj311Bi+MwBxGcD45ZdfXMr21Vdf7SKbmjTH157t3r27qzeraCgAAAAAxIpqZevmaSSl6l4DAID41a1bNxsxYoS99dZb1rZtW3dflSpVbPHixYmW02Tfyc1X8ffff9tvv/1mV1xxRbKv98Ybb7isC5WW+v777112hspZNWvWzL777jsCGEA2lDe1T9C8FzVq1HC/66dKSnka6bRgwYLYbiEAAAAABDz99NMELwAAiHP9+/e3kSNHunkprr322tD9TZs2deWkNJeup+CC7k/KnDlz3P/+5MpEHjx40J5//nlXTspnZmruDf+Yn8cXQA7PwFAEU1FPZVkogPHff/+5SXaqVq3qykmpvBQAAAAAxNLxxx/vSk+oBES9evXc3HtJ0WMapQkAALLGkiVL7IknnnBVXJo3b+4yLLxzzjnHBSM6depkjzzyiKvu8uOPP9rrr78eGjy9ZcsWK1eunJvHQhYtWuTKRyZHZe1VJspPEN64cWN7++233d9fffWV9erVK0PfM4A4CWC0atXKBg8e7OrSaUKcmjVrujp2t956q40ZM4aRUAAAAABiTpN2V6hQIfR7cgEMAACQtT744AM7dOiQPfnkk+4WpEwIPX7LLbe4kk61a9d281v57IpZs2a5+XZXrVoVqgKzfv360DwXkSjDQv2VM2bMCN2nOTDat29vLVu2dGXvk8vwAJCDAhh33323/fnnn27iHAUwFEnVfR9//LGLiipVCwAAAABiSdccwXrayVEnBgAAyDoq4+RLOUWioMXXX38d8bEWLVocUe5J82gkJ3/+/EfMq6FqMQqGAMhlAYxChQrZiy++aAcOHHB/n3XWWS7VS18SJ5xwQrK16AAAAAAgvfr27etuhQsXPuIxzdH3wAMPuJGdAAAAAHLZJN5egQIFQr8raNG6dWuCFwAAAAAynAZQXXHFFbZw4cLQfSpTMWzYMLv66qtt586dHAUAAAAgt2RgaAKc4cOHu8nyVDcupQnzPv/881huIwAAAACETJ482Xr37m3XXXed3XHHHa5O9sMPP2zLly+3jh07Wo8ePdhbAAAAQG4JYDRp0sSKFSsW+p0J8wAAAABklVq1atmECRPs1VdftZdeesllXtSsWdMmTpxo9evX58AAAAAAuSmA8fTTT4d+f+aZZyJOkqfJcgAAAAAgM/z11182e/ZsVzqqfPnytmbNGvv222+tbt26li9fPg4CAAAAkAOkKeowatQomzdvnvsp8+fPt549e9rtt9/uUrYBAAAAIKMo40LXIqVKlbJXXnnFzjjjDJeJ8eKLL9r06dPtiSeesAYNGnAAAADIoEEEmzZtytH7tmzZssz1C2TXAMaYMWPshRdeSBSo0CTeF110kcvOKFSokLVr1y7W2wkAAAAAoQDG5Zdfbn379rWSJUu6++677z47//zzrU+fPtahQwdbvHgxewsAgAwIXtStV8/27tmTo/dt4SJFbNnSpQQxgOwYwHjvvffcpHhdu3YN3VepUiV38aDo5NixYwlgAAAAAMgwL7/8srVs2fKI+5V1MXXqVBs6dGiq1nf48GEXFNEcGjt37rTGjRtbv379rFq1ahGX//333+25556zX375xfLmzeuWV+CkcuXKaX5PAABkB8q8UPDiuK6XW9FKZS0n2r12k/0+6kP3XjVoG0A2C2CsX7/eTjrppIiPNWzY0EaMGBGL7QIAAACAiCIFL7wCBQrYHXfckeqAyDvvvOMyyitWrOiCE126dLFp06ZZwYIFEy27detW69Spk51yyin2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q6++Yk8BAAAAuTEDY+TIkXbttdfaY489ZocOHQrd37ZtW9uyZYtNmDDBevToEevtBAAAAABHc+/t3LnT/V6jRg3bvHmzm5uvVKlSVqFCBVu/fj17CgAAAMiNGRirVq1y2RaRNGzYkIsFAAAAABmqWbNmbmDVP//8Y9WrV3fz8k2ZMsU9NnPmTBfgAAAAAJALAxhHH320/fHHHxEf0/16HAAAAAAyyj333OOyLlTaVnPyaS6MgQMH2umnn25jx4512eEAAAAAcmEJqYsvvthefPFFK1++vJ1zzjnuPl00qO6s5r+49NJLM2I7AQAAAMCpUqWKm5tv9erV7u9OnTpZ2bJl7aeffrIGDRpYmzZt2FMAAABAbszA0PwWjRo1cj9PPfVUd98NN9xg7dq1c/VnNRoKAAAAADJS4cKFrV69eqG/W7du7a5FCF4AAIDsYt++fXbiiSfaV199Fbpv9uzZdsYZZ1jx4sWtbt269tprr0W1rgEDBtjNN9+c6L7JkydbpUqVrFq1ajZt2rREjylz9eeff47ROwHiKAOjYMGC7oPz/fffuw+UJssrUaKENWnSxGVkKBsDAAAAADLKwYMH3RwYxxxzjF122WU2Z84c6969u+3YscNdlyhjXPNiAAAAxKu9e/faddddZ4sXLw7dt27dOjco44477rA33njD5s+f7zJNFYS45JJLklzXu+++a48++qh17NgxdN+hQ4esa9euNnToUDt8+LBbz8aNG13frTJZtc6TTz45w98nkOkBjFtuucW6dOliZ555prsBAAAAQGZSgGL06NH20EMPub+ffPJJK1WqlN111132+uuv2+DBg+3xxx/noAAAgLj022+/ueBFQkJCovunTp1qFStWtKeeesr9fdxxx9nMmTPtnXfeiRjA0KCObt26uTnAatWqleixTZs2uTnDVDVHr3PjjTe6AIamBVA7acSIERn8LoEsKiGlurJkWQAAAADIKh9//LHdd999dv3119sff/xhv//+uxupqAvze++917788ksODgAAiFtff/21nXvuufbDDz8kuv+iiy5ygzHCbd++PeJ6/vvvP1u4cKHLRm3WrFmixzQ/WNGiRV1frjI5ihUrZkcffbR9+umnVqFCBbIvkHMzMM466yz78MMP3fwXBQoUyJitAgAAAIAkbNiwwRo2bOh+V83ovHnz2tlnn+3+1qjFnTt3su8AAEDc0sCLSDS/sG7BNs97771njz32WMTllYGqMv+R5MuXzwYOHOj6ctVWeumll9x9yr4YPnx4jN4JEIcBjEKFCrkAxieffOJSkxTJC1J2hmq0AQAAAEBGUOmDNWvW2GmnneayLY4//ngrU6aMe0yTUSqIAQAAkJ3t2bPH2rZt69o1t912W5rWcffdd9tNN93k+ms1KfiMGTOsXLlyVqdOHWvfvr2b3/jqq6925TepuIMcE8DQZDLBCV7Ca7WF/42sV6xAIVOuzOED+zLtNfPkyWt58pOhAwAAgNi79NJL7emnn7Zp06a5kgj9+vVz9w8YMMBNYnn77bez2wEAQLal0lBXXHGFLV++3L777rsjBpCnRokSJUK/K/tCc4kNGzbMzZ+xbNkyl8U6efJkFywBckQA480338yYLUGGKaRAwuHD9t/3H9qhHVsyfE/nK1nGije/3PJk+CsBAAAgN+rRo4e7kJ87d6717NnTTYIpv/76q3Xu3DnJsgwAAADxbseOHda6dWtbsWKFyzTVRN6x8Pnnn7uM1VNOOcWVpNJrFClSxFq2bOmCJAQwkK0DGEovatq0qZUsWTLjtwgZRsGLQ9s2sIcBAACQranEgUophJdTUI1oAACA7Orw4cN21VVX2cqVK91E3/Xq1YvZupV9MWTIEPe75sTQa4kyMaiog2wfwLjnnnts/Pjx1qBBg9B9r776qvtAafZ6AAAAAMhM69evd+Wj9u/fH7pPF+KqFz1v3rzQBToAAEB2MXr0aJs5c6abf1gTdKuUvxQsWNBlT6jds2XLFjePhSbkjpYyOY466ig79dRT3d+NGze2iRMnWosWLVxJzieeeCLD3hOQKQGM8CjcoUOH7Pnnn7czzjiDAAYAAACATPXpp5/a/fff70YM+gkndc3if69ZsyZHBAAAZDuTJk1yAzI031fQOeecY1999ZXNmjXLzj33XFu1apXVqFEjVdkXgwYNCv3drVs3ty717V5zzTXWrl27mL4PIEvnwPBILQIAAACQFUaOHGknnHCCPfroo/b222+7AVa33nqrK7WggVYPPfQQBwYAAGQLwT5WDdJIjjImkuqTHTt2bJLPU/AjSNMEfPzxx6neViBbBTAAAAAAICto1OHgwYOtfv36dvrpp9uYMWOsVq1a7rZp0yYX4DjzzDM5OAAAAEA2lzerNwAAAAAAUkMTT6qOs/x/7d0JvFVj+//xq9I8EEkioTQRRYMehVCmkCFjKKQ8KoQoCmVKhggZM1WPMaUnZEhJg1IpSVJpoNI80Fzr//pez3/t3zl1Gs4+0957fd6v1+m099n7nL3XXute97qv+76uihUreqHLsBDlqaeeanPmzGGDAgAAAFEPYIQ5ZgEAAAAgt6jGxZQpU2L/V0HLWbNm+e1169alK+wNAAAAIAIppG699VaveJ9Wu3btrGDBgrsENb766qvse4UAAAAAkMaVV17p9S82bNhgd9xxh5188snWpUsXu+yyy2zAgAFeHwMAAABARAIYF198cc6/EgAAAADYjeuuu86DFqpz0aJFC19l8ccff/jPevbs6UW8H3nkETvssMPsvvvuYzsCAAAAUQlgPPbYYzn/SgAAAABgNyZOnGj//PNP7PY111wT+3+FChXss88+s9WrV9uBBx7INgQAAACilkIKAAAAABKVUtkSvAAAAHlp4cKFtmLFipT9EMqUKWNHHHFEXr8MRAwBDAAAAAAAAADIYvCiWvVqtnHDxpTdjkWLFbVZv8wiiIFcRQADAAAAQFK49dZbrVChQvu0GuOrr77KldcEAAAgWnmh4EWju8+xAyqkXkrLNYtW2Zjen/v7ZBUGchMBDAAAAABJoUaNGqSJAgAACU3Bi4MqH5LXLwNIGQQwAAAAACTNCozjjz8+r18GAAAAgFySny0NAAAAAAAAAAASDQEMAAAAAAAAAACQcAhgAAAAAEh4F198sZUuXTqvXwYAAACAXEQNDAAAAAAJ77HHHsvrlwAAAAAgl7ECAwAAAAAAAACQUBYtWmTNmjWzUqVK2ZFHHml9+vTZ7WNfeuklO/roo/2x55xzjs2bNy/2s8GDB9uhhx5qFSpUsGHDhqV7Xv369W3q1Kk5+j6QNazAAAAAAAAAAAAklMsvv9wqVqxokydPtpkzZ9rVV1/tt5VaNK0RI0ZY586dbdCgQValShXr0qWLP2batGm2fft2u/nmm+3ZZ5+1HTt2WOvWrW358uWWL18++/TTTz2wUbt27Tx7j9g7AhgAAAAAAAAAgISxevVqmzBhgr366qt2zDHH+JdWVnz99de7BDAUiGjatKmv1pAHH3zQjj/+eFuxYoUHMFauXGktWrSwIAjsuuuu8wBG2bJlrUePHtavX788eofYV6SQAgAAAAAAAAAkjKJFi1qxYsXsjTfesK1bt9qvv/5qY8eOzXC1xEEHHWTffvutzZo1y7Zt22Zvv/22p5wqXbq0lSlTxn/PlClTfCVH8eLF/fGff/65HXLIIay+SAIEMAAAAABEmtIJPPfcc9aoUSOrVauWtWnTxnMu78vzbrrpJuvbt2+uvE4AAICoKFKkiL3wwgv28ssvezCjWrVqdu6559qNN964y2M7dOjgP69evbo/75VXXrGhQ4dagQIF/KtXr17ez2vcuLE9/fTTfp9WX2ilBhIfAQwAAAAAkfbiiy96zuSePXvau+++GwtMbNmyZbfP0c+6du1qY8aMydXXCgAAEBW//PKLXXDBBZ5KSisxPvzwQxs4cOAuj1u8eLFt2rTJfzZu3Dg77bTTrGXLln6ftG/f3latWuWppFQP44svvrCDDz7Y62WozsYRRxxhnTp18hRTSDwEMAAAAABElgIR/fv3t44dO9rpp5/us/eeeeYZW7p0qV/cZkQpCC655BL74YcfrFSpUrn+mgEAAFKdal289tpr3k+rU6eOtWrVyu699157+OGHd3lsu3bt7NJLL/Ui3/Xq1fOJKVpNq1UYoZIlS1qJEiX8/1p98cADD9jzzz/vKaeUnkqTUgYPHpyr7xH7hiLeAAAAACJLuZL/+ecfa9CgQew+BSVq1KhhkyZNihWDTGv06NGehuDWW2+1Cy+8MFteh2b8bdiwYZf7N27caFGg95nR+9/T46OCbcN2YZ/hWKKNof1N5vNSvMaPH2+VKlVK10dSiqgFCxbs8vdV2+LOO++M3Z8/f35/7m+//bbLY0eOHGn777+/T1rp1q2bF//W31Df7ptvvvE0Vch52ub58uXbp8cSwAAAAAAQWVppIYceemi6+8uWLRv72c7uuOOObH8dKk6pNAk7mz9/vkWB3qdyVmfm8VHBtmG7sM9wLNHG0P4m83kpKwPcs2fPtunTp1vBggX9Pq2SUJ9t5z6TinJrgkmFChViK2znzp3rz9v5sd27d/d0Ubpfk1iUfkr/X7ZsmacRzag/hpxRqFChfXocAQwAAAAAkRXO5N/5Aqpw4cK2du3aXHsdusCuXLnyLveHuZtT3ZFHHumzKvdVVLaLsG3YLuwzHEu0MbS/yXxeilf58uW9iPdzzz1n99xzj6+meOeddzz1k2pXLF++3A488EDvw6muRZ8+faxhw4a+8kKpoQ444ABr06ZNumDLqFGjrFy5cp4KVJQ+VCsyWrRoYd9//72vyMiN9wazOXPm7PNmIIABAAAAILLCi1rN1Et7gbt582YrWrRorr0OLaEvVqzYLvfn5mvIS3qfGb3/PT0+Ktg2bBf2GY4l2hja32Q+L8VLf0PBhdtuu81OPfVUL7p9//33e0FupZFSoEIpnxSE6Nq1q08Gufvuu71Q97/+9S+voaEAR1pPPPGEPfnkk7HXr5UYShl65pln2hVXXOGFv5V+CjlvX9NHCQEMAAAAAJEVpo5S2oAjjjgidr9uV61aNQ9fGQAAQLSpJtmXX36Z4SoQpZgKFShQwAt862tPtAIjLdU9Gz58eDa+YuQEQkoAAAAAIksFHEuUKOFpA0Lr1q2zmTNnWt26dfP0tQEAAABRxwoMAAAAAJGlvMlKF6B0AkozcNhhh1nv3r09P3LTpk1t+/bttmrVKitZsmSuFKwEAAAA8H9YgQEAAAAg0jp27GiXXXaZ51W+6qqrPA3B66+/7rmUlyxZ4gUhP/3007x+mQAAAEDksAIDAAAAQKQpYKGij/ra2eGHH26//vrrbp+r4pIAAAAAIrwCY82aNda9e3evOH/iiSf6rKgffvgh9vPx48fbJZdcYieccIKdc845uxRf2bx5sz300EPWoEEDq127tt15552+DDytvf0OAAAAAAAAAACQe5JiBUanTp1s+fLl9vTTT9tBBx1k77zzjt1444328ccfe8X5tm3bWuvWrT1XrarJd+7c2fPXKmAhDz74oAc8+vbt6zluH3jgAV8mPmDAAP/53Llz9/o7AAAAAAAAAACZs3DhQluxYkVKb7YyZcrYEUcckdcvIyUlfABjwYIFNnbsWBs0aJCddNJJfl+3bt1szJgxNmzYMFu5cqVVrVrV7rjjDv9ZpUqVbObMmfbaa6958OGvv/6yIUOG2EsvvWR16tTxxygQolUWU6dO9RUZb7311h5/BwAAAAAAAAAg88GLatWr2cYNG1N60xUtVtRm/TKLIEYUAxilS5e2V155xWrWrBm7L1++fP61bt06X1lx1llnpXvOySefbI888oivzpg8eXLsvtBRRx1lhxxyiE2aNMkDGHv7HfpbAAAAAAAAAIB9p5UXCl5c0e1fVrbi/im56ZYtWGvv9Rzn75VVGBEMYJQqVcpOO+20dPeNGDHCV2Z07drV00iVK1cu3c/Lli1rGzdutNWrV/sKDAVBChcuvMtjli5d6v/X9z39DqWSyiwFPjZs2LDL/QqG5C+4nwXB/x6TG8I/k1t/0/9GYL79cus9AgAAIO8w6QcAAAB7ouDFYVUzP8YKJHwAY2dTpkyxLl26WNOmTe3000+3TZs2eV2LtMLbW7Zs8UH0nX8uCmiouLfs7XfEY+vWrfbLL7/scn+RIkXsqMqVbPv2bbZt2zbLDTt2bPfv23fk0t/cvs3/5rx5v/u2BQAAQOrLqM8NAAAAAJEJYHz11Vd211132YknnmhPPvlkLBCxc5AhvF20aFEPGGQUhFDwQj/fl98Rj4IFC1rlypUzXoFRoIAVKLCf7bdf7mz+/PkL+PcC+fczy4W/qfemv3n00UezAgMAACAC5syZk9cvAQAAAEAKSpoAxoABA7wmhYpv9+rVKzbD69BDD7Vly5ale6xuFytWzEqWLOmpodasWeMBibSzwvQY1cHYl98RDwUq9PyMbN621VRWI7dqa4R/Jrf+pv+NfPEHfwAAAJBcqBkHAAAAICfktyQwaNAg69mzp11zzTX29NNPpwtE1KlTxyZOnJju8RMmTPBVGvnz57eTTjrJduzYESvmLb///rvXxqhbt+4+/Q4AAAAAAAAAAJC7En50XsGGRx991Jo0aWJt27b1au7Lly/3r/Xr19u1115r06dP95RSc+fOtf79+9vnn39uN910kz9fqyzOP/98u//+++3777/3x3bq1Mnq1atntWrV8sfs7XcAAAAAAAAAAIDclfAppEaMGOEFsb/88kv/Suviiy+2xx9/3F588UXr3bu3vfXWW3b44Yf7/xs0aBB7nFZvKAjSvn17v33qqad6QCN0zDHH7PV3AAAAAAAAAACA3JPwAYx27dr5154oIKGv3VEtiocffti/4v0dAAAAAAAAAAAg9yR8CikAAAAAAAAAABA9BDAAAAAAAAAAAEDCIYABAAAAAAAAAECSOf/8861Vq1a7/fk777xjVatWtVKlSnk96aVLl8Z+NnbsWKtUqZIdfPDB9uqrr6Z7XosWLWzIkCGWCAhgAAAAAAAAAACQRN5991379NNPd/vzESNGWOvWra1Dhw42ceJEK1GihJ177rm2Y8cO/3n79u3t5ptv9t/TsWNHW7Fihd8/Y8YMmzdvnl100UWWCAhgAAAAAAAAAACQJFatWmV333231a1bd7eP6du3r11zzTUeqKhWrZq98sortnDhQvvyyy/957NmzfJVGWeeeaYdcMABHrSQnj17Wrdu3SxfvnyWCAhgAAAAAAAAAACQJO666y679tprrUaNGrt9jAIS9evXj90uWrSoVa5c2caPH++3jzjiCJsyZYotWLDAVq9ebYcffrjNnDnT5syZkzCrL2S/vH4BAAAAAAAAAABg70aOHGnffvut/fTTT3bLLbfs9nGHHHKI/fnnn7HbSh2l22GqqMcee8xatmxpW7Zssa5du1r58uXtzjvvtPvvvz9hVl8IKzAAAAAAAAAAAEhwmzZtsrZt29oLL7zgKyr25IorrrB+/fr5ioutW7fao48+an/99ZcHLOSSSy6xlStXekCjR48enlLq119/tQsuuMADIxUqVLDrrrvO/2ZeIoABAAAAAAAAAECCe+ihh6xOnTp29tln7/Wxbdq0sauuusoaNWrkwQ4V5z7vvPOsVKlSscfoftW/CGtfaPXFRx995KmlZs+ebevWrfNgSV4igAEAAAAAAAAAQIJ79913bciQIVaiRAn/GjhwoH/p/zsrUKCABx8UhFi2bJk/d8mSJXbkkUfu8litvAiLeo8dO9ZOP/10D24oUPLdd99ZXqIGBgAAAAAAAAAACW7UqFGeDip0zz33+PdevXrt8thnnnnGNm/ebPfee68VK1bMgxdTp061/v377/LYhx9+2O677z6vfZE/f36vlyHbtm2zIAgsLxHAAAAAAAAAAAAgwVWsWDHd7ZIlS/r3ypUr2/bt22358uV24IEHWqFCheyoo46y1q1bW/369a1s2bJ288032/nnn2/HHXdcut/x22+/2c8//2xvv/22365bt64HNPTc999/35o1a2Z5iRRSAAAAAAAAAAAksUWLFtmhhx5q48aN89vNmze3zp072zXXXGMNGza0KlWq2DvvvLPH1Rdh8W8FMRo0aOCBj/bt21teYgUGAAAAAAAAAABJ5s0334z9X7Utdk731KVLF//ak7feeivd7f322y+2GiMRsAIDAAAAAAAAAAAkHAIYAAAAAAAAAAAg4RDAAAAAAAAAAAAACYcABgAAAAAAAAAASDgEMAAAAAAAAAAAQMIhgAEAAAAAAAAAABLOfnn9AgAAAAAAAAAAiJqFCxfaihUrLFWVKVPGjjjiiCz9DgIYAAAAAAAAAADk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Ll261FasWOEn8IIFC8Z+tnbtWvbrHN7+Yafpqaeesttuu81uuukmGz58eEpv97BjoBU+1113nd1zzz3eKXr77bf952EQA/9HK6KaNGli7777rs2cOZPgRQbCY6l3797WvXt3e/31123QoEF24YUX2nvvvefL15NN2lUWOi4+//xza9u2rf300082ZcoUu+qqq3zAC1lPVdK/f3/76quvbPHixWzOCOOYi3+7cV6Pb7tFsR+4N/R5Um+cgmvOaEmU8ZsoXjtkt6j1kfMl2pifamAA8fr999+Ds88+Oxg8eLDf3rZtW/DTTz8Fffv2Dfr37x8sWrSIjZuNNm/eHLRp0yZ49913Y/dt2LAhmDFjRnDbbbcFdevWDapWrer/X7lyZY5ue/3+Fi1aBG+88Ubsvq1btwb33HNP0LRp02DkyJFBsvriiy+C888/P1i4cGHsvuHDhwennHJK8M8///jtHTt25OErTG39+vULTj755GDs2LHBkiVLguXLlwdr164N5s+fH2zZsiVIFWn3oW+++SY4/vjjg3feeSeYNWtW8MADD/ixPGDAgAwfH0U6LrWd0rrllluC++67L9i0aVOeva5E9sEHHwQNGzYMpk2b5m32+vXrg27dugU1a9YMRowYkdT71eTJk4N69eoFH330kd+eMmWKHzONGzf2cyKy5tlnn/XtqfZ4zZo1bE5wzO0DzuvZIyr9wD2hzxONcQquOVNfIo3fRP3aIbtEqY+8MsHG/EghhSzZsGGDFSpUyOrUqeMz1h977DH75ZdfPJJ80EEHeZEizSbWbIe8jiingnC5YRj91pI+RcaHDh3qPzv55JPt6KOP9lnJipzr88jJ17Jy5Uo77rjj/PaWLVt8X3jkkUfs4osv9gLYWlaWjFQYWOmjypYtG7tPt//55x+ffaBi3uzPOTMbafXq1fb9999bjx497F//+penXvjss898yaKKnTVs2NDblHBlTDLSbPGjjjrKZzFoqe7GjRt9v1JNh5YtW/pKn+nTp1vNmjWtZ8+e/hgtO47qPqf3r/1AbYu2zemnn27NmjXz702bNvVZMNqGmsVEKqn0tN207Pv444+PzQjWsaW27PHHH/djTPthonvllVd8BqryBYfvY9q0ab4PXHLJJX4ufPHFF+3yyy/3/ke7du3stdde8/NhMrcVuSHcnsrjqz6dtp/a2Y4dO/p5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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "----------------------------------------------------------------------------------------------------\n", "⏱️ Análisis Categórico completado en 4.09s\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import time\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import warnings\n", "from IPython.display import display, Markdown\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def radiografia_visual_categoricas(\n", " X: pd.DataFrame, \n", " y: pd.Series, \n", " clase_favorable=None,\n", " max_cats_visual=12 # Límite inteligente para no saturar la pantalla\n", "):\n", " \"\"\"\n", " [FASE 2 - Paso 5.2] Motor AutoML de Visualización (Categóricas).\n", " - Escudo RAM (NUEVO): Submuestrea datasets masivos a 15k filas solo para el Countplot visual.\n", " - Izquierda: Frecuencia Absoluta (Volumen total segmentado por Target).\n", " - Derecha: Target Rate (Probabilidad de éxito), ordenado de mayor a menor (Usa 100% de los datos).\n", " - IA Visual: Agrupa colas largas (alta cardinalidad) en 'OTROS' para mantener legibilidad.\n", " - Resiliencia: Convierte NaNs explícitamente a texto para hacerlos visibles.\n", " \"\"\"\n", " if X is None or y is None or X.empty or y.empty:\n", " logger.error(\"🛑 Error Crítico: Las matrices están vacías.\")\n", " raise ValueError(\"Las matrices están vacías.\")\n", "\n", " logger.info(f\"=== 🔠 FASE 5.2: Análisis Visual (Categóricas vs Target) ===\")\n", " inicio_timer = time.time()\n", " warnings.simplefilter(\"ignore\")\n", " \n", " if MODO_VISUAL:\n", " sns.set_theme(style=\"whitegrid\", context=\"notebook\")\n", " paleta_target = \"Set2\"\n", "\n", " # 1. Aislar variables categóricas (Texto, Categorías y Booleanos)\n", " cat_cols = X.select_dtypes(include=['object', 'category', 'string', 'bool']).columns.tolist()\n", " if not cat_cols:\n", " logger.warning(\" ⚠️ [INFO] No se detectaron variables categóricas para visualizar.\")\n", " return\n", "\n", " # Ensamblaje Seguro\n", " df_viz = X[cat_cols].copy()\n", " target_name = y.name if y.name else 'Target'\n", " df_viz[target_name] = y\n", "\n", " # 2. Determinar la Clase Favorable (para calcular probabilidades)\n", " if clase_favorable is None:\n", " clase_favorable = y.value_counts().index[-1]\n", " df_viz['target_binario'] = (df_viz[target_name] == clase_favorable).astype(int)\n", "\n", " total_filas = len(df_viz)\n", "\n", " # ==========================================\n", " # 🚀 ESCUDO RAM: Muestreo Único de Alta Velocidad\n", " # ==========================================\n", " MAX_PLOT_SAMPLES = 15000\n", " if total_filas > MAX_PLOT_SAMPLES:\n", " logger.warning(f\" ⚠️ [ALERTA DE RENDIMIENTO] Matriz masiva detectada ({total_filas:,} filas).\")\n", " logger.info(f\" ⚡ Protegiendo RAM: Extrayendo muestra de {MAX_PLOT_SAMPLES:,} filas para gráficos de volumen...\")\n", " # Guardamos solo los índices para aplicar el filtro rápidamente dentro del bucle\n", " indices_muestra = df_viz.sample(n=MAX_PLOT_SAMPLES, random_state=42).index\n", " nota_muestreo = \" (Muestra 15k)\"\n", " else:\n", " indices_muestra = df_viz.index\n", " nota_muestreo = \"\"\n", "\n", " logger.info(f\" 📊 Procesando Dashboards para {len(cat_cols)} variables categóricas...\\n\")\n", "\n", " # ==========================================\n", " # 3. Motor de Renderizado Iterativo\n", " # ==========================================\n", " for col in cat_cols:\n", " # A. Tratamiento de Nulos y Tipos para visualización segura\n", " df_viz[col] = df_viz[col].astype(str).replace('nan', 'MISSING_NaN')\n", "\n", " # B. Filtro AutoML de Alta Cardinalidad (Protección visual)\n", " unicos = df_viz[col].nunique()\n", " if unicos == 1:\n", " logger.info(f\" ⏭️ Saltando '{col}': Constante absoluta.\")\n", " continue\n", "\n", " if unicos > max_cats_visual:\n", " # Mantener el Top N y agrupar el resto en 'OTROS_AGRUPADOS'\n", " top_categorias = df_viz[col].value_counts().nlargest(max_cats_visual - 1).index\n", " df_viz[f\"{col}_viz\"] = df_viz[col].where(df_viz[col].isin(top_categorias), 'OTROS_AGRUPADOS')\n", " col_plot = f\"{col}_viz\"\n", " else:\n", " col_plot = col\n", "\n", " # --- CÁLCULO DE TARGET RATE (Probabilidad de Éxito) ---\n", " # 🔧 MANTENIDO: Calculamos la media usando el 100% de los datos (df_viz) porque groupby es ultra-rápido\n", " tasa_exito = df_viz.groupby(col_plot)['target_binario'].mean().sort_values(ascending=False).reset_index()\n", "\n", " # 🚀 FIX MLOps: Inyectamos el Top 5 al archivo de log para telemetría Headless\n", " texto_tasas = \" | \".join([f\"{row[col_plot]}: {row['target_binario']:.1%}\" for _, row in tasa_exito.head(5).iterrows()])\n", " logger.info(f\" 📌 Top 5 Tasas de Éxito en '{col}': {texto_tasas}\")\n", "\n", " # C. Creación del Lienzo\n", " if MODO_VISUAL:\n", " fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(16, 6))\n", " fig.suptitle(f\"Radiografía de: {col} (Clase Éxito: '{clase_favorable}')\", fontsize=16, fontweight='bold', y=1.05)\n", "\n", " # --- PANEL IZQUIERDO: Volumen Absoluto (Countplot) ---\n", " # 🔧 FIX: Usamos el dataframe filtrado por el escudo de RAM\n", " df_plot = df_viz.loc[indices_muestra]\n", " orden_volumen = df_plot[col_plot].value_counts().index\n", "\n", " sns.countplot(\n", " data=df_plot, x=col_plot, hue=target_name, \n", " order=orden_volumen, palette=paleta_target, ax=axes[0], alpha=0.9\n", " )\n", " axes[0].set_title(f\"Volumen de Filas por Categoría{nota_muestreo}\", fontsize=13)\n", " axes[0].set_ylabel(\"Frecuencia (Cantidad)\")\n", " axes[0].set_xlabel(\"\")\n", " axes[0].tick_params(axis='x', rotation=45)\n", "\n", " # --- PANEL DERECHO: Target Rate (Visualización) ---\n", " sns.barplot(\n", " data=tasa_exito, x=col_plot, y='target_binario', \n", " palette=\"viridis\", ax=axes[1], edgecolor=\"black\"\n", " )\n", " axes[1].set_title(f\"Probabilidad de ser '{clase_favorable}' (100% Datos)\", fontsize=13)\n", " axes[1].set_ylabel(\"Tasa de Éxito (0.0 a 1.0)\")\n", " axes[1].set_xlabel(\"\")\n", " axes[1].tick_params(axis='x', rotation=45)\n", "\n", " # Inyectar porcentajes sobre las barras\n", " for p in axes[1].patches:\n", " axes[1].annotate(f\"{p.get_height():.1%}\", \n", " (p.get_x() + p.get_width() / 2., p.get_height()), \n", " ha='center', va='bottom', fontsize=10, color='black', \n", " xytext=(0, 4), textcoords='offset points')\n", "\n", " plt.tight_layout()\n", " plt.show()\n", " logger.debug(f\"Renderizado visual del dashboard categórico para '{col}' completado.\")\n", " else:\n", " logger.debug(f\"Renderizado visual omitido para '{col}' (MODO_VISUAL=False).\")\n", " \n", " logger.info(\"-\" * 100)\n", "\n", " # Limpieza de basura temporal\n", " cols_a_limpiar = [c for c in df_viz.columns if c.endswith('_viz') or c == 'target_binario']\n", " if cols_a_limpiar: df_viz.drop(columns=cols_a_limpiar, inplace=True)\n", "\n", " logger.info(f\"⏱️ Análisis Categórico completado en {time.time() - inicio_timer:.2f}s\")\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'y_train'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " # Extracción Automática de la clase minoritaria desde la memoria del Manager (rutas)\n", " clase_fav_dinamica = None\n", " if hasattr(manager, 'rutas'):\n", " clase_fav_dinamica = manager.rutas.get('clase_minoritaria', None)\n", "\n", " # Ejecutar el motor de visualización alimentándolo desde el manager\n", " radiografia_visual_categoricas(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " clase_favorable=clase_fav_dinamica, # Se usa la detectada en el Paso 4.1\n", " max_cats_visual=10 # Si una variable tiene 40 países, mostrará los 9 top y 1 \"Otros\"\n", " )\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la visualización categórica: {e}\")" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🌌 FASE 5.3: Dispersión Cruzada Bivariada (Pairplot) ===\n", " ⚠️ [ALERTA DE RENDIMIENTO] Matriz masiva detectada (26,029 filas).\n", " ⚡ Protegiendo RAM: Muestreando 2,500 filas estratificadas para renderizado fluido...\n", " 📊 Generando Matriz de Interacción para: ['age', 'education_num', 'capital_gain', 'capital_loss', 'hours_per_week']\n", "\n" ] }, { "data": { "image/png": "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RERERERERKMeg04iIiIiIiIiIiIa9Rh0EhERERERERER0ajHoJOIiIiIiIiIiIhGPQadRERERERERERENOox6CQiIiIiIiIiIqJRj0EnERERERERERERjXoMOomIiIiIiIiIiGjUY9BJREREREREREREox6DTiIiIiIiIiIiIhr1GHQSERERERERERHRqMegk4iIiIiIiIiIiEY9Bp1EREREREREREQ06jHoJCIiIiIiIiIiolGPQScRERERERERERGNegw6iYiIiIiIiIiIaNRj0ElERERERERERESjHoNOIiIiIiIiIiIiGvUYdBIREREREREREdGox6CTiIiIiIiIiIiIRj0GnURERERERERERDTqMegkIiIiIiIiIiKiUY9BJxEREREREREREY16DDqJiIiIiIiIiIho1GPQSURERERERERERKMeg04iIiIiIiIiIiIa9Rh0EhERERERERER0ag3KoLOaDSKX/ziFzjttNOwYMECXHnllVi9enXy8Y0bN+Kqq67C/Pnzcfrpp+OJJ57o9XzDMHDfffdhyZIl6pjrrrsO1dXVvY5JxRhEREREREREREQ0PEZF0PnQQw/hz3/+M+68804899xzKC8vx7XXXouGhga0trbimmuuQVlZGZ555hnccMMNuOeee9TXCQ8++CCefPJJ9fynnnpKhZby/HA4rB5PxRhEREREREREREQ0fEZF0PnKK6/g3HPPxUknnYSJEyfi1ltvRWdnp6rqfPrpp2Gz2XDHHXegoqICF110Ea6++mo88sgj6rkSRD722GP4yle+glNPPRUzZszAvffei7q6OvzrX/9Sx6RiDCIiIiIiIiIiIho+oyLozMnJwWuvvYaamhrEYjH86U9/gt1uV4HjihUrcMwxx8BqtSaPP+6441BZWYmmpiZs2rQJPp8Pxx9/fPLx9PR0zJo1Cx988IG6nYoxiIiIiIiIiIiIaPjsTfZGsO9+97v46le/iqVLl8JisUDXdfzyl79US82lqnLatGm9js/Pz1fXtbW16nFRVFS0zzGJx1IxBhEREREREREREQ2fUVHRuW3bNni9XjzwwAOqmvPCCy/EzTffrBoIBYNBVd3Zk8PhUNehUAiBQEB93d8x8rhIxRhEREREREREREQ0fEZ8RadUVH7zm9/E448/jqOPPlrdN2fOHBV+SlWn0+ncpyFQInx0u93qcSHHJL5OHONyudTXqRiDiIiIiIiIiIiIhs+Ir+hcs2YNIpGICjd7mjdvHqqqqlBYWKi6r/eUuF1QUJBcbt7fMfK4SMUYRERERERERERENHxGfNApIaTYvHlzr/u3bNmCSZMmYfHixVi5cqVqUpTw3nvvoby8XDUxkoZFHo8Hy5cvTz7e0dGBDRs2qOeKVIxBREREREREREREw2fEB51z587FokWL8O1vf1uFj9IJ/ec//zneffddfOELX8BFF12Erq4u1bBIlrM/++yzapn79ddfn9xX86qrrsI999yDZcuWqQ7qX//611WAetZZZ6ljUjEGERERERERERERDZ8Rv0endFh/6KGHVLj5ne98B+3t7apDugSRsnxd/OY3v8Fdd92FCy64AHl5ebjlllvU1wlf+cpXEI1G8b3vfU81HpIqzEcffRQ2m009LlWbRzoGERERERERERERDR/NNE1zGM8/bi1dulRdS4UoEfF3kYiGz/VvPqmuf7XkCn4biIiIiIhGsRG/dJ2IiIiIiIiIiIjoYBh0EhERERERERER0ajHoJOIiIiIiIiIiIhGPQadRERERERERERENOox6CQiIiIiIiIiIqJRj0EnERERERERERERjXoMOomIiIiIiIiIiGjUY9BJREREREREREREox6DTiIiIiIiIiIiIhr1GHQSERERERERERHRqMegk4iIiIiIiIiIiEY9Bp1EREREREREREQ06jHoJCIiIiIiIiIiolHPerhPfPvtt/Haa68hEAjAMIxej2mahrvvvjsV8yMiIiIiIiIiIiIanKDzsccew//8z//A4XAgOztbBZs99b1NRERERERERERENOKCzt///vc477zzcNddd8Fut6d+VkRERERERERERESDvUdnU1MTLr74YoacRERERERERERENHqDzlmzZmHr1q2pnw0RERERERERERHRUC1d/3//7//ha1/7GtxuN+bNmweXy7XPMcXFxYczNBEREREREREREdHQBJ2XX3656rQugef+Gg9t3LjxcIYmIiIiIiIiIiIiGpqg884772RndSIiIiIiIiIiIhrdQeeFF16Y+pkQERERERERERERDXbQ+dxzz+GUU05BVlaW+vpgzj///MOdExEREREREREREdHgBJ233nornn76aRV0ytcHIvt2MugkIiIiIiIiIiKiERd0Llu2DHl5ecmviYiIiIiIiIiIiEZd0FlSUtLv1/0xTfPIZkVEREREREREREQ02M2IxIsvvoj3338f4XA4GWzKtd/vx+rVq/HGG28c7tBEREREREREREREgx903n///eri9XoRjUZhs9lgtVrR0tICXddxySWXHM6wRERERERERERE487pp5+OY445Bv/93/893FMZ1fTDedJf//pX1WxIKjqvvvpqnHbaaXjnnXfwl7/8BZmZmZg6dWrqZ0pERERERERERDQGSUHhl7/85eGexvgMOuvr63Heeeep7uozZ87Ehx9+qO6fPXs2vvjFL+LPf/5zqueJ5557Dp/4xCcwZ84cnHPOOfjnP/+ZfKympgbXX389Fi5ciJNOOgk///nPEYvFej3/D3/4A5YuXYq5c+fiiiuuwIYNG3o9nooxiIiIiIiIiIiIDtWsWbNQVlbGN244gk63261CTjFx4kQVEgaDQXVbgk+5nUp/+9vf8N3vfhdXXnklXnjhBZx77rn4xje+oQLWSCSC//qv/1LHPfXUU/jhD3+IP/7xj3jggQd6VaD+z//8D7761a/i2WefRWlpKa655hq11F6kYgwiIiIiIiIiIqLDXbp+6623qkxt+vTpqsDvK1/5ChYsWKCWtH/ve99TfXESpE/O448/jo9//OOqIO/MM8/Eo48+2qtB+Ntvv60K9RYtWoRjjz0W3/zmN1FbW5t8XPItKShcsWIFLrroIvX12WefjVdffRU7duzA5z73OcybN0+NLXlcT3v27FHZnMxNjpFjR0JB4GEFnfLCpcJSlJeXw2Kx4N1331W3t2/fDrvdnrIJyjfoF7/4BT772c+qoFPS7S996Us44YQT1NL5l19+Wb25EkJOmzYNZ5xxhnqj/+///k81ShIPP/wwrrrqKnzyk5/ElClTcPfdd8PlciUrT1MxBhERERERERERUSrcdtttKCkpwYMPPqiK82S7yIceeij5uGRYcpGAVDKriy++GPfccw8eeeQR9bjkdp///OdRVFSEn/3sZ/jOd76jCgYvvfRSNDc3J8eR3jsSgF522WVqfMm6br75ZrVi+9RTT1Vj5+fn49vf/jbq6urUc6ToT45fv349vv/97+N///d/YRiGyu0kFxx1zYjkxUo1Y0dHh3rBEv7JC5Z0+K233lJBYars3LkTu3fvVkvle5KUWkj15VFHHYWMjIzk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aNSEnP+sXg+LpqtKyGDUp25/fMJRQx52trS04C9/+QueeuopVYF53nnnwefzqSXl+7Ns2TKUlpZi8+bNKrzcnxUrVuCYY45RIWfCcccdh1/96ldoampCbm5ur+MbGxvxmc98BkVFRXjooYfgdDoHL+iUMtOeZagHIsdJ2aqQF0REREQ00pmmOeD/W4eIiIiI6HBJJWci5BRybYGOlU278Imy2UPyxq5du1ZVb7744osqrLzuuutUyOnxeBCLxfDWW2/t97nZ2dnJis6srCxceeWV2LlzJyZOnIgvfelLOPnkk9XjdXV1mDZtWq/nJqo/a2trewWdErheffXVKCkpwYMPPqiWxB+OAQedEljy//gnIiIiIiIiIiI6fLJcvW/GJrf90fCQvK27d+/GJZdcgsmTJ6uV2AsWLNhnhXZeXt4Bx4hGo9ixYwemTJmCW2+9VQWkL7zwAr7whS/gt7/9LY4//ngEg0HY7fZez0sEmKFQKHlfW1ubCjllufwDDzywz3MGJej87//+78M+CREREdFIZ8r/gTnckyAiIiKiMU/25JTl6j3DTlld5LYefsB3KHJycvD5z39edTu/5ZZb8OlPf1rtmZmo1NyzZw/OOeec/T5fAk0JJZcvX65C0cQS89mzZ2Pr1q149NFHVdAp94fDvcPbRMDpdruT9917772IRCLq+UcSch7RHp0yMVmLLxOWb0Zi49JAIKDW4N98881HNDEiIiIiIiIiIqKxRhoPqT06EV++LrlazDSwKLdsSM7vdDrx7W9/G1/96lfx97//HU8++STuu+8+nHXWWbj88ssxf/58PPfcc/t9fmL5uXRP72vq1KnJZe+FhYVoaGjo9XjidkFBQfK+E044QQWtN910Ez7xiU/gpJNOGtqgUxJbeTPa29v7fVxeKINOIiIiIiIiIiKi3qThkDQekj05Zbm6VHJKyDnUjYicTqdawi6XVatWqT07ZQn5yy+/rPbbPBCp3Lz00ktV06Bjjz02ef+6devUcnaxePFi1eRI9vyUyk/x3nvvqablUlWacPbZZ6uQVULO73//+yp8laXwh0M/nCdJSalsNipp7xlnnKEm8/DDD+OKK65QSfSvf/3rw5oMERER0fCJr1AhIiIiIhpsEmpK46GLJy9U10Mdcva1cOFC/O///i9ef/31XiHk/kgDI9nj84477lAru7dv344f//jHWL16tWpIJKRKs6urC9/97nexbds2tVT+8ccfx/XXX9/vmHKcdHz/n//5Hxyuwwo6Zcn6jTfeiDPPPBOnnXaa6pR0yimnqNT14osvVmkuERERERERERERjR65ubnJPTcPRNd1VfQ4d+5cfO1rX8MFF1yANWvWqEZEiU7rEpj+5je/UR3Z5fH7779f7QkqX+/v3PL4n/70J7z77rtDt3Rd9uJMrKWXUlYpV+1Zbirr/ImIiIhGE9ZzEhERERENnASTUsV5IBKESnB5oGLKnqSAUi5DWtFZVlaWnIisq5cGRNJSPtFeXspMiYiIiIiIiIiIiIbKYQWd5513Hu655x78/ve/V63npf37nXfeiVdffRUPPPBActNRIiIiolGDJZ1EREREROMv6Lz22mtx2WWXqbX34rbbbsPGjRvx5S9/WVV2ynp6IiIiIiIiIiIioqFyWHt0yoajPffhnDNnDl555RUVckrHpcNtAU9EREQ0XEyWdBIRERERjb+Kzs9+9rOqbXxPEm7KBqM1NTVqaTsRERERERERERHRiKvoXLFiBUwzvnnV+++/jw8++AAtLS37HPfaa6+huro6tbMkIiIiIiIiIiIiSkXQ+ec//xl/+9vfoGmautx+++37HJMIQs8999yBDktEREQ0IrAXERERERHROAk6v/e97+Giiy5SYebnPvc5/OAHP9inu7rs3Zmeno6pU6cOxlyJiIiIiIiIiIiIjmyPTq/Xi2OOOQbHHnssnnjiCXzqU59St3tejj76aEybNk1VfA6WnTt3YsGCBXj22WeT90nH96uuugrz58/H6aefrubXk2EYuO+++7BkyRJ1zHXXXbfP8vpUjEFEREREREREREQjPOh87rnn0Nraqr7es2cP/v3vf6v79ncZDJFIBDfffDP8fn/yPpnTNddcg7KyMjzzzDO44YYbcM8996ivEx588EE8+eSTuPPOO/HUU0+p0PLaa69FOBxO2RhERERERERERERjQX19PaZPn77P5VAKD/seP6KWrt966614+umnkZWVpb4+EKnoPP/885Fqv/zlL1V3955kTjabDXfccQesVisqKipQVVWFRx55RC21lyDyscceUwHpqaeeqp5z7733qsrMf/3rX2o/0VSMQURERKNbYq9xIiIiIqLxbtOmTXA4HHjllVd6rdyWFd89iwYl4JQ+PqtXr1bX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ZhAGnURERERENC2kGhBJRacNhYSyp3qTiIiIaAZh0ElERERERNNCLNmAKN/t1V/ZkIiIiIjOBoNOIiIiIiKaFlLBplR0pgefRERERJPBoJOIiIiIiKaFVAOigMsJOiMMOomIiOgsMOgkIiIiIqJpQYJN0zDgd7n1z+y8TkRERGeDQScREREREU0LMlTda7rgNl36Z87RSURERGeDQScREREREU2bruse0w0Pg04iIiI6Bww6iYiIiIhoWojbFtymqS+pn4mIiIgmi0EnERERERFNn6DTMOEynI8pCcWgk4iIiCaPQScREREREU0LCdvWIaeEnamfiYiIiCaLQScREREREU0LCdvSQadhGLr7OoeuExER0dlg0ElERERERNOCBJuu5PycUtWZUKzoJCIioslj0ElERERERNOCBJsuw9DfS0MiVnQSERHR2WDQSURERERE06eiMzk/p3yVoexEREREk8Wgk4iIiIiIpmnQyaHrRERENHkMOomIiIiIaFqQYFOGrKfm6OTQdSIiIjobDDqJiIiIiGhadV0XpslmRERERHR2GHQSEREREdG0EFeco5OIiIjOHYNOIiIiIiKaNkPXUxWdHLpOREREZ4tBJxERERERTZ9mRKahv2czIiIiIpqVQWdvby8+8YlPYMuWLVi3bh3e97734ejRo6O379+/H+94xzuwdu1a3HjjjfjBD36QcX/btvHP//zP2Lp1q17mz//8z3Hq1KmMZc60DiIiIiIiugDNiAyX/l4CTxnKTkRERDSrgs6/+Iu/QHNzM77zne/g3nvvhd/vx7ve9S6Ew2H09/fjz/7szzBnzhz8/Oc/18t+9atf1d+n/Ou//it+/OMf4wtf+ALuueceHXy+973vRSwW07dPZh1ERERERHR+EnqOzrGKTnZdJyIiorPhxgw3ODiI+vp63H333Vi8eLG+7gMf+ADe8IY34PDhw3juuefg8Xjwd3/3d3C73ViwYMFoKPqmN71Jh5nf//738fGPfxzXX3+9vv83vvENXd35+9//Hrfffjt++tOfnnYdRERERER0YefoZNBJREREs66is7i4GF/72tdGQ86+vj7853/+J2pqarBw4UJs374dmzdv1gFligxxP3HiBHp6enDgwAGEQiFceeWVo7cXFRVh+fLl2LZtm/75TOsgIiIiIqLzo5RCQtlwm2xGRERERLO0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3efzZTQoIiIiIiKihSnVUX3yQGdy6HpyOiIiIqLJzNnYjzvuuEPV5wwEAvjQhz6EHTt24B/+4R9w++234wc/+IGq30lERERERAtbNFmjU+o755JqUpSq5UlERESUdxmdb3zjG/Gxj31sPHPzU5/6lAp6fuYzn1GNieQxIiIiIiJa5BmdySZFqemIiIiIJjOnbQv9fj+OHTum/t3U1KSCnZZl4e1vfztWrVo1l7NGRERERESzQIaka9AmzehM77pORERElJeBTumy/pWvfAVLliwZv0/+feedd+Jzn/scfvrTn87VrBERERER0SyRIem2ZNbmmbuuM9BJREREeVqj85577sHf/M3f4C/+4i/G76utrcXHP/5xVFRU4Hvf+54a3k5ERERERAuXBDBTWZtnDnSyRicRERHlaUZnT08PNmzYkPOxCy64AO3t7bM+T0RERERENLtkSPpk9TkFh64TERFR3gc66+vr8fTTT+d87Pnnn0dNTc2szxMREREREc0uydQ8c6CTQ9eJiIgozwOdb3rTm/Dtb39b1ePctWsXTp48id27d+OLX/wivvGNb+COO+445+f++te/jre+9a0Z9x04cEDV/9y0aROuueYafP/738943DRNfPWrX8Xll1+upnnPe96Dtra2aT0HERERERHNbEanngp0shkRERER5WuNzne84x1q+Pr/+3//T9XjTDEMQ3Vdf+c733lOz/vDH/5QNTnatm3b+H1DQ0Pq+SQ4+clPfhIvvvii+un1enHbbbepab72ta/hRz/6ET772c+qbNLPf/7zuOuuu3DffffB4XBM6TmIiIiIiGhma3SmGhWxRicRERHlbaBT/P3f/z3e9773qaDh8PAwioqKsHHjRpSWlk77uSRo+olPfALPPvtsRid38ZOf/AR2ux2f+tSnYLPZ0NLSgtbWVpU5KkHKSCSiusB/+MMfxlVXXaX+5stf/rLK7nzggQdw8803n/U5iIiIiIho+iSAmcrazIU1OomIiCjvh66nFBYWqoDiLbfcgiuvvPKcgpxi3759KhD561//WjUzSrdz505ceOGFKkCZsmPHDjVcvr+/HwcPHoTf78fFF188/rgEXdeuXavqhU7lOYiIiIiIaPpkSHoqazMXCYJq0BBl13UiIiLK54zOmSRDyuWWS3d3N1auXJlxX1VVlfrZ1dWlHhe1tbUTpkk9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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "⏱️ Matriz procesada en 3.80s\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from IPython.display import display, Markdown\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def radiografia_dispersion_cruzada(\n", " X: pd.DataFrame, \n", " y: pd.Series, \n", " max_cols=5, \n", " max_rows_visual=2500\n", "):\n", " \"\"\"\n", " [FASE 2 - Paso 5.3] Matriz de Dispersión Cruzada AutoML (Pairplot).\n", " - Escudo Dimensional: Filtra las columnas con mayor varianza si hay demasiadas (Evita O(N^2) gráficos).\n", " - Escudo de RAM: Muestreo estratificado inteligente si el dataset es masivo (Evita colapso por overplotting).\n", " - Muestra cómo interactúan las numéricas en 2D coloreadas por el Target.\n", " \"\"\"\n", " if X is None or y is None or X.empty or y.empty:\n", " logger.error(\"🛑 Error Crítico: Las matrices están vacías.\")\n", " raise ValueError(\"Las matrices están vacías.\")\n", "\n", " logger.info(f\"=== 🌌 FASE 5.3: Dispersión Cruzada Bivariada (Pairplot) ===\")\n", " inicio_timer = time.time()\n", " \n", " import warnings\n", " warnings.simplefilter(\"ignore\")\n", " \n", " if MODO_VISUAL:\n", " sns.set_theme(style=\"white\", context=\"notebook\") # Fondo blanco para no saturar con mallas\n", " paleta_target = \"Set2\"\n", "\n", " # 1. Extracción y Ensamblaje Seguro\n", " num_cols = X.select_dtypes(include=[np.number]).columns.tolist()\n", " if not num_cols:\n", " logger.warning(\" ⚠️ [INFO] No hay variables numéricas para cruzar.\")\n", " return\n", "\n", " df_viz = X[num_cols].copy()\n", " target_name = y.name if y.name else 'Target'\n", " df_viz[target_name] = y\n", "\n", " # ==========================================\n", " # 🚀 ESCUDO DIMENSIONAL (Protección de Columnas)\n", " # ==========================================\n", " if len(num_cols) > max_cols:\n", " logger.warning(f\" ⚠️ [ALERTA DIMENSIONAL] {len(num_cols)} numéricas detectadas. El cruce generaría {len(num_cols)**2} gráficos.\")\n", " logger.info(f\" 🛡️ Seleccionando el Top {max_cols} con mayor varianza para evitar caos visual...\")\n", " # Ignoramos la varianza de los posibles IDs o ceros congelados, buscamos variables dinámicas\n", " varianzas = df_viz[num_cols].var().sort_values(ascending=False)\n", " mejores_cols = varianzas.head(max_cols).index.tolist()\n", " df_viz = df_viz[mejores_cols + [target_name]]\n", " else:\n", " mejores_cols = num_cols\n", "\n", " # ==========================================\n", " # 🚀 ESCUDO DE RAM (Protección de Filas)\n", " # ==========================================\n", " total_filas = len(df_viz)\n", " if total_filas > max_rows_visual:\n", " logger.warning(f\" ⚠️ [ALERTA DE RENDIMIENTO] Matriz masiva detectada ({total_filas:,} filas).\")\n", " logger.info(f\" ⚡ Protegiendo RAM: Muestreando {max_rows_visual:,} filas estratificadas para renderizado fluido...\")\n", "\n", " # Fracción exacta para llegar a max_rows_visual\n", " fraccion = max_rows_visual / total_filas\n", "\n", " try:\n", " # Muestreo estratificado para no perder la proporción de la clase minoritaria\n", " df_viz = df_viz.groupby(target_name, group_keys=False).apply(lambda x: x.sample(frac=fraccion, random_state=42))\n", " except ValueError:\n", " # Fallback de seguridad: Si hay una clase extremadamente pequeña que rompe la fracción, usamos random simple\n", " df_viz = df_viz.sample(n=max_rows_visual, random_state=42)\n", "\n", " logger.info(f\" 📊 Generando Matriz de Interacción para: {mejores_cols}\\n\")\n", "\n", " # ==========================================\n", " # 4. Motor de Renderizado Pairplot\n", " # ==========================================\n", " if MODO_VISUAL:\n", " # Usamos alpha para transparencia (overplotting) y s para el tamaño del punto\n", " g = sns.pairplot(\n", " df_viz, \n", " hue=target_name, \n", " palette=paleta_target, \n", " diag_kind=\"kde\", # Montañas de densidad en la diagonal principal\n", " corner=True, # Ocultar el triángulo superior (espejo redundante para ahorrar RAM)\n", " plot_kws={'alpha': 0.6, 's': 20, 'edgecolor': None}\n", " )\n", "\n", " g.fig.suptitle(f\"Matriz de Dispersión: ¿Cómo interactúan las variables para definir '{target_name}'?\", \n", " y=1.02, fontsize=16, fontweight='bold')\n", "\n", " plt.show()\n", " logger.debug(\"Matriz de dispersión renderizada en Jupyter con éxito.\")\n", " else:\n", " # Si no estamos en MODO_VISUAL, simplemente evitamos la costosa computación del PairGrid\n", " logger.debug(\"Renderizado visual omitido (MODO_VISUAL=False). Lógica de selección ejecutada con éxito.\")\n", " \n", " logger.info(f\"⏱️ Matriz procesada en {time.time() - inicio_timer:.2f}s\")\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'y_train'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " # Ejecuta el escáner consumiendo los datos directamente del Manager.\n", " radiografia_dispersion_cruzada(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " max_cols=5, \n", " max_rows_visual=2500\n", " )\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el Pairplot: {e}\")" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 💥 FASE 6.1: Cacería de Colisiones Absolutas (Ruido Irreductible) ===\n" ] }, { "data": { "text/markdown": [ "### 🚨 Alerta de Contradicción: **1469 filas** afectadas (5.64% del dataset)." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 🚨 Alerta de Contradicción: 1469 filas afectadas (5.64% del dataset).\n", " 🧠 Significado: Estas 1469 filas forman perfiles idénticos pero con ingresos opuestos.\n", " 📉 Límite Teórico: Debido a este ruido, tu modelo NUNCA podrá alcanzar el 100% de precisión.\n", "\n", " 🔍 TOP 5 Perfiles con mayor nivel de colisión:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
income<=50k>50kTotal_Clones
Perfil_ID (Firma)
50 | private | 9 | married-civ-spouse | craft-repair | husband | white | male | 0 | 0 | 40 | united-states10818
47 | private | 9 | married-civ-spouse | craft-repair | husband | white | male | 0 | 0 | 40 | united-states9615
39 | private | 9 | married-civ-spouse | craft-repair | husband | white | male | 0 | 0 | 40 | united-states10515
51 | private | 9 | married-civ-spouse | craft-repair | husband | white | male | 0 | 0 | 40 | united-states13114
33 | private | 9 | married-civ-spouse | craft-repair | husband | white | male | 0 | 0 | 40 | united-states12214
\n", "
" ], "text/plain": [ "income <=50k >50k Total_Clones\n", "Perfil_ID (Firma) \n", "50 | private | 9 | married-civ-spouse | craft-r... 10 8 18\n", "47 | private | 9 | married-civ-spouse | craft-r... 9 6 15\n", "39 | private | 9 | married-civ-spouse | craft-r... 10 5 15\n", "51 | private | 9 | married-civ-spouse | craft-r... 13 1 14\n", "33 | private | 9 | married-civ-spouse | craft-r... 12 2 14" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "----------------------------------------------------------------------------------------------------\n", " 💡 ACCIÓN SUGERIDA (Fase 3):\n", " En datasets tabulares, solemos DEJAR ESTAS FILAS INTACTAS. Los algoritmos como XGBoost \n", " usarán la probabilidad (ej. si hay 8 pobres y 2 ricos en el grupo, predecirá 'pobre' con 80% de certeza).\n", "\n", "⏱️ Escáner de colisiones completado en 0.097s\n", "\n", "✅ Diagnóstico finalizado. Las matrices X e y del PipelineManager siguen intactas y balanceadas.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import time\n", "from IPython.display import display, Markdown\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def cazar_colisiones_absolutas_seguro(X: pd.DataFrame, y: pd.Series):\n", " \"\"\"\n", " [FASE 2 - Paso 6.1] Motor AutoML de Colisiones (Error de Bayes) - V2 Optimizada.\n", " - Busca filas donde TODAS las características (X) son idénticas, pero el Target es diferente.\n", " - PARCHE DE RAM: Utiliza lógica de conjuntos (drop_duplicates + merge) en lugar de un \n", " groupby multidimensional para evitar la explosión de memoria (Producto Cartesiano de Pandas).\n", " - PARCHE PIPELINE: Devuelve la matriz original INTACTA para no perder datos.\n", " \"\"\"\n", " if X is None or y is None or X.empty or y.empty:\n", " logger.error(\"🛑 Error Crítico: Las matrices X_train o y_train están vacías.\")\n", " raise ValueError(\"Las matrices X_train o y_train están vacías.\")\n", "\n", " logger.info(f\"=== 💥 FASE 6.1: Cacería de Colisiones Absolutas (Ruido Irreductible) ===\")\n", " inicio_timer = time.time()\n", "\n", " # 1. Ensamblaje Seguro de la Matriz\n", " df_analisis = X.copy()\n", " target_name = y.name if y.name else 'Target'\n", " df_analisis[target_name] = y\n", " features = X.columns.tolist()\n", " total_filas = len(df_analisis)\n", "\n", " # ==========================================\n", " # 2. Lógica de Conjuntos (El Truco Anti-RAM)\n", " # ==========================================\n", " dups_x_mask = df_analisis.duplicated(subset=features, keep=False)\n", " df_sospechosos = df_analisis[dups_x_mask]\n", "\n", " if df_sospechosos.empty:\n", " logger.info(\" ✅ [MATRIZ PERFECTA] No hay clones de características. El Error de Bayes por colisión es 0%.\")\n", " return X # Devolvemos la matriz intacta\n", "\n", " df_unicos_xy = df_sospechosos.drop_duplicates(subset=features + [target_name])\n", "\n", " colisiones_mask = df_unicos_xy.duplicated(subset=features, keep=False)\n", " df_colisiones_unicas = df_unicos_xy[colisiones_mask]\n", "\n", " if df_colisiones_unicas.empty:\n", " logger.info(\" ✅ [SIN CONTRADICCIONES] Hay filas duplicadas, pero todas coinciden en su Target. No hay colisiones absolutas.\")\n", " return X # Devolvemos la matriz intacta\n", "\n", " claves_colision = df_colisiones_unicas[features].drop_duplicates()\n", " df_colisiones_finales = pd.merge(df_analisis, claves_colision, on=features, how='inner')\n", "\n", " # ==========================================\n", " # 3. Cálculo de Impacto\n", " # ==========================================\n", " filas_afectadas = len(df_colisiones_finales)\n", " porcentaje_ruido = (filas_afectadas / total_filas) * 100\n", "\n", " # ==========================================\n", " # 4. Reporte Ejecutivo y Diagnóstico Seguro\n", " # ==========================================\n", " if MODO_VISUAL:\n", " display(Markdown(f\"### 🚨 Alerta de Contradicción: **{filas_afectadas} filas** afectadas ({porcentaje_ruido:.2f}% del dataset).\"))\n", " \n", " # 🚀 FIX MLOps: Siempre documentar la alerta en el logger (incluso en MODO_VISUAL)\n", " logger.warning(f\" 🚨 Alerta de Contradicción: {filas_afectadas} filas afectadas ({porcentaje_ruido:.2f}% del dataset).\")\n", " \n", " logger.info(f\" 🧠 Significado: Estas {filas_afectadas} filas forman perfiles idénticos pero con ingresos opuestos.\")\n", " logger.info(f\" 📉 Límite Teórico: Debido a este ruido, tu modelo NUNCA podrá alcanzar el 100% de precisión.\\n\")\n", "\n", " logger.info(\" 🔍 TOP 5 Perfiles con mayor nivel de colisión:\")\n", "\n", " df_colisiones_finales['Perfil_ID (Firma)'] = df_colisiones_finales[features].astype(str).agg(' | '.join, axis=1)\n", "\n", " resumen = df_colisiones_finales.groupby('Perfil_ID (Firma)')[target_name].value_counts().unstack(fill_value=0)\n", " resumen['Total_Clones'] = resumen.sum(axis=1)\n", " resumen = resumen.sort_values(by='Total_Clones', ascending=False).head(5)\n", "\n", " if MODO_VISUAL:\n", " display(resumen)\n", " # Logueamos de forma silenciosa la tabla para el servidor\n", " logger.debug(\"\\n\" + resumen.to_string())\n", " else:\n", " logger.info(\"\\n\" + resumen.to_string())\n", "\n", " logger.info(\"-\" * 100)\n", " logger.info(\" 💡 ACCIÓN SUGERIDA (Fase 3):\")\n", " logger.info(\" En datasets tabulares, solemos DEJAR ESTAS FILAS INTACTAS. Los algoritmos como XGBoost \")\n", " logger.info(\" usarán la probabilidad (ej. si hay 8 pobres y 2 ricos en el grupo, predecirá 'pobre' con 80% de certeza).\")\n", "\n", " logger.info(f\"\\n⏱️ Escáner de colisiones completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " # ==========================================\n", " # 🚀 CORRECCIÓN CRÍTICA: Devolver la matriz completa\n", " # ==========================================\n", " return X \n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Extracción segura de datos\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'y_train'. Ejecuta las fases previas.\")\n", "\n", " # Ejecutar el análisis usando las matrices completas originales del Manager.\n", " # NO guardamos el resultado en 'X_train' para evitar desincronizaciones de filas.\n", " # El motor solo escanea y reporta.\n", " _ = cazar_colisiones_absolutas_seguro(X=manager.X_train, y=manager.y_train)\n", "\n", " logger.info(\"\\n✅ Diagnóstico finalizado. Las matrices X e y del PipelineManager siguen intactas y balanceadas.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el escáner de colisiones: {e}\")" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 32537 entries, 0 to 32536\n", "Data columns (total 12 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 32537 non-null int8 \n", " 1 workclass 32537 non-null category\n", " 2 education_num 32537 non-null int8 \n", " 3 marital_status 32537 non-null category\n", " 4 occupation 32537 non-null category\n", " 5 relationship 32537 non-null category\n", " 6 race 32537 non-null category\n", " 7 sex 32537 non-null category\n", " 8 capital_gain 32537 non-null int32 \n", " 9 capital_loss 32537 non-null int16 \n", " 10 hours_per_week 32537 non-null int8 \n", " 11 native_country 32537 non-null category\n", "dtypes: category(7), int16(1), int32(1), int8(3)\n", "memory usage: 511.8 KB\n" ] } ], "source": [ "\n", "\n", "X.info()\n" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 32537 entries, 0 to 32536\n", "Series name: income\n", "Non-Null Count Dtype \n", "-------------- ----- \n", "32537 non-null category\n", "dtypes: category(1)\n", "memory usage: 32.0 KB\n" ] } ], "source": [ "\n", "\n", "y.info()\n" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🛡️ FASE 7.1 [TRAIN]: Escudo de Alta Cardinalidad (Rare Labeling al 1.0%) ===\n", " 🔍 Escaneando 7 variables categóricas...\n", "\n", " 🔧 'workclass': 2 categorías colapsadas a 'Rare' (0.1% del volumen).\n", " ↳ 🛡️ Máscaras protegidas del colapso: ['?']\n", " 🔧 'marital_status': 1 categorías colapsadas a 'Rare' (0.1% del volumen).\n", " 🔧 'occupation': 2 categorías colapsadas a 'Rare' (0.5% del volumen).\n", " ↳ 🛡️ Máscaras protegidas del colapso: ['?']\n", " 🔧 'race': 2 categorías colapsadas a 'Rare' (1.9% del volumen).\n", " 🌎 'native_country': 39 países minoritarios colapsados en 'Rare' (6.6% del volumen).\n", " ↳ 🛡️ Máscaras protegidas del colapso: ['?']\n", "--------------------------------------------------------------------------------\n", " 📦 El diccionario 'fit' de vocabulario ha sido generado exitosamente para 5 columnas.\n", "\n", "⏱️ Rare Labeling completado en 0.031s\n", "\n", ">>> 🔒 APLICANDO VOCABULARIO A TEST <<<\n", "=== 🛡️ FASE 7.1 [TEST]: Escudo de Alta Cardinalidad (Rare Labeling al 1.0%) ===\n", " 🔍 Escaneando 7 variables categóricas...\n", "\n", " 🔒 [TEST] Vocabulario estricto aplicado. 5 variables agrupadas basándose en Train.\n", "\n", "⏱️ Rare Labeling completado en 0.009s\n", " 💾 Guardando vocabulario oficial usando 'guardar_artefacto'...\n", "\n", "📦 [MLOps] Matrices X_train y X_test actualizadas de forma segura en el PipelineManager. Listas para continuar.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import re\n", "import time\n", "from typing import Dict, Tuple\n", "\n", "import pandas as pd\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# 🚀 MLOps SHIELD: Patrón global para detectar etiquetas que en realidad son nulos camuflados\n", "RARE_LABEL_PATTERN = re.compile(\n", " r'(?i)^(unknown|n/?a|null|nan|missing|none|-1|)$|^[^a-zA-Z0-9]+$'\n", ")\n", "\n", "\n", "def _validar_X_rare(X: pd.DataFrame) -> None:\n", " \"\"\"\n", " Valida que la matriz de entrada exista y tenga contenido.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", "\n", "def _es_categorica(serie: pd.Series) -> bool:\n", " \"\"\"\n", " Detecta si una serie es de tipo categórico real.\n", " \"\"\"\n", " return isinstance(serie.dtype, pd.CategoricalDtype)\n", "\n", "\n", "def _agregar_categoria_rara(serie: pd.Series, etiqueta_rara: str) -> pd.Series:\n", " \"\"\"\n", " Agrega la categoría 'Rare' solo si la serie es categórica y aún no existe.\n", " \"\"\"\n", " if not _es_categorica(serie) or etiqueta_rara in serie.cat.categories:\n", " return serie\n", " return serie.cat.add_categories([etiqueta_rara])\n", "\n", "\n", "def _categorias_validas(frecuencias: pd.Series, umbral: float) -> Tuple[list, list]:\n", " \"\"\"\n", " Construye el 'Club VIP' de categorías válidas:\n", " - Las que superan el umbral\n", " - Las máscaras protegidas detectadas por regex\n", " \"\"\"\n", " frecuentes = frecuencias[frecuencias >= umbral].index.tolist()\n", " protegidas = [valor for valor in frecuencias.index if RARE_LABEL_PATTERN.match(str(valor).strip())]\n", "\n", " # dict.fromkeys conserva orden y elimina duplicados\n", " validas = list(dict.fromkeys(frecuentes + protegidas))\n", " return validas, protegidas\n", "\n", "\n", "def _aplicar_rare(serie: pd.Series, categorias_validas: list, etiqueta_rara: str) -> Tuple[pd.Series, int]:\n", " \"\"\"\n", " Reemplaza categorías fuera del vocabulario válido por la etiqueta rara,\n", " protegiendo siempre los NaNs reales.\n", " \"\"\"\n", " serie = _agregar_categoria_rara(serie.copy(), etiqueta_rara)\n", " mascara = ~serie.isna() & ~serie.isin(categorias_validas)\n", " reemplazos = int(mascara.sum())\n", "\n", " if reemplazos:\n", " serie.loc[mascara] = etiqueta_rara\n", "\n", " return serie, reemplazos\n", "\n", "\n", "def aplicar_rare_labeling_seguro(\n", " X: pd.DataFrame,\n", " umbral: float = 0.01,\n", " etiqueta_rara: str = 'Rare',\n", " vocabulario_aprendido: Dict = None,\n", ") -> Tuple[pd.DataFrame, Dict]:\n", " \"\"\"\n", " [FASE 2 - Paso 7.1] Motor AutoML de Rare Labeling (Agrupación de Colas Largas).\n", " - 🚀 Muro MLOps: Aprende el vocabulario oficial en Train y lo aplica ciegamente en Test.\n", " - Escanea columnas de texto/categóricas y agrupa categorías minoritarias (< umbral).\n", " - 🛡️ MLOPS SHIELD (Regex): Auto-detecta y protege explícitamente los NaNs camuflados\n", " (textos nulos o símbolos puros) para no destruirlos.\n", " - 🔧 Refactor Pro: La lógica interna fue modularizada para mayor estabilidad, testeo y mantenimiento.\n", " \"\"\"\n", " _validar_X_rare(X)\n", "\n", " modo = \"TRAIN\" if vocabulario_aprendido is None else \"TEST\"\n", " logger.info(\n", " f\"=== 🛡️ FASE 7.1 [{modo}]: Escudo de Alta Cardinalidad (Rare Labeling al {umbral*100}%) ===\"\n", " )\n", " inicio_timer = time.time()\n", "\n", " # Operamos sobre una copia para blindar memorias globales\n", " X_transformado = X.copy()\n", "\n", " # 1. Aislar solo las columnas categóricas/texto\n", " cat_cols = X_transformado.select_dtypes(include=['object', 'category', 'string']).columns.tolist()\n", "\n", " if not cat_cols:\n", " logger.info(\" ⚠️ [INFO] No se detectaron variables categóricas para agrupar.\")\n", " return X_transformado, vocabulario_aprendido or {}\n", "\n", " logger.info(f\" 🔍 Escaneando {len(cat_cols)} variables categóricas...\\n\")\n", "\n", " # Copia defensiva del vocabulario para evitar mutaciones accidentales\n", " diccionario_vocabulario = dict(vocabulario_aprendido or {})\n", " columnas_modificadas = 0\n", "\n", " # ==========================================\n", " # 2A. MODO TRAIN (Aprender el Vocabulario)\n", " # ==========================================\n", " if vocabulario_aprendido is None:\n", " for col in cat_cols:\n", " frecuencias = X_transformado[col].value_counts(normalize=True)\n", "\n", " # A. Construir el \"Club VIP\" de categorías válidas\n", " categorias_validas, mascaras_protegidas = _categorias_validas(frecuencias, umbral)\n", "\n", " # B. Identificar las categorías que serán colapsadas\n", " categorias_raras = frecuencias[~frecuencias.index.isin(categorias_validas)].index.tolist()\n", "\n", " if not categorias_raras:\n", " continue\n", "\n", " # C. Aplicar el colapso de colas largas\n", " serie_transformada, cantidad_reemplazada = _aplicar_rare(\n", " X_transformado[col],\n", " categorias_validas,\n", " etiqueta_rara\n", " )\n", " X_transformado[col] = serie_transformada\n", "\n", " # D. Guardar vocabulario oficial aprendido en Train\n", " diccionario_vocabulario[col] = categorias_validas\n", " columnas_modificadas += 1\n", "\n", " porcentaje_reemplazado = (cantidad_reemplazada / len(X_transformado)) * 100\n", "\n", " if col == 'native_country':\n", " logger.info(\n", " f\" 🌎 '{col}': {len(categorias_raras)} países minoritarios colapsados en \"\n", " f\"'{etiqueta_rara}' ({porcentaje_reemplazado:.1f}% del volumen).\"\n", " )\n", " else:\n", " logger.info(\n", " f\" 🔧 '{col}': {len(categorias_raras)} categorías colapsadas a \"\n", " f\"'{etiqueta_rara}' ({porcentaje_reemplazado:.1f}% del volumen).\"\n", " )\n", "\n", " if mascaras_protegidas:\n", " logger.info(f\" ↳ 🛡️ Máscaras protegidas del colapso: {mascaras_protegidas}\")\n", "\n", " logger.info(\"-\" * 80)\n", " if columnas_modificadas == 0:\n", " logger.info(\" ✅ [MATRIZ ROBUSTA] Ninguna categoría cayó por debajo del umbral. No se requirió agrupación.\")\n", " else:\n", " logger.info(\n", " f\" 📦 El diccionario 'fit' de vocabulario ha sido generado exitosamente \"\n", " f\"para {columnas_modificadas} columnas.\"\n", " )\n", "\n", " # ==========================================\n", " # 2B. MODO TEST (Aplicar el Vocabulario)\n", " # ==========================================\n", " else:\n", " for col, categorias_validas in diccionario_vocabulario.items():\n", " if col not in X_transformado.columns:\n", " continue\n", "\n", " serie_transformada, cantidad_reemplazada = _aplicar_rare(\n", " X_transformado[col],\n", " categorias_validas,\n", " etiqueta_rara\n", " )\n", "\n", " if cantidad_reemplazada > 0:\n", " X_transformado[col] = serie_transformada\n", " columnas_modificadas += 1\n", "\n", " logger.info(\n", " f\" 🔒 [TEST] Vocabulario estricto aplicado. \"\n", " f\"{columnas_modificadas} variables agrupadas basándose en Train.\"\n", " )\n", "\n", " logger.info(f\"\\n⏱️ Rare Labeling completado en {time.time() - inicio_timer:.3f}s\")\n", " return X_transformado, diccionario_vocabulario\n", "\n", "\n", "def _guardar_vocabulario_rare(manager_obj, vocabulario: Dict) -> None:\n", " \"\"\"\n", " Guarda el vocabulario de rare labeling de forma flexible:\n", " - Si el manager tiene 'guardar_artefacto', lo usa\n", " - Si no, cae en un almacén interno 'artefactos'\n", " \"\"\"\n", " if hasattr(manager_obj, 'guardar_artefacto'):\n", " logger.info(\" 💾 Guardando vocabulario oficial usando 'guardar_artefacto'...\")\n", " manager_obj.guardar_artefacto('vocabulario_rare_labeling', vocabulario)\n", " return\n", "\n", " if getattr(manager_obj, 'artefactos', None) is None:\n", " manager_obj.artefactos = {}\n", "\n", " manager_obj.artefactos['vocabulario_rare_labeling'] = vocabulario\n", " logger.info(\" 💾 Vocabulario oficial almacenado en manager.artefactos['vocabulario_rare_labeling'].\")\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError as exc:\n", " raise EnvironmentError(\n", " \"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\"\n", " ) from exc\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\n", " \"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. \"\n", " \"Ejecuta las fases de Split.\"\n", " )\n", "\n", " # 🚀 FIX MLOps: Aplicamos primero en Train para aprender el vocabulario oficial\n", " X_train_rare, vocabulario_oficial = aplicar_rare_labeling_seguro(\n", " X=manager.X_train,\n", " umbral=0.01,\n", " etiqueta_rara='Rare'\n", " )\n", "\n", " # 🚀 FIX MLOps: Aplicamos ciegamente en Test usando el vocabulario aprendido en Train\n", " logger.info(\"\\n>>> 🔒 APLICANDO VOCABULARIO A TEST <<<\")\n", " X_test_rare, _ = aplicar_rare_labeling_seguro(\n", " X=manager.X_test,\n", " umbral=0.01,\n", " etiqueta_rara='Rare',\n", " vocabulario_aprendido=vocabulario_oficial\n", " )\n", "\n", " # Guardamos matrices transformadas en el PipelineManager\n", " manager.X_train = X_train_rare\n", " manager.X_test = X_test_rare\n", "\n", " # Guardamos el artefacto aprendido de manera robusta\n", " _guardar_vocabulario_rare(manager, vocabulario_oficial)\n", "\n", " # (Transición) Reflejo temporal en globales si el pipeline antiguo aún los necesita\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", "\n", " logger.info(\n", " \"\\n📦 [MLOps] Matrices X_train y X_test actualizadas de forma segura en el \"\n", " \"PipelineManager. Listas para continuar.\"\n", " )\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as exc:\n", " logger.error(f\"🛑 Error en el Escudo de Cardinalidad: {exc}\")" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\n", ">>> 🚂 APLICANDO FUSIÓN SEMÁNTICA LLM A TRAIN <<<\n", "=== 🧠 FASE 7.2: Fusión Semántica con LLMs (Extracción Estructurada) ===\n", " ✅ [BYPASS AUTOMÁTICO] No se detectaron columnas de Texto Libre (Free Text).\n", " El dataset contiene solo categorías estructuradas. Omitiendo inferencia LLM.\n", "\n", "⏱️ Análisis de texto omitido en 0.002s\n", "\n", ">>> 🔒 APLICANDO FUSIÓN SEMÁNTICA LLM A TEST <<<\n", "=== 🧠 FASE 7.2: Fusión Semántica con LLMs (Extracción Estructurada) ===\n", " ✅ [BYPASS AUTOMÁTICO] No se detectaron columnas de Texto Libre (Free Text).\n", " El dataset contiene solo categorías estructuradas. Omitiendo inferencia LLM.\n", "\n", "⏱️ Análisis de texto omitido en 0.002s\n", "\n", "📦 [MLOps] Matrices X_train y X_test enriquecidas con LLM de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import time\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# Pydantic se usa en MLOps para forzar que el LLM devuelva la estructura exacta que necesitamos\n", "try:\n", " from pydantic import BaseModel, Field\n", " PYDANTIC_DISPONIBLE = True\n", "except ImportError:\n", " PYDANTIC_DISPONIBLE = False\n", "\n", "# 1. Definimos el Esquema Estricto que le exigiremos al LLM\n", "if PYDANTIC_DISPONIBLE:\n", " class ExtraccionLLM(BaseModel):\n", " sentimiento: str = Field(description=\"Clasificar como: Positivo, Negativo o Neutral\")\n", " entidad_clave: str = Field(description=\"La palabra o concepto principal del texto\")\n", " alerta_riesgo: bool = Field(description=\"True si el texto indica peligro, fraude o riesgo alto, False de lo contrario\")\n", "\n", "def fusion_semantica_llm(X: pd.DataFrame, y: pd.Series = None) -> pd.DataFrame:\n", " \"\"\"\n", " [FASE 2 - Paso 7.2] Motor AutoML de Fusión Semántica para Texto Libre.\n", " - Radar Inteligente: Detecta columnas que realmente son texto libre (alta longitud y cardinalidad).\n", " - MLOps Pipeline: Maqueta la extracción estructurada (JSON) usando un LLM ligero.\n", " - Bypass Automático: Si no hay texto libre (ej. Dataset Adult), se omite sin romper el flujo.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== 🧠 FASE 7.2: Fusión Semántica con LLMs (Extracción Estructurada) ===\")\n", " inicio_timer = time.time()\n", " X_transformado = X.copy()\n", "\n", " # ==========================================\n", " # 2. Radar Inteligente de Texto Libre\n", " # ==========================================\n", " text_cols = X_transformado.select_dtypes(include=['object', 'string']).columns.tolist()\n", " columnas_texto_libre = []\n", "\n", " for col in text_cols:\n", " s = X_transformado[col].dropna().astype(str)\n", " if s.empty: continue\n", "\n", " # Heurísticas de Texto Libre: \n", " # 1. Longitud promedio mayor a 35 caracteres (una categoría normal mide menos)\n", " # 2. Alta cardinalidad: Al menos el 50% de las filas tienen un texto distinto\n", " longitud_promedio = s.str.len().mean()\n", " ratio_unicos = s.nunique() / len(s)\n", "\n", " if longitud_promedio > 35 and ratio_unicos > 0.5:\n", " columnas_texto_libre.append(col)\n", "\n", " if not columnas_texto_libre:\n", " logger.info(\" ✅ [BYPASS AUTOMÁTICO] No se detectaron columnas de Texto Libre (Free Text).\")\n", " logger.info(\" El dataset contiene solo categorías estructuradas. Omitiendo inferencia LLM.\")\n", " logger.info(f\"\\n⏱️ Análisis de texto omitido en {time.time() - inicio_timer:.3f}s\")\n", " return X_transformado\n", "\n", " logger.info(f\" 📖 [TEXTO DETECTADO] Variables de texto libre a procesar: {columnas_texto_libre}\")\n", " if not PYDANTIC_DISPONIBLE:\n", " logger.warning(\" ⚠️ Advertencia: Pydantic no está instalado. Instálalo para garantizar la estructura del JSON.\")\n", "\n", " # ==========================================\n", " # 3. Motor de Inferencia LLM (Arquitectura Mockup para Producción)\n", " # ==========================================\n", " def invocar_llm_local(texto: str) -> dict:\n", " \"\"\"\n", " Aquí iría la llamada a tu LLM local (ej. Llama.cpp, Ollama, vLLM) \n", " o a una API si está permitido. Para el template, simulamos la respuesta.\n", " \"\"\"\n", " # --- SIMULACIÓN PARA QUE EL CÓDIGO CORRA ---\n", " # Si el texto estuviera vacío o fuera un NaN\n", " if pd.isna(texto) or str(texto).strip() in ['?', '']:\n", " return {\"sentimiento\": \"Neutral\", \"entidad_clave\": \"Ninguna\", \"alerta_riesgo\": False}\n", "\n", " return {\"sentimiento\": \"Neutral\", \"entidad_clave\": \"Concepto_Genérico\", \"alerta_riesgo\": False}\n", "\n", " # ==========================================\n", " # 4. Procesamiento por Lotes (Batch Processing)\n", " # ==========================================\n", " for col in columnas_texto_libre:\n", " logger.info(f\" 🤖 Extrayendo semántica de '{col}'...\")\n", "\n", " # Extraemos las respuestas (simuladas) en una lista de diccionarios\n", " respuestas_estructuradas = X_transformado[col].apply(invocar_llm_local)\n", "\n", " # Expandimos el JSON en columnas nativas de Pandas\n", " df_extraido = pd.json_normalize(respuestas_estructuradas)\n", " df_extraido.columns = [f\"{col}_LLM_{c}\" for c in df_extraido.columns]\n", "\n", " # Concatenamos las nuevas características a la matriz y eliminamos el texto crudo original\n", " X_transformado = pd.concat([X_transformado.reset_index(drop=True), df_extraido.reset_index(drop=True)], axis=1)\n", " X_transformado.drop(columns=[col], inplace=True)\n", "\n", " logger.info(f\" ↳ Creadas {len(df_extraido.columns)} nuevas columnas estructuradas.\")\n", "\n", " logger.info(f\"\\n⏱️ Fusión Semántica completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_transformado\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " logger.info(\"\\n>>> 🚂 APLICANDO FUSIÓN SEMÁNTICA LLM A TRAIN <<<\")\n", " # Inyectamos las columnas directamente consumiendo la matriz de entrenamiento del manager\n", " X_train_llm = fusion_semantica_llm(X=manager.X_train)\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO FUSIÓN SEMÁNTICA LLM A TEST <<<\")\n", " # Hacemos lo mismo para test consumiendo la matriz del manager\n", " X_test_llm = fusion_semantica_llm(X=manager.X_test)\n", "\n", " # Sincronizamos las matrices enriquecidas dentro del cerebro del Manager\n", " manager.X_train = X_train_llm\n", " manager.X_test = X_test_llm\n", "\n", " # (Transición) Reflejamos en globales por compatibilidad temporal\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices X_train y X_test enriquecidas con LLM de forma segura en el PipelineManager.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Fusión Semántica: {e}\")\n", "\n", "\n", "# # FASE 3: Ingeniería Básica y Codificación (El Puente Matemático)\n", "# Extraemos métricas directas y convertimos TODO a números para que los imputadores funcionen." ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_losshours_per_weeknative_country
090?9widowed?not-in-familywhitefemale0435640united-states
182private9widowedexec-managerialnot-in-familywhitefemale0435618united-states
266?10widowed?unmarriedblackfemale0435640united-states
354private4divorcedmachine-op-inspctunmarriedwhitefemale0390040united-states
441private10separatedprof-specialtyown-childwhitefemale0390040united-states
\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation \\\n", "0 90 ? 9 widowed ? \n", "1 82 private 9 widowed exec-managerial \n", "2 66 ? 10 widowed ? \n", "3 54 private 4 divorced machine-op-inspct \n", "4 41 private 10 separated prof-specialty \n", "\n", " relationship race sex capital_gain capital_loss hours_per_week \\\n", "0 not-in-family white female 0 4356 40 \n", "1 not-in-family white female 0 4356 18 \n", "2 unmarried black female 0 4356 40 \n", "3 unmarried white female 0 3900 40 \n", "4 own-child white female 0 3900 40 \n", "\n", " native_country \n", "0 united-states \n", "1 united-states \n", "2 united-states \n", "3 united-states \n", "4 united-states " ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X.head()\n" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 Aplicando Desenmascaramiento a TRAIN <<<\n", "=== 🧹 FASE 8.1: Desenmascaramiento de Falsos Nulos (Missingness) ===\n", " 🔍 Escaneando 7 variables de texto con Motor Regex...\n", " 🎭 'workclass': 1472 máscaras ['?'] destruidas y convertidas a NaN (5.66%).\n", " 🎭 'occupation': 1478 máscaras ['?'] destruidas y convertidas a NaN (5.68%).\n", " 🎭 'native_country': 469 máscaras ['?'] destruidas y convertidas a NaN (1.80%).\n", " 🔢 Escaneando variables numéricas en busca de trampas conocidas...\n", " 💣 'capital_gain': 130 valores trampa [99999] convertidos a NaN (0.50%).\n", "--------------------------------------------------------------------------------\n", " ✅ [PURGA EXITOSA] Se desenmascararon 3549 celdas falsas (1.14% de la matriz total).\n", " 🧠 El modelo ahora sabe exactamente dónde hay agujeros de información reales.\n", "\n", "⏱️ Desenmascaramiento completado en 0.217s\n", ">>> 🔒 Aplicando Desenmascaramiento a TEST <<<\n", "=== 🧹 FASE 8.1: Desenmascaramiento de Falsos Nulos (Missingness) ===\n", " 🔍 Escaneando 7 variables de texto con Motor Regex...\n", " 🎭 'workclass': 364 máscaras ['?'] destruidas y convertidas a NaN (5.59%).\n", " 🎭 'occupation': 365 máscaras ['?'] destruidas y convertidas a NaN (5.61%).\n", " 🎭 'native_country': 113 máscaras ['?'] destruidas y convertidas a NaN (1.74%).\n", " 🔢 Escaneando variables numéricas en busca de trampas conocidas...\n", " 💣 'capital_gain': 29 valores trampa [99999] convertidos a NaN (0.45%).\n", "--------------------------------------------------------------------------------\n", " ✅ [PURGA EXITOSA] Se desenmascararon 871 celdas falsas (1.12% de la matriz total).\n", " 🧠 El modelo ahora sabe exactamente dónde hay agujeros de información reales.\n", "\n", "⏱️ Desenmascaramiento completado en 0.062s\n", "\n", "📦 [MLOps] Matrices purgadas y actualizadas de forma segura en el PipelineManager. Todos los nulos/fechas falsas son ahora np.nan o pd.NaT.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import re\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def desenmascarar_falsos_nulos(\n", " X: pd.DataFrame, \n", " nulos_numericos_conocidos: dict = None\n", "):\n", " \"\"\"\n", " [FASE 3 - Paso 8.1] Motor AutoML para Desenmascarar Falsos Nulos.\n", " - Caza nulos categóricos usando una Regex de símbolos ASCII y palabras clave comunes.\n", " - Caza nulos numéricos (Outliers lógicos) inyectados vía diccionario (ej. 99999.0).\n", " - Caza Outliers Temporales (NUEVO): Detecta fechas imposibles (ej. 1900 o 2099) y las vuelve NaT.\n", " - Convierte todo el ruido encontrado estandarizadamente a np.nan/pd.NaT y reporta los hallazgos.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== 🧹 FASE 8.1: Desenmascaramiento de Falsos Nulos (Missingness) ===\")\n", " inicio_timer = time.time()\n", "\n", " # Operamos sobre una copia limpia\n", " X_transformado = X.copy()\n", " total_filas = len(X_transformado)\n", "\n", " # MOTOR REGEX: \n", " # 1. (unknown|n/?a|null|nan|missing|none|-1|nat|) -> Palabras clave ignorando mayúsculas/minúsculas.\n", " # 2. ^[^a-zA-Z0-9]+$ -> Cualquier cadena que NO contenga letras ni números (ej. \"?\", \"-\", \"**\", \" \").\n", " patron_mascara = re.compile(r'(?i)^(unknown|n/?a|null|nan|missing|none|-1|nat|)$|^[^a-zA-Z0-9]+$')\n", "\n", " celdas_desenmascaradas_totales = 0\n", "\n", " # ==========================================\n", " # 1. Purga de Columnas Categóricas / Texto\n", " # ==========================================\n", " cat_cols = X_transformado.select_dtypes(include=['object', 'category', 'string']).columns.tolist()\n", "\n", " logger.info(f\" 🔍 Escaneando {len(cat_cols)} variables de texto con Motor Regex...\")\n", "\n", " for col in cat_cols:\n", " evaluacion_regex = X_transformado[col].astype(str).str.strip().str.match(patron_mascara)\n", " mascara_falsos_nulos = evaluacion_regex & X_transformado[col].notna()\n", "\n", " hallazgos = mascara_falsos_nulos.sum()\n", " if hallazgos > 0:\n", " valores_encontrados = X_transformado.loc[mascara_falsos_nulos, col].unique().tolist()\n", " porcentaje_columna = (hallazgos / total_filas) * 100\n", "\n", " X_transformado.loc[mascara_falsos_nulos, col] = np.nan\n", " celdas_desenmascaradas_totales += hallazgos\n", " logger.warning(f\" 🎭 '{col}': {hallazgos} máscaras {valores_encontrados} destruidas y convertidas a NaN ({porcentaje_columna:.2f}%).\")\n", "\n", " # ==========================================\n", " # 2. Purga de Columnas Numéricas (Trampas Lógicas)\n", " # ==========================================\n", " if nulos_numericos_conocidos:\n", " logger.info(f\" 🔢 Escaneando variables numéricas en busca de trampas conocidas...\")\n", " for col, valores_trampa in nulos_numericos_conocidos.items():\n", " if col in X_transformado.columns:\n", " mascara_numerica = X_transformado[col].isin(valores_trampa)\n", " hallazgos_num = mascara_numerica.sum()\n", "\n", " if hallazgos_num > 0:\n", " valores_encontrados_num = X_transformado.loc[mascara_numerica, col].unique().tolist()\n", " porcentaje_col_num = (hallazgos_num / total_filas) * 100\n", "\n", " X_transformado.loc[mascara_numerica, col] = np.nan\n", " celdas_desenmascaradas_totales += hallazgos_num\n", " logger.warning(f\" 💣 '{col}': {hallazgos_num} valores trampa {valores_encontrados_num} convertidos a NaN ({porcentaje_col_num:.2f}%).\")\n", "\n", " # ==========================================\n", " # 🚀 2.5 Purga de Fechas Ilógicas (Outliers Temporales)\n", " # ==========================================\n", " date_cols = X_transformado.select_dtypes(include=['datetime64', 'datetimetz', 'datetime']).columns.tolist()\n", "\n", " if date_cols:\n", " logger.info(f\" ⏳ Escaneando {len(date_cols)} variables temporales en busca de fechas ilógicas...\")\n", "\n", " anio_actual = pd.Timestamp.now().year\n", " umbral_pasado = 1900 # Fechas anteriores a 1900 suelen ser errores/placeholders\n", " umbral_futuro = anio_actual + 2 # Más de 2 años en el futuro suele ser un typo\n", "\n", " for col in date_cols:\n", " anios_columna = X_transformado[col].dt.year\n", "\n", " # Máscara inteligente ignorando NaNs preexistentes\n", " mask_pasado = anios_columna < umbral_pasado\n", " mask_futuro = anios_columna > umbral_futuro\n", " mask_outliers_fechas = mask_pasado | mask_futuro\n", "\n", " hallazgos_fechas = mask_outliers_fechas.sum()\n", "\n", " if hallazgos_fechas > 0:\n", " # Extraemos muestra para el log\n", " valores_fechas = X_transformado.loc[mask_outliers_fechas, col].dt.strftime('%Y-%m-%d').unique().tolist()\n", " valores_muestra = valores_fechas[:3] + [\"...\"] if len(valores_fechas) > 3 else valores_fechas\n", " porcentaje_fechas = (hallazgos_fechas / total_filas) * 100\n", "\n", " # Conversión estricta a Not a Time (NaT)\n", " X_transformado.loc[mask_outliers_fechas, col] = pd.NaT\n", " celdas_desenmascaradas_totales += hallazgos_fechas\n", " logger.warning(f\" 🕰️ '{col}': {hallazgos_fechas} fechas imposibles {valores_muestra} convertidas a NaT ({porcentaje_fechas:.2f}%).\")\n", "\n", " # ==========================================\n", " # 3. Reporte de Impacto\n", " # ==========================================\n", " logger.info(\"-\" * 80)\n", " if celdas_desenmascaradas_totales > 0:\n", " porcentaje_total = (celdas_desenmascaradas_totales / (X_transformado.shape[0] * X_transformado.shape[1])) * 100\n", " logger.info(f\" ✅ [PURGA EXITOSA] Se desenmascararon {celdas_desenmascaradas_totales} celdas falsas ({porcentaje_total:.2f}% de la matriz total).\")\n", " logger.info(\" 🧠 El modelo ahora sabe exactamente dónde hay agujeros de información reales.\")\n", " else:\n", " logger.info(\" ✅ [MATRIZ LIMPIA] No se detectaron máscaras, valores trampa, ni fechas ilógicas.\")\n", "\n", " logger.info(f\"\\n⏱️ Desenmascaramiento completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_transformado\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " logger.info(\">>> 🚂 Aplicando Desenmascaramiento a TRAIN <<<\")\n", " X_train_purgado = desenmascarar_falsos_nulos(\n", " X=manager.X_train,\n", " nulos_numericos_conocidos={'capital_gain': [99999, 99999.0]}\n", " )\n", "\n", " logger.info(\">>> 🔒 Aplicando Desenmascaramiento a TEST <<<\")\n", " X_test_purgado = desenmascarar_falsos_nulos(\n", " X=manager.X_test,\n", " nulos_numericos_conocidos={'capital_gain': [99999, 99999.0]}\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardar en la memoria del Manager de forma segura\n", " manager.X_train = X_train_purgado\n", " manager.X_test = X_test_purgado\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices purgadas y actualizadas de forma segura en el PipelineManager. Todos los nulos/fechas falsas son ahora np.nan o pd.NaT.\")\n", "\n", " # (Transición) Reflejar temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el desenmascaramiento: {e}\")" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 12 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null int8 \n", " 1 workclass 24557 non-null category\n", " 2 education_num 26029 non-null int8 \n", " 3 marital_status 26029 non-null category\n", " 4 occupation 24551 non-null category\n", " 5 relationship 26029 non-null category\n", " 6 race 26029 non-null category\n", " 7 sex 26029 non-null category\n", " 8 capital_gain 25899 non-null float64 \n", " 9 capital_loss 26029 non-null int16 \n", " 10 hours_per_week 26029 non-null int8 \n", " 11 native_country 25560 non-null category\n", "dtypes: category(7), float64(1), int16(1), int8(3)\n", "memory usage: 511.8 KB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 6508 entries, 0 to 6507\n", "Data columns (total 12 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 6508 non-null int8 \n", " 1 workclass 6144 non-null category\n", " 2 education_num 6508 non-null int8 \n", " 3 marital_status 6508 non-null category\n", " 4 occupation 6143 non-null category\n", " 5 relationship 6508 non-null category\n", " 6 race 6508 non-null category\n", " 7 sex 6508 non-null category\n", " 8 capital_gain 6479 non-null float64 \n", " 9 capital_loss 6508 non-null int16 \n", " 10 hours_per_week 6508 non-null int8 \n", " 11 native_country 6395 non-null category\n", "dtypes: category(7), float64(1), int16(1), int8(3)\n", "memory usage: 130.6 KB\n" ] } ], "source": [ "\n", "\n", "X_test.info()\n" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_losshours_per_weeknative_country
021NaN10never-marriedNaNown-childwhitemale0.0020united-states
141private11married-civ-spousesaleshusbandwhitemale4386.0060united-states
224private9never-marriedhandlers-cleanersunmarriedblackfemale0.0040united-states
359private9widowedprof-specialtynot-in-familywhitefemale0.0018united-states
435private9married-civ-spousesaleshusbandasian-pac-islandermale0.0188750Rare
\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation \\\n", "0 21 NaN 10 never-married NaN \n", "1 41 private 11 married-civ-spouse sales \n", "2 24 private 9 never-married handlers-cleaners \n", "3 59 private 9 widowed prof-specialty \n", "4 35 private 9 married-civ-spouse sales \n", "\n", " relationship race sex capital_gain capital_loss \\\n", "0 own-child white male 0.0 0 \n", "1 husband white male 4386.0 0 \n", "2 unmarried black female 0.0 0 \n", "3 not-in-family white female 0.0 0 \n", "4 husband asian-pac-islander male 0.0 1887 \n", "\n", " hours_per_week native_country \n", "0 20 united-states \n", "1 60 united-states \n", "2 40 united-states \n", "3 18 united-states \n", "4 50 Rare " ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_train.head()\n" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_losshours_per_weeknative_country
1062private10married-civ-spouseadm-clericalwifewhitefemale0.0040united-states
1125private13never-marriedexec-managerialown-childwhitemale0.0045united-states
1229private9divorcedmachine-op-inspctunmarriedwhitefemale0.0040united-states
1365NaN13married-civ-spouseNaNhusbandwhitemale0.0237740united-states
1450state-gov13never-marriedexec-managerialnot-in-familywhitefemale0.0040united-states
1521private10never-marriedtech-supportown-childwhitefemale0.0025Rare
1627private9married-civ-spousecraft-repairhusbandwhitemale0.0040united-states
1722private10never-marriedsalesnot-in-familywhitefemale0.0017united-states
1838private13married-civ-spouseexec-managerialhusbandwhitemale0.0055united-states
1949private13married-spouse-absentother-servicenot-in-familyasian-pac-islandermale0.0040Rare
\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation \\\n", "10 62 private 10 married-civ-spouse adm-clerical \n", "11 25 private 13 never-married exec-managerial \n", "12 29 private 9 divorced machine-op-inspct \n", "13 65 NaN 13 married-civ-spouse NaN \n", "14 50 state-gov 13 never-married exec-managerial \n", "15 21 private 10 never-married tech-support \n", "16 27 private 9 married-civ-spouse craft-repair \n", "17 22 private 10 never-married sales \n", "18 38 private 13 married-civ-spouse exec-managerial \n", "19 49 private 13 married-spouse-absent other-service \n", "\n", " relationship race sex capital_gain capital_loss \\\n", "10 wife white female 0.0 0 \n", "11 own-child white male 0.0 0 \n", "12 unmarried white female 0.0 0 \n", "13 husband white male 0.0 2377 \n", "14 not-in-family white female 0.0 0 \n", "15 own-child white female 0.0 0 \n", "16 husband white male 0.0 0 \n", "17 not-in-family white female 0.0 0 \n", "18 husband white male 0.0 0 \n", "19 not-in-family asian-pac-islander male 0.0 0 \n", "\n", " hours_per_week native_country \n", "10 40 united-states \n", "11 45 united-states \n", "12 40 united-states \n", "13 40 united-states \n", "14 40 united-states \n", "15 25 Rare \n", "16 40 united-states \n", "17 17 united-states \n", "18 55 united-states \n", "19 40 Rare " ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_test[10:20]\n" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\n", ">>> 🚂 ENTRENANDO RASTREADORES EN TRAIN <<<\n", "=== 🚩 FASE 8.2: Rastreadores de Nulidad (Missingness Flags & Row-wise Count) ===\n", " 🔍 Detectadas 4 variables con agujeros de información (Modo Aprendizaje).\n", " ⚙️ Generando rastreadores...\n", "\n", " ↳ Creada bandera booleana: 'is_missing_workclass'\n", " ↳ Creada bandera booleana: 'is_missing_occupation'\n", " ↳ Creada bandera booleana: 'is_missing_capital_gain'\n", " ↳ Creada bandera booleana: 'is_missing_native_country'\n", "--------------------------------------------------------------------------------\n", " 📊 Característica Maestra 'total_nulos_en_fila' inyectada con éxito.\n", " 👥 Impacto: 2044 individuos (7.85%) ocultaron al menos 1 dato.\n", " ⚠️ El récord máximo de datos faltantes en una sola persona es: 3 nulos.\n", "\n", "⏱️ Motor de Missingness completado en 0.019s\n", "\n", ">>> 🔒 APLICANDO RASTREADORES A TEST <<<\n", "=== 🚩 FASE 8.2: Rastreadores de Nulidad (Missingness Flags & Row-wise Count) ===\n", " 🔒 Replicando 4 rastreadores aprendidos de Train (Modo Aplicación).\n", " ⚙️ Generando rastreadores...\n", "\n", " ↳ Creada bandera booleana: 'is_missing_workclass'\n", " ↳ Creada bandera booleana: 'is_missing_occupation'\n", " ↳ Creada bandera booleana: 'is_missing_capital_gain'\n", " ↳ Creada bandera booleana: 'is_missing_native_country'\n", "--------------------------------------------------------------------------------\n", " 📊 Característica Maestra 'total_nulos_en_fila' inyectada con éxito.\n", " 👥 Impacto: 502 individuos (7.71%) ocultaron al menos 1 dato.\n", " ⚠️ El récord máximo de datos faltantes en una sola persona es: 3 nulos.\n", "\n", "⏱️ Motor de Missingness completado en 0.017s\n", "\n", "🛣️ Ruteo AutoML actualizado en Manager: +4 bools, +1 nums.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def aplicar_missingness_flags(\n", " X: pd.DataFrame, \n", " prefijo: str = 'is_missing_',\n", " columnas_aprendidas: list = None\n", ") -> tuple:\n", " \"\"\"\n", " [FASE 3 - Paso 8.2] Motor AutoML de Rastreo de Nulos (Missingness).\n", " - Muro de Hierro MLOps: Aprende las columnas con nulos en Train, y las replica exactamente en Test.\n", " 1. Banderas Booleanas: Crea columnas indicadoras (1/0) para variables con nulos.\n", " 2. Row-wise NaN Count: Inyecta una característica maestra con el total de nulos por individuo.\n", " - MLOPS SHIELD: Usa np.int8 y retorna las listas para actualizar el enrutamiento dinámicamente.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== 🚩 FASE 8.2: Rastreadores de Nulidad (Missingness Flags & Row-wise Count) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_transformado = X.copy()\n", " banderas_creadas = []\n", "\n", " # ==========================================\n", " # 1. MLOps: Fit vs Transform (Alineación de Matrices)\n", " # ==========================================\n", " if columnas_aprendidas is None:\n", " # MODO TRAIN (.fit): Detectamos nosotros mismos dónde hay nulos\n", " columnas_con_nulos = X_transformado.columns[X_transformado.isna().any()].tolist()\n", " else:\n", " # MODO TEST (.transform): Usamos estrictamente lo que nos dictó Train\n", " columnas_con_nulos = columnas_aprendidas\n", "\n", " if not columnas_con_nulos:\n", " logger.info(\" ✅ [MATRIZ PERFECTA] No hay nulos detectados. Se omite la creación de banderas.\")\n", " # 🚀 FIX MLOps: Retornamos una lista vacía [], NO un 'None', para que Test sepa que SÍ hubo aprendizaje.\n", " return X_transformado, [], None, [] \n", "\n", " if columnas_aprendidas is None:\n", " logger.info(f\" 🔍 Detectadas {len(columnas_con_nulos)} variables con agujeros de información (Modo Aprendizaje).\")\n", " else:\n", " logger.info(f\" 🔒 Replicando {len(columnas_con_nulos)} rastreadores aprendidos de Train (Modo Aplicación).\")\n", "\n", " logger.info(\" ⚙️ Generando rastreadores...\\n\")\n", "\n", " # ==========================================\n", " # 2. Fabricación de Banderas Booleanas por Columna\n", " # ==========================================\n", " for col in columnas_con_nulos:\n", " nombre_bandera = f\"{prefijo}{col}\"\n", " # astype(np.int8) convierte True/False en 1/0 pesando solo 1 byte por fila\n", " X_transformado[nombre_bandera] = X_transformado[col].isna().astype(np.int8)\n", " banderas_creadas.append(nombre_bandera)\n", " logger.info(f\" ↳ Creada bandera booleana: '{nombre_bandera}'\")\n", "\n", " # ==========================================\n", " # 3. Fabricación del \"Row-wise NaN Count\" (La Variable Maestra)\n", " # ==========================================\n", " nombre_conteo = 'total_nulos_en_fila'\n", "\n", " # Calculamos cuántos nulos hay en la matriz original por cada persona\n", " conteo_nulos_por_fila = X_transformado[columnas_con_nulos].isna().sum(axis=1)\n", "\n", " # Inyectamos el conteo en int8\n", " X_transformado[nombre_conteo] = conteo_nulos_por_fila.astype(np.int8)\n", "\n", " # ==========================================\n", " # 4. Reporte Ejecutivo\n", " # ==========================================\n", " max_nulos = conteo_nulos_por_fila.max()\n", " filas_afectadas = (conteo_nulos_por_fila > 0).sum()\n", " porcentaje_filas = (filas_afectadas / len(X_transformado)) * 100\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 📊 Característica Maestra '{nombre_conteo}' inyectada con éxito.\")\n", " logger.info(f\" 👥 Impacto: {filas_afectadas} individuos ({porcentaje_filas:.2f}%) ocultaron al menos 1 dato.\")\n", " logger.warning(f\" ⚠️ El récord máximo de datos faltantes en una sola persona es: {max_nulos} nulos.\")\n", "\n", " logger.info(f\"\\n⏱️ Motor de Missingness completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " # Retornamos las variables nuevas (y la lista de columnas base para pasársela a Test)\n", " return X_transformado, banderas_creadas, nombre_conteo, columnas_con_nulos\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " logger.info(\"\\n>>> 🚂 ENTRENANDO RASTREADORES EN TRAIN <<<\")\n", " # En Train no le pasamos 'columnas_aprendidas' para que las descubra por sí mismo\n", " X_train_miss, flags_nulidad, var_conteo, cols_aprendidas_train = aplicar_missingness_flags(\n", " X=manager.X_train\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO RASTREADORES A TEST <<<\")\n", " # En Test le forzamos la lista exacta de columnas que descubrimos en Train\n", " X_test_miss, _, _, _ = aplicar_missingness_flags(\n", " X=manager.X_test,\n", " columnas_aprendidas=cols_aprendidas_train\n", " )\n", "\n", " # Guardamos los resultados de vuelta en el Manager de forma segura\n", " manager.X_train = X_train_miss\n", " manager.X_test = X_test_miss\n", "\n", " # 🚀 MLOPS TIP: Actualizamos nuestra lista de rutas dinámicamente en el Manager\n", " if not hasattr(manager, 'rutas'):\n", " raise ValueError(\"El Manager no tiene el diccionario de 'rutas' inicializado. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " if flags_nulidad:\n", " # Usamos list comprehension para agregar solo los flags que no estén ya en la ruta\n", " nuevos_bools = [f for f in flags_nulidad if f not in manager.rutas['bool_vars']]\n", " manager.rutas['bool_vars'].extend(nuevos_bools)\n", "\n", " if var_conteo and var_conteo not in manager.rutas['num_vars']:\n", " manager.rutas['num_vars'].append(var_conteo)\n", "\n", " logger.info(f\"\\n🛣️ Ruteo AutoML actualizado en Manager: +{len(nuevos_bools)} bools, +1 nums.\")\n", "\n", " # (Transición) Reflejar temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el motor de missingness: {e}\")" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['is_missing_workclass',\n", " 'is_missing_occupation',\n", " 'is_missing_capital_gain',\n", " 'is_missing_native_country']" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "manager.rutas['bool_vars']\n" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 17 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null int8 \n", " 1 workclass 24557 non-null category\n", " 2 education_num 26029 non-null int8 \n", " 3 marital_status 26029 non-null category\n", " 4 occupation 24551 non-null category\n", " 5 relationship 26029 non-null category\n", " 6 race 26029 non-null category\n", " 7 sex 26029 non-null category\n", " 8 capital_gain 25899 non-null float64 \n", " 9 capital_loss 26029 non-null int16 \n", " 10 hours_per_week 26029 non-null int8 \n", " 11 native_country 25560 non-null category\n", " 12 is_missing_workclass 26029 non-null int8 \n", " 13 is_missing_occupation 26029 non-null int8 \n", " 14 is_missing_capital_gain 26029 non-null int8 \n", " 15 is_missing_native_country 26029 non-null int8 \n", " 16 total_nulos_en_fila 26029 non-null int8 \n", "dtypes: category(7), float64(1), int16(1), int8(8)\n", "memory usage: 638.9 KB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 6508 entries, 0 to 6507\n", "Data columns (total 17 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 6508 non-null int8 \n", " 1 workclass 6144 non-null category\n", " 2 education_num 6508 non-null int8 \n", " 3 marital_status 6508 non-null category\n", " 4 occupation 6143 non-null category\n", " 5 relationship 6508 non-null category\n", " 6 race 6508 non-null category\n", " 7 sex 6508 non-null category\n", " 8 capital_gain 6479 non-null float64 \n", " 9 capital_loss 6508 non-null int16 \n", " 10 hours_per_week 6508 non-null int8 \n", " 11 native_country 6395 non-null category\n", " 12 is_missing_workclass 6508 non-null int8 \n", " 13 is_missing_occupation 6508 non-null int8 \n", " 14 is_missing_capital_gain 6508 non-null int8 \n", " 15 is_missing_native_country 6508 non-null int8 \n", " 16 total_nulos_en_fila 6508 non-null int8 \n", "dtypes: category(7), float64(1), int16(1), int8(8)\n", "memory usage: 162.3 KB\n" ] } ], "source": [ "\n", "\n", "X_test.info()\n" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 ENTRENANDO INGENIERÍA EN TRAIN <<<\n", "=== 🚀 FASE 8.3: Ingeniería de Características (Escudos Automáticos y Atajos) ===\n", " ⚙️ [TRAIN] Escaneando variables numéricas con más de 85.0% de ceros...\n", " 🌟 [Atajo AutoML] 'capital_gain' (92.1% ceros) -> Creada bandera: 'tiene_capital_gain'\n", " 🌟 [Atajo AutoML] 'capital_loss' (95.3% ceros) -> Creada bandera: 'tiene_capital_loss'\n", "\n", " ⚙️ [TRAIN] Escaneando matriz en busca de cruces matemáticos lógicos (Auto-Discovery)...\n", " ⚖️ [Auto-Cruce Exitoso] Creada variable 'capital_neto' (capital_gain - capital_loss)\n", "--------------------------------------------------------------------------------\n", " ✅ [INGENIERÍA EXITOSA] Se inyectaron 3 variables dinámicas al modelo.\n", "\n", "⏱️ Ingeniería completada en 0.015s\n", "\n", ">>> 🔒 APLICANDO INGENIERÍA A TEST <<<\n", "=== 🚀 FASE 8.3: Ingeniería de Características (Escudos Automáticos y Atajos) ===\n", " 🔒 [TEST] Aplicando 2 banderas aprendidas de Train...\n", "\n", " 🔒 [TEST] Aplicando 1 cruces aprendidos de Train...\n", "--------------------------------------------------------------------------------\n", " ✅ [INGENIERÍA EXITOSA] Se inyectaron 3 variables dinámicas al modelo.\n", "\n", "⏱️ Ingeniería completada en 0.007s\n", "\n", "🛣️ Ruteo AutoML actualizado en Manager: +2 bools, +1 nums.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def ingenieria_banderas_negocio(\n", " X: pd.DataFrame, \n", " umbral_ceros: float = 0.85,\n", " rutas_actuales: dict = None,\n", " reglas_aprendidas: dict = None\n", ") -> tuple:\n", " \"\"\"\n", " [FASE 3 - Paso 8.3] Motor AutoML de Ingeniería de Características (Auto-Descubrimiento).\n", " - Escáner de Dispersión: Detecta y escuda variables numéricas con exceso de ceros.\n", " - MLOPS SHIELD: Ignora inteligentemente banderas previas para evitar recursividad.\n", " - AUTO-FEATURE CROSSES: Detecta automáticamente pares lógicos y genera variables netas.\n", " - Alineación Train/Test: Aprende las reglas en Train y las fuerza ciegamente en Test.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz predictora (X) está vacía.\")\n", " raise ValueError(\"La matriz predictora (X) está vacía.\")\n", "\n", " # ---------------------------------------------------------\n", " # SHIELD: Construimos la lista negra leyendo el historial\n", " # ---------------------------------------------------------\n", " columnas_ignoradas = []\n", " if rutas_actuales and 'bool_vars' in rutas_actuales:\n", " columnas_ignoradas.extend(rutas_actuales['bool_vars'])\n", " if 'total_nulos_en_fila' in X.columns:\n", " columnas_ignoradas.append('total_nulos_en_fila')\n", "\n", " logger.info(f\"=== 🚀 FASE 8.3: Ingeniería de Características (Escudos Automáticos y Atajos) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_transformado = X.copy()\n", " nuevas_bools = []\n", " nuevas_nums = []\n", " reglas_actuales = {'columnas_bandera': [], 'parejas_cruce': []} if reglas_aprendidas is None else reglas_aprendidas\n", "\n", " # ==========================================\n", " # 1. Escáner Inteligente de Banderas (Auto-Sparsity Flags)\n", " # ==========================================\n", " cols_numericas = X_transformado.select_dtypes(include=['number']).columns.tolist()\n", "\n", " if reglas_aprendidas is None:\n", " logger.info(f\" ⚙️ [TRAIN] Escaneando variables numéricas con más de {umbral_ceros*100}% de ceros...\")\n", " for col in cols_numericas:\n", " if col in columnas_ignoradas:\n", " continue\n", "\n", " valores_unicos = set(X_transformado[col].dropna().unique())\n", " if valores_unicos.issubset({0, 1, 0.0, 1.0}):\n", " continue\n", "\n", " total_validos = X_transformado[col].notna().sum()\n", " if total_validos == 0: continue\n", "\n", " ratio_ceros = (X_transformado[col] == 0).sum() / total_validos\n", "\n", " if ratio_ceros >= umbral_ceros:\n", " reglas_actuales['columnas_bandera'].append(col)\n", " nombre_bandera = f\"tiene_{col}\"\n", " X_transformado[nombre_bandera] = (X_transformado[col].fillna(0) != 0).astype(np.int8)\n", " nuevas_bools.append(nombre_bandera)\n", " logger.info(f\" 🌟 [Atajo AutoML] '{col}' ({ratio_ceros*100:.1f}% ceros) -> Creada bandera: '{nombre_bandera}'\")\n", " else:\n", " logger.info(f\" 🔒 [TEST] Aplicando {len(reglas_actuales['columnas_bandera'])} banderas aprendidas de Train...\")\n", " for col in reglas_actuales['columnas_bandera']:\n", " if col in X_transformado.columns:\n", " nombre_bandera = f\"tiene_{col}\"\n", " X_transformado[nombre_bandera] = (X_transformado[col].fillna(0) != 0).astype(np.int8)\n", " nuevas_bools.append(nombre_bandera)\n", " logger.debug(f\" ↳ Replicada bandera: '{nombre_bandera}'\")\n", "\n", " # ==========================================\n", " # 2. Auto-Descubrimiento de Interacciones (Feature Crosses)\n", " # ==========================================\n", " patrones_opuestos = [\n", " ('_gain', '_loss'), \n", " ('_ingreso', '_gasto'),\n", " ('_max', '_min'),\n", " ('positive_', 'negative_')\n", " ]\n", "\n", " if reglas_aprendidas is None:\n", " logger.info(\"\\n ⚙️ [TRAIN] Escaneando matriz en busca de cruces matemáticos lógicos (Auto-Discovery)...\")\n", " for sufijo_a, sufijo_b in patrones_opuestos:\n", " cols_a = [c for c in cols_numericas if c.endswith(sufijo_a) or c.startswith(sufijo_a)]\n", " for col_a in cols_a:\n", " base_name = col_a.replace(sufijo_a, \"\")\n", " col_b = base_name + sufijo_b if col_a.endswith(sufijo_a) else sufijo_b + base_name\n", "\n", " if col_b in cols_numericas:\n", " nuevo_nombre = f\"{base_name}_neto\" if col_a.endswith(sufijo_a) else f\"neto_{base_name}\"\n", " reglas_actuales['parejas_cruce'].append((col_a, col_b, nuevo_nombre))\n", "\n", " if nuevo_nombre not in X_transformado.columns:\n", " X_transformado[nuevo_nombre] = X_transformado[col_a].fillna(0) - X_transformado[col_b].fillna(0)\n", " nuevas_nums.append(nuevo_nombre)\n", " logger.info(f\" ⚖️ [Auto-Cruce Exitoso] Creada variable '{nuevo_nombre}' ({col_a} - {col_b})\")\n", " else:\n", " logger.info(f\"\\n 🔒 [TEST] Aplicando {len(reglas_actuales['parejas_cruce'])} cruces aprendidos de Train...\")\n", " for col_a, col_b, nuevo_nombre in reglas_actuales['parejas_cruce']:\n", " if col_a in X_transformado.columns and col_b in X_transformado.columns:\n", " X_transformado[nuevo_nombre] = X_transformado[col_a].fillna(0) - X_transformado[col_b].fillna(0)\n", " nuevas_nums.append(nuevo_nombre)\n", " logger.debug(f\" ↳ Replicado cruce: '{nuevo_nombre}'\")\n", "\n", " # ==========================================\n", " # 3. Reporte de Impacto\n", " # ==========================================\n", " total_nuevas = len(nuevas_bools) + len(nuevas_nums)\n", " logger.info(\"-\" * 80)\n", " if total_nuevas > 0:\n", " logger.info(f\" ✅ [INGENIERÍA EXITOSA] Se inyectaron {total_nuevas} variables dinámicas al modelo.\")\n", " else:\n", " logger.info(\" ⚠️ [MATRIZ DENSA] No se detectó alta dispersión ni se aplicaron cruces.\")\n", "\n", " logger.info(f\"\\n⏱️ Ingeniería completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_transformado, nuevas_bools, nuevas_nums, reglas_actuales\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " logger.info(\">>> 🚂 ENTRENANDO INGENIERÍA EN TRAIN <<<\")\n", " # Consumimos X_train y las rutas directamente desde el manager\n", " X_train_eng, flags_creadas, cruces_creados, reglas_ingenieria = ingenieria_banderas_negocio(\n", " X=manager.X_train, \n", " umbral_ceros=0.85, \n", " rutas_actuales=manager.rutas\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO INGENIERÍA A TEST <<<\")\n", " # Consumimos X_test y forzamos las reglas aprendidas de Train\n", " X_test_eng, _, _, _ = ingenieria_banderas_negocio(\n", " X=manager.X_test, \n", " umbral_ceros=0.85, \n", " rutas_actuales=manager.rutas,\n", " reglas_aprendidas=reglas_ingenieria\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos en la memoria del Manager de forma segura\n", " manager.X_train = X_train_eng\n", " manager.X_test = X_test_eng\n", "\n", " # 🚀 MLOPS TIP: Actualizamos el ruteo en el Manager SOLO UNA VEZ con los descubrimientos de Train\n", " if flags_creadas or cruces_creados:\n", " manager.rutas['bool_vars'].extend(flags_creadas)\n", " manager.rutas['num_vars'].extend(cruces_creados)\n", " logger.info(f\"\\n🛣️ Ruteo AutoML actualizado en Manager: +{len(flags_creadas)} bools, +{len(cruces_creados)} nums.\")\n", "\n", " # (Transición) Reflejar temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la ingeniería de características: {e}\")" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 20 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null int8 \n", " 1 workclass 24557 non-null category\n", " 2 education_num 26029 non-null int8 \n", " 3 marital_status 26029 non-null category\n", " 4 occupation 24551 non-null category\n", " 5 relationship 26029 non-null category\n", " 6 race 26029 non-null category\n", " 7 sex 26029 non-null category\n", " 8 capital_gain 25899 non-null float64 \n", " 9 capital_loss 26029 non-null int16 \n", " 10 hours_per_week 26029 non-null int8 \n", " 11 native_country 25560 non-null category\n", " 12 is_missing_workclass 26029 non-null int8 \n", " 13 is_missing_occupation 26029 non-null int8 \n", " 14 is_missing_capital_gain 26029 non-null int8 \n", " 15 is_missing_native_country 26029 non-null int8 \n", " 16 total_nulos_en_fila 26029 non-null int8 \n", " 17 tiene_capital_gain 26029 non-null int8 \n", " 18 tiene_capital_loss 26029 non-null int8 \n", " 19 capital_neto 26029 non-null float64 \n", "dtypes: category(7), float64(2), int16(1), int8(10)\n", "memory usage: 893.1 KB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 6508 entries, 0 to 6507\n", "Data columns (total 20 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 6508 non-null int8 \n", " 1 workclass 6144 non-null category\n", " 2 education_num 6508 non-null int8 \n", " 3 marital_status 6508 non-null category\n", " 4 occupation 6143 non-null category\n", " 5 relationship 6508 non-null category\n", " 6 race 6508 non-null category\n", " 7 sex 6508 non-null category\n", " 8 capital_gain 6479 non-null float64 \n", " 9 capital_loss 6508 non-null int16 \n", " 10 hours_per_week 6508 non-null int8 \n", " 11 native_country 6395 non-null category\n", " 12 is_missing_workclass 6508 non-null int8 \n", " 13 is_missing_occupation 6508 non-null int8 \n", " 14 is_missing_capital_gain 6508 non-null int8 \n", " 15 is_missing_native_country 6508 non-null int8 \n", " 16 total_nulos_en_fila 6508 non-null int8 \n", " 17 tiene_capital_gain 6508 non-null int8 \n", " 18 tiene_capital_loss 6508 non-null int8 \n", " 19 capital_neto 6508 non-null float64 \n", "dtypes: category(7), float64(2), int16(1), int8(10)\n", "memory usage: 225.9 KB\n" ] } ], "source": [ "\n", "\n", "X_test.info()\n" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Series name: income\n", "Non-Null Count Dtype \n", "-------------- ----- \n", "26029 non-null category\n", "dtypes: category(1)\n", "memory usage: 25.7 KB\n" ] } ], "source": [ "\n", "\n", "y_train.info()\n" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 🔬 FASE 9.1: Diagnóstico de Topología del Dataset (AutoML) ===\n", " ✅ [DIAGNÓSTICO] No se encontraron ejes temporales (Datetimes).\n", " ↳ Topología deducida: TRANSVERSAL (Cross-Sectional).\n", "\n", ">>> 🤖 VARIABLES DE ENRUTAMIENTO GLOBAL CONFIGURADAS EN EL MANAGER <<<\n", " ⚙️ ES_SERIE_TIEMPO_ESTRICTA = False\n", " ⚙️ VARIABLE_TIEMPO_GLOBAL = 'None'\n", " ⚙️ VARIABLE_ENTIDAD_GLOBAL = 'None'\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple, Dict\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def diagnostico_topologico_automl(\n", " X_train: pd.DataFrame, \n", " X_test: pd.DataFrame = None\n", ") -> Tuple[pd.DataFrame, pd.DataFrame, Dict]:\n", " \"\"\"\n", " [FASE 9 - Paso 9.1] Escáner de Diagnóstico de Topología de Datos (MLOps Estricto).\n", " - FIX MLOps: Aplanamiento Total. Se liberan los IDs del Index a columnas normales\n", " y se destruye el Index al finalizar para evitar conflictos de ambigüedad futuros.\n", " \"\"\"\n", " if not isinstance(X_train, pd.DataFrame) or X_train.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz X_train está vacía o es inválida.\")\n", " raise ValueError(\"La matriz X_train está vacía o es inválida.\")\n", "\n", " logger.info(\"=== 🔬 FASE 9.1: Diagnóstico de Topología del Dataset (AutoML) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_tr_analisis = X_train.copy()\n", " X_te_analisis = X_test.copy() if X_test is not None else None\n", "\n", " # 1. Liberación temporal de IDs del Index para poder analizarlos (y dejarlos como columnas)\n", " nombres_originales = [n for n in X_tr_analisis.index.names if n is not None]\n", " if nombres_originales:\n", " logger.info(f\" 🔓 Liberando temporalmente IDs del Index hacia columnas: {nombres_originales}\")\n", " X_tr_analisis = X_tr_analisis.reset_index()\n", " if X_te_analisis is not None:\n", " X_te_analisis = X_te_analisis.reset_index()\n", "\n", " reporte = {\n", " 'topologia': 'Transversal',\n", " 'columna_tiempo': None,\n", " 'columna_entidad': None,\n", " 'es_serie_tiempo_estricta': False\n", " }\n", "\n", " # ==========================================\n", " # Búsqueda de Relojes y Varianza\n", " # ==========================================\n", " cols_tiempo = X_tr_analisis.select_dtypes(include=['datetime64', 'datetimetz']).columns.tolist()\n", "\n", " if not cols_tiempo:\n", " logger.info(\" ✅ [DIAGNÓSTICO] No se encontraron ejes temporales (Datetimes).\")\n", " logger.info(\" ↳ Topología deducida: TRANSVERSAL (Cross-Sectional).\")\n", " # 🚀 FIX: Aplanamiento absoluto. El index no debe existir.\n", " X_tr_analisis.reset_index(drop=True, inplace=True)\n", " if X_te_analisis is not None: \n", " X_te_analisis.reset_index(drop=True, inplace=True)\n", " return X_tr_analisis, X_te_analisis, reporte\n", "\n", " col_tiempo = X_tr_analisis[cols_tiempo].nunique().idxmax() if len(cols_tiempo) > 1 else cols_tiempo[0]\n", " reporte['columna_tiempo'] = col_tiempo\n", "\n", " total_filas = len(X_tr_analisis)\n", " filas_validas = total_filas - X_tr_analisis[col_tiempo].isna().sum()\n", " unicos_tiempo = X_tr_analisis[col_tiempo].nunique()\n", "\n", " if unicos_tiempo <= 1:\n", " logger.info(f\" ✅ [DIAGNÓSTICO] El Reloj '{col_tiempo}' está congelado en Train (Varianza Cero).\")\n", " logger.info(\" ↳ Topología deducida: TRANSVERSAL (Cross-Sectional Snapshot).\")\n", " # 🚀 FIX: Aplanamiento absoluto.\n", " X_tr_analisis.reset_index(drop=True, inplace=True)\n", " if X_te_analisis is not None: \n", " X_te_analisis.reset_index(drop=True, inplace=True)\n", " return X_tr_analisis, X_te_analisis, reporte\n", "\n", " ratio_unicidad = unicos_tiempo / filas_validas if filas_validas > 0 else 0\n", "\n", " if ratio_unicidad >= 0.95:\n", " logger.info(f\" ✅ [DIAGNÓSTICO] El tiempo fluye perfectamente (Unicidad: {ratio_unicidad:.1%}).\")\n", " logger.info(f\" ↳ Topología deducida: SERIE DE TIEMPO PURA.\")\n", " reporte['topologia'] = 'Serie de Tiempo Pura'\n", " reporte['es_serie_tiempo_estricta'] = True\n", " # 🚀 FIX: Aplanamiento absoluto.\n", " X_tr_analisis.reset_index(drop=True, inplace=True)\n", " if X_te_analisis is not None: \n", " X_te_analisis.reset_index(drop=True, inplace=True)\n", " return X_tr_analisis, X_te_analisis, reporte\n", "\n", " # ==========================================\n", " # Búsqueda de Entidades (Datos de Panel)\n", " # ==========================================\n", " logger.warning(f\" ⚠️ [ANÁLISIS PROFUNDO] Detectados múltiples eventos en la misma marca de tiempo (Unicidad: {ratio_unicidad:.1%}).\")\n", " logger.info(\" ↳ Buscando una variable Categórica/ID que actúe como Llave Separadora (Entidad)...\")\n", "\n", " posibles_entidades = X_tr_analisis.select_dtypes(include=['category', 'object', 'string', 'int8', 'int16', 'int32', 'int64', 'float32', 'float64']).columns.tolist()\n", " mejor_entidad = None\n", " mejor_score_separacion = 0\n", "\n", " for col in posibles_entidades:\n", " if col == col_tiempo: continue\n", "\n", " unicos_col = X_tr_analisis[col].nunique()\n", " if 1 < unicos_col < (filas_validas * 0.9): \n", " duplicados_promedio = X_tr_analisis.groupby([col, col_tiempo]).size().mean()\n", " score_separacion = 1 / duplicados_promedio\n", "\n", " if score_separacion > mejor_score_separacion:\n", " mejor_score_separacion = score_separacion\n", " mejor_entidad = col\n", "\n", " if duplicados_promedio == 1.0:\n", " break \n", "\n", " if mejor_entidad and mejor_score_separacion >= 0.66: \n", " logger.info(f\" ✅ [DIAGNÓSTICO] Llave de Entidad encontrada: '{mejor_entidad}'.\")\n", " logger.info(f\" ↳ Topología deducida: DATOS DE PANEL (Longitudinal).\")\n", " reporte['topologia'] = 'Datos de Panel'\n", " reporte['columna_entidad'] = mejor_entidad\n", " reporte['es_serie_tiempo_estricta'] = True\n", "\n", " # 🚀 FIX MLOps: Los IDs se quedan como columnas puras. El Index se destruye.\n", " indices_a_proteger = nombres_originales.copy()\n", " if mejor_entidad not in indices_a_proteger:\n", " indices_a_proteger.append(mejor_entidad)\n", "\n", " logger.info(f\" 🛡️ Preservando {indices_a_proteger} como columnas estándar para Fases futuras.\")\n", "\n", " X_tr_analisis.reset_index(drop=True, inplace=True)\n", " if X_te_analisis is not None:\n", " X_te_analisis.reset_index(drop=True, inplace=True)\n", "\n", " else:\n", " logger.warning(\" ⚠️ [DIAGNÓSTICO] No se encontró un ID claro que separe perfectamente los eventos.\")\n", " logger.info(\" ↳ Topología deducida: TRANSVERSAL (Tratar como eventos independientes).\")\n", " reporte['topologia'] = 'Transversal'\n", " reporte['es_serie_tiempo_estricta'] = False \n", "\n", " # 🚀 FIX: Aplanamiento absoluto.\n", " X_tr_analisis.reset_index(drop=True, inplace=True)\n", " if X_te_analisis is not None: \n", " X_te_analisis.reset_index(drop=True, inplace=True)\n", "\n", " logger.info(f\"⏱️ Diagnóstico completado en {time.time() - inicio_timer:.3f}s\")\n", " return X_tr_analisis, X_te_analisis, reporte\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if not hasattr(manager, 'rutas') or manager.rutas is None:\n", " manager.rutas = {}\n", "\n", " # Ejecutamos el diagnóstico utilizando el manager\n", " X_train_top, X_test_top, reporte_topologia = diagnostico_topologico_automl(\n", " X_train=manager.X_train, \n", " X_test=manager.X_test\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los resultados de vuelta en el Manager de forma centralizada\n", " manager.X_train = X_train_top\n", " manager.X_test = X_test_top\n", " manager.rutas['reporte_topologia'] = reporte_topologia # Guardamos el reporte en rutas\n", "\n", " # ==========================================\n", " # 🔗 AUTOWIRING MLOPS: Conexión Automática a Fases Futuras\n", " # ==========================================\n", " ES_SERIE_TIEMPO_ESTRICTA = reporte_topologia['es_serie_tiempo_estricta']\n", " VARIABLE_TIEMPO_GLOBAL = reporte_topologia['columna_tiempo']\n", " VARIABLE_ENTIDAD_GLOBAL = reporte_topologia['columna_entidad']\n", "\n", " # Guardamos variables de enrutamiento globales directamente en el manager\n", " manager.rutas['es_serie_tiempo_estricta'] = ES_SERIE_TIEMPO_ESTRICTA\n", " manager.rutas['variable_tiempo_global'] = VARIABLE_TIEMPO_GLOBAL\n", " manager.rutas['variable_entidad_global'] = VARIABLE_ENTIDAD_GLOBAL\n", "\n", " logger.info(\"\\n>>> 🤖 VARIABLES DE ENRUTAMIENTO GLOBAL CONFIGURADAS EN EL MANAGER <<<\")\n", " logger.info(f\" ⚙️ ES_SERIE_TIEMPO_ESTRICTA = {manager.rutas['es_serie_tiempo_estricta']}\")\n", " logger.info(f\" ⚙️ VARIABLE_TIEMPO_GLOBAL = '{manager.rutas['variable_tiempo_global']}'\")\n", " logger.info(f\" ⚙️ VARIABLE_ENTIDAD_GLOBAL = '{manager.rutas['variable_entidad_global']}'\")\n", "\n", " # (Transición) Reflejar temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el Diagnóstico Topológico: {e}\")" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_losshours_per_weeknative_countryis_missing_workclassis_missing_occupationis_missing_capital_gainis_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_neto
021NaN10never-marriedNaNown-childwhitemale0.0020united-states11002000.0
141private11married-civ-spousesaleshusbandwhitemale4386.0060united-states00000104386.0
224private9never-marriedhandlers-cleanersunmarriedblackfemale0.0040united-states00000000.0
359private9widowedprof-specialtynot-in-familywhitefemale0.0018united-states00000000.0
435private9married-civ-spousesaleshusbandasian-pac-islandermale0.0188750Rare0000001-1887.0
\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation \\\n", "0 21 NaN 10 never-married NaN \n", "1 41 private 11 married-civ-spouse sales \n", "2 24 private 9 never-married handlers-cleaners \n", "3 59 private 9 widowed prof-specialty \n", "4 35 private 9 married-civ-spouse sales \n", "\n", " relationship race sex capital_gain capital_loss \\\n", "0 own-child white male 0.0 0 \n", "1 husband white male 4386.0 0 \n", "2 unmarried black female 0.0 0 \n", "3 not-in-family white female 0.0 0 \n", "4 husband asian-pac-islander male 0.0 1887 \n", "\n", " hours_per_week native_country is_missing_workclass is_missing_occupation \\\n", "0 20 united-states 1 1 \n", "1 60 united-states 0 0 \n", "2 40 united-states 0 0 \n", "3 18 united-states 0 0 \n", "4 50 Rare 0 0 \n", "\n", " is_missing_capital_gain is_missing_native_country total_nulos_en_fila \\\n", "0 0 0 2 \n", "1 0 0 0 \n", "2 0 0 0 \n", "3 0 0 0 \n", "4 0 0 0 \n", "\n", " tiene_capital_gain tiene_capital_loss capital_neto \n", "0 0 0 0.0 \n", "1 1 0 4386.0 \n", "2 0 0 0.0 \n", "3 0 0 0.0 \n", "4 0 1 -1887.0 " ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_train.head()\n" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 20 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null int8 \n", " 1 workclass 24557 non-null category\n", " 2 education_num 26029 non-null int8 \n", " 3 marital_status 26029 non-null category\n", " 4 occupation 24551 non-null category\n", " 5 relationship 26029 non-null category\n", " 6 race 26029 non-null category\n", " 7 sex 26029 non-null category\n", " 8 capital_gain 25899 non-null float64 \n", " 9 capital_loss 26029 non-null int16 \n", " 10 hours_per_week 26029 non-null int8 \n", " 11 native_country 25560 non-null category\n", " 12 is_missing_workclass 26029 non-null int8 \n", " 13 is_missing_occupation 26029 non-null int8 \n", " 14 is_missing_capital_gain 26029 non-null int8 \n", " 15 is_missing_native_country 26029 non-null int8 \n", " 16 total_nulos_en_fila 26029 non-null int8 \n", " 17 tiene_capital_gain 26029 non-null int8 \n", " 18 tiene_capital_loss 26029 non-null int8 \n", " 19 capital_neto 26029 non-null float64 \n", "dtypes: category(7), float64(2), int16(1), int8(10)\n", "memory usage: 893.1 KB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\n", ">>> 🚂 ENTRENANDO INGENIERÍA TEMPORAL EN TRAIN <<<\n", "=== ⏱️ FASE 9.2: Ingeniería Temporal y Trigonometría AutoML ===\n", " ✅ [BYPASS] No se detectaron variables temporales para procesar.\n", " ⏩ La matriz permanece intacta. Avanzando al siguiente paso...\n", "\n", ">>> 🔒 APLICANDO INGENIERÍA TEMPORAL A TEST <<<\n", "=== ⏱️ FASE 9.2: Ingeniería Temporal y Trigonometría AutoML ===\n", " ✅ [BYPASS] No se detectaron variables temporales para procesar.\n", " ⏩ La matriz permanece intacta. Avanzando al siguiente paso...\n", "\n", "📦 [MLOps] Matrices y rutas temporales actualizadas de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import copy\n", "from typing import Tuple, Dict\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def ingenieria_temporal_automl(\n", " X: pd.DataFrame, \n", " rutas: Dict,\n", " fechas_ancla_aprendidas: Dict = None,\n", " topologia_dataset: str = 'Transversal' # 🔧 NUEVO: El Enrutador Topológico Maestro\n", ") -> Tuple[pd.DataFrame, Dict, Dict]:\n", " \"\"\"\n", " [FASE 3 - Paso 9.2] Motor AutoML de Ingeniería Temporal y Cíclica.\n", " - Sincronización MLOps: Protege el diccionario de rutas para Train y Test.\n", " - Transformación Circular: Usa np.sin y np.cos para codificar variables cíclicas.\n", " - Inteligencia Topológica (NUEVO): \n", " Si es 'Transversal' -> Destruye la fecha original tras procesarla.\n", " Si es 'Serie de Tiempo Pura' o 'Datos de Panel' -> Preserva la fecha original para la Fase de Rezagos.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz predictora (X) está vacía.\")\n", " raise ValueError(\"La matriz predictora (X) está vacía.\")\n", "\n", " logger.info(f\"=== ⏱️ FASE 9.2: Ingeniería Temporal y Trigonometría AutoML ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", "\n", " # Usamos deepcopy para no alterar el diccionario original inadvertidamente\n", " rutas_actualizadas = copy.deepcopy(rutas)\n", "\n", " # 🧠 INTELIGENCIA DE MEMORIA: En Train leemos las rutas, en Test leemos la memoria del Train\n", " if fechas_ancla_aprendidas is None:\n", " fechas_detectadas = rutas_actualizadas.get('date_vars', [])\n", " else:\n", " fechas_detectadas = list(fechas_ancla_aprendidas.keys())\n", "\n", " anclas_actuales = {} if fechas_ancla_aprendidas is None else fechas_ancla_aprendidas\n", "\n", " # 1. Bypass Inteligente (Escudo MLOps)\n", " if not fechas_detectadas:\n", " logger.info(\" ✅ [BYPASS] No se detectaron variables temporales para procesar.\")\n", " logger.info(\" ⏩ La matriz permanece intacta. Avanzando al siguiente paso...\")\n", " return X_trans, rutas_actualizadas, anclas_actuales\n", "\n", " # 🚀 DECISIÓN ESTRATÉGICA: ¿Destruir o Preservar?\n", " preservar_fecha = topologia_dataset in ['Serie de Tiempo Pura', 'Datos de Panel']\n", "\n", " if fechas_ancla_aprendidas is None:\n", " modo_str = f\"{topologia_dataset.upper()} (Preservando Fecha)\" if preservar_fecha else f\"{topologia_dataset.upper()} (Destruyendo Fecha)\"\n", " logger.info(f\" 🚂 [TRAIN] Procesando {len(fechas_detectadas)} variables temporales. Modo: {modo_str}\")\n", " else:\n", " logger.info(f\" 🔒 [TEST] Aplicando transformaciones temporales (Sincronización exacta con Train)...\")\n", "\n", " nuevas_numericas = []\n", "\n", " # 2. Motor de Extracción y Transformación\n", " for col in fechas_detectadas:\n", " if col not in X_trans.columns:\n", " logger.error(f\"🛑 [Desincronización Crítica] La columna '{col}' procesada en Train no existe en Test.\")\n", " raise KeyError(f\"La columna '{col}' procesada en Train no existe en Test.\")\n", "\n", " X_trans[col] = pd.to_datetime(X_trans[col], errors='coerce')\n", "\n", " # A. Distancia Lineal MLOps (Antigüedad / Tendencia)\n", " if fechas_ancla_aprendidas is None:\n", " fecha_ancla = X_trans[col].max()\n", " anclas_actuales[col] = fecha_ancla\n", " else:\n", " fecha_ancla = fechas_ancla_aprendidas[col]\n", "\n", " nombre_lineal = f\"{col}_antiguedad_dias\"\n", " X_trans[nombre_lineal] = (fecha_ancla - X_trans[col]).dt.days\n", " nuevas_numericas.append(nombre_lineal)\n", "\n", " # B. Extracción de Componentes\n", " meses = X_trans[col].dt.month\n", " dias_semana = X_trans[col].dt.dayofweek\n", "\n", " # C. Transformación Cíclica (Seno y Coseno)\n", " nombre_mes_sin, nombre_mes_cos = f\"{col}_mes_sin\", f\"{col}_mes_cos\"\n", " X_trans[nombre_mes_sin] = np.sin(2 * np.pi * meses / 12.0)\n", " X_trans[nombre_mes_cos] = np.cos(2 * np.pi * meses / 12.0)\n", "\n", " nombre_dia_sin, nombre_dia_cos = f\"{col}_dia_semana_sin\", f\"{col}_dia_semana_cos\"\n", " X_trans[nombre_dia_sin] = np.sin(2 * np.pi * dias_semana / 7.0)\n", " X_trans[nombre_dia_cos] = np.cos(2 * np.pi * dias_semana / 7.0)\n", "\n", " nuevas_numericas.extend([nombre_mes_sin, nombre_mes_cos, nombre_dia_sin, nombre_dia_cos])\n", "\n", " # D. Inteligencia de Guillotina basada en la Topología\n", " if not preservar_fecha:\n", " X_trans.drop(columns=[col], inplace=True)\n", " if fechas_ancla_aprendidas is None:\n", " logger.info(f\" ⚙️ '{col}' descompuesta en 5 vectores matemáticos y ELIMINADA.\")\n", " else:\n", " if fechas_ancla_aprendidas is None:\n", " logger.info(f\" ⚙️ '{col}' descompuesta en 5 vectores matemáticos y PRESERVADA intacta.\")\n", "\n", " # 3. Actualización Dinámica del Enrutamiento\n", " if fechas_ancla_aprendidas is None:\n", " if not preservar_fecha:\n", " # Solo vaciamos la ruta de fechas si realmente la destruimos\n", " rutas_actualizadas['date_vars'] = [] \n", " rutas_actualizadas['num_vars'].extend(nuevas_numericas)\n", "\n", " logger.info(\"-\" * 80)\n", " estado_col = \"mantenidas vivas\" if preservar_fecha else \"eliminadas\"\n", " logger.info(f\" 📊 Reporte: {len(fechas_detectadas)} columnas temporales procesadas y {estado_col}.\")\n", " logger.info(f\" 📈 Inyectadas {len(nuevas_numericas)} nuevas variables puramente matemáticas.\")\n", " logger.info(f\"\\n⏱️ Ingeniería Temporal completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, rutas_actualizadas, anclas_actuales\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if not hasattr(manager, 'rutas') or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " # ---------------------------------------------------------\n", " # 🔗 AUTOWIRING MLOPS: Heredando Topología del Manager\n", " # ---------------------------------------------------------\n", " # Si la topología se calculó y guardó en rutas, la extraemos de ahí. Si no, asume Transversal.\n", " TOPOLOGIA_GLOBAL = manager.rutas.get('reporte_topologia', {}).get('topologia', 'Transversal')\n", "\n", " logger.info(\"\\n>>> 🚂 ENTRENANDO INGENIERÍA TEMPORAL EN TRAIN <<<\")\n", " X_train_temp, rutas_actualizadas, anclas_temporales = ingenieria_temporal_automl(\n", " X=manager.X_train, \n", " rutas=manager.rutas,\n", " topologia_dataset=TOPOLOGIA_GLOBAL # <- Alimentación dinámica desde el Manager\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO INGENIERÍA TEMPORAL A TEST <<<\")\n", " X_test_temp, _, _ = ingenieria_temporal_automl(\n", " X=manager.X_test, \n", " rutas=manager.rutas,\n", " fechas_ancla_aprendidas=anclas_temporales,\n", " topologia_dataset=TOPOLOGIA_GLOBAL # <- Alimentación dinámica desde el Manager\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardar en la memoria del Manager de forma segura\n", " manager.X_train = X_train_temp\n", " manager.X_test = X_test_temp\n", " manager.rutas = rutas_actualizadas # MLOps Tip: El enrutador ya se actualizó por dentro de la función Train\n", " \n", " # Aseguramos el almacenamiento del artefacto\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", " \n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('anclas_temporales', anclas_temporales)\n", " else:\n", " # Fallback en caso de que la API del manager difiera\n", " if not hasattr(manager, 'artefactos') or manager.artefactos is None:\n", " manager.artefactos = {}\n", " manager.artefactos['anclas_temporales'] = anclas_temporales\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices y rutas temporales actualizadas de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", " num_vars = manager.rutas['num_vars']\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Ingeniería Temporal: {e}\")" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 20 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null int8 \n", " 1 workclass 24557 non-null category\n", " 2 education_num 26029 non-null int8 \n", " 3 marital_status 26029 non-null category\n", " 4 occupation 24551 non-null category\n", " 5 relationship 26029 non-null category\n", " 6 race 26029 non-null category\n", " 7 sex 26029 non-null category\n", " 8 capital_gain 25899 non-null float64 \n", " 9 capital_loss 26029 non-null int16 \n", " 10 hours_per_week 26029 non-null int8 \n", " 11 native_country 25560 non-null category\n", " 12 is_missing_workclass 26029 non-null int8 \n", " 13 is_missing_occupation 26029 non-null int8 \n", " 14 is_missing_capital_gain 26029 non-null int8 \n", " 15 is_missing_native_country 26029 non-null int8 \n", " 16 total_nulos_en_fila 26029 non-null int8 \n", " 17 tiene_capital_gain 26029 non-null int8 \n", " 18 tiene_capital_loss 26029 non-null int8 \n", " 19 capital_neto 26029 non-null float64 \n", "dtypes: category(7), float64(2), int16(1), int8(10)\n", "memory usage: 893.1 KB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 6508 entries, 0 to 6507\n", "Data columns (total 20 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 6508 non-null int8 \n", " 1 workclass 6144 non-null category\n", " 2 education_num 6508 non-null int8 \n", " 3 marital_status 6508 non-null category\n", " 4 occupation 6143 non-null category\n", " 5 relationship 6508 non-null category\n", " 6 race 6508 non-null category\n", " 7 sex 6508 non-null category\n", " 8 capital_gain 6479 non-null float64 \n", " 9 capital_loss 6508 non-null int16 \n", " 10 hours_per_week 6508 non-null int8 \n", " 11 native_country 6395 non-null category\n", " 12 is_missing_workclass 6508 non-null int8 \n", " 13 is_missing_occupation 6508 non-null int8 \n", " 14 is_missing_capital_gain 6508 non-null int8 \n", " 15 is_missing_native_country 6508 non-null int8 \n", " 16 total_nulos_en_fila 6508 non-null int8 \n", " 17 tiene_capital_gain 6508 non-null int8 \n", " 18 tiene_capital_loss 6508 non-null int8 \n", " 19 capital_neto 6508 non-null float64 \n", "dtypes: category(7), float64(2), int16(1), int8(10)\n", "memory usage: 225.9 KB\n" ] } ], "source": [ "\n", "\n", "X_test.info()\n" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 ENTRENANDO MOTOR DE RATIOS EN TRAIN <<<\n", "=== ➗ FASE 9.3: Generación de Ratios Matemáticos (Auto-Discovery Universal) ===\n", " 🚂 [TRAIN] Escaneando topología para Auto-Descubrimiento de Ratios...\n", " ✨ [Auto-Discovery] Pareja detectada: 'capital_gain' / 'age'\n", " ✨ [Auto-Discovery] Pareja detectada: 'capital_gain' / 'hours_per_week'\n", " ✨ [Auto-Discovery] Pareja detectada: 'capital_loss' / 'age'\n", " ✨ [Auto-Discovery] Pareja detectada: 'capital_loss' / 'hours_per_week'\n", "\n", " ⚙️ Ejecutando divisiones matemáticas con protección contra ceros...\n", " ⚖️ [Ratio Exitoso] Creada variable purgada: 'capital_gain_por_age'\n", " ⚖️ [Ratio Exitoso] Creada variable purgada: 'capital_gain_por_hours_per_week'\n", " ⚖️ [Ratio Exitoso] Creada variable purgada: 'capital_loss_por_age'\n", " ⚖️ [Ratio Exitoso] Creada variable purgada: 'capital_loss_por_hours_per_week'\n", "--------------------------------------------------------------------------------\n", " 📊 Reporte: 4 ratios inyectados | 0 omitidos.\n", " 🛡️ ESTATUS: Gradientes protegidos. 0% de valores infinitos garantizado.\n", "\n", "⏱️ Ingeniería de Ratios completada en 0.071s\n", "\n", ">>> 🔒 APLICANDO RECETA DE RATIOS A TEST <<<\n", "=== ➗ FASE 9.3: Generación de Ratios Matemáticos (Auto-Discovery Universal) ===\n", " 🔒 [TEST] Aplicando receta de ratios matemáticos estricta aprendida en Train...\n", "\n", " ⚙️ Ejecutando divisiones matemáticas con protección contra ceros...\n", " ⚖️ [Ratio Exitoso] Creada variable purgada: 'capital_gain_por_age'\n", " ⚖️ [Ratio Exitoso] Creada variable purgada: 'capital_gain_por_hours_per_week'\n", " ⚖️ [Ratio Exitoso] Creada variable purgada: 'capital_loss_por_age'\n", " ⚖️ [Ratio Exitoso] Creada variable purgada: 'capital_loss_por_hours_per_week'\n", "--------------------------------------------------------------------------------\n", " 📊 Reporte: 4 ratios inyectados | 0 omitidos.\n", " 🛡️ ESTATUS: Gradientes protegidos. 0% de valores infinitos garantizado.\n", "\n", "⏱️ Ingeniería de Ratios completada en 0.017s\n", "\n", "📦 [MLOps] Matrices y rutas de ratios actualizadas de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import re\n", "from typing import Dict, List, Tuple\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def generar_ratios_negocio_automl(\n", " X: pd.DataFrame, \n", " rutas: Dict, \n", " operaciones_ratio_manuales: List[Tuple[str, str, str]] = None,\n", " auto_discovery: bool = True,\n", " receta_aprendida: List[Tuple[str, str, str]] = None\n", ") -> Tuple[pd.DataFrame, Dict, List[Tuple[str, str, str]]]:\n", " \"\"\"\n", " [FASE 3 - Paso 9.3] Motor AutoML de Ratios Matemáticos (Universal Multi-Dominio).\n", " - Auto-Discovery NLP: Escanea nombres buscando magnitudes y divisores lógicos (Solo en Train).\n", " - Muro MLOps: Test usa estrictamente la 'receta_aprendida' de Train para garantizar alineación de columnas.\n", " - BLINDAJE LÉXICO: Ignora meta-variables (nulos, missing, etc.) y usa Regex para evitar falsos positivos.\n", " - Blindaje Anti-Infinito: Detecta divisiones por cero y neutraliza.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz predictora (X) está vacía.\")\n", " raise ValueError(\"La matriz predictora (X) está vacía.\")\n", "\n", " logger.info(f\"=== ➗ FASE 9.3: Generación de Ratios Matemáticos (Auto-Discovery Universal) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", "\n", " # 1. MLOps: Fit vs Transform (Alineación de Matrices)\n", " if receta_aprendida is not None:\n", " logger.info(\" 🔒 [TEST] Aplicando receta de ratios matemáticos estricta aprendida en Train...\")\n", " operaciones_finales = receta_aprendida\n", " else:\n", " logger.info(\" 🚂 [TRAIN] Escaneando topología para Auto-Descubrimiento de Ratios...\")\n", " operaciones_finales = operaciones_ratio_manuales or []\n", "\n", " if auto_discovery:\n", " cols_numericas = rutas.get('num_vars', X_trans.select_dtypes(include=['number']).columns.tolist())\n", "\n", " # ==========================================\n", " # 🌐 EL CEREBRO LÉXICO UNIVERSAL MULTI-DOMINIO\n", " # ==========================================\n", " def construir_patron(palabra):\n", " \"\"\"Crea un patrón Regex para capturar palabras exactas en snake_case o camelCase\"\"\"\n", " return fr'(^{palabra}$|^{palabra}_|_{palabra}$|_{palabra}_|[a-z]{palabra.capitalize()})'\n", "\n", " # --- DICCIONARIO EXPANDIDO DE MAGNITUDES (NUMERADORES) ---\n", " kw_numerador = [\n", " # Finanzas y Ventas (Inglés/Español)\n", " 'gain', 'ganancia', 'loss', 'perdida', 'pérdida', 'income', 'ingreso', 'ingresos', \n", " 'revenue', 'cost', 'costo', 'amount', 'monto', 'cantidad', 'total', 'price', 'precio', \n", " 'balance', 'saldo', 'sales', 'ventas', 'profit', 'beneficio', 'margin', 'margen', \n", " 'debt', 'deuda', 'tax', 'impuesto', 'discount', 'descuento', 'budget', 'presupuesto', 'expense', 'gasto',\n", " # Telemetría y Sistemas (Inglés/Español)\n", " 'bytes', 'packets', 'paquetes', 'requests', 'peticiones', 'solicitudes', \n", " 'errors', 'errores', 'traffic', 'trafico', 'tráfico', 'payload', 'carga',\n", " # Salud y Biometría (Inglés/Español)\n", " 'dosage', 'dosis', 'calories', 'calorias', 'calorías', 'cholesterol', 'colesterol', \n", " 'glucose', 'glucosa', 'heart_rate', 'frecuencia_cardiaca', 'blood_pressure', 'presion_arterial',\n", " # Física y Producción (Inglés/Español)\n", " 'distance', 'distancia', 'weight', 'peso', 'production', 'produccion', 'producción', \n", " 'volume', 'volumen', 'length', 'longitud', 'height', 'altura', 'mass', 'masa', \n", " 'energy', 'energia', 'energía', 'power', 'potencia', 'yield', 'rendimiento', 'inventory', 'inventario'\n", " ]\n", "\n", " # --- DICCIONARIO EXPANDIDO DE DIVISORES (DENOMINADORES) ---\n", " kw_denominador = [\n", " # Tiempo y Duración (Inglés/Español)\n", " 'hour', 'hora', 'day', 'dia', 'día', 'month', 'mes', 'year', 'año', 'ano', \n", " 'duration', 'duracion', 'duración', 'time', 'tiempo', 'seconds', 'segundos', \n", " 'minutes', 'minutos', 'age', 'edad', 'week', 'semana', 'quarter', 'trimestre',\n", " # Conteo y Capacidades (Inglés/Español)\n", " 'qty', 'quantity', 'count', 'conteo', 'limit', 'limite', 'límite', \n", " 'capacity', 'capacidad', 'size', 'tamaño', 'tamano',\n", " # Entidades Per Cápita / Tasas (Inglés/Español)\n", " 'users', 'usuarios', 'employees', 'empleados', 'visitors', 'visitantes', \n", " 'sessions', 'sesiones', 'clicks', 'clics', 'customers', 'clientes', \n", " 'accounts', 'cuentas', 'views', 'vistas', 'impressions', 'impresiones', \n", " 'transactions', 'transacciones', 'members', 'miembros', 'population', 'poblacion', 'población', \n", " 'area', 'área', 'capita'\n", " ]\n", "\n", " # Compilación de Regex de alto rendimiento\n", " patrones_numerador = [construir_patron(kw) for kw in kw_numerador]\n", " patron_num_regex = re.compile('|'.join(patrones_numerador), re.IGNORECASE)\n", "\n", " patrones_denominador = [construir_patron(kw) for kw in kw_denominador]\n", " patron_den_regex = re.compile('|'.join(patrones_denominador), re.IGNORECASE)\n", "\n", " kw_prohibidos = ['nulo', 'null', 'missing', 'tiene_']\n", " cols_limpias = [c for c in cols_numericas if not any(prohibido in c.lower() for prohibido in kw_prohibidos)]\n", "\n", " # 🚀 APLICACIÓN DEL ESCUDO LÉXICO\n", " nums_detectados = [c for c in cols_limpias if patron_num_regex.search(c)]\n", " dens_detectados = [c for c in cols_limpias if patron_den_regex.search(c)]\n", "\n", " for num_col in nums_detectados:\n", " for den_col in dens_detectados:\n", " if num_col != den_col:\n", " nuevo_nombre = f\"{num_col}_por_{den_col}\"\n", " if not any(nuevo_nombre == t[0] for t in operaciones_finales):\n", " operaciones_finales.append((nuevo_nombre, num_col, den_col))\n", " logger.info(f\" ✨ [Auto-Discovery] Pareja detectada: '{num_col}' / '{den_col}'\")\n", "\n", " if not operaciones_finales:\n", " logger.info(\" ✅ [BYPASS] No se encontraron parejas lógicas ni ratios manuales. Avanzando...\")\n", " return X_trans, rutas, []\n", "\n", " # ==========================================\n", " # 2. Ejecución Matemática Protegida\n", " # ==========================================\n", " nuevas_numericas = []\n", " ratios_creados = 0\n", " ratios_fallidos = 0\n", "\n", " logger.info(\"\\n ⚙️ Ejecutando divisiones matemáticas con protección contra ceros...\")\n", "\n", " for nuevo_nombre, col_numerador, col_denominador in operaciones_finales:\n", " if col_numerador not in X_trans.columns or col_denominador not in X_trans.columns:\n", " ratios_fallidos += 1\n", " continue\n", "\n", " numerador = X_trans[col_numerador].astype(float)\n", " denominador = X_trans[col_denominador].astype(float)\n", "\n", " # Blindaje anti-infinito: Si el denominador es 0, el resultado es 0. \n", " # Si no, se divide normal. Reemplazamos 0 por nan temporalmente para evitar el warning de Pandas\n", " X_trans[nuevo_nombre] = np.where(\n", " denominador == 0, \n", " 0.0, \n", " numerador / denominador.replace(0, np.nan)\n", " )\n", "\n", " # Limpieza extra de seguridad\n", " X_trans[nuevo_nombre] = X_trans[nuevo_nombre].replace([np.inf, -np.inf], 0.0)\n", " nuevas_numericas.append(nuevo_nombre)\n", " ratios_creados += 1\n", " logger.info(f\" ⚖️ [Ratio Exitoso] Creada variable purgada: '{nuevo_nombre}'\")\n", "\n", " # MLOPS TIP: Actualizamos las rutas SOLO en la ejecución de Train (la primera vez)\n", " if receta_aprendida is None and nuevas_numericas:\n", " rutas['num_vars'].extend(nuevas_numericas)\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 📊 Reporte: {ratios_creados} ratios inyectados | {ratios_fallidos} omitidos.\")\n", " if ratios_creados > 0:\n", " logger.info(\" 🛡️ ESTATUS: Gradientes protegidos. 0% de valores infinitos garantizado.\")\n", " logger.info(f\"\\n⏱️ Ingeniería de Ratios completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, rutas, operaciones_finales\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if not hasattr(manager, 'rutas') or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " logger.info(\">>> 🚂 ENTRENANDO MOTOR DE RATIOS EN TRAIN <<<\")\n", " X_train_ratio, rutas_actualizadas, receta_ratios_train = generar_ratios_negocio_automl(\n", " X=manager.X_train, \n", " rutas=manager.rutas,\n", " auto_discovery=True\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO RECETA DE RATIOS A TEST <<<\")\n", " X_test_ratio, _, _ = generar_ratios_negocio_automl(\n", " X=manager.X_test, \n", " rutas=manager.rutas,\n", " auto_discovery=False, # Bloqueamos el cerebro léxico en Test\n", " receta_aprendida=receta_ratios_train # Forzamos la receta de Train\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos en la memoria del Manager\n", " manager.X_train = X_train_ratio\n", " manager.X_test = X_test_ratio\n", " manager.rutas = rutas_actualizadas # La función Train ya inyectó las nuevas num_vars en las rutas\n", " \n", " # Aseguramos el almacenamiento del artefacto\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", " \n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('receta_ratios_train', receta_ratios_train)\n", " else:\n", " # Fallback en caso de que la API del manager difiera\n", " if not hasattr(manager, 'artefactos') or manager.artefactos is None:\n", " manager.artefactos = {}\n", " manager.artefactos['receta_ratios_train'] = receta_ratios_train\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices y rutas de ratios actualizadas de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", " num_vars = manager.rutas['num_vars']\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Ingeniería de Ratios: {e}\")" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 24 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null int8 \n", " 1 workclass 24557 non-null category\n", " 2 education_num 26029 non-null int8 \n", " 3 marital_status 26029 non-null category\n", " 4 occupation 24551 non-null category\n", " 5 relationship 26029 non-null category\n", " 6 race 26029 non-null category\n", " 7 sex 26029 non-null category\n", " 8 capital_gain 25899 non-null float64 \n", " 9 capital_loss 26029 non-null int16 \n", " 10 hours_per_week 26029 non-null int8 \n", " 11 native_country 25560 non-null category\n", " 12 is_missing_workclass 26029 non-null int8 \n", " 13 is_missing_occupation 26029 non-null int8 \n", " 14 is_missing_capital_gain 26029 non-null int8 \n", " 15 is_missing_native_country 26029 non-null int8 \n", " 16 total_nulos_en_fila 26029 non-null int8 \n", " 17 tiene_capital_gain 26029 non-null int8 \n", " 18 tiene_capital_loss 26029 non-null int8 \n", " 19 capital_neto 26029 non-null float64 \n", " 20 capital_gain_por_age 25899 non-null float64 \n", " 21 capital_gain_por_hours_per_week 25899 non-null float64 \n", " 22 capital_loss_por_age 26029 non-null float64 \n", " 23 capital_loss_por_hours_per_week 26029 non-null float64 \n", "dtypes: category(7), float64(6), int16(1), int8(10)\n", "memory usage: 1.7 MB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 6508 entries, 0 to 6507\n", "Data columns (total 24 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 6508 non-null int8 \n", " 1 workclass 6144 non-null category\n", " 2 education_num 6508 non-null int8 \n", " 3 marital_status 6508 non-null category\n", " 4 occupation 6143 non-null category\n", " 5 relationship 6508 non-null category\n", " 6 race 6508 non-null category\n", " 7 sex 6508 non-null category\n", " 8 capital_gain 6479 non-null float64 \n", " 9 capital_loss 6508 non-null int16 \n", " 10 hours_per_week 6508 non-null int8 \n", " 11 native_country 6395 non-null category\n", " 12 is_missing_workclass 6508 non-null int8 \n", " 13 is_missing_occupation 6508 non-null int8 \n", " 14 is_missing_capital_gain 6508 non-null int8 \n", " 15 is_missing_native_country 6508 non-null int8 \n", " 16 total_nulos_en_fila 6508 non-null int8 \n", " 17 tiene_capital_gain 6508 non-null int8 \n", " 18 tiene_capital_loss 6508 non-null int8 \n", " 19 capital_neto 6508 non-null float64 \n", " 20 capital_gain_por_age 6479 non-null float64 \n", " 21 capital_gain_por_hours_per_week 6479 non-null float64 \n", " 22 capital_loss_por_age 6508 non-null float64 \n", " 23 capital_loss_por_hours_per_week 6508 non-null float64 \n", "dtypes: category(7), float64(6), int16(1), int8(10)\n", "memory usage: 429.3 KB\n" ] } ], "source": [ "\n", "\n", "X_test.info()\n" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 ENTRENANDO MAPEO BINARIO EN TRAIN <<<\n", "=== 🎭 FASE 10.1: Mapeo Binario Estricto (Traductor AutoML) ===\n", " 🚂 [TRAIN] Escaneando matriz en busca de variables estrictamente binarias...\n", " 🔄 [Codificado] 'sex': female ➔ 0 | male ➔ 1\n", "\n", " 🎯 [TRAIN Target] 'income': <=50k ➔ 0 | >50k ➔ 1\n", "--------------------------------------------------------------------------------\n", " ✅ [ESTADO SALVADO] 1 características y el Target fueron binarizados.\n", "\n", "⏱️ Codificación Binaria completada en 0.025s\n", "\n", ">>> 🔒 APLICANDO MAPEO BINARIO A TEST <<<\n", "=== 🎭 FASE 10.1: Mapeo Binario Estricto (Traductor AutoML) ===\n", " 🔒 [TEST] Aplicando mapeos binarios aprendidos de Train...\n", "\n", " 🎯 [TEST Target] 'income' transformado usando: {'<=50k': 0, '>50k': 1}\n", "--------------------------------------------------------------------------------\n", " ✅ [ESTADO SALVADO] 1 características y el Target fueron binarizados.\n", "\n", "⏱️ Codificación Binaria completada en 0.008s\n", " 💾 Guardando reglas binarias usando 'guardar_artefacto'...\n", "\n", "📦 [MLOps] Matrices, vector objetivo y rutas binarias actualizadas de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import time\n", "from typing import Dict, Tuple\n", "\n", "import numpy as np\n", "import pandas as pd\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "\n", "def _validar_X_binario(X: pd.DataFrame) -> None:\n", " \"\"\"\n", " Valida que la matriz predictora exista y tenga contenido.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz predictora (X) está vacía.\")\n", " raise ValueError(\"La matriz predictora (X) está vacía.\")\n", "\n", "\n", "def _clonar_rutas(rutas: Dict = None) -> Dict:\n", " \"\"\"\n", " Clona defensivamente el diccionario de rutas para evitar mutaciones laterales.\n", " \"\"\"\n", " rutas = dict(rutas or {})\n", " rutas['num_vars'] = list(rutas.get('num_vars', []))\n", " rutas['cat_vars'] = list(rutas.get('cat_vars', []))\n", " rutas['bool_vars'] = list(rutas.get('bool_vars', []))\n", " return rutas\n", "\n", "\n", "def _ya_es_binaria(serie: pd.Series, es_bool: bool) -> bool:\n", " \"\"\"\n", " Detecta si una serie numérica ya está codificada como binaria {0,1}.\n", " Los booleanos nativos no se consideran 'ya listos' porque deben forzarse a Int8.\n", " \"\"\"\n", " if es_bool or not pd.api.types.is_numeric_dtype(serie):\n", " return False\n", " return set(serie.dropna().unique()).issubset({0, 1, 0.0, 1.0})\n", "\n", "\n", "def _construir_mapa(serie: pd.Series, es_bool: bool) -> Dict:\n", " \"\"\"\n", " Construye el diccionario de traducción binaria:\n", " - Booleanos: False -> 0 | True -> 1\n", " - Otros binarios: valor menor -> 0 | valor mayor -> 1\n", " \"\"\"\n", " if es_bool:\n", " return {False: 0, True: 1}\n", " valores = sorted(list(serie.dropna().unique()))\n", " return {valores[0]: 0, valores[1]: 1}\n", "\n", "\n", "def _target_key(y: pd.Series) -> str:\n", " \"\"\"\n", " Genera la llave oficial del target dentro del diccionario de mapeos.\n", " \"\"\"\n", " return f\"TARGET_{y.name or 'target'}\"\n", "\n", "\n", "def mapeo_binario_automl(\n", " X: pd.DataFrame,\n", " y: pd.Series = None,\n", " rutas: Dict = None,\n", " mapeos_aprendidos: Dict = None,\n", ") -> Tuple[pd.DataFrame, pd.Series, Dict, Dict]:\n", " \"\"\"\n", " [FASE 10 - Paso 10.1] Motor AutoML de Codificación Binaria Estricta.\n", " - 🚀 Muro MLOps: Aprende los mapeos en Train (.fit) y los aplica ciegamente en Test (.transform).\n", " - 🔍 Escáner de Cardinalidad: Detecta automáticamente columnas con exactamente 2 valores únicos.\n", " - 🔒 Forzado Booleano: Si es de tipo bool/boolean, la transforma a 0 y 1 sí o sí.\n", " - 🛡️ Escudo Missing: Ignora por completo las columnas generadas 'is_missing'.\n", " - 💧 Preservación de Nulos: Transforma a 0 y 1 dejando los NaNs intactos para la imputación posterior.\n", " - 📉 Downcasting Inteligente: Fuerza la conversión a Int8 / int8 para optimización absoluta de RAM.\n", " - 🎯 Integración del Target: Evalúa y codifica la variable objetivo (y) de forma estricta.\n", " - 🔧 Refactor Pro: Mantiene la arquitectura modular y mantenible del núcleo estable.\n", " \"\"\"\n", " _validar_X_binario(X)\n", "\n", " logger.info(\"=== 🎭 FASE 10.1: Mapeo Binario Estricto (Traductor AutoML) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " y_trans = y.copy() if y is not None else None\n", " rutas_trans = _clonar_rutas(rutas)\n", " diccionario_mapeos = dict(mapeos_aprendidos or {})\n", " columnas_transformadas = 0\n", "\n", " # ==========================================\n", " # 1. Escáner y Traducción de Características (X)\n", " # ==========================================\n", " if mapeos_aprendidos is None:\n", " logger.info(\" 🚂 [TRAIN] Escaneando matriz en busca de variables estrictamente binarias...\")\n", "\n", " for col in X_trans.columns:\n", " # 🛡️ Escudo Missing: Ignorar columnas generadas por imputación\n", " if 'is_missing' in col:\n", " continue\n", "\n", " serie = X_trans[col]\n", " es_booleano = pd.api.types.is_bool_dtype(serie)\n", "\n", " # Saltar variables numéricas que ya están limpias en 0/1\n", " if _ya_es_binaria(serie, es_booleano):\n", " continue\n", "\n", " # Regla del Arquitecto: solo variables con 2 valores únicos o booleanos nativos\n", " if not (es_booleano or serie.dropna().nunique() == 2):\n", " continue\n", "\n", " mapa = _construir_mapa(serie, es_booleano)\n", " X_trans[col] = serie.map(mapa).astype('Int8')\n", " diccionario_mapeos[col] = mapa\n", " columnas_transformadas += 1\n", "\n", " # Actualización segura del ruteo\n", " if col in rutas_trans['cat_vars']:\n", " rutas_trans['cat_vars'].remove(col)\n", " if col not in rutas_trans['bool_vars']:\n", " rutas_trans['bool_vars'].append(col)\n", "\n", " # Log narrativo\n", " if es_booleano:\n", " mensaje_log = \"False ➔ 0 | True ➔ 1\"\n", " else:\n", " claves = list(mapa.keys())\n", " mensaje_log = f\"{claves[0]} ➔ 0 | {claves[1]} ➔ 1\"\n", "\n", " logger.info(f\" 🔄 [Codificado] '{col}': {mensaje_log}\")\n", "\n", " else:\n", " logger.info(\" 🔒 [TEST] Aplicando mapeos binarios aprendidos de Train...\")\n", "\n", " for col, mapa in diccionario_mapeos.items():\n", " if col.startswith('TARGET_') or col not in X_trans.columns:\n", " continue\n", "\n", " X_trans[col] = X_trans[col].map(mapa).astype('Int8')\n", " columnas_transformadas += 1\n", " logger.debug(f\" ↳ Replicado en '{col}': {mapa}\")\n", "\n", " # ==========================================\n", " # 2. Escáner y Traducción del Target (y)\n", " # ==========================================\n", " if y_trans is not None:\n", " clave_target = _target_key(y_trans)\n", "\n", " if mapeos_aprendidos is None:\n", " if not pd.api.types.is_numeric_dtype(y_trans) and y_trans.nunique() == 2:\n", " valores_ordenados_y = sorted(list(y_trans.unique()))\n", " mapa_y = {valores_ordenados_y[0]: 0, valores_ordenados_y[1]: 1}\n", " diccionario_mapeos[clave_target] = mapa_y\n", "\n", " logger.info(\n", " f\"\\n 🎯 [TRAIN Target] '{y_trans.name}': \"\n", " f\"{valores_ordenados_y[0]} ➔ 0 | {valores_ordenados_y[1]} ➔ 1\"\n", " )\n", "\n", " if clave_target in diccionario_mapeos:\n", " y_trans = y_trans.map(diccionario_mapeos[clave_target]).astype(np.int8)\n", "\n", " if mapeos_aprendidos is not None:\n", " logger.info(f\"\\n 🎯 [TEST Target] '{y_trans.name}' transformado usando: {diccionario_mapeos[clave_target]}\")\n", "\n", " # ==========================================\n", " # 3. Reporte Ejecutivo MLOps\n", " # ==========================================\n", " logger.info(\"-\" * 80)\n", " if columnas_transformadas > 0 or (y_trans is not None and _target_key(y if y is not None else y_trans) in diccionario_mapeos):\n", " logger.info(f\" ✅ [ESTADO SALVADO] {columnas_transformadas} características y el Target fueron binarizados.\")\n", " else:\n", " logger.info(\" ⚠️ [MATRIZ LIMPIA] No se detectaron nuevas variables binarias para codificar.\")\n", "\n", " logger.info(f\"\\n⏱️ Codificación Binaria completada en {time.time() - inicio_timer:.3f}s\")\n", " return X_trans, y_trans, rutas_trans, diccionario_mapeos\n", "\n", "\n", "def _guardar_reglas_binarias(manager_obj, reglas_binarias: Dict) -> None:\n", " \"\"\"\n", " Guarda las reglas binarias de forma flexible:\n", " - Si el manager tiene 'guardar_artefacto', lo usa\n", " - Si no, cae en un almacén interno 'artefactos'\n", " \"\"\"\n", " if hasattr(manager_obj, 'guardar_artefacto'):\n", " logger.info(\" 💾 Guardando reglas binarias usando 'guardar_artefacto'...\")\n", " manager_obj.guardar_artefacto('reglas_binarias', reglas_binarias)\n", " return\n", "\n", " if getattr(manager_obj, 'artefactos', None) is None:\n", " manager_obj.artefactos = {}\n", "\n", " manager_obj.artefactos['reglas_binarias'] = reglas_binarias\n", " logger.info(\" 💾 Reglas binarias almacenadas en manager.artefactos['reglas_binarias'].\")\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError as exc:\n", " raise EnvironmentError(\n", " \"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\"\n", " ) from exc\n", "\n", " if any(getattr(manager, attr, None) is None for attr in ('X_train', 'X_test', 'y_train', 'y_test')):\n", " raise ValueError(\n", " \"El Manager no tiene cargadas todas las matrices Train/Test completas. \"\n", " \"Ejecuta el Split (Fase 3.3).\"\n", " )\n", "\n", " if not getattr(manager, 'rutas', None):\n", " raise ValueError(\n", " \"El Manager no tiene el ruteo de variables cargado en 'rutas'. \"\n", " \"Ejecuta el Enrutamiento (Fase 3.2).\"\n", " )\n", "\n", " logger.info(\">>> 🚂 ENTRENANDO MAPEO BINARIO EN TRAIN <<<\")\n", " X_train_bin, y_train_bin, rutas_actualizadas, reglas_binarias = mapeo_binario_automl(\n", " X=manager.X_train,\n", " y=manager.y_train,\n", " rutas=manager.rutas\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO MAPEO BINARIO A TEST <<<\")\n", " X_test_bin, y_test_bin, _, _ = mapeo_binario_automl(\n", " X=manager.X_test,\n", " y=manager.y_test,\n", " rutas=manager.rutas,\n", " mapeos_aprendidos=reglas_binarias\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos de forma segura en el Manager\n", " manager.X_train = X_train_bin\n", " manager.y_train = y_train_bin\n", " manager.X_test = X_test_bin\n", " manager.y_test = y_test_bin\n", " manager.rutas = rutas_actualizadas\n", "\n", " _guardar_reglas_binarias(manager, reglas_binarias)\n", "\n", " logger.info(\n", " \"\\n📦 [MLOps] Matrices, vector objetivo y rutas binarias actualizadas \"\n", " \"de forma segura en el PipelineManager.\"\n", " )\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " y_train = manager.y_train\n", " X_test = manager.X_test\n", " y_test = manager.y_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as exc:\n", " logger.error(f\"🛑 Error en la Codificación Binaria: {exc}\")" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_capital_gainis_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_week
021NaN10never-marriedNaNown-childwhite10.00...002000.00.000000.00.0000000.00
141private11married-civ-spousesaleshusbandwhite14386.00...000104386.0106.9756173.10.0000000.00
224private9never-marriedhandlers-cleanersunmarriedblack00.00...000000.00.000000.00.0000000.00
359private9widowedprof-specialtynot-in-familywhite00.00...000000.00.000000.00.0000000.00
435private9married-civ-spousesaleshusbandasian-pac-islander10.01887...00001-1887.00.000000.053.91428637.74
\n", "

5 rows × 24 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation \\\n", "0 21 NaN 10 never-married NaN \n", "1 41 private 11 married-civ-spouse sales \n", "2 24 private 9 never-married handlers-cleaners \n", "3 59 private 9 widowed prof-specialty \n", "4 35 private 9 married-civ-spouse sales \n", "\n", " relationship race sex capital_gain capital_loss ... \\\n", "0 own-child white 1 0.0 0 ... \n", "1 husband white 1 4386.0 0 ... \n", "2 unmarried black 0 0.0 0 ... \n", "3 not-in-family white 0 0.0 0 ... \n", "4 husband asian-pac-islander 1 0.0 1887 ... \n", "\n", " is_missing_capital_gain is_missing_native_country total_nulos_en_fila \\\n", "0 0 0 2 \n", "1 0 0 0 \n", "2 0 0 0 \n", "3 0 0 0 \n", "4 0 0 0 \n", "\n", " tiene_capital_gain tiene_capital_loss capital_neto capital_gain_por_age \\\n", "0 0 0 0.0 0.00000 \n", "1 1 0 4386.0 106.97561 \n", "2 0 0 0.0 0.00000 \n", "3 0 0 0.0 0.00000 \n", "4 0 1 -1887.0 0.00000 \n", "\n", " capital_gain_por_hours_per_week capital_loss_por_age \\\n", "0 0.0 0.000000 \n", "1 73.1 0.000000 \n", "2 0.0 0.000000 \n", "3 0.0 0.000000 \n", "4 0.0 53.914286 \n", "\n", " capital_loss_por_hours_per_week \n", "0 0.00 \n", "1 0.00 \n", "2 0.00 \n", "3 0.00 \n", "4 37.74 \n", "\n", "[5 rows x 24 columns]" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_train.head()\n" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_capital_gainis_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_week
039self-emp-inc10divorcedcraft-repairnot-in-familywhite10.00...000000.00.00.00.00.0
135private13married-civ-spouseadm-clericalhusbandwhite10.00...000000.00.00.00.00.0
231private13married-civ-spouseprof-specialtyhusbandwhite10.00...000000.00.00.00.00.0
367self-emp-inc13widowedother-serviceunmarriedwhite00.00...000000.00.00.00.00.0
456self-emp-not-inc9married-spouse-absentexec-managerialnot-in-familywhite10.00...000000.00.00.00.00.0
\n", "

5 rows × 24 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status \\\n", "0 39 self-emp-inc 10 divorced \n", "1 35 private 13 married-civ-spouse \n", "2 31 private 13 married-civ-spouse \n", "3 67 self-emp-inc 13 widowed \n", "4 56 self-emp-not-inc 9 married-spouse-absent \n", "\n", " occupation relationship race sex capital_gain capital_loss \\\n", "0 craft-repair not-in-family white 1 0.0 0 \n", "1 adm-clerical husband white 1 0.0 0 \n", "2 prof-specialty husband white 1 0.0 0 \n", "3 other-service unmarried white 0 0.0 0 \n", "4 exec-managerial not-in-family white 1 0.0 0 \n", "\n", " ... is_missing_capital_gain is_missing_native_country \\\n", "0 ... 0 0 \n", "1 ... 0 0 \n", "2 ... 0 0 \n", "3 ... 0 0 \n", "4 ... 0 0 \n", "\n", " total_nulos_en_fila tiene_capital_gain tiene_capital_loss capital_neto \\\n", "0 0 0 0 0.0 \n", "1 0 0 0 0.0 \n", "2 0 0 0 0.0 \n", "3 0 0 0 0.0 \n", "4 0 0 0 0.0 \n", "\n", " capital_gain_por_age capital_gain_por_hours_per_week \\\n", "0 0.0 0.0 \n", "1 0.0 0.0 \n", "2 0.0 0.0 \n", "3 0.0 0.0 \n", "4 0.0 0.0 \n", "\n", " capital_loss_por_age capital_loss_por_hours_per_week \n", "0 0.0 0.0 \n", "1 0.0 0.0 \n", "2 0.0 0.0 \n", "3 0.0 0.0 \n", "4 0.0 0.0 \n", "\n", "[5 rows x 24 columns]" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_test.head()\n" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\n", ">>> 🚂 ENTRENANDO TARGET MULTICLASE <<<\n", "=== 🎯 FASE 10.2: Codificador de Target [TRAIN] ===\n", " ✅ [BYPASS] El Target ya es numérico. No requiere codificación.\n", "\n", ">>> 🔒 APLICANDO A TEST <<<\n", "=== 🎯 FASE 10.2: Codificador de Target [TEST] ===\n", " ✅ [BYPASS TEST] Diccionario vacío heredado. El Target se mantiene intacto.\n", "\n", "📦 [MLOps] Vectores objetivo (y_train, y_test) codificados y actualizados de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple, Dict, List\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def codificador_target_multiclase(\n", " y: pd.Series, \n", " modo: str = 'train',\n", " mapa_aprendido: Dict = None,\n", " jerarquia_ordinal: List[str] = None\n", ") -> Tuple[pd.Series, Dict]:\n", " \"\"\"\n", " [FASE 10 - Paso 10.2] Motor AutoML de Codificación de Target Multiclase y Binario.\n", " - Inteligencia: Procesa perfectamente tanto targets Binarios (2 clases) como Multiclase (>2).\n", " - Modalidad Nominal: Asigna 0, 1, 2... alfabéticamente si no hay orden.\n", " - Modalidad Ordinal: Respeta una lista estricta proporcionada por el Arquitecto.\n", " - Muro MLOps: Aprende en 'train' y aplica de forma estricta en 'test'.\n", " \"\"\"\n", " if y is None or y.empty:\n", " logger.error(\"🛑 Error Crítico: El vector objetivo (y) está vacío.\")\n", " raise ValueError(\"El vector objetivo (y) está vacío.\")\n", "\n", " logger.info(f\"=== 🎯 FASE 10.2: Codificador de Target [{modo.upper()}] ===\")\n", " inicio_timer = time.time()\n", "\n", " y_trans = y.copy()\n", "\n", " # Bypass Inteligente: Si el target ya es numérico, no lo tocamos.\n", " if pd.api.types.is_numeric_dtype(y_trans):\n", " if modo == 'train':\n", " logger.info(\" ✅ [BYPASS] El Target ya es numérico. No requiere codificación.\")\n", " return y_trans.astype(np.int8), {}\n", " elif modo == 'test' and not mapa_aprendido:\n", " logger.info(\" ✅ [BYPASS TEST] Diccionario vacío heredado. El Target se mantiene intacto.\")\n", " return y_trans.astype(np.int8), {}\n", "\n", " # ==========================================\n", " # 1. MODO TRAIN (Aprendizaje de la Receta)\n", " # ==========================================\n", " if modo == 'train':\n", " valores_unicos = y_trans.dropna().unique()\n", "\n", " # 🚀 FIX MLOps: Manejo universal Binario/Multiclase\n", " if len(valores_unicos) <= 2:\n", " logger.info(f\" 💡 [INFO] Target BINARIO detectado ({len(valores_unicos)} clases). Codificando a 0 y 1.\")\n", " else:\n", " logger.info(f\" 💡 [INFO] Target MULTICLASE detectado ({len(valores_unicos)} clases).\")\n", "\n", " # Opción A: El Arquitecto definió un orden (Ordinal)\n", " if jerarquia_ordinal:\n", " logger.info(\" 🧠 [MODO ORDINAL] Aplicando jerarquía estricta del Arquitecto...\")\n", " # Validar que todos los valores del dataset existan en la lista del Arquitecto\n", " faltantes = set(valores_unicos) - set(jerarquia_ordinal)\n", " if faltantes:\n", " logger.error(f\"🛑 Error: La jerarquía no incluye estas clases encontradas en los datos: {faltantes}\")\n", " raise ValueError(f\"La jerarquía no incluye estas clases encontradas en los datos: {faltantes}\")\n", "\n", " mapa_target = {clase: idx for idx, clase in enumerate(jerarquia_ordinal)}\n", "\n", " # Opción B: Automático Alfabético (Nominal)\n", " else:\n", " logger.info(\" 🤖 [MODO NOMINAL] Generando mapeo alfabético automático...\")\n", " valores_ordenados = sorted(list(valores_unicos))\n", " mapa_target = {clase: idx for idx, clase in enumerate(valores_ordenados)}\n", "\n", " # Aplicamos la transformación\n", " y_trans = y_trans.map(mapa_target).astype(np.int8)\n", " logger.info(f\" 💾 Diccionario de Mapeo Creado: {mapa_target}\")\n", " logger.info(f\"⏱️ Target Encoding completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return y_trans, mapa_target\n", "\n", " # ==========================================\n", " # 2. MODO TEST (Aplicación Estricta)\n", " # ==========================================\n", " elif modo == 'test':\n", " if mapa_aprendido is None:\n", " logger.error(\"🛑 Error: En modo 'test' debes proporcionar el 'mapa_aprendido' de la fase Train.\")\n", " raise ValueError(\"En modo 'test' debes proporcionar el 'mapa_aprendido' de la fase Train.\")\n", "\n", " if mapa_aprendido == {}:\n", " logger.info(\" ✅ [BYPASS TEST] Diccionario vacío heredado. El Target se mantiene intacto.\")\n", " return y_trans, {}\n", "\n", " # Verificación de clases fantasma en Test (clases que no existían en Train)\n", " clases_test = set(y_trans.dropna().unique())\n", " clases_train = set(mapa_aprendido.keys())\n", " clases_fantasma = clases_test - clases_train\n", "\n", " if clases_fantasma:\n", " logger.warning(f\" 🚨 [ALERTA MLOPS] Se detectaron clases en TEST que no existían en TRAIN: {clases_fantasma}\")\n", " logger.warning(\" ↳ Se asignará el valor especial -1 a estas clases desconocidas.\")\n", "\n", " # Agregamos los fantasmas al mapa con valor -1 para que no se rompa el código\n", " for fantasma in clases_fantasma:\n", " mapa_aprendido[fantasma] = -1\n", "\n", " y_trans = y_trans.map(mapa_aprendido).astype(np.int8)\n", " logger.info(f\" 🔒 Replicando diccionario de Train en Test: {mapa_aprendido}\")\n", " logger.info(f\"⏱️ Target Encoding completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return y_trans, mapa_aprendido\n", "\n", " else:\n", " logger.error(\"🛑 El modo debe ser 'train' o 'test'.\")\n", " raise ValueError(\"El modo debe ser 'train' o 'test'.\")\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'y_train', None) is None or getattr(manager, 'y_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargados los vectores 'y_train' o 'y_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " # 🛑 SWITCH DEL ARQUITECTO\n", " # Si tu target tiene un orden lógico (ej. 'Bajo', 'Medio', 'Alto'), escríbelo aquí en orden.\n", " # Si no tiene orden (ej. 'Perro', 'Gato', 'Pájaro'), déjalo como None.\n", " MI_JERARQUIA_TARGET = None \n", " # Ejemplo de uso: MI_JERARQUIA_TARGET = ['Riesgo Bajo', 'Riesgo Medio', 'Riesgo Alto']\n", "\n", " logger.info(\"\\n>>> 🚂 ENTRENANDO TARGET MULTICLASE <<<\")\n", " y_train_mc, diccionario_target_maestro = codificador_target_multiclase(\n", " y=manager.y_train, \n", " modo='train',\n", " jerarquia_ordinal=MI_JERARQUIA_TARGET\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO A TEST <<<\")\n", " y_test_mc, _ = codificador_target_multiclase(\n", " y=manager.y_test, \n", " modo='test',\n", " mapa_aprendido=diccionario_target_maestro\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos de forma segura en el Manager\n", " manager.y_train = y_train_mc\n", " manager.y_test = y_test_mc\n", " \n", " # Aseguramos el almacenamiento del artefacto\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", " \n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('diccionario_target_maestro', diccionario_target_maestro)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['diccionario_target_maestro'] = diccionario_target_maestro\n", "\n", " logger.info(\"\\n📦 [MLOps] Vectores objetivo (y_train, y_test) codificados y actualizados de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " y_train = manager.y_train\n", " y_test = manager.y_test\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el codificador de Target: {e}\")" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 0\n", "1 1\n", "2 0\n", "3 0\n", "4 1\n", "Name: income, dtype: int8" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "y_train.head()\n" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 0\n", "1 1\n", "2 0\n", "3 0\n", "4 0\n", "Name: income, dtype: int8" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "y_test.head()\n" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_capital_gainis_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_week
021NaN10never-marriedNaNown-childwhite10.00...002000.00.000000.00.0000000.00
141private11married-civ-spousesaleshusbandwhite14386.00...000104386.0106.9756173.10.0000000.00
224private9never-marriedhandlers-cleanersunmarriedblack00.00...000000.00.000000.00.0000000.00
359private9widowedprof-specialtynot-in-familywhite00.00...000000.00.000000.00.0000000.00
435private9married-civ-spousesaleshusbandasian-pac-islander10.01887...00001-1887.00.000000.053.91428637.74
\n", "

5 rows × 24 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation \\\n", "0 21 NaN 10 never-married NaN \n", "1 41 private 11 married-civ-spouse sales \n", "2 24 private 9 never-married handlers-cleaners \n", "3 59 private 9 widowed prof-specialty \n", "4 35 private 9 married-civ-spouse sales \n", "\n", " relationship race sex capital_gain capital_loss ... \\\n", "0 own-child white 1 0.0 0 ... \n", "1 husband white 1 4386.0 0 ... \n", "2 unmarried black 0 0.0 0 ... \n", "3 not-in-family white 0 0.0 0 ... \n", "4 husband asian-pac-islander 1 0.0 1887 ... \n", "\n", " is_missing_capital_gain is_missing_native_country total_nulos_en_fila \\\n", "0 0 0 2 \n", "1 0 0 0 \n", "2 0 0 0 \n", "3 0 0 0 \n", "4 0 0 0 \n", "\n", " tiene_capital_gain tiene_capital_loss capital_neto capital_gain_por_age \\\n", "0 0 0 0.0 0.00000 \n", "1 1 0 4386.0 106.97561 \n", "2 0 0 0.0 0.00000 \n", "3 0 0 0.0 0.00000 \n", "4 0 1 -1887.0 0.00000 \n", "\n", " capital_gain_por_hours_per_week capital_loss_por_age \\\n", "0 0.0 0.000000 \n", "1 73.1 0.000000 \n", "2 0.0 0.000000 \n", "3 0.0 0.000000 \n", "4 0.0 53.914286 \n", "\n", " capital_loss_por_hours_per_week \n", "0 0.00 \n", "1 0.00 \n", "2 0.00 \n", "3 0.00 \n", "4 37.74 \n", "\n", "[5 rows x 24 columns]" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_train.head()\n" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 ENTRENANDO MOTOR ORDINAL EN TRAIN <<<\n", "=== 📶 FASE 10.3: Codificación Ordinal Jerárquica (Motor Híbrido) ===\n", " 🚂 [TRAIN] Buscando jerarquías de negocio y fusionando manuales...\n", "\n", " ⚙️ Aplicando mapeo explícito de enteros...\n", "--------------------------------------------------------------------------------\n", " 📊 Reporte: 0 características transformadas exitosamente.\n", "\n", "⏱️ Codificación Ordinal completada en 0.072s\n", "\n", ">>> 🔒 APLICANDO RECETA ORDINAL A TEST <<<\n", "=== 📶 FASE 10.3: Codificación Ordinal Jerárquica (Motor Híbrido) ===\n", " 🔒 [TEST] Aplicando jerarquías estrictas aprendidas en Train...\n", "\n", " ⚙️ Aplicando mapeo explícito de enteros...\n", "--------------------------------------------------------------------------------\n", " 📊 Reporte: 0 características transformadas exitosamente.\n", "\n", "⏱️ Codificación Ordinal completada en 0.004s\n", "\n", "📦 [MLOps] Matrices, rutas y diccionario ordinal actualizados de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple, Dict\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def codificacion_ordinal_automl(\n", " X: pd.DataFrame, \n", " rutas: Dict, \n", " diccionarios_manuales: Dict[str, Dict[str, int]] = None,\n", " receta_aprendida: Dict[str, Dict[str, int]] = None\n", ") -> Tuple[pd.DataFrame, Dict, Dict]:\n", " \"\"\"\n", " [FASE 10 - Paso 10.3] Motor AutoML de Codificación Ordinal.\n", " - Híbrido MLOps: En Train combina manual + auto-discovery. En Test solo aplica receta.\n", " - Preservación de Nulos: Usa .map() puro, garantizando que los NaNs sigan siendo NaNs.\n", " - MLOps State: Retorna el artefacto de traducción para el despliegue en Producción.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz predictora (X) está vacía.\")\n", " raise ValueError(\"La matriz predictora (X) está vacía.\")\n", "\n", " logger.info(f\"=== 📶 FASE 10.3: Codificación Ordinal Jerárquica (Motor Híbrido) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': []}\n", " columnas_transformadas = 0\n", "\n", " # ==========================================\n", " # 1. El Cerebro NLP y Mapeo MLOps (Fit vs Transform)\n", " # ==========================================\n", " if receta_aprendida is not None:\n", " logger.info(\" 🔒 [TEST] Aplicando jerarquías estrictas aprendidas en Train...\")\n", " diccionarios_finales = receta_aprendida\n", " else:\n", " logger.info(\" 🚂 [TRAIN] Buscando jerarquías de negocio y fusionando manuales...\")\n", " diccionarios_finales = diccionarios_manuales or {}\n", "\n", " columnas_texto = [col for col in X_trans.columns if col in rutas.get('cat_vars', X_trans.select_dtypes(include=['object', 'category']).columns)]\n", "\n", " jerarquias_universales = {\n", " 'niveles_basicos': {'low': 1, 'medium': 2, 'high': 3},\n", " 'tallas_ropa': {'s': 1, 'm': 2, 'l': 3, 'xl': 4, 'xxl': 5},\n", " 'calidad': {'bad': 1, 'poor': 2, 'fair': 3, 'good': 4, 'excellent': 5}\n", " }\n", "\n", " for col in columnas_texto:\n", " if col in diccionarios_finales:\n", " continue\n", "\n", " valores_unicos = set(X_trans[col].dropna().astype(str).str.lower())\n", "\n", " for nombre_jerarquia, diccionario_nlp in jerarquias_universales.items():\n", " claves_nlp = set(diccionario_nlp.keys())\n", " interseccion = valores_unicos.intersection(claves_nlp)\n", "\n", " if len(valores_unicos) > 0 and len(interseccion) / len(valores_unicos) >= 0.8:\n", " mapa_auto = {}\n", " for val_real in X_trans[col].dropna().unique():\n", " val_lower = str(val_real).lower()\n", " if val_lower in diccionario_nlp:\n", " mapa_auto[val_real] = diccionario_nlp[val_lower]\n", "\n", " diccionarios_finales[col] = mapa_auto\n", " logger.info(f\" ✨ [Auto-Discovery] Detectada jerarquía '{nombre_jerarquia}' en '{col}'.\")\n", " break\n", "\n", " # ==========================================\n", " # 2. Motor de Traducción Blindada\n", " # ==========================================\n", " if not diccionarios_finales:\n", " logger.info(\" ✅ [BYPASS] No se definieron jerarquías manuales ni se auto-detectaron patrones universales.\")\n", " return X_trans, rutas, {}\n", "\n", " logger.info(\"\\n ⚙️ Aplicando mapeo explícito de enteros...\")\n", "\n", " for col, mapa in diccionarios_finales.items():\n", " if col in X_trans.columns:\n", " # .map() reemplaza por NaN todo lo que no esté en el diccionario\n", " X_trans[col] = X_trans[col].map(mapa)\n", "\n", " # Casteamos a float temporalmente para soportar los NaNs en Pandas\n", " X_trans[col] = X_trans[col].astype(float)\n", "\n", " columnas_transformadas += 1\n", " logger.info(f\" 🔄 [Codificado] '{col}' convertida a enteros secuenciales.\")\n", "\n", " # Actualizamos rutas SOLO la primera vez (en Train)\n", " if receta_aprendida is None:\n", " if col in rutas.get('cat_vars', []):\n", " rutas['cat_vars'].remove(col)\n", " if col not in rutas.get('num_vars', []):\n", " rutas['num_vars'].append(col)\n", "\n", " # ==========================================\n", " # 3. Reporte Ejecutivo MLOps\n", " # ==========================================\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 📊 Reporte: {columnas_transformadas} características transformadas exitosamente.\")\n", " logger.info(f\"\\n⏱️ Codificación Ordinal completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, rutas, diccionarios_finales\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " # 💡 Lógica de Negocio (Domain Knowledge) inyectada por el Arquitecto\n", " mis_jerarquias = {\n", " 'recsupervisionleveltext': {\n", " 'Low': 1, 'Medium': 2, 'High': 3, 'Very High': 4\n", " }\n", " }\n", "\n", " logger.info(\">>> 🚂 ENTRENANDO MOTOR ORDINAL EN TRAIN <<<\")\n", " X_train_ord, rutas_actualizadas, receta_ordinal = codificacion_ordinal_automl(\n", " X=manager.X_train, \n", " rutas=manager.rutas,\n", " diccionarios_manuales=mis_jerarquias\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO RECETA ORDINAL A TEST <<<\")\n", " X_test_ord, _, _ = codificacion_ordinal_automl(\n", " X=manager.X_test, \n", " rutas=manager.rutas,\n", " receta_aprendida=receta_ordinal # El puente MLOps\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma segura\n", " manager.X_train = X_train_ord\n", " manager.X_test = X_test_ord\n", " manager.rutas = rutas_actualizadas\n", "\n", " # Aseguramos el almacenamiento del artefacto\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", " \n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('receta_ordinal', receta_ordinal)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['receta_ordinal'] = receta_ordinal\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices, rutas y diccionario ordinal actualizados de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Codificación Ordinal: {e}\")" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_capital_gainis_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_week
021NaN10never-marriedNaNown-childwhite10.00...002000.00.000000.00.0000000.00
141private11married-civ-spousesaleshusbandwhite14386.00...000104386.0106.9756173.10.0000000.00
224private9never-marriedhandlers-cleanersunmarriedblack00.00...000000.00.000000.00.0000000.00
359private9widowedprof-specialtynot-in-familywhite00.00...000000.00.000000.00.0000000.00
435private9married-civ-spousesaleshusbandasian-pac-islander10.01887...00001-1887.00.000000.053.91428637.74
\n", "

5 rows × 24 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation \\\n", "0 21 NaN 10 never-married NaN \n", "1 41 private 11 married-civ-spouse sales \n", "2 24 private 9 never-married handlers-cleaners \n", "3 59 private 9 widowed prof-specialty \n", "4 35 private 9 married-civ-spouse sales \n", "\n", " relationship race sex capital_gain capital_loss ... \\\n", "0 own-child white 1 0.0 0 ... \n", "1 husband white 1 4386.0 0 ... \n", "2 unmarried black 0 0.0 0 ... \n", "3 not-in-family white 0 0.0 0 ... \n", "4 husband asian-pac-islander 1 0.0 1887 ... \n", "\n", " is_missing_capital_gain is_missing_native_country total_nulos_en_fila \\\n", "0 0 0 2 \n", "1 0 0 0 \n", "2 0 0 0 \n", "3 0 0 0 \n", "4 0 0 0 \n", "\n", " tiene_capital_gain tiene_capital_loss capital_neto capital_gain_por_age \\\n", "0 0 0 0.0 0.00000 \n", "1 1 0 4386.0 106.97561 \n", "2 0 0 0.0 0.00000 \n", "3 0 0 0.0 0.00000 \n", "4 0 1 -1887.0 0.00000 \n", "\n", " capital_gain_por_hours_per_week capital_loss_por_age \\\n", "0 0.0 0.000000 \n", "1 73.1 0.000000 \n", "2 0.0 0.000000 \n", "3 0.0 0.000000 \n", "4 0.0 53.914286 \n", "\n", " capital_loss_por_hours_per_week \n", "0 0.00 \n", "1 0.00 \n", "2 0.00 \n", "3 0.00 \n", "4 37.74 \n", "\n", "[5 rows x 24 columns]" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_train.head()\n" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🎯 MODO SELECCIONADO: TARGET ENCODING <<<\n", ">>> 🚂 ENTRENANDO TARGET ENCODER EN TRAIN <<<\n", "=== 🎯 FASE 10.4: Target Encoding Universal (OOF + Bayesiano) ===\n", " 🧠 [AUTO-DETECCIÓN] Target Binario Numérico detectado.\n", "\n", " 🚂 [TRAIN] Procesando 6 variables con alta cardinalidad: ['workclass', 'marital_status', 'occupation', 'relationship', 'race', 'native_country']...\n", " 🔄 [Encoded] 'workclass' (Media global: 0.2409)\n", " 🔄 [Encoded] 'marital_status' (Media global: 0.2409)\n", " 🔄 [Encoded] 'occupation' (Media global: 0.2409)\n", " 🔄 [Encoded] 'relationship' (Media global: 0.2409)\n", " 🔄 [Encoded] 'race' (Media global: 0.2409)\n", " 🔄 [Encoded] 'native_country' (Media global: 0.2409)\n", "--------------------------------------------------------------------------------\n", " 🛡️ ESTATUS: Prevención de Fuga de Datos (OOF) aplicada exitosamente.\n", "\n", "⏱️ Target Encoding completado en 0.264s\n", "\n", ">>> 🔒 APLICANDO TARGET ENCODER A TEST <<<\n", "=== 🎯 FASE 10.4: Target Encoding Universal (OOF + Bayesiano) ===\n", " 🔒 [TEST] Aplicando probabilidades Bayesianas aprendidas de Train...\n", "\n", "⏱️ Target Encoding completado en 0.012s\n", "\n", "📦 [MLOps] Matrices y rutas actualizadas de forma segura. Artefacto 'receta_target_encoding' guardado en PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple, Dict\n", "from sklearn.model_selection import KFold\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# ==========================================\n", "# MOTOR 1: TARGET ENCODING\n", "# ==========================================\n", "def target_encoding_oof_automl(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " rutas: Dict = None, \n", " m_suavizado: float = 10.0,\n", " n_splits: int = 5,\n", " receta_aprendida: Dict = None\n", ") -> Tuple[pd.DataFrame, Dict, Dict]:\n", " \"\"\"\n", " [FASE 10 - Paso 10.4] Motor AutoML de Target Encoding (Universal Multi-Clase + OOF).\n", " - Auto-Detección: Soporta Target Binario (1 prob/col) o Multiclase (N probs/col).\n", " - Muro MLOps: En Train calcula medias y guarda receta. En Test solo aplica receta.\n", " - FIX MLOps: Ignora el Index temporalmente para evadir el error de \"duplicate labels\".\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== 🎯 FASE 10.4: Target Encoding Universal (OOF + Bayesiano) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': []}\n", "\n", " # 🚀 FIX PANDAS: Guardamos el Index original y lo ignoramos (reset_index) para la matemática\n", " original_index = X_trans.index\n", " X_trans = X_trans.reset_index(drop=True)\n", " if y is not None:\n", " y = y.reset_index(drop=True)\n", "\n", " # ==========================================\n", " # 1. Modo TEST (.transform)\n", " # ==========================================\n", " if receta_aprendida is not None:\n", " logger.info(\" 🔒 [TEST] Aplicando probabilidades Bayesianas aprendidas de Train...\")\n", "\n", " for col_original, config_encoding in receta_aprendida.items():\n", " if col_original not in X_trans.columns: continue\n", "\n", " for nombre_clase, diccionario_mapeo in config_encoding.items():\n", " \n", " # ==========================================\n", " # 🚀 FIX ARQUITECTÓNICO: Inmutabilidad (Clean Code)\n", " # Reemplazamos .pop() por .get() para no destruir la RAM.\n", " # Creamos un mapa puro al vuelo sin ifs anidados.\n", " # ==========================================\n", " media_global_train = diccionario_mapeo.get('__GLOBAL_MEAN__', 0.0)\n", " mapa_puro = {k: v for k, v in diccionario_mapeo.items() if k != '__GLOBAL_MEAN__'}\n", " \n", " nueva_col_nombre = col_original if len(config_encoding) == 1 else f\"{col_original}_prob_{nombre_clase}\"\n", "\n", " mask_nan = X_trans[col_original].isna()\n", " # Aplicamos map() exclusivamente usando el mapa puro\n", " X_trans[nueva_col_nombre] = X_trans[col_original].astype(object).map(mapa_puro).fillna(media_global_train)\n", " X_trans.loc[mask_nan, nueva_col_nombre] = np.nan\n", "\n", " if len(config_encoding) > 1:\n", " X_trans.drop(columns=[col_original], inplace=True)\n", "\n", " logger.info(f\"\\n⏱️ Target Encoding completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " # 🚀 RESTAURAR INDEX\n", " X_trans.index = original_index\n", " return X_trans, rutas, receta_aprendida\n", "\n", " # ==========================================\n", " # 2. Modo TRAIN (.fit)\n", " # ==========================================\n", " if y is None: \n", " logger.error(\"🛑 Error: Train requiere la variable objetivo 'y'.\")\n", " raise ValueError(\"Train requiere la variable objetivo 'y'.\")\n", "\n", " # --- AUTO-DETECCIÓN DEL TIPO DE TARGET ---\n", " valores_target = y.dropna().unique()\n", " es_multiclase = len(valores_target) > 2 or not pd.api.types.is_numeric_dtype(y)\n", "\n", " targets_a_procesar = {}\n", " if es_multiclase:\n", " logger.info(f\" 🧠 [AUTO-DETECCIÓN] Target Multiclase detectado ({len(valores_target)} categorías).\")\n", " for clase in valores_target:\n", " targets_a_procesar[clase] = (y == clase).astype(float)\n", " else:\n", " logger.info(f\" 🧠 [AUTO-DETECCIÓN] Target Binario Numérico detectado.\")\n", " targets_a_procesar['Target_Directo'] = y.copy().astype(float)\n", "\n", " diccionario_produccion = {}\n", "\n", " cols_a_codificar = []\n", "\n", " # --- FILTRO SILENCIOSO DE VARIABLES ---\n", " for c in X_trans.columns:\n", " if c.startswith('TARGET_'): continue\n", "\n", " n_unicos = X_trans[c].dropna().nunique()\n", " es_numerica = pd.api.types.is_numeric_dtype(X_trans[c])\n", " es_categoria_pura = c in rutas.get('cat_vars', []) or pd.api.types.is_object_dtype(X_trans[c]) or pd.api.types.is_categorical_dtype(X_trans[c])\n", "\n", " # Solo pasa el filtro si es categórica pura, no es numérica y tiene más de 2 categorías\n", " if es_categoria_pura and n_unicos > 2 and not es_numerica:\n", " cols_a_codificar.append(c)\n", "\n", " if not cols_a_codificar:\n", " logger.info(\"\\n ✅ [BYPASS] No hay variables categóricas de alta cardinalidad para Target Encoding.\")\n", " X_trans.index = original_index\n", " return X_trans, rutas, {}\n", "\n", " logger.info(f\"\\n 🚂 [TRAIN] Procesando {len(cols_a_codificar)} variables con alta cardinalidad: {cols_a_codificar}...\")\n", " kf = KFold(n_splits=n_splits, shuffle=True, random_state=42)\n", "\n", " for col in cols_a_codificar:\n", " diccionario_produccion[col] = {}\n", " X_trans[col] = X_trans[col].astype(object)\n", "\n", " for nombre_clase, y_clase in targets_a_procesar.items():\n", " media_global = y_clase.mean()\n", " nueva_col = np.full(len(X_trans), np.nan)\n", "\n", " stats_globales = pd.DataFrame({'Target': y_clase, 'Categoria': X_trans[col]}).groupby('Categoria')['Target'].agg(['count', 'mean'])\n", " n_global = stats_globales['count']\n", " suavizado_global = (n_global * stats_globales['mean'] + m_suavizado * media_global) / (n_global + m_suavizado)\n", "\n", " diccionario_produccion[col][nombre_clase] = suavizado_global.to_dict()\n", " diccionario_produccion[col][nombre_clase]['__GLOBAL_MEAN__'] = media_global \n", "\n", " for train_idx, val_idx in kf.split(X_trans):\n", " X_tr_fold, X_val_fold = X_trans.iloc[train_idx], X_trans.iloc[val_idx]\n", " y_tr_fold = y_clase.iloc[train_idx]\n", "\n", " stats_fold = pd.DataFrame({'Target': y_tr_fold, 'Categoria': X_tr_fold[col]}).groupby('Categoria')['Target'].agg(['count', 'mean'])\n", " n = stats_fold['count']\n", " suavizado_fold = (n * stats_fold['mean'] + m_suavizado * media_global) / (n + m_suavizado)\n", "\n", " nueva_col[val_idx] = X_val_fold[col].map(suavizado_fold).astype(float).fillna(media_global)\n", "\n", " mask_nan = X_trans[col].isna()\n", " nueva_col_nombre = col if not es_multiclase else f\"{col}_prob_{nombre_clase}\"\n", " X_trans[nueva_col_nombre] = nueva_col\n", " X_trans.loc[mask_nan, nueva_col_nombre] = np.nan\n", "\n", " logger.info(f\" 🔄 [Encoded] '{nueva_col_nombre}' (Media global: {media_global:.4f})\")\n", "\n", " if nueva_col_nombre not in rutas['num_vars']:\n", " rutas['num_vars'].append(nueva_col_nombre)\n", "\n", " if es_multiclase:\n", " X_trans.drop(columns=[col], inplace=True)\n", " if col in rutas['cat_vars']: rutas['cat_vars'].remove(col)\n", " elif col in rutas['cat_vars']:\n", " rutas['cat_vars'].remove(col) \n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(\" 🛡️ ESTATUS: Prevención de Fuga de Datos (OOF) aplicada exitosamente.\")\n", " logger.info(f\"\\n⏱️ Target Encoding completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " # 🚀 RESTAURAR INDEX\n", " X_trans.index = original_index\n", " return X_trans, rutas, diccionario_produccion\n", "\n", "\n", "# ==========================================\n", "# MOTOR 2: WEIGHT OF EVIDENCE (WoE)\n", "# ==========================================\n", "def woe_encoding_oof_automl(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " rutas: Dict = None, \n", " n_splits: int = 5,\n", " epsilon: float = 0.001,\n", " receta_aprendida: Dict = None\n", ") -> Tuple[pd.DataFrame, Dict, Dict]:\n", " \"\"\"\n", " [FASE 10 - Paso 10.4] Motor AutoML de Weight of Evidence (WoE + OOF).\n", " - Muro MLOps: En Train (.fit) calcula WoE OOF y guarda la receta. En Test (.transform) solo aplica la receta.\n", " - Matemática Segura (Epsilon): Evita divisiones por cero y logaritmos infinitos.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== ⚖️ FASE 10.4: Weight of Evidence - WoE (OOF + Escudo Epsilon) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': []}\n", "\n", " # 🚀 FIX PANDAS: Guardamos el Index original y lo ignoramos (reset_index) para la matemática\n", " original_index = X_trans.index\n", " X_trans = X_trans.reset_index(drop=True)\n", " if y is not None:\n", " y = y.reset_index(drop=True)\n", "\n", " # ==========================================\n", " # 1. Modo TEST (.transform)\n", " # ==========================================\n", " if receta_aprendida is not None:\n", " logger.info(\" 🔒 [TEST] Aplicando logaritmos WoE fijos aprendidos de Train...\")\n", " columnas_a_transformar = list(receta_aprendida.keys())\n", "\n", " for col in columnas_a_transformar:\n", " if col in X_trans.columns:\n", " diccionario_columna = receta_aprendida[col]\n", " \n", " # ==========================================\n", " # 🚀 FIX ARQUITECTÓNICO: Inmutabilidad (Clean Code)\n", " # Reemplazamos .pop() por .get() y construimos un mapa limpio.\n", " # ==========================================\n", " valor_neutral_train = diccionario_columna.get('__GLOBAL_NEUTRAL__', 0.0)\n", " mapa_puro = {k: v for k, v in diccionario_columna.items() if k != '__GLOBAL_NEUTRAL__'}\n", "\n", " X_trans[col] = X_trans[col].astype(object)\n", "\n", " mask_nan = X_trans[col].isna()\n", " # Aplicamos el map usando el mapa_puro que no contiene la llave neutral\n", " X_trans[col] = X_trans[col].map(mapa_puro).fillna(valor_neutral_train)\n", " X_trans.loc[mask_nan, col] = np.nan\n", "\n", " logger.debug(f\" ↳ Replicado en '{col}' (Categorías nuevas llenadas con WoE Neutral: 0.0)\")\n", "\n", " logger.info(f\"\\n⏱️ WoE completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " # 🚀 RESTAURAR INDEX\n", " X_trans.index = original_index\n", " return X_trans, rutas, receta_aprendida\n", "\n", " # ==========================================\n", " # 2. Modo TRAIN (.fit)\n", " # ==========================================\n", " if y is None:\n", " logger.error(\"🛑 Error: En modo Train (sin receta aprendida) debes proporcionar 'y'.\")\n", " raise ValueError(\"En modo Train (sin receta aprendida) debes proporcionar 'y'.\")\n", "\n", " y_trans = y.copy().astype(float) \n", " diccionario_produccion = {}\n", "\n", " cols_a_codificar = []\n", "\n", " # --- FILTRO SILENCIOSO DE VARIABLES ---\n", " for c in X_trans.columns:\n", " if c.startswith('TARGET_'): continue\n", "\n", " n_unicos = X_trans[c].dropna().nunique()\n", " es_numerica = pd.api.types.is_numeric_dtype(X_trans[c])\n", " es_categoria_pura = c in rutas.get('cat_vars', []) or pd.api.types.is_object_dtype(X_trans[c]) or pd.api.types.is_categorical_dtype(X_trans[c])\n", "\n", " if es_categoria_pura and n_unicos > 2 and not es_numerica:\n", " cols_a_codificar.append(c)\n", "\n", " if not cols_a_codificar:\n", " logger.info(\"\\n ✅ [BYPASS] No hay variables categóricas candidatas restantes para WoE.\")\n", " X_trans.index = original_index\n", " return X_trans, rutas, {}\n", "\n", " logger.info(f\"\\n 🚂 [TRAIN] Procesando {len(cols_a_codificar)} variables con alta cardinalidad: {cols_a_codificar}\")\n", "\n", " kf = KFold(n_splits=n_splits, shuffle=True, random_state=42)\n", "\n", " global_pos = y_trans.sum()\n", " global_neg = len(y_trans) - global_pos\n", "\n", " for col in cols_a_codificar:\n", " X_trans[col] = X_trans[col].astype(object)\n", " nueva_col = np.zeros(len(X_trans))\n", " nueva_col[:] = np.nan\n", "\n", " stats_globales = pd.DataFrame({'Target': y_trans, 'Categoria': X_trans[col]}).groupby('Categoria')['Target'].agg(['sum', 'count'])\n", " cat_pos = stats_globales['sum']\n", " cat_neg = stats_globales['count'] - cat_pos\n", "\n", " prop_pos_global = (cat_pos + epsilon) / (global_pos + epsilon * 2)\n", " prop_neg_global = (cat_neg + epsilon) / (global_neg + epsilon * 2)\n", "\n", " woe_global = np.log(prop_pos_global / prop_neg_global)\n", "\n", " diccionario_produccion[col] = woe_global.to_dict()\n", " diccionario_produccion[col]['__GLOBAL_NEUTRAL__'] = 0.0 \n", "\n", " for train_idx, val_idx in kf.split(X_trans):\n", " X_tr_fold, X_val_fold = X_trans.iloc[train_idx], X_trans.iloc[val_idx]\n", " y_tr_fold = y_trans.iloc[train_idx]\n", "\n", " fold_pos = y_tr_fold.sum()\n", " fold_neg = len(y_tr_fold) - fold_pos\n", "\n", " stats_fold = pd.DataFrame({'Target': y_tr_fold, 'Categoria': X_tr_fold[col]}).groupby('Categoria')['Target'].agg(['sum', 'count'])\n", " f_cat_pos = stats_fold['sum']\n", " f_cat_neg = stats_fold['count'] - f_cat_pos\n", "\n", " f_prop_pos = (f_cat_pos + epsilon) / (fold_pos + epsilon * 2)\n", " f_prop_neg = (f_cat_neg + epsilon) / (fold_neg + epsilon * 2)\n", "\n", " woe_fold = np.log(f_prop_pos / f_prop_neg)\n", "\n", " mapeo_val = X_val_fold[col].map(woe_fold).astype(float)\n", " mapeo_val = mapeo_val.fillna(0.0) \n", "\n", " nueva_col[val_idx] = mapeo_val\n", "\n", " mask_nan = X_trans[col].isna()\n", " X_trans[col] = nueva_col \n", " X_trans.loc[mask_nan, col] = np.nan \n", "\n", " logger.info(f\" 🔄 [WoE Encoded] '{col}' transformada a Weight of Evidence (OOF).\")\n", "\n", " if col in rutas['cat_vars']:\n", " rutas['cat_vars'].remove(col)\n", " if col not in rutas['num_vars']:\n", " rutas['num_vars'].append(col)\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(\" 🛡️ ESTATUS: WoE calculado con blindaje OOF y Epsilon Anti-Infinitos.\")\n", " logger.info(\" 💾 Diccionario de mapeo guardado para la API de Producción.\")\n", " logger.info(f\"\\n⏱️ WoE completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " # 🚀 RESTAURAR INDEX\n", " X_trans.index = original_index\n", " return X_trans, rutas, diccionario_produccion\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución Unificada en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train', 'y_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if not hasattr(manager, 'rutas') or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " # 🛑 SWITCH MAESTRO DE CODIFICACIÓN (El Enrutador del Arquitecto)\n", " # True = Usa Target Encoding (Para Regresión, Árboles o Casos Generales)\n", " # False = Usa Weight of Evidence (Para Riesgo Crediticio / Regresión Logística Binaria)\n", " USAR_TARGET_ENCODING = True \n", "\n", " if USAR_TARGET_ENCODING:\n", " logger.info(\">>> 🎯 MODO SELECCIONADO: TARGET ENCODING <<<\")\n", " logger.info(\">>> 🚂 ENTRENANDO TARGET ENCODER EN TRAIN <<<\")\n", " X_train_enc, rutas_actualizadas, receta_codificacion = target_encoding_oof_automl(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " rutas=manager.rutas,\n", " m_suavizado=10.0,\n", " n_splits=5\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO TARGET ENCODER A TEST <<<\")\n", " X_test_enc, _, _ = target_encoding_oof_automl(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas,\n", " receta_aprendida=receta_codificacion\n", " )\n", " else:\n", " logger.info(\">>> ⚖️ MODO SELECCIONADO: WEIGHT OF EVIDENCE (WoE) <<<\")\n", " logger.info(\">>> 🚂 ENTRENANDO WoE EN TRAIN <<<\")\n", " X_train_enc, rutas_actualizadas, receta_codificacion = woe_encoding_oof_automl(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " rutas=manager.rutas,\n", " n_splits=5\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO WoE A TEST <<<\")\n", " X_test_enc, _, _ = woe_encoding_oof_automl(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas,\n", " receta_aprendida=receta_codificacion\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma segura\n", " manager.X_train = X_train_enc\n", " manager.X_test = X_test_enc\n", " manager.rutas = rutas_actualizadas\n", "\n", " # Aseguramos el almacenamiento del artefacto\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", " \n", " nombre_artefacto = 'receta_target_encoding' if USAR_TARGET_ENCODING else 'receta_woe_encoding'\n", " \n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto(nombre_artefacto, receta_codificacion)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos[nombre_artefacto] = receta_codificacion\n", "\n", " logger.info(f\"\\n📦 [MLOps] Matrices y rutas actualizadas de forma segura. Artefacto '{nombre_artefacto}' guardado en PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Codificación Supervisada: {e}\")" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_capital_gainis_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_week
021NaN100.047554NaN0.0112200.25830810.00...002000.00.000000.00.0000000.00
1410.218684110.4447410.2637420.4481490.25412114386.00...000104386.0106.9756173.10.0000000.00
2240.21868490.0449660.0628220.0647310.12111300.00...000000.00.000000.00.0000000.00
3590.22002490.0917080.4579890.1072670.25830800.00...000000.00.000000.00.0000000.00
4350.21864290.4490630.2687300.4514030.26444510.01887...00001-1887.00.000000.053.91428637.74
\n", "

5 rows × 24 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation relationship \\\n", "0 21 NaN 10 0.047554 NaN 0.011220 \n", "1 41 0.218684 11 0.444741 0.263742 0.448149 \n", "2 24 0.218684 9 0.044966 0.062822 0.064731 \n", "3 59 0.220024 9 0.091708 0.457989 0.107267 \n", "4 35 0.218642 9 0.449063 0.268730 0.451403 \n", "\n", " race sex capital_gain capital_loss ... is_missing_capital_gain \\\n", "0 0.258308 1 0.0 0 ... 0 \n", "1 0.254121 1 4386.0 0 ... 0 \n", "2 0.121113 0 0.0 0 ... 0 \n", "3 0.258308 0 0.0 0 ... 0 \n", "4 0.264445 1 0.0 1887 ... 0 \n", "\n", " is_missing_native_country total_nulos_en_fila tiene_capital_gain \\\n", "0 0 2 0 \n", "1 0 0 1 \n", "2 0 0 0 \n", "3 0 0 0 \n", "4 0 0 0 \n", "\n", " tiene_capital_loss capital_neto capital_gain_por_age \\\n", "0 0 0.0 0.00000 \n", "1 0 4386.0 106.97561 \n", "2 0 0.0 0.00000 \n", "3 0 0.0 0.00000 \n", "4 1 -1887.0 0.00000 \n", "\n", " capital_gain_por_hours_per_week capital_loss_por_age \\\n", "0 0.0 0.000000 \n", "1 73.1 0.000000 \n", "2 0.0 0.000000 \n", "3 0.0 0.000000 \n", "4 0.0 53.914286 \n", "\n", " capital_loss_por_hours_per_week \n", "0 0.00 \n", "1 0.00 \n", "2 0.00 \n", "3 0.00 \n", "4 37.74 \n", "\n", "[5 rows x 24 columns]" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_train.head()\n" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_capital_gainis_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_week
0390.544899100.1031060.2255580.1042160.25604810.00...000000.00.00.00.00.0
1350.218800130.4475940.1358270.4497980.25604810.00...000000.00.00.00.00.0
2310.218800130.4475940.4563640.4497980.25604810.00...000000.00.00.00.00.0
3670.544899130.0906210.0392740.0601270.25604800.00...000000.00.00.00.00.0
4560.28910390.0807620.4816760.1042160.25604810.00...000000.00.00.00.00.0
\n", "

5 rows × 24 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation relationship \\\n", "0 39 0.544899 10 0.103106 0.225558 0.104216 \n", "1 35 0.218800 13 0.447594 0.135827 0.449798 \n", "2 31 0.218800 13 0.447594 0.456364 0.449798 \n", "3 67 0.544899 13 0.090621 0.039274 0.060127 \n", "4 56 0.289103 9 0.080762 0.481676 0.104216 \n", "\n", " race sex capital_gain capital_loss ... is_missing_capital_gain \\\n", "0 0.256048 1 0.0 0 ... 0 \n", "1 0.256048 1 0.0 0 ... 0 \n", "2 0.256048 1 0.0 0 ... 0 \n", "3 0.256048 0 0.0 0 ... 0 \n", "4 0.256048 1 0.0 0 ... 0 \n", "\n", " is_missing_native_country total_nulos_en_fila tiene_capital_gain \\\n", "0 0 0 0 \n", "1 0 0 0 \n", "2 0 0 0 \n", "3 0 0 0 \n", "4 0 0 0 \n", "\n", " tiene_capital_loss capital_neto capital_gain_por_age \\\n", "0 0 0.0 0.0 \n", "1 0 0.0 0.0 \n", "2 0 0.0 0.0 \n", "3 0 0.0 0.0 \n", "4 0 0.0 0.0 \n", "\n", " capital_gain_por_hours_per_week capital_loss_por_age \\\n", "0 0.0 0.0 \n", "1 0.0 0.0 \n", "2 0.0 0.0 \n", "3 0.0 0.0 \n", "4 0.0 0.0 \n", "\n", " capital_loss_por_hours_per_week \n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 0.0 \n", "4 0.0 \n", "\n", "[5 rows x 24 columns]" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_test.head()\n" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 0\n", "1 1\n", "2 0\n", "3 0\n", "4 1\n", "Name: income, dtype: int8" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "y_train.head()\n" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 0\n", "1 1\n", "2 0\n", "3 0\n", "4 0\n", "Name: income, dtype: int8" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "y_test.head()\n" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 ENTRENANDO TIPADO NATIVO EN TRAIN <<<\n", "=== 🏷️ FASE 10.5: Native Categoricals (CatBoost/LightGBM Ready) ===\n", " ✅ [BYPASS] No quedan variables de texto libres. Todas fueron numéricamente codificadas.\n", "\n", ">>> 🔒 APLICANDO TIPADO NATIVO A TEST <<<\n", "=== 🏷️ FASE 10.5: Native Categoricals (CatBoost/LightGBM Ready) ===\n", " 🔒 [TEST] Aplicando moldes categóricos estrictos aprendidos de Train...\n", "\n", "⏱️ Tipado Nativo completado en 0.002s\n", " 💾 Guardando receta de categorías nativas usando 'guardar_artefacto'...\n", "\n", "📦 [MLOps] Matrices, rutas y receta de tipado nativo actualizadas de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import time\n", "from typing import Dict, Tuple\n", "\n", "import numpy as np\n", "import pandas as pd\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "\n", "def _validar_X_nativo(X: pd.DataFrame) -> None:\n", " \"\"\"\n", " Valida que la matriz exista y tenga contenido antes de iniciar el tipado nativo.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", "\n", "def _clonar_rutas_nativas(rutas: Dict = None) -> Dict:\n", " \"\"\"\n", " Clona defensivamente el diccionario de rutas para blindar el pipeline\n", " contra mutaciones laterales no deseadas.\n", " \"\"\"\n", " rutas = dict(rutas or {})\n", " rutas['num_vars'] = list(rutas.get('num_vars', []))\n", " rutas['cat_vars'] = list(rutas.get('cat_vars', []))\n", " rutas['bool_vars'] = list(rutas.get('bool_vars', []))\n", " return rutas\n", "\n", "\n", "def _tipar_categoria(serie: pd.Series, categorias_conocidas: list) -> pd.Series:\n", " \"\"\"\n", " Aplica el molde categórico estricto aprendido en Train.\n", " Toda categoría desconocida en Test queda neutralizada a NaN automáticamente.\n", " \"\"\"\n", " dtype = pd.CategoricalDtype(categories=categorias_conocidas, ordered=False)\n", " return serie.astype(str).replace('nan', np.nan).astype(dtype)\n", "\n", "\n", "def codificacion_nativa_automl(\n", " X: pd.DataFrame,\n", " rutas: Dict,\n", " receta_aprendida: Dict = None,\n", ") -> Tuple[pd.DataFrame, Dict, Dict]:\n", " \"\"\"\n", " [FASE 10 - Paso 10.5] Motor AutoML de Categorías Nativas.\n", " - 🏷️ Especial para CatBoost / LightGBM.\n", " - 🚀 Muro MLOps: Aprende el universo en Train y lo guarda en la receta. Test solo obedece la receta.\n", " - 🔒 Blindaje Test/Producción: Si llega una categoría nueva, la neutraliza a NaN sin caerse.\n", " - 📉 Reducción de Memoria: El tipo 'category' usa punteros enteros (hiper-ligero).\n", " - 🔧 Refactor Pro: Mantiene una arquitectura modular, reusable y estable para producción.\n", " \"\"\"\n", " _validar_X_nativo(X)\n", "\n", " logger.info(\"=== 🏷️ FASE 10.5: Native Categoricals (CatBoost/LightGBM Ready) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " rutas_trans = _clonar_rutas_nativas(rutas)\n", " columnas_transformadas = 0\n", "\n", " # ==========================================\n", " # 1. Modo TEST / PRODUCCIÓN (.transform)\n", " # ==========================================\n", " if receta_aprendida is not None:\n", " logger.info(\" 🔒 [TEST] Aplicando moldes categóricos estrictos aprendidos de Train...\")\n", "\n", " for col, categorias_conocidas in receta_aprendida.items():\n", " if col not in X_trans.columns:\n", " continue\n", "\n", " X_trans[col] = _tipar_categoria(X_trans[col], categorias_conocidas)\n", " columnas_transformadas += 1\n", " logger.debug(f\" ↳ Replicado en '{col}' (Categorías desconocidas neutralizadas a NaN).\")\n", "\n", " logger.info(f\"\\n⏱️ Tipado Nativo completado en {time.time() - inicio_timer:.3f}s\")\n", " return X_trans, rutas_trans, receta_aprendida\n", "\n", " # ==========================================\n", " # 2. Modo TRAIN (.fit)\n", " # ==========================================\n", " columnas_objetivo = [col for col in rutas_trans.get('cat_vars', []) if col in X_trans.columns]\n", "\n", " if not columnas_objetivo:\n", " logger.info(\" ✅ [BYPASS] No quedan variables de texto libres. Todas fueron numéricamente codificadas.\")\n", " return X_trans, rutas_trans, {}\n", "\n", " logger.info(\n", " f\" 🚂 [TRAIN] Detectadas {len(columnas_objetivo)} variables residuales para tipado nativo: {columnas_objetivo}\"\n", " )\n", "\n", " receta_produccion = {}\n", "\n", " for col in columnas_objetivo:\n", " # A. Extracción del Universo Conocido\n", " categorias_conocidas = X_trans[col].dropna().astype(str).unique().tolist()\n", "\n", " # B. Guardado del \"Molde Estricto\" de Producción\n", " receta_produccion[col] = categorias_conocidas\n", "\n", " # C. Aplicación del tipado categórico nativo\n", " X_trans[col] = _tipar_categoria(X_trans[col], categorias_conocidas)\n", " columnas_transformadas += 1\n", "\n", " logger.info(f\" 🔄 [Tipado Nativo] '{col}' convertida a 'category' (Memoria Optimizada).\")\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: {columnas_transformadas} características blindadas con molde categórico estricto.\")\n", " logger.info(\" 💾 Diccionario de universos permitidos guardado para la API de Producción.\")\n", " logger.info(f\"\\n⏱️ Tipado Nativo completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, rutas_trans, receta_produccion\n", "\n", "\n", "def _guardar_receta_nativa(manager_obj, receta: Dict) -> None:\n", " \"\"\"\n", " Guarda la receta de categorías nativas de forma flexible:\n", " - Si el manager tiene 'guardar_artefacto', lo usa\n", " - Si no, cae en un almacén interno 'artefactos'\n", " \"\"\"\n", " if hasattr(manager_obj, 'guardar_artefacto'):\n", " logger.info(\" 💾 Guardando receta de categorías nativas usando 'guardar_artefacto'...\")\n", " manager_obj.guardar_artefacto('receta_categorias_nativas', receta)\n", " return\n", "\n", " if getattr(manager_obj, 'artefactos', None) is None:\n", " manager_obj.artefactos = {}\n", "\n", " manager_obj.artefactos['receta_categorias_nativas'] = receta\n", " logger.info(\" 💾 Receta almacenada en manager.artefactos['receta_categorias_nativas'].\")\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError as exc:\n", " raise EnvironmentError(\n", " \"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\"\n", " ) from exc\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\n", " \"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\"\n", " )\n", "\n", " if not getattr(manager, 'rutas', None):\n", " raise ValueError(\n", " \"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\"\n", " )\n", "\n", " logger.info(\">>> 🚂 ENTRENANDO TIPADO NATIVO EN TRAIN <<<\")\n", " X_train_nat, rutas_actualizadas, receta_categorias = codificacion_nativa_automl(\n", " X=manager.X_train,\n", " rutas=manager.rutas\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO TIPADO NATIVO A TEST <<<\")\n", " X_test_nat, _, _ = codificacion_nativa_automl(\n", " X=manager.X_test,\n", " rutas=manager.rutas,\n", " receta_aprendida=receta_categorias\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma segura\n", " manager.X_train = X_train_nat\n", " manager.X_test = X_test_nat\n", " manager.rutas = rutas_actualizadas\n", " _guardar_receta_nativa(manager, receta_categorias)\n", "\n", " logger.info(\n", " \"\\n📦 [MLOps] Matrices, rutas y receta de tipado nativo actualizadas \"\n", " \"de forma segura en el PipelineManager.\"\n", " )\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as exc:\n", " logger.error(f\"🛑 Error en el Tipado Nativo: {exc}\")" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_capital_gainis_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_week
021NaN100.047554NaN0.0112200.25830810.00...002000.00.000000.00.0000000.00
1410.218684110.4447410.2637420.4481490.25412114386.00...000104386.0106.9756173.10.0000000.00
2240.21868490.0449660.0628220.0647310.12111300.00...000000.00.000000.00.0000000.00
3590.22002490.0917080.4579890.1072670.25830800.00...000000.00.000000.00.0000000.00
4350.21864290.4490630.2687300.4514030.26444510.01887...00001-1887.00.000000.053.91428637.74
\n", "

5 rows × 24 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation relationship \\\n", "0 21 NaN 10 0.047554 NaN 0.011220 \n", "1 41 0.218684 11 0.444741 0.263742 0.448149 \n", "2 24 0.218684 9 0.044966 0.062822 0.064731 \n", "3 59 0.220024 9 0.091708 0.457989 0.107267 \n", "4 35 0.218642 9 0.449063 0.268730 0.451403 \n", "\n", " race sex capital_gain capital_loss ... is_missing_capital_gain \\\n", "0 0.258308 1 0.0 0 ... 0 \n", "1 0.254121 1 4386.0 0 ... 0 \n", "2 0.121113 0 0.0 0 ... 0 \n", "3 0.258308 0 0.0 0 ... 0 \n", "4 0.264445 1 0.0 1887 ... 0 \n", "\n", " is_missing_native_country total_nulos_en_fila tiene_capital_gain \\\n", "0 0 2 0 \n", "1 0 0 1 \n", "2 0 0 0 \n", "3 0 0 0 \n", "4 0 0 0 \n", "\n", " tiene_capital_loss capital_neto capital_gain_por_age \\\n", "0 0 0.0 0.00000 \n", "1 0 4386.0 106.97561 \n", "2 0 0.0 0.00000 \n", "3 0 0.0 0.00000 \n", "4 1 -1887.0 0.00000 \n", "\n", " capital_gain_por_hours_per_week capital_loss_por_age \\\n", "0 0.0 0.000000 \n", "1 73.1 0.000000 \n", "2 0.0 0.000000 \n", "3 0.0 0.000000 \n", "4 0.0 53.914286 \n", "\n", " capital_loss_por_hours_per_week \n", "0 0.00 \n", "1 0.00 \n", "2 0.00 \n", "3 0.00 \n", "4 37.74 \n", "\n", "[5 rows x 24 columns]" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_train.head()\n" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_capital_gainis_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_week
10620.218800100.4475940.1358270.4723720.25604800.00...000000.00.00.00.0000000.000
11250.218800130.0458510.4816760.0118820.25604810.00...000000.00.00.00.0000000.000
12290.21880090.1031060.1218420.0601270.25604800.00...000000.00.00.00.0000000.000
1365NaN130.447594NaN0.4497980.25604810.02377...00201-2377.00.00.036.56923159.425
14500.265583130.0458510.4816760.1042160.25604800.00...000000.00.00.00.0000000.000
15210.218800100.0458510.2989650.0118820.25604800.00...000000.00.00.00.0000000.000
16270.21880090.4475940.2255580.4497980.25604810.00...000000.00.00.00.0000000.000
17220.218800100.0458510.2671510.1042160.25604800.00...000000.00.00.00.0000000.000
18380.218800130.4475940.4816760.4497980.25604810.00...000000.00.00.00.0000000.000
19490.218800130.0807620.0392740.1042160.27138910.00...000000.00.00.00.0000000.000
\n", "

10 rows × 24 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation relationship \\\n", "10 62 0.218800 10 0.447594 0.135827 0.472372 \n", "11 25 0.218800 13 0.045851 0.481676 0.011882 \n", "12 29 0.218800 9 0.103106 0.121842 0.060127 \n", "13 65 NaN 13 0.447594 NaN 0.449798 \n", "14 50 0.265583 13 0.045851 0.481676 0.104216 \n", "15 21 0.218800 10 0.045851 0.298965 0.011882 \n", "16 27 0.218800 9 0.447594 0.225558 0.449798 \n", "17 22 0.218800 10 0.045851 0.267151 0.104216 \n", "18 38 0.218800 13 0.447594 0.481676 0.449798 \n", "19 49 0.218800 13 0.080762 0.039274 0.104216 \n", "\n", " race sex capital_gain capital_loss ... is_missing_capital_gain \\\n", "10 0.256048 0 0.0 0 ... 0 \n", "11 0.256048 1 0.0 0 ... 0 \n", "12 0.256048 0 0.0 0 ... 0 \n", "13 0.256048 1 0.0 2377 ... 0 \n", "14 0.256048 0 0.0 0 ... 0 \n", "15 0.256048 0 0.0 0 ... 0 \n", "16 0.256048 1 0.0 0 ... 0 \n", "17 0.256048 0 0.0 0 ... 0 \n", "18 0.256048 1 0.0 0 ... 0 \n", "19 0.271389 1 0.0 0 ... 0 \n", "\n", " is_missing_native_country total_nulos_en_fila tiene_capital_gain \\\n", "10 0 0 0 \n", "11 0 0 0 \n", "12 0 0 0 \n", "13 0 2 0 \n", "14 0 0 0 \n", "15 0 0 0 \n", "16 0 0 0 \n", "17 0 0 0 \n", "18 0 0 0 \n", "19 0 0 0 \n", "\n", " tiene_capital_loss capital_neto capital_gain_por_age \\\n", "10 0 0.0 0.0 \n", "11 0 0.0 0.0 \n", "12 0 0.0 0.0 \n", "13 1 -2377.0 0.0 \n", "14 0 0.0 0.0 \n", "15 0 0.0 0.0 \n", "16 0 0.0 0.0 \n", "17 0 0.0 0.0 \n", "18 0 0.0 0.0 \n", "19 0 0.0 0.0 \n", "\n", " capital_gain_por_hours_per_week capital_loss_por_age \\\n", "10 0.0 0.000000 \n", "11 0.0 0.000000 \n", "12 0.0 0.000000 \n", "13 0.0 36.569231 \n", "14 0.0 0.000000 \n", "15 0.0 0.000000 \n", "16 0.0 0.000000 \n", "17 0.0 0.000000 \n", "18 0.0 0.000000 \n", "19 0.0 0.000000 \n", "\n", " capital_loss_por_hours_per_week \n", "10 0.000 \n", "11 0.000 \n", "12 0.000 \n", "13 59.425 \n", "14 0.000 \n", "15 0.000 \n", "16 0.000 \n", "17 0.000 \n", "18 0.000 \n", "19 0.000 \n", "\n", "[10 rows x 24 columns]" ] }, "execution_count": 99, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_test[10:20]\n" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 24 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null int8 \n", " 1 workclass 24557 non-null float64\n", " 2 education_num 26029 non-null int8 \n", " 3 marital_status 26029 non-null float64\n", " 4 occupation 24551 non-null float64\n", " 5 relationship 26029 non-null float64\n", " 6 race 26029 non-null float64\n", " 7 sex 26029 non-null Int8 \n", " 8 capital_gain 25899 non-null float64\n", " 9 capital_loss 26029 non-null int16 \n", " 10 hours_per_week 26029 non-null int8 \n", " 11 native_country 25560 non-null float64\n", " 12 is_missing_workclass 26029 non-null int8 \n", " 13 is_missing_occupation 26029 non-null int8 \n", " 14 is_missing_capital_gain 26029 non-null int8 \n", " 15 is_missing_native_country 26029 non-null int8 \n", " 16 total_nulos_en_fila 26029 non-null int8 \n", " 17 tiene_capital_gain 26029 non-null int8 \n", " 18 tiene_capital_loss 26029 non-null int8 \n", " 19 capital_neto 26029 non-null float64\n", " 20 capital_gain_por_age 25899 non-null float64\n", " 21 capital_gain_por_hours_per_week 25899 non-null float64\n", " 22 capital_loss_por_age 26029 non-null float64\n", " 23 capital_loss_por_hours_per_week 26029 non-null float64\n", "dtypes: Int8(1), float64(12), int16(1), int8(10)\n", "memory usage: 2.7 MB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 ENTRENANDO IMPUTADOR KNN EN TRAIN <<<\n", "=== 🩹 FASE 11.1: Restauración Espacial (KNN Imputer Escalable - 5 Vecinos) ===\n", " 🚂 [TRAIN] Detectados 3,809 huecos numéricos. Protegiendo RAM...\n", " ↳ Dataset masivo detectado. Creando 'Donor Pool' aleatorio de 15,000 filas...\n", " ↳ Construyendo topología matemática (fit)...\n", " ↳ Rellenando huecos en matriz completa por lotes de 10,000 filas (transform)...\n", "--------------------------------------------------------------------------------\n", " 🛡️ ESTATUS: Cirugía completada con Arquitectura Big Data.\n", " 📊 Huecos numéricos restantes en Train: 0\n", " 💾 Modelo Imputador guardado para la API de Producción.\n", "\n", "⏱️ Imputación KNN completada en 2.780s\n", "\n", ">>> 🔒 APLICANDO IMPUTADOR KNN A TEST <<<\n", "=== 🩹 FASE 11.1: Restauración Espacial (KNN Imputer Escalable - 5 Vecinos) ===\n", " 🔒 [TEST] Imputando valores usando la geometría espacial de Train...\n", " 🔒 [TEST] Rellenando 929 huecos (Chunking)...\n", " 📊 Huecos numéricos restantes en Test: 0\n", "\n", "⏱️ Imputación KNN completada en 0.581s\n", "\n", "📦 [MLOps] Matrices matemáticas, rutas y modelo KNN actualizados de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple, Dict, Optional, Union\n", "from sklearn.impute import KNNImputer\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def imputacion_knn_automl(\n", " X: pd.DataFrame, \n", " rutas: Dict, \n", " n_vecinos: int = 5,\n", " imputador_entrenado: Optional[Union[KNNImputer, str]] = None # 🚀 FIX: Acepta str para el sello\n", ") -> Tuple[pd.DataFrame, Dict, Optional[Union[KNNImputer, str]]]:\n", " \"\"\"\n", " [FASE 4 - Paso 11.1] Motor AutoML de Restauración Espacial (KNN Imputer Escalable).\n", " - Escudo Autónomo Temporal (Clean Code): Protege fechas nativas y las de `rutas['date_vars']` sin parámetros manuales.\n", " - Cazador de Anomalías: Solo busca y destruye NaTs infiltrados en variables NO temporales.\n", " - Arquitectura Big Data: Donor Pool (max 15k) y Chunking (10k) para proteger la RAM.\n", " - 🚀 Muro MLOps: Sello 'BYPASS_KNN' para evitar fits accidentales en Test.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== 🩹 FASE 11.1: Restauración Espacial (KNN Imputer Escalable - {n_vecinos} Vecinos) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': [], 'date_vars': []}\n", "\n", " idx = X_trans.index\n", " total_filas = len(X_trans)\n", "\n", " # 🚀 INTELIGENCIA AUTO-ML: Recuperar fechas protegidas desde la memoria global\n", " columnas_fecha_intactas = rutas.get('date_vars', [])\n", " fechas_protegidas_encontradas = []\n", "\n", " # ==========================================\n", " # 🚀 PRE-PROCESO: Traducción NaT -> NaN (Exclusivo para No-Fechas)\n", " # ==========================================\n", " for col in X_trans.columns:\n", " # 1. 🛡️ ESCUDO AUTOMÁTICO: Si es fecha (por tipo o por ruta), la ignoramos por completo\n", " if pd.api.types.is_datetime64_any_dtype(X_trans[col]) or col in columnas_fecha_intactas:\n", " fechas_protegidas_encontradas.append(col)\n", " continue\n", "\n", " # 2. 🧠 BÚSQUEDA INTELIGENTE: Solo revisamos variables de texto/objeto que tengan nulos\n", " if X_trans[col].hasnans and X_trans[col].dtype == 'object':\n", " # Evaluamos silenciosamente si hay NaTs infiltrados (anomalía de Pandas)\n", " mascara_nat = X_trans[col].apply(lambda x: x is pd.NaT)\n", " hallazgos_nat = mascara_nat.sum()\n", "\n", " if hallazgos_nat > 0:\n", " logger.warning(f\" ⚙️ [PURIFICACIÓN] Aniquilando {hallazgos_nat} NaTs infiltrados en la variable no-temporal '{col}' -> NaN.\")\n", " X_trans.loc[mascara_nat, col] = np.nan\n", "\n", " # 📊 Telemetría del Escudo Temporal\n", " if fechas_protegidas_encontradas:\n", " logger.info(f\" 🛡️ [ESCUDO ACTIVO] Se protegieron {len(fechas_protegidas_encontradas)} columnas de tipo fecha: {fechas_protegidas_encontradas}\")\n", "\n", " # ==========================================\n", " # 🛡️ AISLAMIENTO QUIRÚRGICO: Solo pasamos números al KNN\n", " # (Las fechas protegidas quedan fuera automáticamente)\n", " # ==========================================\n", " cols_numericas = X_trans.select_dtypes(include=[np.number]).columns.tolist()\n", "\n", " if not cols_numericas:\n", " logger.info(\" ✅ [BYPASS] No se detectaron variables numéricas. Imputación omitida.\")\n", " return X_trans, rutas, imputador_entrenado or KNNImputer()\n", "\n", " nulos_numericos = X_trans[cols_numericas].isna().sum().sum()\n", "\n", " # ==========================================\n", " # ⚙️ Parámetros de Escalabilidad (Big Data)\n", " # ==========================================\n", " MAX_FIT_SAMPLES = 15000 \n", " CHUNK_SIZE = 10000 \n", "\n", " def transformar_por_lotes(imputador, df_a_imputar):\n", " matrices_limpias = []\n", " for i in range(0, len(df_a_imputar), CHUNK_SIZE):\n", " chunk = df_a_imputar.iloc[i:i+CHUNK_SIZE].astype(float)\n", " chunk_imputado = imputador.transform(chunk)\n", " matrices_limpias.append(chunk_imputado)\n", " return np.vstack(matrices_limpias)\n", "\n", " # ==========================================\n", " # 1. Modo TEST / PRODUCCIÓN (.transform)\n", " # ==========================================\n", " if imputador_entrenado is not None:\n", " # 🚀 FIX MLOps: Si Train no necesitó imputador, Test hereda la orden de no hacer nada.\n", " if imputador_entrenado == 'BYPASS_KNN':\n", " logger.info(\" 🔒 [TEST] Bypass heredado de Train (Matriz perfecta). Omitiendo KNN.\")\n", " return X_trans, rutas, imputador_entrenado\n", "\n", " if nulos_numericos == 0:\n", " logger.info(\" ✅ [BYPASS] Test no tiene valores NaN en numéricas. Matriz intacta.\")\n", " else:\n", " logger.info(f\" 🔒 [TEST] Imputando valores usando la geometría espacial de Train...\")\n", " logger.info(f\" 🔒 [TEST] Rellenando {nulos_numericos:,} huecos (Chunking)...\")\n", " matriz_imputada = transformar_por_lotes(imputador_entrenado, X_trans[cols_numericas])\n", " df_imputado = pd.DataFrame(matriz_imputada, columns=cols_numericas, index=idx)\n", " X_trans[cols_numericas] = df_imputado\n", " logger.info(f\" 📊 Huecos numéricos restantes en Test: {X_trans[cols_numericas].isna().sum().sum()}\")\n", "\n", " logger.info(f\"\\n⏱️ Imputación KNN completada en {time.time() - inicio_timer:.3f}s\")\n", " return X_trans, rutas, imputador_entrenado\n", "\n", " # ==========================================\n", " # 2. Modo TRAIN (.fit)\n", " # ==========================================\n", " if nulos_numericos == 0:\n", " logger.info(\" ✅ [MATRIZ PERFECTA] No hay nulos numéricos. Entrenamiento KNN omitido.\")\n", " # 🚀 FIX MLOps: Devolvemos el sello en lugar de None\n", " return X_trans, rutas, 'BYPASS_KNN' \n", " else:\n", " logger.info(f\" 🚂 [TRAIN] Detectados {nulos_numericos:,} huecos numéricos. Protegiendo RAM...\")\n", "\n", " X_num_trans = X_trans[cols_numericas]\n", " if total_filas > MAX_FIT_SAMPLES:\n", " logger.info(f\" ↳ Dataset masivo detectado. Creando 'Donor Pool' aleatorio de {MAX_FIT_SAMPLES:,} filas...\")\n", " X_fit = X_num_trans.sample(n=MAX_FIT_SAMPLES, random_state=42)\n", " else:\n", " X_fit = X_num_trans\n", "\n", " imputador = KNNImputer(n_neighbors=n_vecinos, weights='distance')\n", " logger.info(f\" ↳ Construyendo topología matemática (fit)...\")\n", " imputador.fit(X_fit.astype(float))\n", "\n", " logger.info(f\" ↳ Rellenando huecos en matriz completa por lotes de {CHUNK_SIZE:,} filas (transform)...\")\n", " matriz_imputada = transformar_por_lotes(imputador, X_num_trans)\n", " df_imputado = pd.DataFrame(matriz_imputada, columns=cols_numericas, index=idx)\n", "\n", " X_trans[cols_numericas] = df_imputado\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(\" 🛡️ ESTATUS: Cirugía completada con Arquitectura Big Data.\")\n", " logger.info(f\" 📊 Huecos numéricos restantes en Train: {X_trans[cols_numericas].isna().sum().sum()}\")\n", " logger.info(\" 💾 Modelo Imputador guardado para la API de Producción.\")\n", " logger.info(f\"\\n⏱️ Imputación KNN completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, rutas, imputador\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if not hasattr(manager, 'rutas') or manager.rutas is None:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " # 🚀 Clean Code Absoluto: Función 100% Autónoma, lee la memoria sola.\n", " logger.info(\">>> 🚂 ENTRENANDO IMPUTADOR KNN EN TRAIN <<<\")\n", " X_train_knn, rutas_actualizadas, modelo_knn = imputacion_knn_automl(\n", " X=manager.X_train, \n", " rutas=manager.rutas,\n", " n_vecinos=5\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO IMPUTADOR KNN A TEST <<<\")\n", " X_test_knn, _, _ = imputacion_knn_automl(\n", " X=manager.X_test, \n", " rutas=manager.rutas,\n", " n_vecinos=5,\n", " imputador_entrenado=modelo_knn \n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma segura\n", " manager.X_train = X_train_knn\n", " manager.X_test = X_test_knn\n", " manager.rutas = rutas_actualizadas\n", "\n", " # Aseguramos la inicialización de la caja fuerte de modelos preprocesamiento\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", "\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('imputador_knn', modelo_knn)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['imputador_knn'] = modelo_knn\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices matemáticas, rutas y modelo KNN actualizados de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Imputación KNN: {e}\")" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_capital_gainis_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_week
021.00.21979310.00.0475540.1219920.0112200.2583081.00.00.0...0.00.02.00.00.00.00.000000.00.0000000.00
141.00.21868411.00.4447410.2637420.4481490.2541211.04386.00.0...0.00.00.01.00.04386.0106.9756173.10.0000000.00
224.00.2186849.00.0449660.0628220.0647310.1211130.00.00.0...0.00.00.00.00.00.00.000000.00.0000000.00
359.00.2200249.00.0917080.4579890.1072670.2583080.00.00.0...0.00.00.00.00.00.00.000000.00.0000000.00
435.00.2186429.00.4490630.2687300.4514030.2644451.00.01887.0...0.00.00.00.01.0-1887.00.000000.053.91428637.74
\n", "

5 rows × 24 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation relationship \\\n", "0 21.0 0.219793 10.0 0.047554 0.121992 0.011220 \n", "1 41.0 0.218684 11.0 0.444741 0.263742 0.448149 \n", "2 24.0 0.218684 9.0 0.044966 0.062822 0.064731 \n", "3 59.0 0.220024 9.0 0.091708 0.457989 0.107267 \n", "4 35.0 0.218642 9.0 0.449063 0.268730 0.451403 \n", "\n", " race sex capital_gain capital_loss ... is_missing_capital_gain \\\n", "0 0.258308 1.0 0.0 0.0 ... 0.0 \n", "1 0.254121 1.0 4386.0 0.0 ... 0.0 \n", "2 0.121113 0.0 0.0 0.0 ... 0.0 \n", "3 0.258308 0.0 0.0 0.0 ... 0.0 \n", "4 0.264445 1.0 0.0 1887.0 ... 0.0 \n", "\n", " is_missing_native_country total_nulos_en_fila tiene_capital_gain \\\n", "0 0.0 2.0 0.0 \n", "1 0.0 0.0 1.0 \n", "2 0.0 0.0 0.0 \n", "3 0.0 0.0 0.0 \n", "4 0.0 0.0 0.0 \n", "\n", " tiene_capital_loss capital_neto capital_gain_por_age \\\n", "0 0.0 0.0 0.00000 \n", "1 0.0 4386.0 106.97561 \n", "2 0.0 0.0 0.00000 \n", "3 0.0 0.0 0.00000 \n", "4 1.0 -1887.0 0.00000 \n", "\n", " capital_gain_por_hours_per_week capital_loss_por_age \\\n", "0 0.0 0.000000 \n", "1 73.1 0.000000 \n", "2 0.0 0.000000 \n", "3 0.0 0.000000 \n", "4 0.0 53.914286 \n", "\n", " capital_loss_por_hours_per_week \n", "0 0.00 \n", "1 0.00 \n", "2 0.00 \n", "3 0.00 \n", "4 37.74 \n", "\n", "[5 rows x 24 columns]" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_train.head()\n" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_capital_gainis_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_week
1062.00.21880010.00.4475940.1358270.4723720.2560480.00.00.0...0.00.00.00.00.00.00.00.00.0000000.000
1125.00.21880013.00.0458510.4816760.0118820.2560481.00.00.0...0.00.00.00.00.00.00.00.00.0000000.000
1229.00.2188009.00.1031060.1218420.0601270.2560480.00.00.0...0.00.00.00.00.00.00.00.00.0000000.000
1365.00.34571113.00.4475940.4247250.4497980.2560481.00.02377.0...0.00.02.00.01.0-2377.00.00.036.56923159.425
1450.00.26558313.00.0458510.4816760.1042160.2560480.00.00.0...0.00.00.00.00.00.00.00.00.0000000.000
1521.00.21880010.00.0458510.2989650.0118820.2560480.00.00.0...0.00.00.00.00.00.00.00.00.0000000.000
1627.00.2188009.00.4475940.2255580.4497980.2560481.00.00.0...0.00.00.00.00.00.00.00.00.0000000.000
1722.00.21880010.00.0458510.2671510.1042160.2560480.00.00.0...0.00.00.00.00.00.00.00.00.0000000.000
1838.00.21880013.00.4475940.4816760.4497980.2560481.00.00.0...0.00.00.00.00.00.00.00.00.0000000.000
1949.00.21880013.00.0807620.0392740.1042160.2713891.00.00.0...0.00.00.00.00.00.00.00.00.0000000.000
\n", "

10 rows × 24 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation relationship \\\n", "10 62.0 0.218800 10.0 0.447594 0.135827 0.472372 \n", "11 25.0 0.218800 13.0 0.045851 0.481676 0.011882 \n", "12 29.0 0.218800 9.0 0.103106 0.121842 0.060127 \n", "13 65.0 0.345711 13.0 0.447594 0.424725 0.449798 \n", "14 50.0 0.265583 13.0 0.045851 0.481676 0.104216 \n", "15 21.0 0.218800 10.0 0.045851 0.298965 0.011882 \n", "16 27.0 0.218800 9.0 0.447594 0.225558 0.449798 \n", "17 22.0 0.218800 10.0 0.045851 0.267151 0.104216 \n", "18 38.0 0.218800 13.0 0.447594 0.481676 0.449798 \n", "19 49.0 0.218800 13.0 0.080762 0.039274 0.104216 \n", "\n", " race sex capital_gain capital_loss ... is_missing_capital_gain \\\n", "10 0.256048 0.0 0.0 0.0 ... 0.0 \n", "11 0.256048 1.0 0.0 0.0 ... 0.0 \n", "12 0.256048 0.0 0.0 0.0 ... 0.0 \n", "13 0.256048 1.0 0.0 2377.0 ... 0.0 \n", "14 0.256048 0.0 0.0 0.0 ... 0.0 \n", "15 0.256048 0.0 0.0 0.0 ... 0.0 \n", "16 0.256048 1.0 0.0 0.0 ... 0.0 \n", "17 0.256048 0.0 0.0 0.0 ... 0.0 \n", "18 0.256048 1.0 0.0 0.0 ... 0.0 \n", "19 0.271389 1.0 0.0 0.0 ... 0.0 \n", "\n", " is_missing_native_country total_nulos_en_fila tiene_capital_gain \\\n", "10 0.0 0.0 0.0 \n", "11 0.0 0.0 0.0 \n", "12 0.0 0.0 0.0 \n", "13 0.0 2.0 0.0 \n", "14 0.0 0.0 0.0 \n", "15 0.0 0.0 0.0 \n", "16 0.0 0.0 0.0 \n", "17 0.0 0.0 0.0 \n", "18 0.0 0.0 0.0 \n", "19 0.0 0.0 0.0 \n", "\n", " tiene_capital_loss capital_neto capital_gain_por_age \\\n", "10 0.0 0.0 0.0 \n", "11 0.0 0.0 0.0 \n", "12 0.0 0.0 0.0 \n", "13 1.0 -2377.0 0.0 \n", "14 0.0 0.0 0.0 \n", "15 0.0 0.0 0.0 \n", "16 0.0 0.0 0.0 \n", "17 0.0 0.0 0.0 \n", "18 0.0 0.0 0.0 \n", "19 0.0 0.0 0.0 \n", "\n", " capital_gain_por_hours_per_week capital_loss_por_age \\\n", "10 0.0 0.000000 \n", "11 0.0 0.000000 \n", "12 0.0 0.000000 \n", "13 0.0 36.569231 \n", "14 0.0 0.000000 \n", "15 0.0 0.000000 \n", "16 0.0 0.000000 \n", "17 0.0 0.000000 \n", "18 0.0 0.000000 \n", "19 0.0 0.000000 \n", "\n", " capital_loss_por_hours_per_week \n", "10 0.000 \n", "11 0.000 \n", "12 0.000 \n", "13 59.425 \n", "14 0.000 \n", "15 0.000 \n", "16 0.000 \n", "17 0.000 \n", "18 0.000 \n", "19 0.000 \n", "\n", "[10 rows x 24 columns]" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_test[10:20]\n" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 ENTRENANDO DETECTOR MULTIVARIADO EN TRAIN <<<\n", "=== 🛸 FASE 12.1: Detección Multivariada Asimétrica (Isolation Forest) ===\n", " 🚂 [TRAIN] Entrenando Bosque de Aislamiento sobre 24 dimensiones...\n", " ↳ Detectadas 4249 anomalías multivariadas (16.32% de la matriz).\n", " 🚩 [ASIMETRÍA MLOPS] Conservando filas. La inteligencia del árbol usará la bandera de anomalía.\n", "--------------------------------------------------------------------------------\n", " 🛡️ ESTATUS: Bosque de Aislamiento desplegado. Outliers bajo control estricto.\n", " 💾 Artefacto IsolationForest guardado para la API de Producción.\n", "\n", "⏱️ Detección de Outliers completada en 0.433s\n", "\n", ">>> 🔒 APLICANDO DETECTOR MULTIVARIADO A TEST <<<\n", "=== 🛸 FASE 12.1: Detección Multivariada Asimétrica (Isolation Forest) ===\n", " 🔒 [TEST] Escaneando Producción en busca de anomalías usando el Bosque de Train...\n", " ↳ Detectados 1013 extraterrestres en Test (Marcados, NUNCA eliminados).\n", "\n", "⏱️ Escáner completado en 0.056s\n", "\n", "📦 [MLOps] Matrices, rutas y modelo Isolation Forest actualizados de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple, Dict, Optional\n", "from sklearn.ensemble import IsolationForest\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def deteccion_outliers_aislamiento(\n", " X_train: pd.DataFrame, \n", " rutas: Dict, \n", " y_train: Optional[pd.Series] = None,\n", " X_test: Optional[pd.DataFrame] = None,\n", " contamination: float = 'auto',\n", " eliminar_en_train: bool = False,\n", " modelo_entrenado: Optional[IsolationForest] = None\n", ") -> Tuple[pd.DataFrame, Optional[pd.DataFrame], Optional[pd.Series], Dict, IsolationForest]:\n", " \"\"\"\n", " [FASE 4 - Paso 12.1] Motor AutoML de Detección Multivariada (Isolation Forest).\n", " - Tratamiento Asimétrico MLOps: Test NUNCA elimina filas, solo hereda la bandera de anomalía.\n", " - Filtro de Tipos: Solo escanea variables numéricas/booleanas para evitar colisiones con tipado nativo.\n", " - Feature Engineering: Crea la bandera 'is_anomaly_isoforest' (1 = Outlier, 0 = Inlier).\n", " - Purga Opcional: Si eliminar_en_train=True, destruye los outliers de X_train y y_train.\n", " \"\"\"\n", " if X_train is None or X_train.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X_train) está vacía.\")\n", " raise ValueError(\"La matriz (X_train) está vacía.\")\n", "\n", " logger.info(f\"=== 🛸 FASE 12.1: Detección Multivariada Asimétrica (Isolation Forest) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_tr_trans = X_train.copy()\n", " X_te_trans = X_test.copy() if X_test is not None else None\n", " y_tr_trans = y_train.copy() if y_train is not None else None\n", "\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': []}\n", " nombre_bandera = 'is_anomaly_isoforest'\n", "\n", " # 1. Escudo de Tipos (Solo usamos las rutas numéricas para la matemática del bosque)\n", " cols_matematicas = rutas.get('num_vars', []) + rutas.get('bool_vars', [])\n", "\n", " # 🛑 FIX QUIRÚRGICO: Evitamos que busque la propia bandera como si fuera variable predictora\n", " cols_validas = [c for c in cols_matematicas if c in X_tr_trans.columns and c != nombre_bandera]\n", "\n", " if not cols_validas:\n", " logger.info(\" ✅ [BYPASS] No se encontraron columnas numéricas válidas para Isolation Forest.\")\n", " return X_tr_trans, X_te_trans, y_tr_trans, rutas, modelo_entrenado\n", "\n", " # ==========================================\n", " # 2. Modo TEST / PRODUCCIÓN (.transform)\n", " # ==========================================\n", " if modelo_entrenado is not None:\n", " if X_te_trans is None:\n", " return X_tr_trans, X_te_trans, y_tr_trans, rutas, modelo_entrenado\n", "\n", " logger.info(\" 🔒 [TEST] Escaneando Producción en busca de anomalías usando el Bosque de Train...\")\n", " # Isolation Forest devuelve -1 para outliers y 1 para inliers. Lo mapeamos a 1 y 0 (int8).\n", " preds_test = modelo_entrenado.predict(X_te_trans[cols_validas].fillna(0)) # IF no soporta NaNs, si quedara alguno, fallback a 0\n", " X_te_trans[nombre_bandera] = np.where(preds_test == -1, 1, 0).astype(np.int8)\n", "\n", " outliers_test = X_te_trans[nombre_bandera].sum()\n", " logger.warning(f\" ↳ Detectados {outliers_test} extraterrestres en Test (Marcados, NUNCA eliminados).\")\n", " logger.info(f\"\\n⏱️ Escáner completado en {time.time() - inicio_timer:.3f}s\")\n", " return X_tr_trans, X_te_trans, y_tr_trans, rutas, modelo_entrenado\n", "\n", " # ==========================================\n", " # 3. Modo TRAIN (.fit)\n", " # ==========================================\n", " logger.info(f\" 🚂 [TRAIN] Entrenando Bosque de Aislamiento sobre {len(cols_validas)} dimensiones...\")\n", "\n", " # n_jobs=-1 usa todos los núcleos del procesador para velocidad extrema\n", " bosque = IsolationForest(contamination=contamination, random_state=42, n_jobs=-1)\n", "\n", " # Entrenamos y predecimos sobre Train\n", " preds_train = bosque.fit_predict(X_tr_trans[cols_validas].fillna(0))\n", " X_tr_trans[nombre_bandera] = np.where(preds_train == -1, 1, 0).astype(np.int8)\n", "\n", " outliers_train = X_tr_trans[nombre_bandera].sum()\n", " porcentaje = (outliers_train / len(X_tr_trans)) * 100\n", "\n", " logger.warning(f\" ↳ Detectadas {outliers_train} anomalías multivariadas ({porcentaje:.2f}% de la matriz).\")\n", "\n", " # Actualización de Rutas\n", " if nombre_bandera not in rutas.get('bool_vars', []):\n", " rutas['bool_vars'].append(nombre_bandera)\n", "\n", " # 4. Guillotina Opcional (Tratamiento Asimétrico)\n", " if eliminar_en_train and outliers_train > 0:\n", " logger.warning(f\" 🔪 [ASIMETRÍA MLOPS] Eliminando {outliers_train} filas anómalas SOLO del set de Entrenamiento...\")\n", " mascara_inliers = X_tr_trans[nombre_bandera] == 0\n", "\n", " X_tr_trans = X_tr_trans[mascara_inliers].reset_index(drop=True)\n", " if y_tr_trans is not None:\n", " y_tr_trans = y_tr_trans[mascara_inliers].reset_index(drop=True)\n", "\n", " logger.info(\" ↳ Purga completada. La matriz predictora y el target siguen perfectamente alineados.\")\n", " else:\n", " logger.info(\" 🚩 [ASIMETRÍA MLOPS] Conservando filas. La inteligencia del árbol usará la bandera de anomalía.\")\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(\" 🛡️ ESTATUS: Bosque de Aislamiento desplegado. Outliers bajo control estricto.\")\n", " logger.info(\" 💾 Artefacto IsolationForest guardado para la API de Producción.\")\n", " logger.info(f\"\\n⏱️ Detección de Outliers completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_tr_trans, X_te_trans, y_tr_trans, rutas, bosque\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'y_train', None) is None:\n", " raise ValueError(\"El Manager no tiene cargado el vector 'y_train'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if not hasattr(manager, 'rutas') or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " logger.info(\">>> 🚂 ENTRENANDO DETECTOR MULTIVARIADO EN TRAIN <<<\")\n", " X_train_out, _, y_train_out, rutas_actualizadas, modelo_iforest = deteccion_outliers_aislamiento(\n", " X_train=manager.X_train, \n", " y_train=manager.y_train, \n", " rutas=manager.rutas,\n", " contamination='auto',\n", " eliminar_en_train=False # 🛑 Arquitecto: Cambia a True si quieres purgar las filas anómalas en Train\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO DETECTOR MULTIVARIADO A TEST <<<\")\n", " _, X_test_out, _, _, _ = deteccion_outliers_aislamiento(\n", " X_train=manager.X_train, # Dummy requerido por la firma original para compatibilidad\n", " X_test=manager.X_test, \n", " rutas=manager.rutas,\n", " modelo_entrenado=modelo_iforest # El Puente MLOps\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma centralizada\n", " manager.X_train = X_train_out\n", " manager.X_test = X_test_out\n", " manager.y_train = y_train_out\n", " manager.rutas = rutas_actualizadas\n", "\n", " # Asegurar inicialización de la caja fuerte de modelos si no existe\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", "\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('detector_outliers_iforest', modelo_iforest)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['detector_outliers_iforest'] = modelo_iforest\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices, rutas y modelo Isolation Forest actualizados de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " y_train = manager.y_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Detección de Outliers: {e}\")" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 25 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null float64\n", " 1 workclass 26029 non-null float64\n", " 2 education_num 26029 non-null float64\n", " 3 marital_status 26029 non-null float64\n", " 4 occupation 26029 non-null float64\n", " 5 relationship 26029 non-null float64\n", " 6 race 26029 non-null float64\n", " 7 sex 26029 non-null float64\n", " 8 capital_gain 26029 non-null float64\n", " 9 capital_loss 26029 non-null float64\n", " 10 hours_per_week 26029 non-null float64\n", " 11 native_country 26029 non-null float64\n", " 12 is_missing_workclass 26029 non-null float64\n", " 13 is_missing_occupation 26029 non-null float64\n", " 14 is_missing_capital_gain 26029 non-null float64\n", " 15 is_missing_native_country 26029 non-null float64\n", " 16 total_nulos_en_fila 26029 non-null float64\n", " 17 tiene_capital_gain 26029 non-null float64\n", " 18 tiene_capital_loss 26029 non-null float64\n", " 19 capital_neto 26029 non-null float64\n", " 20 capital_gain_por_age 26029 non-null float64\n", " 21 capital_gain_por_hours_per_week 26029 non-null float64\n", " 22 capital_loss_por_age 26029 non-null float64\n", " 23 capital_loss_por_hours_per_week 26029 non-null float64\n", " 24 is_anomaly_isoforest 26029 non-null int8 \n", "dtypes: float64(24), int8(1)\n", "memory usage: 4.8 MB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 ENTRENANDO WINSORIZADOR EN TRAIN <<<\n", "=== 🗜️ FASE 12.2: Tratamiento de Outliers (Winsorización al 0.1% - 99.9%) ===\n", " 🚂 [TRAIN] Calculando percentiles para 17 variables continuas...\n", " 🔄 'capital_gain': 7 valores anómalos comprimidos a [0.00, 27828.00]\n", " 🔄 'capital_loss': 24 valores anómalos comprimidos a [0.00, 2559.00]\n", " 🔄 'hours_per_week': 11 valores anómalos comprimidos a [2.00, 99.00]\n", " 🔄 'total_nulos_en_fila': 27 valores anómalos comprimidos a [0.00, 2.97]\n", " 🔄 'capital_neto': 31 valores anómalos comprimidos a [-2559.00, 27828.00]\n", " 🔄 'capital_gain_por_age': 27 valores anómalos comprimidos a [0.00, 597.51]\n", " 🔄 'capital_gain_por_hours_per_week': 26 valores anómalos comprimidos a [0.00, 802.04]\n", " 🔄 'capital_loss_por_age': 27 valores anómalos comprimidos a [0.00, 93.51]\n", " 🔄 'capital_loss_por_hours_per_week': 27 valores anómalos comprimidos a [0.00, 141.16]\n", " 🔄 'workclass': 26 valores anómalos comprimidos a [0.22, 0.57]\n", " 🔄 'occupation': 22 valores anómalos comprimidos a [0.03, 0.49]\n", "--------------------------------------------------------------------------------\n", " 🛡️ ESTATUS: Topología estabilizada. 17 procesadas | 0 ignoradas (Varianza Cero).\n", " 💾 Diccionario de percentiles guardado para la API de Producción.\n", "\n", "⏱️ Winsorización completada en 0.085s\n", "\n", ">>> 🔒 APLICANDO WINSORIZADOR A TEST <<<\n", "=== 🗜️ FASE 12.2: Tratamiento de Outliers (Winsorización al 0.1% - 99.9%) ===\n", " 🔒 [TEST] Aplicando techos y pisos aprendidos de Train...\n", " ↳ Replicado en 17 variables (Picos extremos recortados a ciegas).\n", "\n", "⏱️ Winsorización completada en 0.022s\n", "\n", "📦 [MLOps] Matrices, rutas y receta de winsorización actualizadas de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple, Dict\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def winsorizacion_automl(\n", " X: pd.DataFrame, \n", " rutas: Dict, \n", " limites: Tuple[float, float] = (0.001, 0.999),\n", " receta_aprendida: Dict[str, Tuple[float, float]] = None\n", ") -> Tuple[pd.DataFrame, Dict, Dict]:\n", " \"\"\"\n", " [FASE 4 - Paso 12.2] Motor AutoML de Winsorización (Capping).\n", " - Muro MLOps: Calcula los percentiles matemáticos SOLO en Train y los hereda a Test.\n", " - Filtro de Tipos: Solo opera sobre variables estrictamente numéricas (ignora booleanos y categorías).\n", " - Tolerancia a NaNs: El cálculo de percentiles y el recorte (.clip) ignoran los valores nulos.\n", " - Prevención de Colapso: Evita comprimir variables con varianza cero (ej. 99% de ceros).\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== 🗜️ FASE 12.2: Tratamiento de Outliers (Winsorización al {limites[0]*100}% - {limites[1]*100}%) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': []}\n", "\n", " # 1. Escudo de Tipos: Solo queremos comprimir métricas reales, no banderas 0/1\n", " cols_numericas = [c for c in rutas.get('num_vars', []) if c in X_trans.columns]\n", "\n", " if not cols_numericas:\n", " logger.info(\" ✅ [BYPASS] No se encontraron variables numéricas continuas para comprimir.\")\n", " return X_trans, rutas, {}\n", "\n", " # ==========================================\n", " # 2. Modo TEST / PRODUCCIÓN (.transform)\n", " # ==========================================\n", " if receta_aprendida is not None:\n", " logger.info(\" 🔒 [TEST] Aplicando techos y pisos aprendidos de Train...\")\n", " columnas_comprimidas = 0\n", "\n", " for col, (limite_inf, limite_sup) in receta_aprendida.items():\n", " if col in X_trans.columns:\n", " # .clip() recorta los extremos y deja los NaNs intactos\n", " X_trans[col] = X_trans[col].clip(lower=limite_inf, upper=limite_sup)\n", " columnas_comprimidas += 1\n", "\n", " logger.info(f\" ↳ Replicado en {columnas_comprimidas} variables (Picos extremos recortados a ciegas).\")\n", " logger.info(f\"\\n⏱️ Winsorización completada en {time.time() - inicio_timer:.3f}s\")\n", " return X_trans, rutas, receta_aprendida\n", "\n", " # ==========================================\n", " # 3. Modo TRAIN (.fit)\n", " # ==========================================\n", " logger.info(f\" 🚂 [TRAIN] Calculando percentiles para {len(cols_numericas)} variables continuas...\")\n", " diccionario_produccion = {}\n", " columnas_comprimidas = 0\n", " columnas_ignoradas = 0\n", "\n", " for col in cols_numericas:\n", " # Extraemos la serie ignorando los NaNs\n", " serie_limpia = X_trans[col].dropna()\n", "\n", " if len(serie_limpia) == 0:\n", " continue # Si la columna es puro NaN, la ignoramos\n", "\n", " # Calculamos los límites matemáticos (Piso y Techo)\n", " limite_inf = serie_limpia.quantile(limites[0])\n", " limite_sup = serie_limpia.quantile(limites[1])\n", "\n", " # Guardamos la receta si los límites son lógicos (evita comprimir variables que son un solo número)\n", " if limite_inf < limite_sup:\n", " diccionario_produccion[col] = (limite_inf, limite_sup)\n", "\n", " # Aplicamos la compresión\n", " valores_extremos_antes = ((X_trans[col] < limite_inf) | (X_trans[col] > limite_sup)).sum()\n", " X_trans[col] = X_trans[col].clip(lower=limite_inf, upper=limite_sup)\n", "\n", " columnas_comprimidas += 1\n", " if valores_extremos_antes > 0:\n", " logger.info(f\" 🔄 '{col}': {valores_extremos_antes} valores anómalos comprimidos a [{limite_inf:.2f}, {limite_sup:.2f}]\")\n", " else:\n", " # 🚀 FIX MLOps: Avisamos que la variable fue ignorada por falta de varianza\n", " columnas_ignoradas += 1\n", " logger.info(f\" ⏭️ [BYPASS] '{col}': Ignorada (Varianza Cero en los extremos. Percentiles {limites[0]*100}% y {limites[1]*100}% son idénticos).\")\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: Topología estabilizada. {columnas_comprimidas} procesadas | {columnas_ignoradas} ignoradas (Varianza Cero).\")\n", " logger.info(\" 💾 Diccionario de percentiles guardado para la API de Producción.\")\n", " logger.info(f\"\\n⏱️ Winsorización completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, rutas, diccionario_produccion\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if not hasattr(manager, 'rutas') or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " # Configuramos los límites: Cortamos el 0.1% inferior y el 0.1% superior (El 99.8% de la data queda intacta)\n", " limites_elegidos = (0.001, 0.999)\n", "\n", " logger.info(\">>> 🚂 ENTRENANDO WINSORIZADOR EN TRAIN <<<\")\n", " X_train_win, rutas_actualizadas, receta_winsor = winsorizacion_automl(\n", " X=manager.X_train, \n", " rutas=manager.rutas,\n", " limites=limites_elegidos\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO WINSORIZADOR A TEST <<<\")\n", " X_test_win, _, _ = winsorizacion_automl(\n", " X=manager.X_test, \n", " rutas=manager.rutas,\n", " receta_aprendida=receta_winsor # El Puente MLOps\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos de forma centralizada en el Manager\n", " manager.X_train = X_train_win\n", " manager.X_test = X_test_win\n", " manager.rutas = rutas_actualizadas\n", "\n", " # Aseguramos la inicialización de la caja fuerte de modelos si no existe\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", "\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('receta_winsorizacion', receta_winsor)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['receta_winsorizacion'] = receta_winsor\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices, rutas y receta de winsorización actualizadas de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Winsorización: {e}\")" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 ENTRENANDO ESCALADOR EN TRAIN <<<\n", "=== ⚖️ FASE 13.1: Escalamiento Dinámico (MINMAX) ===\n", " ✅ [BYPASS] Escalamiento omitido. La matriz está optimizada para algoritmos basados en Árboles (Scale-Invariant).\n", "\n", ">>> 🔒 APLICANDO ESCALADOR A TEST <<<\n", "=== ⚖️ FASE 13.1: Escalamiento Dinámico (MINMAX) ===\n", " ✅ [BYPASS] Escalamiento omitido. La matriz está optimizada para algoritmos basados en Árboles (Scale-Invariant).\n", "\n", "📦 [MLOps] Matrices y modelo escalador actualizados de forma segura en el PipelineManager.\n", "\n", ">>> ⏪ PRUEBA DE LA MÁQUINA DEL TIEMPO (REVERSO) <<<\n", " ⏭️ Bypass activo o escalador no entrenado. Traducción inversa omitida.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple, Dict, Optional\n", "from sklearn.preprocessing import MinMaxScaler, StandardScaler, RobustScaler\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def escalamiento_dinamico_automl(\n", " X: pd.DataFrame, \n", " rutas: Dict, \n", " requiere_escalamiento: bool = True,\n", " metodo: str = 'minmax',\n", " escalador_entrenado: Optional[object] = None\n", ") -> Tuple[pd.DataFrame, Dict, Optional[object]]:\n", " \"\"\"\n", " [FASE 4 - Paso 13.1] Motor AutoML de Escalamiento Dinámico.\n", " - Switch Inteligente: Si requiere_escalamiento=False, hace bypass (ideal para ecosistemas 100% Árboles).\n", " - Muro MLOps: Aprende los rangos máximos/mínimos SOLO en Train. Aplica ciegamente en Test.\n", " - Preservación Topológica: Solo escala variables continuas (num_vars), dejando booleanas y \n", " categorías nativas intactas. Retorna un DataFrame de Pandas, no un array de Numpy.\n", " - 🚀 Optimización de Memoria (NUEVO): Convierte el resultado float64 nativo de Sklearn a float32.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== ⚖️ FASE 13.1: Escalamiento Dinámico ({metodo.upper()}) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': []}\n", "\n", " # 1. El Interruptor AutoML (Regla lrl1)\n", " if not requiere_escalamiento:\n", " logger.info(\" ✅ [BYPASS] Escalamiento omitido. La matriz está optimizada para algoritmos basados en Árboles (Scale-Invariant).\")\n", " return X_trans, rutas, escalador_entrenado\n", "\n", " # 2. Escudo de Tipos: Seleccionamos SOLO las numéricas continuas\n", " # Las booleanas ya son 0 y 1. Las categóricas nativas son intocables.\n", " cols_a_escalar = [c for c in rutas.get('num_vars', []) if c in X_trans.columns]\n", "\n", " if not cols_a_escalar:\n", " logger.info(\" ✅ [BYPASS] No hay variables numéricas continuas para escalar.\")\n", " return X_trans, rutas, escalador_entrenado\n", "\n", " # Extraemos índices y columnas para reconstruir el DataFrame post-Sklearn\n", " indices = X_trans.index\n", "\n", " # ==========================================\n", " # 3. Modo TEST / PRODUCCIÓN (.transform)\n", " # ==========================================\n", " if escalador_entrenado is not None:\n", " logger.info(f\" 🔒 [TEST] Comprimiendo {len(cols_a_escalar)} dimensiones usando la escala memorizada de Train...\")\n", "\n", " # Transformamos y reinyectamos en el DataFrame\n", " matriz_escalada = escalador_entrenado.transform(X_trans[cols_a_escalar])\n", "\n", " # 🚀 DOWNCASTING AUTOMÁTICO: Forzamos float32 para evitar el sobrepeso de float64 de sklearn\n", " X_trans.loc[:, cols_a_escalar] = matriz_escalada.astype(np.float32)\n", "\n", " logger.info(f\"\\n⏱️ Escalamiento completado en {time.time() - inicio_timer:.3f}s\")\n", " return X_trans, rutas, escalador_entrenado\n", "\n", " # ==========================================\n", " # 4. Modo TRAIN (.fit_transform)\n", " # ==========================================\n", " logger.info(f\" 🚂 [TRAIN] Entrenando escalador '{metodo}' sobre {len(cols_a_escalar)} variables continuas...\")\n", "\n", " # Selección del Motor Matemático\n", " if metodo == 'minmax':\n", " escalador = MinMaxScaler() # Comprime estrictamente entre 0 y 1\n", " elif metodo == 'standard':\n", " escalador = StandardScaler() # Media 0, Varianza 1\n", " elif metodo == 'robust':\n", " escalador = RobustScaler() # Usa la mediana y el IQR (inmune a outliers extremos que sobrevivieron)\n", " else:\n", " logger.error(f\"🛑 Método '{metodo}' no soportado. Usa 'minmax', 'standard' o 'robust'.\")\n", " raise ValueError(f\"Método '{metodo}' no soportado. Usa 'minmax', 'standard' o 'robust'.\")\n", "\n", " # Aprendemos los rangos matemáticos (fit) y comprimimos la matriz (transform)\n", " matriz_escalada = escalador.fit_transform(X_trans[cols_a_escalar])\n", "\n", " # 🚀 DOWNCASTING AUTOMÁTICO: Forzamos float32 para evitar el sobrepeso de float64 de sklearn\n", " X_trans.loc[:, cols_a_escalar] = matriz_escalada.astype(np.float32)\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(\" 🛡️ ESTATUS: Espacio vectorial estandarizado. Listo para Deep Learning y Meta-Modelos.\")\n", " logger.info(\" 💾 Artefacto Escalador guardado para la API de Producción.\")\n", " logger.info(f\"\\n⏱️ Escalamiento completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, rutas, escalador\n", "\n", "\n", "# ==========================================\n", "# 🔧 NUEVO: Herramienta de Traducción Inversa\n", "# ==========================================\n", "def traductor_inverso_escalamiento(\n", " X_escalado: pd.DataFrame, \n", " escalador_entrenado: object\n", ") -> pd.DataFrame:\n", " \"\"\"\n", " [Herramienta MLOps] Traductor de Escalamiento Inverso (Máquina del Tiempo).\n", " - Toma una matriz escalada (con 0s y 1s) y utiliza la memoria fotográfica del \n", " escalador para devolverle sus valores lógicos del mundo real (Dólares, Años, Horas).\n", " \"\"\"\n", " if escalador_entrenado is None:\n", " return X_escalado.copy()\n", "\n", " X_traducido = X_escalado.copy()\n", "\n", " # Scikit-learn (versiones modernas) guarda las columnas que aprendió en .feature_names_in_\n", " if hasattr(escalador_entrenado, 'feature_names_in_'):\n", " cols_memorizadas = escalador_entrenado.feature_names_in_\n", " else:\n", " logger.error(\"🛑 El escalador no tiene memoria de las columnas. Requiere Scikit-Learn reciente.\")\n", " raise ValueError(\"El escalador no tiene memoria de las columnas. Requiere Scikit-Learn reciente.\")\n", "\n", " # Filtramos para asegurarnos de que solo intentamos traducir las columnas que existen\n", " cols_validas = [c for c in cols_memorizadas if c in X_traducido.columns]\n", "\n", " if cols_validas:\n", " # La magia matemática ocurre aquí (.inverse_transform)\n", " matriz_original = escalador_entrenado.inverse_transform(X_traducido[cols_validas])\n", " X_traducido.loc[:, cols_validas] = matriz_original\n", "\n", " return X_traducido\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if not hasattr(manager, 'rutas') or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " # DECISIÓN DEL ARQUITECTO: ¿Usaremos Redes Neuronales / Regresión Logística después?\n", " VAMOS_A_USAR_DEEP_LEARNING = False \n", " METODO_ESCALAMIENTO = 'minmax' \n", "\n", " logger.info(\">>> 🚂 ENTRENANDO ESCALADOR EN TRAIN <<<\")\n", " X_train_esc, rutas_actualizadas, modelo_escalador = escalamiento_dinamico_automl(\n", " X=manager.X_train, \n", " rutas=manager.rutas,\n", " requiere_escalamiento=VAMOS_A_USAR_DEEP_LEARNING,\n", " metodo=METODO_ESCALAMIENTO\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO ESCALADOR A TEST <<<\")\n", " X_test_esc, _, _ = escalamiento_dinamico_automl(\n", " X=manager.X_test, \n", " rutas=manager.rutas,\n", " requiere_escalamiento=VAMOS_A_USAR_DEEP_LEARNING,\n", " escalador_entrenado=modelo_escalador # El Puente MLOps\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma segura\n", " manager.X_train = X_train_esc\n", " manager.X_test = X_test_esc\n", " manager.rutas = rutas_actualizadas\n", "\n", " # Aseguramos la inicialización de la caja fuerte de modelos si no existe\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", "\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('escalador_numerico', modelo_escalador)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['escalador_numerico'] = modelo_escalador\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices y modelo escalador actualizados de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", " # --- DEMOSTRACIÓN DEL TRADUCTOR INVERSO ---\n", " logger.info(\"\\n>>> ⏪ PRUEBA DE LA MÁQUINA DEL TIEMPO (REVERSO) <<<\")\n", " if VAMOS_A_USAR_DEEP_LEARNING and modelo_escalador is not None:\n", " # Tomamos el primer paciente/registro de Test (que ahora es un conjunto de decimales) desde el manager\n", " paciente_ejemplo = manager.X_test.head(1).copy()\n", "\n", " # 🔧 FIX BLINDADO: Obligamos al código a agarrar una variable puramente NUMÉRICA que fue escalada\n", " cols_escaladas = getattr(modelo_escalador, 'feature_names_in_', [])\n", " if len(cols_escaladas) > 0:\n", " variable_prueba = cols_escaladas[0] # Tomamos la primera variable numérica segura\n", "\n", " valor_escalado = paciente_ejemplo[variable_prueba].values[0]\n", " logger.info(f\"🤖 Visión Máquina (Escalado): {variable_prueba} = {valor_escalado:.4f}\")\n", "\n", " # Lo pasamos por el Traductor\n", " paciente_traducido = traductor_inverso_escalamiento(paciente_ejemplo, modelo_escalador)\n", " valor_original = paciente_traducido[variable_prueba].values[0]\n", "\n", " # Usamos formateo dinámico: si el original es entero, no mostramos decimales\n", " if float(valor_original).is_integer():\n", " logger.info(f\"👤 Visión Humana (Original): {variable_prueba} = {int(valor_original):,}\")\n", " else:\n", " logger.info(f\"👤 Visión Humana (Original): {variable_prueba} = {valor_original:,.2f}\")\n", " else:\n", " logger.warning(\"⚠️ No hay variables numéricas escaladas para la demostración.\")\n", " else:\n", " logger.info(\" ⏭️ Bypass activo o escalador no entrenado. Traducción inversa omitida.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el Escalamiento Dinámico o Traductor: {e}\")" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_weekis_anomaly_isoforest
021.00.21979310.00.0475540.1219920.0112200.2583081.00.00.0...0.02.00.00.00.00.000000.00.0000000.001
141.00.21868411.00.4447410.2637420.4481490.2541211.04386.00.0...0.00.01.00.04386.0106.9756173.10.0000000.000
224.00.2186849.00.0449660.0628220.0647310.1211130.00.00.0...0.00.00.00.00.00.000000.00.0000000.000
359.00.2200249.00.0917080.4579890.1072670.2583080.00.00.0...0.00.00.00.00.00.000000.00.0000000.000
435.00.2186429.00.4490630.2687300.4514030.2644451.00.01887.0...0.00.00.01.0-1887.00.000000.053.91428637.741
\n", "

5 rows × 25 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation relationship \\\n", "0 21.0 0.219793 10.0 0.047554 0.121992 0.011220 \n", "1 41.0 0.218684 11.0 0.444741 0.263742 0.448149 \n", "2 24.0 0.218684 9.0 0.044966 0.062822 0.064731 \n", "3 59.0 0.220024 9.0 0.091708 0.457989 0.107267 \n", "4 35.0 0.218642 9.0 0.449063 0.268730 0.451403 \n", "\n", " race sex capital_gain capital_loss ... is_missing_native_country \\\n", "0 0.258308 1.0 0.0 0.0 ... 0.0 \n", "1 0.254121 1.0 4386.0 0.0 ... 0.0 \n", "2 0.121113 0.0 0.0 0.0 ... 0.0 \n", "3 0.258308 0.0 0.0 0.0 ... 0.0 \n", "4 0.264445 1.0 0.0 1887.0 ... 0.0 \n", "\n", " total_nulos_en_fila tiene_capital_gain tiene_capital_loss capital_neto \\\n", "0 2.0 0.0 0.0 0.0 \n", "1 0.0 1.0 0.0 4386.0 \n", "2 0.0 0.0 0.0 0.0 \n", "3 0.0 0.0 0.0 0.0 \n", "4 0.0 0.0 1.0 -1887.0 \n", "\n", " capital_gain_por_age capital_gain_por_hours_per_week \\\n", "0 0.00000 0.0 \n", "1 106.97561 73.1 \n", "2 0.00000 0.0 \n", "3 0.00000 0.0 \n", "4 0.00000 0.0 \n", "\n", " capital_loss_por_age capital_loss_por_hours_per_week is_anomaly_isoforest \n", "0 0.000000 0.00 1 \n", "1 0.000000 0.00 0 \n", "2 0.000000 0.00 0 \n", "3 0.000000 0.00 0 \n", "4 53.914286 37.74 1 \n", "\n", "[5 rows x 25 columns]" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_train.head()\n" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_weekis_anomaly_isoforest
039.00.54489910.00.1031060.2255580.1042160.2560481.00.00.0...0.00.00.00.00.00.00.00.00.00
135.00.21880013.00.4475940.1358270.4497980.2560481.00.00.0...0.00.00.00.00.00.00.00.00.00
231.00.21880013.00.4475940.4563640.4497980.2560481.00.00.0...0.00.00.00.00.00.00.00.00.00
367.00.54489913.00.0906210.0392740.0601270.2560480.00.00.0...0.00.00.00.00.00.00.00.00.00
456.00.2891039.00.0807620.4816760.1042160.2560481.00.00.0...0.00.00.00.00.00.00.00.00.00
\n", "

5 rows × 25 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation relationship \\\n", "0 39.0 0.544899 10.0 0.103106 0.225558 0.104216 \n", "1 35.0 0.218800 13.0 0.447594 0.135827 0.449798 \n", "2 31.0 0.218800 13.0 0.447594 0.456364 0.449798 \n", "3 67.0 0.544899 13.0 0.090621 0.039274 0.060127 \n", "4 56.0 0.289103 9.0 0.080762 0.481676 0.104216 \n", "\n", " race sex capital_gain capital_loss ... is_missing_native_country \\\n", "0 0.256048 1.0 0.0 0.0 ... 0.0 \n", "1 0.256048 1.0 0.0 0.0 ... 0.0 \n", "2 0.256048 1.0 0.0 0.0 ... 0.0 \n", "3 0.256048 0.0 0.0 0.0 ... 0.0 \n", "4 0.256048 1.0 0.0 0.0 ... 0.0 \n", "\n", " total_nulos_en_fila tiene_capital_gain tiene_capital_loss capital_neto \\\n", "0 0.0 0.0 0.0 0.0 \n", "1 0.0 0.0 0.0 0.0 \n", "2 0.0 0.0 0.0 0.0 \n", "3 0.0 0.0 0.0 0.0 \n", "4 0.0 0.0 0.0 0.0 \n", "\n", " capital_gain_por_age capital_gain_por_hours_per_week \\\n", "0 0.0 0.0 \n", "1 0.0 0.0 \n", "2 0.0 0.0 \n", "3 0.0 0.0 \n", "4 0.0 0.0 \n", "\n", " capital_loss_por_age capital_loss_por_hours_per_week is_anomaly_isoforest \n", "0 0.0 0.0 0 \n", "1 0.0 0.0 0 \n", "2 0.0 0.0 0 \n", "3 0.0 0.0 0 \n", "4 0.0 0.0 0 \n", "\n", "[5 rows x 25 columns]" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_test.head()\n" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 25 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null float64\n", " 1 workclass 26029 non-null float64\n", " 2 education_num 26029 non-null float64\n", " 3 marital_status 26029 non-null float64\n", " 4 occupation 26029 non-null float64\n", " 5 relationship 26029 non-null float64\n", " 6 race 26029 non-null float64\n", " 7 sex 26029 non-null float64\n", " 8 capital_gain 26029 non-null float64\n", " 9 capital_loss 26029 non-null float64\n", " 10 hours_per_week 26029 non-null float64\n", " 11 native_country 26029 non-null float64\n", " 12 is_missing_workclass 26029 non-null float64\n", " 13 is_missing_occupation 26029 non-null float64\n", " 14 is_missing_capital_gain 26029 non-null float64\n", " 15 is_missing_native_country 26029 non-null float64\n", " 16 total_nulos_en_fila 26029 non-null float64\n", " 17 tiene_capital_gain 26029 non-null float64\n", " 18 tiene_capital_loss 26029 non-null float64\n", " 19 capital_neto 26029 non-null float64\n", " 20 capital_gain_por_age 26029 non-null float64\n", " 21 capital_gain_por_hours_per_week 26029 non-null float64\n", " 22 capital_loss_por_age 26029 non-null float64\n", " 23 capital_loss_por_hours_per_week 26029 non-null float64\n", " 24 is_anomaly_isoforest 26029 non-null int8 \n", "dtypes: float64(24), int8(1)\n", "memory usage: 4.8 MB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n", "\n", "\n", "# # FASE 5: Ingeniería Profunda y Aumento de Datos (La Vanguardia)\n", "# Con una matriz limpia y numérica, desplegamos IA generativa y análisis causal.\n", "# \n", "# " ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 EVALUANDO REZAGOS EN TRAIN <<<\n", "=== 🕰️ FASE 14.1: Ingeniería de Rezagos Temporales (Lag Features) ===\n", " ✅ [BYPASS INTELIGENTE] Topología detectada como 'Transversal'.\n", " ↳ Operación abortada para prevenir mezcla caótica de registros independientes.\n", "\n", ">>> 🔒 EVALUANDO REZAGOS EN TEST <<<\n", "=== 🕰️ FASE 14.1: Ingeniería de Rezagos Temporales (Lag Features) ===\n", " ✅ [BYPASS INTELIGENTE] Topología detectada como 'Transversal'.\n", " ↳ Operación abortada para prevenir mezcla caótica de registros independientes.\n", "\n", "📦 [MLOps] Matrices y rutas de rezagos actualizadas de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple, Dict, List, Optional\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def ingenieria_rezagos_automl(\n", " X: pd.DataFrame, \n", " rutas: Dict, \n", " topologia_dataset: str = 'Transversal', # 🔧 NUEVO: Enrutador Topológico Maestro\n", " columnas_a_rezagar: List[str] = None,\n", " periodos: List[int] = [1, 2, 3],\n", " variable_entidad_id: Optional[str] = None\n", ") -> Tuple[pd.DataFrame, Dict]:\n", " \"\"\"\n", " [FASE 5 - Paso 14.1] Motor AutoML de Variables de Rezago (Lag Features).\n", " - Auto-Descubrimiento Temporal: Busca columnas datetime para usarlas como ancla.\n", " - Inteligencia Topológica: Bypass si es 'Transversal'. Actúa si es 'Serie de Tiempo Pura' o 'Datos de Panel'.\n", " - Exterminio del ID (NUEVO): Destruye la entidad y el index tras rezagar para evitar Leakage.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== 🕰️ FASE 14.1: Ingeniería de Rezagos Temporales (Lag Features) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': []}\n", "\n", " # ==========================================\n", " # 1. Auditoría de Seguridad AutoML (El Bypass Inteligente)\n", " # ==========================================\n", " if topologia_dataset == 'Transversal':\n", " logger.info(f\" ✅ [BYPASS INTELIGENTE] Topología detectada como '{topologia_dataset}'.\")\n", " logger.info(\" ↳ Operación abortada para prevenir mezcla caótica de registros independientes.\")\n", " return X_trans, rutas\n", "\n", " # 🚀 NUEVA INTELIGENCIA: Escáner de Topología Temporal\n", " columnas_fecha = X_trans.select_dtypes(include=['datetime64', 'datetime', 'datetimetz']).columns.tolist()\n", "\n", " if not columnas_fecha:\n", " logger.warning(f\" ⚠️ [ADVERTENCIA] Topología es '{topologia_dataset}', pero NO hay columnas tipo 'datetime' vivas.\")\n", " logger.info(\" ↳ Bypass activado por seguridad.\")\n", " return X_trans, rutas\n", "\n", " variable_tiempo = columnas_fecha[0]\n", " logger.info(f\" 🧭 [AUTO-DETECCIÓN TEMPORAL] Ancla cronológica encontrada: '{variable_tiempo}'.\")\n", "\n", " # --- AUTO-DETECCIÓN DE VARIABLES NUMÉRICAS ---\n", " if not columnas_a_rezagar:\n", " columnas_a_rezagar = [c for c in rutas.get('num_vars', []) if c in X_trans.columns and c != variable_tiempo]\n", " if not columnas_a_rezagar:\n", " logger.info(\" ✅ [BYPASS] No se encontraron variables numéricas en el enrutador para rezagar.\")\n", " return X_trans, rutas\n", " else:\n", " logger.info(f\" 🧠 [AUTO-DETECCIÓN VARIABLES] Se detectaron {len(columnas_a_rezagar)} variables numéricas para analizar.\")\n", "\n", " # ==========================================\n", " # 2. Ordenamiento y Topología Temporal\n", " # ==========================================\n", " logger.info(f\" 🚂 [TRAIN/TEST] Generando memoria histórica de {len(periodos)} periodos para {len(columnas_a_rezagar)} variables...\")\n", "\n", " nombres_idx_originales = X_trans.index.names\n", " entidad_rescatada = False\n", "\n", " if topologia_dataset == 'Datos de Panel' and variable_entidad_id:\n", " # Rescate si estaba en el Index\n", " if variable_entidad_id not in X_trans.columns and variable_entidad_id in nombres_idx_originales:\n", " X_trans = X_trans.reset_index()\n", " entidad_rescatada = True\n", " logger.info(f\" 🔓 [RESCATE] Entidad '{variable_entidad_id}' recuperada del Index para agrupar.\")\n", "\n", " if variable_entidad_id in X_trans.columns:\n", " X_trans = X_trans.sort_values(by=[variable_entidad_id, variable_tiempo])\n", " motor_shift = X_trans.groupby(variable_entidad_id)\n", " logger.info(f\" ↳ Blindaje de Identidad activo (Datos de Panel): Agrupando por '{variable_entidad_id}'.\")\n", " else:\n", " logger.error(f\" ⚠️ [CRÍTICO] La entidad '{variable_entidad_id}' no se encontró.\")\n", " X_trans = X_trans.sort_values(by=[variable_tiempo])\n", " motor_shift = X_trans\n", " logger.warning(f\" ↳ FALLBACK: Serie de tiempo global activa (Serie Pura).\")\n", " else:\n", " X_trans = X_trans.sort_values(by=[variable_tiempo])\n", " motor_shift = X_trans\n", " logger.info(f\" ↳ Serie de tiempo global activa (Serie Pura): Ordenando cronológicamente por '{variable_tiempo}'.\")\n", "\n", " # ==========================================\n", " # 3. Creación de Multi-Universos (Lags)\n", " # ==========================================\n", " columnas_creadas = 0\n", " nombre_lag = None \n", "\n", " for col in columnas_a_rezagar:\n", " if col not in X_trans.columns: continue\n", "\n", " for p in periodos:\n", " nombre_lag = f\"{col}_lag_{p}\"\n", " X_trans[nombre_lag] = motor_shift[col].shift(p)\n", " columnas_creadas += 1\n", "\n", " if nombre_lag not in rutas['num_vars']:\n", " rutas['num_vars'].append(nombre_lag)\n", "\n", " huecos_generados = X_trans[nombre_lag].isna().sum() if (columnas_creadas > 0 and nombre_lag) else 0\n", "\n", " # ==========================================\n", " # 🚀 PROTOCOLO DE EXTERMINIO: Index y Columna ID\n", " # ==========================================\n", " logger.info(f\" 🧹 Ejecutando Protocolo de Limpieza Final...\")\n", " X_trans = X_trans.reset_index(drop=True) # Destruye cualquier index personalizado\n", "\n", " if topologia_dataset == 'Datos de Panel' and variable_entidad_id and variable_entidad_id in X_trans.columns:\n", " X_trans = X_trans.drop(columns=[variable_entidad_id])\n", " if variable_entidad_id in rutas.get('cat_vars', []):\n", " rutas['cat_vars'].remove(variable_entidad_id)\n", " logger.info(f\" ↳ Entidad '{variable_entidad_id}' eliminada de las columnas para evitar Data Leakage.\")\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: Máquina del tiempo completada. {columnas_creadas} dimensiones históricas inyectadas.\")\n", " if huecos_generados > 0:\n", " logger.warning(f\" ⚠️ NOTA: Se generaron {huecos_generados} NaNs naturales por falta de pasado en los primeros registros.\")\n", " logger.info(\" 💡 CONSEJO MLOps: Deberás pasar el Imputador (Paso 11.1) nuevamente sobre estos NaNs antes de entrenar.\")\n", " logger.info(f\"\\n⏱️ Rezagos generados en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, rutas\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " # ---------------------------------------------------------\n", " # 🔗 AUTOWIRING MLOPS: Extracción Segura desde el Manager\n", " # ---------------------------------------------------------\n", " # 1. Buscamos la Topología directamente en la memoria del Manager (rutas)\n", " TOPOLOGIA_GLOBAL = manager.rutas.get('reporte_topologia', {}).get('topologia', 'Transversal')\n", "\n", " # 2. Buscamos la Entidad directamente en la memoria del Manager (rutas)\n", " ENTIDAD_GLOBAL = manager.rutas.get('variable_entidad_global', None)\n", "\n", " logger.info(\">>> 🚂 EVALUANDO REZAGOS EN TRAIN <<<\")\n", " X_train_lag, rutas_actualizadas = ingenieria_rezagos_automl(\n", " X=manager.X_train, \n", " rutas=manager.rutas,\n", " topologia_dataset=TOPOLOGIA_GLOBAL, \n", " columnas_a_rezagar=None, \n", " periodos=[1, 2],\n", " variable_entidad_id=ENTIDAD_GLOBAL\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 EVALUANDO REZAGOS EN TEST <<<\")\n", " X_test_lag, _ = ingenieria_rezagos_automl(\n", " X=manager.X_test, \n", " rutas=manager.rutas,\n", " topologia_dataset=TOPOLOGIA_GLOBAL, \n", " columnas_a_rezagar=None, \n", " periodos=[1, 2],\n", " variable_entidad_id=ENTIDAD_GLOBAL \n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma centralizada\n", " manager.X_train = X_train_lag\n", " manager.X_test = X_test_lag\n", " manager.rutas = rutas_actualizadas\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices y rutas de rezagos actualizadas de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la creación de Rezagos: {e}\")" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclasseducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_loss...is_missing_native_countrytotal_nulos_en_filatiene_capital_gaintiene_capital_losscapital_netocapital_gain_por_agecapital_gain_por_hours_per_weekcapital_loss_por_agecapital_loss_por_hours_per_weekis_anomaly_isoforest
021.00.21979310.00.0475540.1219920.0112200.2583081.00.00.0...0.02.00.00.00.00.000000.00.0000000.001
141.00.21868411.00.4447410.2637420.4481490.2541211.04386.00.0...0.00.01.00.04386.0106.9756173.10.0000000.000
224.00.2186849.00.0449660.0628220.0647310.1211130.00.00.0...0.00.00.00.00.00.000000.00.0000000.000
359.00.2200249.00.0917080.4579890.1072670.2583080.00.00.0...0.00.00.00.00.00.000000.00.0000000.000
435.00.2186429.00.4490630.2687300.4514030.2644451.00.01887.0...0.00.00.01.0-1887.00.000000.053.91428637.741
\n", "

5 rows × 25 columns

\n", "
" ], "text/plain": [ " age workclass education_num marital_status occupation relationship \\\n", "0 21.0 0.219793 10.0 0.047554 0.121992 0.011220 \n", "1 41.0 0.218684 11.0 0.444741 0.263742 0.448149 \n", "2 24.0 0.218684 9.0 0.044966 0.062822 0.064731 \n", "3 59.0 0.220024 9.0 0.091708 0.457989 0.107267 \n", "4 35.0 0.218642 9.0 0.449063 0.268730 0.451403 \n", "\n", " race sex capital_gain capital_loss ... is_missing_native_country \\\n", "0 0.258308 1.0 0.0 0.0 ... 0.0 \n", "1 0.254121 1.0 4386.0 0.0 ... 0.0 \n", "2 0.121113 0.0 0.0 0.0 ... 0.0 \n", "3 0.258308 0.0 0.0 0.0 ... 0.0 \n", "4 0.264445 1.0 0.0 1887.0 ... 0.0 \n", "\n", " total_nulos_en_fila tiene_capital_gain tiene_capital_loss capital_neto \\\n", "0 2.0 0.0 0.0 0.0 \n", "1 0.0 1.0 0.0 4386.0 \n", "2 0.0 0.0 0.0 0.0 \n", "3 0.0 0.0 0.0 0.0 \n", "4 0.0 0.0 1.0 -1887.0 \n", "\n", " capital_gain_por_age capital_gain_por_hours_per_week \\\n", "0 0.00000 0.0 \n", "1 106.97561 73.1 \n", "2 0.00000 0.0 \n", "3 0.00000 0.0 \n", "4 0.00000 0.0 \n", "\n", " capital_loss_por_age capital_loss_por_hours_per_week is_anomaly_isoforest \n", "0 0.000000 0.00 1 \n", "1 0.000000 0.00 0 \n", "2 0.000000 0.00 0 \n", "3 0.000000 0.00 0 \n", "4 53.914286 37.74 1 \n", "\n", "[5 rows x 25 columns]" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "X_train.head()\n" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 25 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null float64\n", " 1 workclass 26029 non-null float64\n", " 2 education_num 26029 non-null float64\n", " 3 marital_status 26029 non-null float64\n", " 4 occupation 26029 non-null float64\n", " 5 relationship 26029 non-null float64\n", " 6 race 26029 non-null float64\n", " 7 sex 26029 non-null float64\n", " 8 capital_gain 26029 non-null float64\n", " 9 capital_loss 26029 non-null float64\n", " 10 hours_per_week 26029 non-null float64\n", " 11 native_country 26029 non-null float64\n", " 12 is_missing_workclass 26029 non-null float64\n", " 13 is_missing_occupation 26029 non-null float64\n", " 14 is_missing_capital_gain 26029 non-null float64\n", " 15 is_missing_native_country 26029 non-null float64\n", " 16 total_nulos_en_fila 26029 non-null float64\n", " 17 tiene_capital_gain 26029 non-null float64\n", " 18 tiene_capital_loss 26029 non-null float64\n", " 19 capital_neto 26029 non-null float64\n", " 20 capital_gain_por_age 26029 non-null float64\n", " 21 capital_gain_por_hours_per_week 26029 non-null float64\n", " 22 capital_loss_por_age 26029 non-null float64\n", " 23 capital_loss_por_hours_per_week 26029 non-null float64\n", " 24 is_anomaly_isoforest 26029 non-null int8 \n", "dtypes: float64(24), int8(1)\n", "memory usage: 4.8 MB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 6508 entries, 0 to 6507\n", "Data columns (total 25 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 6508 non-null float64\n", " 1 workclass 6508 non-null float64\n", " 2 education_num 6508 non-null float64\n", " 3 marital_status 6508 non-null float64\n", " 4 occupation 6508 non-null float64\n", " 5 relationship 6508 non-null float64\n", " 6 race 6508 non-null float64\n", " 7 sex 6508 non-null float64\n", " 8 capital_gain 6508 non-null float64\n", " 9 capital_loss 6508 non-null float64\n", " 10 hours_per_week 6508 non-null float64\n", " 11 native_country 6508 non-null float64\n", " 12 is_missing_workclass 6508 non-null float64\n", " 13 is_missing_occupation 6508 non-null float64\n", " 14 is_missing_capital_gain 6508 non-null float64\n", " 15 is_missing_native_country 6508 non-null float64\n", " 16 total_nulos_en_fila 6508 non-null float64\n", " 17 tiene_capital_gain 6508 non-null float64\n", " 18 tiene_capital_loss 6508 non-null float64\n", " 19 capital_neto 6508 non-null float64\n", " 20 capital_gain_por_age 6508 non-null float64\n", " 21 capital_gain_por_hours_per_week 6508 non-null float64\n", " 22 capital_loss_por_age 6508 non-null float64\n", " 23 capital_loss_por_hours_per_week 6508 non-null float64\n", " 24 is_anomaly_isoforest 6508 non-null int8 \n", "dtypes: float64(24), int8(1)\n", "memory usage: 1.2 MB\n" ] } ], "source": [ "\n", "\n", "X_test.info()\n" ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Series name: income\n", "Non-Null Count Dtype\n", "-------------- -----\n", "26029 non-null int8 \n", "dtypes: int8(1)\n", "memory usage: 25.5 KB\n" ] } ], "source": [ "\n", "\n", "y_train.info()\n" ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 6508 entries, 0 to 6507\n", "Series name: income\n", "Non-Null Count Dtype\n", "-------------- -----\n", "6508 non-null int8 \n", "dtypes: int8(1)\n", "memory usage: 6.5 KB\n" ] } ], "source": [ "\n", "\n", "y_test.info()\n" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🔍 AUDITORÍA DE SEGURIDAD PRE-ENTRENAMIENTO <<<\n", "=== 📡 INICIANDO RADAR DE ANOMALÍAS EN: X_TRAIN ===\n", "------------------------------------------------------------\n", " ✅ ESTATUS: Matriz 100% Pura. Cero nulos nativos, cero nulos ocultos.\n", "\n", "⏱️ Escaneo completado en 0.005s\n", "\n", "=== 📡 INICIANDO RADAR DE ANOMALÍAS EN: X_TEST ===\n", "------------------------------------------------------------\n", " ✅ ESTATUS: Matriz 100% Pura. Cero nulos nativos, cero nulos ocultos.\n", "\n", "⏱️ Escaneo completado en 0.004s\n", "\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import re\n", "import time\n", "from typing import Dict\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def radar_nulos_profundos_automl(df: pd.DataFrame, nombre_matriz: str = \"Matriz\") -> Dict[str, int]:\n", " \"\"\"\n", " [HERRAMIENTA MLOps] Escáner de Nulos Ocultos (Anomalías Léxicas).\n", " - Inteligencia: Solo ataca columnas de texto/categorías para ahorrar CPU.\n", " - Desglose de Nativos (NUEVO): Clasifica inteligentemente entre NaN (Numéricos) y NaT (Fechas).\n", " - Motor Regex: Detecta falsos nulos ('N/A', 'unknown', '?', '-', espacios vacíos).\n", " - Vectorización: Usa .str.match() nativo de Pandas en C++ (Cero bucles for).\n", " \"\"\"\n", " if not isinstance(df, pd.DataFrame) or df.empty:\n", " logger.error(f\"🛑 Error: La matriz '{nombre_matriz}' está vacía o no es válida.\")\n", " return {}\n", "\n", " logger.info(f\"=== 📡 INICIANDO RADAR DE ANOMALÍAS EN: {nombre_matriz} ===\")\n", " inicio_timer = time.time()\n", "\n", " reporte_ocultos = {}\n", "\n", " # 🚀 NUEVO: Desglose inteligente de nulos nativos por Tipo de Dato\n", " nulos_por_columna = df.isna().sum()\n", " cols_con_nulos = nulos_por_columna[nulos_por_columna > 0]\n", "\n", " desglose_nativos = {\"NaN\": 0, \"NaT\": 0}\n", "\n", " for col, cantidad in cols_con_nulos.items():\n", " if pd.api.types.is_datetime64_any_dtype(df[col]):\n", " desglose_nativos[\"NaT\"] += cantidad\n", " else:\n", " desglose_nativos[\"NaN\"] += cantidad\n", "\n", " nulos_nativos_totales = sum(desglose_nativos.values())\n", "\n", " # 1. El Súper-Regex del Arquitecto\n", " # (?i) = Case insensitive. \\s* = Ignora espacios al inicio/fin. \n", " patron_falsos_nulos = re.compile(r'(?i)^\\s*(unknown|n/?a|null|nan|missing|none|-1|\\?|-|)\\s*$')\n", "\n", " # 2. Escudo de Tipos: Solo escaneamos textos, la matemática pura no tiene letras\n", " cols_texto = df.select_dtypes(include=['object', 'string', 'category']).columns.tolist()\n", "\n", " nulos_ocultos_totales = 0\n", "\n", " if cols_texto:\n", " for col in cols_texto:\n", " # Aislamos solo los valores que NO son nulos nativos (para no contar doble)\n", " serie_viva = df[col].dropna().astype(str)\n", "\n", " if not serie_viva.empty:\n", " # Aplicamos el motor Regex vectorizado\n", " detecciones = serie_viva.str.match(patron_falsos_nulos).sum()\n", "\n", " if detecciones > 0:\n", " reporte_ocultos[col] = detecciones\n", " nulos_ocultos_totales += detecciones\n", "\n", " # 3. Reporte de Inteligencia\n", " logger.info(\"-\" * 60)\n", " if nulos_nativos_totales == 0 and nulos_ocultos_totales == 0:\n", " logger.info(\" ✅ ESTATUS: Matriz 100% Pura. Cero nulos nativos, cero nulos ocultos.\")\n", " else:\n", " logger.warning(f\" ⚠️ ALERTAS ENCONTRADAS:\")\n", " logger.warning(f\" ↳ Nulos Nativos Totales: {nulos_nativos_totales:,}\")\n", "\n", " # Desglose específico\n", " if desglose_nativos['NaN'] > 0:\n", " logger.info(f\" - Tipo NaN (Flotantes/Texto) : {desglose_nativos['NaN']:,}\")\n", " if desglose_nativos['NaT'] > 0:\n", " logger.info(f\" - Tipo NaT (Fechas/Tiempos) : {desglose_nativos['NaT']:,}\")\n", "\n", " logger.warning(f\" ↳ Nulos Ocultos (Regex) : {nulos_ocultos_totales:,}\")\n", "\n", " if nulos_ocultos_totales > 0:\n", " logger.warning(\" 🦠 Desglose de columnas infectadas con Nulos Léxicos:\")\n", " for col, cantidad in reporte_ocultos.items():\n", " logger.info(f\" - '{col}': {cantidad:,} registros basura\")\n", "\n", " logger.info(f\"\\n⏱️ Escaneo completado en {time.time() - inicio_timer:.3f}s\\n\")\n", "\n", " return reporte_ocultos\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " logger.info(\">>> 🔍 AUDITORÍA DE SEGURIDAD PRE-ENTRENAMIENTO <<<\")\n", "\n", " # Escaneamos Train usando el manager\n", " infecciones_train = radar_nulos_profundos_automl(manager.X_train, nombre_matriz=\"X_TRAIN\")\n", "\n", " # Escaneamos Test usando el manager\n", " infecciones_test = radar_nulos_profundos_automl(manager.X_test, nombre_matriz=\"X_TEST\")\n", "\n", " # Lógica de reacción automática (Opcional)\n", " if infecciones_train or infecciones_test:\n", " logger.warning(\"💡 CONSEJO MLOps: Se detectó basura léxica. \")\n", " logger.info(\" Recomendación: En tu código del Imputador KNN (Fase 11.1) o en la Guillotina, \")\n", " logger.info(\" deberías reemplazar estos textos por np.nan usando df.replace(regex) para que el Imputador los cure.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el Radar de Nulos: {e}\")" ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 ENTRENANDO IMPUTADOR KNN EN TRAIN <<<\n", "=== 🩹 FASE 11.1: Restauración Espacial (KNN Imputer Escalable - 5 Vecinos) ===\n", " ✅ [MATRIZ PERFECTA] No hay nulos numéricos. Entrenamiento KNN omitido.\n", "\n", ">>> 🔒 APLICANDO IMPUTADOR KNN A TEST <<<\n", "=== 🩹 FASE 11.1: Restauración Espacial (KNN Imputer Escalable - 5 Vecinos) ===\n", " 🔒 [TEST] Bypass heredado de Train (Matriz perfecta). Omitiendo KNN.\n", "\n", "📦 [MLOps] Matrices matemáticas, rutas y modelo KNN actualizados de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if not hasattr(manager, 'rutas') or manager.rutas is None:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " # 🚀 Clean Code Absoluto: Función 100% Autónoma, lee la memoria sola.\n", " logger.info(\">>> 🚂 ENTRENANDO IMPUTADOR KNN EN TRAIN <<<\")\n", " X_train_knn, rutas_actualizadas, modelo_knn = imputacion_knn_automl(\n", " X=manager.X_train, \n", " rutas=manager.rutas,\n", " n_vecinos=5\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO IMPUTADOR KNN A TEST <<<\")\n", " X_test_knn, _, _ = imputacion_knn_automl(\n", " X=manager.X_test, \n", " rutas=manager.rutas,\n", " n_vecinos=5,\n", " imputador_entrenado=modelo_knn \n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma segura\n", " manager.X_train = X_train_knn\n", " manager.X_test = X_test_knn\n", " manager.rutas = rutas_actualizadas\n", "\n", " # Aseguramos la inicialización de la caja fuerte de modelos preprocesamiento\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", "\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('imputador_knn', modelo_knn)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['imputador_knn'] = modelo_knn\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices matemáticas, rutas y modelo KNN actualizados de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Imputación KNN: {e}\")" ] }, { "cell_type": "code", "execution_count": 119, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🔍 AUDITORÍA DE SEGURIDAD PRE-ENTRENAMIENTO <<<\n", "=== 📡 INICIANDO RADAR DE ANOMALÍAS EN: X_TRAIN ===\n", "------------------------------------------------------------\n", " ✅ ESTATUS: Matriz 100% Pura. Cero nulos nativos, cero nulos ocultos.\n", "\n", "⏱️ Escaneo completado en 0.005s\n", "\n", "=== 📡 INICIANDO RADAR DE ANOMALÍAS EN: X_TEST ===\n", "------------------------------------------------------------\n", " ✅ ESTATUS: Matriz 100% Pura. Cero nulos nativos, cero nulos ocultos.\n", "\n", "⏱️ Escaneo completado en 0.005s\n", "\n" ] } ], "source": [ "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " logger.info(\">>> 🔍 AUDITORÍA DE SEGURIDAD PRE-ENTRENAMIENTO <<<\")\n", "\n", " # Escaneamos Train usando el manager\n", " infecciones_train = radar_nulos_profundos_automl(manager.X_train, nombre_matriz=\"X_TRAIN\")\n", "\n", " # Escaneamos Test usando el manager\n", " infecciones_test = radar_nulos_profundos_automl(manager.X_test, nombre_matriz=\"X_TEST\")\n", "\n", " # Lógica de reacción automática (Opcional)\n", " if infecciones_train or infecciones_test:\n", " logger.warning(\"💡 CONSEJO MLOps: Se detectó basura léxica. \")\n", " logger.info(\" Recomendación: En tu código del Imputador KNN (Fase 11.1) o en la Guillotina, \")\n", " logger.info(\" deberías reemplazar estos textos por np.nan usando df.replace(regex) para que el Imputador los cure.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el Radar de Nulos: {e}\")" ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 ENTRENANDO AGENTE LLM-FE EN TRAIN <<<\n", "=== 🧬 FASE 14.2: LLM-FE ReAct y Evaluación Bayesiana ===\n", " 🚂 [TRAIN] Inicializando Tribunal Bayesiano y Agente Generador...\n", " ↳ Dataset masivo. Creando 'Submuestra de Tribunal' de 5,000 filas para proteger RAM...\n", " ⚖️ Score Base (Red Bayesiana en Submuestra): 0.7864\n", " 🧠 Agente formulando hipótesis combinatorias...\n", " 🧑‍⚖️ Juez evaluando 135 propuestas del Agente...\n", " 🌟 ¡Aprobada! [llm_age_*_education_num] aportó mejora (+0.0014)\n", " 🌟 ¡Aprobada! [llm_capital_gain_*_capital_neto] aportó mejora (+0.0024)\n", " 🧬 Inyectando 2 características evolutivas en la matriz principal...\n", "--------------------------------------------------------------------------------\n", " 🛡️ ESTATUS: Ingeniería LLM-FE completada con Arquitectura Big Data. Score final: 0.7902\n", "\n", "⏱️ Evolución terminada en 32.456s\n", "\n", ">>> 🔒 APLICANDO FÓRMULAS LLM-FE A TEST <<<\n", "=== 🧬 FASE 14.2: LLM-FE ReAct y Evaluación Bayesiana ===\n", " 🔒 [TEST] Inyectando 2 Súper-Características aprendidas de Train...\n", "\n", "⏱️ Inyección completada en 0.003s\n", "\n", "📦 [MLOps] Matrices, rutas y fórmulas LLM-FE actualizadas de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import warnings\n", "import gc # 🚀 NUEVO: Garbage Collector para RAM\n", "from typing import Tuple, Dict, Optional\n", "from sklearn.linear_model import BayesianRidge\n", "from sklearn.naive_bayes import GaussianNB\n", "from sklearn.model_selection import cross_val_score\n", "import itertools\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def generacion_guiada_llm_fe(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " rutas: Dict = None,\n", " es_regresion: bool = True,\n", " max_features_nuevas: int = 5,\n", " receta_formulas: Optional[Dict[str, str]] = None\n", ") -> Tuple[pd.DataFrame, Dict, Dict]:\n", " \"\"\"\n", " [FASE 5 - Paso 14.2] Generador ReAct (LLM-FE) + Juez Bayesiano.\n", " - Sandbox Matemático: Ejecuta expresiones de forma segura.\n", " - Arquitectura Big Data (NUEVO): Submuestreo estricto para el Juez Bayesiano y GC para la RAM.\n", " - Muro MLOps: En Train descubre y aprueba fórmulas. En Test aplica estrictamente.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== 🧬 FASE 14.2: LLM-FE ReAct y Evaluación Bayesiana ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': []}\n", "\n", " cols_numericas = [c for c in rutas.get('num_vars', []) if c in X_trans.columns]\n", " entorno_seguro = {\"np\": np, \"X\": X_trans}\n", "\n", " # ==========================================\n", " # 1. Modo TEST / PRODUCCIÓN (Aplicador Ciego)\n", " # ==========================================\n", " if receta_formulas is not None:\n", " if not receta_formulas:\n", " logger.info(\" ✅ [BYPASS] No hay Súper-Características aprendidas de Train para inyectar.\")\n", " return X_trans, rutas, receta_formulas\n", "\n", " logger.info(f\" 🔒 [TEST] Inyectando {len(receta_formulas)} Súper-Características aprendidas de Train...\")\n", " for nombre_feature, formula in receta_formulas.items():\n", " try:\n", " X_trans[nombre_feature] = eval(formula, {\"__builtins__\": {}}, entorno_seguro)\n", " except Exception as e:\n", " logger.error(f\" ⚠️ Error inyectando '{nombre_feature}': {e}. Llenando con 0.\")\n", " X_trans[nombre_feature] = 0.0\n", "\n", " logger.info(f\"\\n⏱️ Inyección completada en {time.time() - inicio_timer:.3f}s\")\n", " return X_trans, rutas, receta_formulas\n", "\n", " # ==========================================\n", " # 2. Modo TRAIN (El Laboratorio del Agente ReAct)\n", " # ==========================================\n", " if y is None or not cols_numericas:\n", " logger.info(\" ✅ [BYPASS] Se requiere la variable objetivo 'y' y variables numéricas para el Juez Bayesiano.\")\n", " return X_trans, rutas, {}\n", "\n", " logger.info(f\" 🚂 [TRAIN] Inicializando Tribunal Bayesiano y Agente Generador...\")\n", "\n", " # --- A. Entrenar Modelo Base (Juez) con Arquitectura Big Data ---\n", " MAX_EVAL_SAMPLES = 5000 # 🚀 Blindaje RAM: Máximo de filas para evaluar combinaciones\n", "\n", " juez = BayesianRidge() if es_regresion else GaussianNB()\n", "\n", " if len(X_trans) > MAX_EVAL_SAMPLES:\n", " logger.info(f\" ↳ Dataset masivo. Creando 'Submuestra de Tribunal' de {MAX_EVAL_SAMPLES:,} filas para proteger RAM...\")\n", " # Tomamos una muestra estratificada/aleatoria rápida (usamos head para no romper series de tiempo)\n", " X_juez = X_trans[cols_numericas].head(MAX_EVAL_SAMPLES).fillna(0)\n", " y_juez = y.head(MAX_EVAL_SAMPLES)\n", " else:\n", " X_juez = X_trans[cols_numericas].fillna(0)\n", " y_juez = y\n", "\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", " scoring_metric = 'r2' if es_regresion else 'accuracy'\n", " score_base = np.mean(cross_val_score(juez, X_juez, y_juez, cv=3, scoring=scoring_metric))\n", "\n", " logger.info(f\" ⚖️ Score Base (Red Bayesiana en Submuestra): {score_base:.4f}\")\n", "\n", " # --- B. El Agente ReAct ---\n", " top_cols = cols_numericas[:10] \n", " operadores = ['+', '-', '*'] \n", "\n", " formulas_propuestas = {}\n", " logger.info(f\" 🧠 Agente formulando hipótesis combinatorias...\")\n", "\n", " for col_A, col_B in itertools.combinations(top_cols, 2):\n", " for op in operadores:\n", " nombre = f\"llm_{col_A}_{op}_{col_B}\".replace('.','').replace('-','_')\n", " formula = f\"X['{col_A}'] {op} X['{col_B}']\"\n", " formulas_propuestas[nombre] = formula\n", "\n", " # --- C. Tribunal de Evaluación Bayesiana ---\n", " receta_ganadoras = {}\n", " mejor_score_actual = score_base\n", "\n", " logger.info(f\" 🧑‍⚖️ Juez evaluando {len(formulas_propuestas)} propuestas del Agente...\")\n", "\n", " # 🚀 Entorno seguro especial para el Juez (operando solo sobre la submuestra)\n", " entorno_juez = {\"np\": np, \"X\": X_juez}\n", "\n", " for nombre_feature, formula in formulas_propuestas.items():\n", " if len(receta_ganadoras) >= max_features_nuevas:\n", " break \n", "\n", " try:\n", " # 🚀 Blindaje RAM: X_temp se crea y se destruye en cada iteración\n", " X_temp = X_juez.copy()\n", " nueva_col_array = eval(formula, {\"__builtins__\": {}}, entorno_juez)\n", " X_temp[nombre_feature] = nueva_col_array.fillna(0)\n", "\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", " score_nuevo = np.mean(cross_val_score(juez, X_temp, y_juez, cv=3, scoring=scoring_metric))\n", "\n", " margen_mejora = score_nuevo - mejor_score_actual\n", " if margen_mejora > 0.001: \n", " logger.info(f\" 🌟 ¡Aprobada! [{nombre_feature}] aportó mejora (+{margen_mejora:.4f})\")\n", " receta_ganadoras[nombre_feature] = formula\n", " mejor_score_actual = score_nuevo\n", "\n", " # 🚀 Garbage Collector: Liberar RAM explícitamente después del juicio\n", " del X_temp\n", " del nueva_col_array\n", " gc.collect()\n", "\n", " except Exception as e:\n", " continue\n", "\n", " # --- D. Inyección Definitiva en Train (Matriz Completa) ---\n", " if receta_ganadoras:\n", " logger.info(f\" 🧬 Inyectando {len(receta_ganadoras)} características evolutivas en la matriz principal...\")\n", " for nombre, formula in receta_ganadoras.items():\n", " # Aquí sí inyectamos a toda la matriz X_trans original\n", " X_trans[nombre] = eval(formula, {\"__builtins__\": {}}, entorno_seguro)\n", " rutas['num_vars'].append(nombre)\n", " else:\n", " logger.info(\" ❌ El Juez Bayesiano rechazó todas las propuestas. Ninguna aportó valor real.\")\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: Ingeniería LLM-FE completada con Arquitectura Big Data. Score final: {mejor_score_actual:.4f}\")\n", " logger.info(f\"\\n⏱️ Evolución terminada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, rutas, receta_ganadoras\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train', 'y_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " TARGET_ES_REGRESION = pd.api.types.is_float_dtype(manager.y_train) or manager.y_train.nunique() > 10\n", "\n", " logger.info(\">>> 🚂 ENTRENANDO AGENTE LLM-FE EN TRAIN <<<\")\n", " X_train_llm, rutas_actualizadas, diccionario_formulas = generacion_guiada_llm_fe(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " rutas=manager.rutas,\n", " es_regresion=TARGET_ES_REGRESION,\n", " max_features_nuevas=5 \n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO FÓRMULAS LLM-FE A TEST <<<\")\n", " X_test_llm, _, _ = generacion_guiada_llm_fe(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas,\n", " receta_formulas=diccionario_formulas # El puente MLOps\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma segura\n", " manager.X_train = X_train_llm\n", " manager.X_test = X_test_llm\n", " manager.rutas = rutas_actualizadas\n", "\n", " # Aseguramos inicialización de modelos de preprocesamiento\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", "\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('receta_llm_fe', diccionario_formulas)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['receta_llm_fe'] = diccionario_formulas\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices, rutas y fórmulas LLM-FE actualizadas de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Fase LLM-FE: {e}\")" ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 27 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null float64\n", " 1 workclass 26029 non-null float64\n", " 2 education_num 26029 non-null float64\n", " 3 marital_status 26029 non-null float64\n", " 4 occupation 26029 non-null float64\n", " 5 relationship 26029 non-null float64\n", " 6 race 26029 non-null float64\n", " 7 sex 26029 non-null float64\n", " 8 capital_gain 26029 non-null float64\n", " 9 capital_loss 26029 non-null float64\n", " 10 hours_per_week 26029 non-null float64\n", " 11 native_country 26029 non-null float64\n", " 12 is_missing_workclass 26029 non-null float64\n", " 13 is_missing_occupation 26029 non-null float64\n", " 14 is_missing_capital_gain 26029 non-null float64\n", " 15 is_missing_native_country 26029 non-null float64\n", " 16 total_nulos_en_fila 26029 non-null float64\n", " 17 tiene_capital_gain 26029 non-null float64\n", " 18 tiene_capital_loss 26029 non-null float64\n", " 19 capital_neto 26029 non-null float64\n", " 20 capital_gain_por_age 26029 non-null float64\n", " 21 capital_gain_por_hours_per_week 26029 non-null float64\n", " 22 capital_loss_por_age 26029 non-null float64\n", " 23 capital_loss_por_hours_per_week 26029 non-null float64\n", " 24 is_anomaly_isoforest 26029 non-null int8 \n", " 25 llm_age_*_education_num 26029 non-null float64\n", " 26 llm_capital_gain_*_capital_neto 26029 non-null float64\n", "dtypes: float64(26), int8(1)\n", "memory usage: 5.2 MB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 ENTRENANDO EMBEDDINGS GGPL EN TRAIN <<<\n", "=== 🌳 FASE 15.1: Embeddings GGPL (Proyección GBDT Ligero) ===\n", " 🚂 [TRAIN] Dataset masivo. Entrenando GBDT en submuestra de 5000 filas...\n", " ↳ Entrenando red de 15 árboles (Profundidad: 3)...\n", " ↳ Extrayendo hiper-coordenadas (Leaf Indices) de toda la matriz...\n", "--------------------------------------------------------------------------------\n", " 🛡️ ESTATUS: Discretización GGPL Exitosa. 15 variables categóricas de alta densidad creadas.\n", " 🧠 Las variables continuas ahora tienen un gemelo no lineal.\n", "\n", "⏱️ Proyección GGPL completada en 0.312s\n", "\n", ">>> 🔒 PROYECTANDO EMBEDDINGS GGPL EN TEST <<<\n", "=== 🌳 FASE 15.1: Embeddings GGPL (Proyección GBDT Ligero) ===\n", " 🔒 [TEST] Pasando matriz por el GBDT aprendido para extraer coordenadas de hojas...\n", " ↳ 15 nuevas coordenadas proyectadas y casteadas a 'category'.\n", "\n", "⏱️ Proyección GGPL completada en 0.228s\n", "\n", "📦 [MLOps] Matrices, rutas y modelo GBDT-Embedder actualizados de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import warnings\n", "import gc # 🚀 NUEVO: Garbage Collector para RAM\n", "from typing import Tuple, Dict\n", "from sklearn.ensemble import GradientBoostingClassifier, GradientBoostingRegressor\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def embeddings_ggpl_automl(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " rutas: Dict = None,\n", " n_arboles: int = 15,\n", " profundidad: int = 3,\n", " modelo_gbdt_aprendido = None\n", ") -> Tuple[pd.DataFrame, Dict, any]:\n", " \"\"\"\n", " [FASE 5 - Paso 15.1] Motor AutoML de Embeddings GGPL (GBDT Leaf Encoding).\n", " - Proyección Dimensional: Usa un GBDT ligero para discretizar continuas.\n", " - Inteligencia de Tarea: Detecta si 'y' es continua o categórica.\n", " - 🚀 FIX MLOps: Tipado estricto 'category' para evitar colapsos en LightGBM.\n", " - Protección RAM: Submuestreo para el entrenamiento del GBDT y GC explícito.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== 🌳 FASE 15.1: Embeddings GGPL (Proyección GBDT Ligero) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': []}\n", "\n", " # Escudo de Tipos: El GBDT solo necesita las variables numéricas\n", " cols_numericas = [c for c in rutas.get('num_vars', []) if c in X_trans.columns]\n", "\n", " if not cols_numericas:\n", " logger.info(\" ✅ [BYPASS] No hay variables numéricas para proyectar.\")\n", " return X_trans, rutas, modelo_gbdt_aprendido\n", "\n", " # ==========================================\n", " # 1. Modo TEST / PRODUCCIÓN (.apply)\n", " # ==========================================\n", " if modelo_gbdt_aprendido is not None:\n", " logger.info(f\" 🔒 [TEST] Pasando matriz por el GBDT aprendido para extraer coordenadas de hojas...\")\n", "\n", " X_num_sana = X_trans[cols_numericas].fillna(0)\n", " hojas = modelo_gbdt_aprendido.apply(X_num_sana)\n", "\n", " hojas_planas = hojas.reshape(hojas.shape[0], -1)\n", "\n", " n_features_nuevas = hojas_planas.shape[1]\n", " nombres_nuevas = [f\"gbdt_emb_{i}\" for i in range(n_features_nuevas)]\n", "\n", " # 🚀 FIX MLOps: Asignación e inyección categórica\n", " X_trans[nombres_nuevas] = hojas_planas\n", " for col in nombres_nuevas:\n", " X_trans[col] = X_trans[col].astype('category')\n", "\n", " # 🧹 Limpieza\n", " del X_num_sana\n", " del hojas\n", " del hojas_planas\n", " gc.collect()\n", "\n", " logger.info(f\" ↳ {n_features_nuevas} nuevas coordenadas proyectadas y casteadas a 'category'.\")\n", " logger.info(f\"\\n⏱️ Proyección GGPL completada en {time.time() - inicio_timer:.3f}s\")\n", " return X_trans, rutas, modelo_gbdt_aprendido\n", "\n", " # ==========================================\n", " # 2. Modo TRAIN (.fit)\n", " # ==========================================\n", " if y is None:\n", " logger.info(\" ✅ [BYPASS] Se requiere la variable objetivo 'y' para entrenar el GBDT Supervisor.\")\n", " return X_trans, rutas, None\n", "\n", " es_regresion = pd.api.types.is_float_dtype(y) or y.nunique() > 10\n", "\n", " # ⚙️ Parámetros de Escalabilidad RAM\n", " MAX_GBDT_SAMPLES = 5000 \n", "\n", " X_num_sana = X_trans[cols_numericas].fillna(0)\n", "\n", " # --- PROTECCIÓN RAM: Submuestreo solo para el fit ---\n", " if len(X_num_sana) > MAX_GBDT_SAMPLES:\n", " logger.info(f\" 🚂 [TRAIN] Dataset masivo. Entrenando GBDT en submuestra de {MAX_GBDT_SAMPLES} filas...\")\n", " X_fit = X_num_sana.sample(n=MAX_GBDT_SAMPLES, random_state=42)\n", " y_fit = y.loc[X_fit.index]\n", " else:\n", " logger.info(f\" 🚂 [TRAIN] Entrenando GBDT en dataset completo...\")\n", " X_fit = X_num_sana\n", " y_fit = y\n", "\n", " if es_regresion:\n", " gbdt = GradientBoostingRegressor(n_estimators=n_arboles, max_depth=profundidad, random_state=42)\n", " else:\n", " gbdt = GradientBoostingClassifier(n_estimators=n_arboles, max_depth=profundidad, random_state=42)\n", "\n", " logger.info(f\" ↳ Entrenando red de {n_arboles} árboles (Profundidad: {profundidad})...\")\n", " gbdt.fit(X_fit, y_fit)\n", "\n", " # El apply() se hace a toda la matriz X_num_sana para no perder registros\n", " logger.info(f\" ↳ Extrayendo hiper-coordenadas (Leaf Indices) de toda la matriz...\")\n", " hojas = gbdt.apply(X_num_sana)\n", " hojas_planas = hojas.reshape(hojas.shape[0], -1)\n", "\n", " n_features_nuevas = hojas_planas.shape[1]\n", " nombres_nuevas = [f\"gbdt_emb_{i}\" for i in range(n_features_nuevas)]\n", "\n", " # 🚀 FIX MLOps: Asignación e inyección categórica\n", " X_trans[nombres_nuevas] = hojas_planas\n", " for col in nombres_nuevas:\n", " X_trans[col] = X_trans[col].astype('category')\n", "\n", " rutas['cat_vars'].extend(nombres_nuevas)\n", "\n", " # 🧹 Limpieza agresiva de memoria\n", " del X_num_sana\n", " del X_fit\n", " del y_fit\n", " del hojas\n", " del hojas_planas\n", " gc.collect()\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: Discretización GGPL Exitosa. {n_features_nuevas} variables categóricas de alta densidad creadas.\")\n", " logger.info(\" 🧠 Las variables continuas ahora tienen un gemelo no lineal.\")\n", " logger.info(f\"\\n⏱️ Proyección GGPL completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, rutas, gbdt\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train', 'y_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " logger.info(\">>> 🚂 ENTRENANDO EMBEDDINGS GGPL EN TRAIN <<<\")\n", " X_train_emb, rutas_actualizadas, modelo_gbdt_embedder = embeddings_ggpl_automl(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " rutas=manager.rutas,\n", " n_arboles=15, \n", " profundidad=3\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 PROYECTANDO EMBEDDINGS GGPL EN TEST <<<\")\n", " X_test_emb, _, _ = embeddings_ggpl_automl(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas,\n", " modelo_gbdt_aprendido=modelo_gbdt_embedder \n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma segura\n", " manager.X_train = X_train_emb\n", " manager.X_test = X_test_emb\n", " manager.rutas = rutas_actualizadas\n", "\n", " # Aseguramos inicialización de la caja fuerte de modelos\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", "\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('embedder_gbdt', modelo_gbdt_embedder)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['embedder_gbdt'] = modelo_gbdt_embedder\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices, rutas y modelo GBDT-Embedder actualizados de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " y_train = manager.y_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Fase de Embeddings GGPL: {e}\")" ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 42 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null float64 \n", " 1 workclass 26029 non-null float64 \n", " 2 education_num 26029 non-null float64 \n", " 3 marital_status 26029 non-null float64 \n", " 4 occupation 26029 non-null float64 \n", " 5 relationship 26029 non-null float64 \n", " 6 race 26029 non-null float64 \n", " 7 sex 26029 non-null float64 \n", " 8 capital_gain 26029 non-null float64 \n", " 9 capital_loss 26029 non-null float64 \n", " 10 hours_per_week 26029 non-null float64 \n", " 11 native_country 26029 non-null float64 \n", " 12 is_missing_workclass 26029 non-null float64 \n", " 13 is_missing_occupation 26029 non-null float64 \n", " 14 is_missing_capital_gain 26029 non-null float64 \n", " 15 is_missing_native_country 26029 non-null float64 \n", " 16 total_nulos_en_fila 26029 non-null float64 \n", " 17 tiene_capital_gain 26029 non-null float64 \n", " 18 tiene_capital_loss 26029 non-null float64 \n", " 19 capital_neto 26029 non-null float64 \n", " 20 capital_gain_por_age 26029 non-null float64 \n", " 21 capital_gain_por_hours_per_week 26029 non-null float64 \n", " 22 capital_loss_por_age 26029 non-null float64 \n", " 23 capital_loss_por_hours_per_week 26029 non-null float64 \n", " 24 is_anomaly_isoforest 26029 non-null int8 \n", " 25 llm_age_*_education_num 26029 non-null float64 \n", " 26 llm_capital_gain_*_capital_neto 26029 non-null float64 \n", " 27 gbdt_emb_0 26029 non-null category\n", " 28 gbdt_emb_1 26029 non-null category\n", " 29 gbdt_emb_2 26029 non-null category\n", " 30 gbdt_emb_3 26029 non-null category\n", " 31 gbdt_emb_4 26029 non-null category\n", " 32 gbdt_emb_5 26029 non-null category\n", " 33 gbdt_emb_6 26029 non-null category\n", " 34 gbdt_emb_7 26029 non-null category\n", " 35 gbdt_emb_8 26029 non-null category\n", " 36 gbdt_emb_9 26029 non-null category\n", " 37 gbdt_emb_10 26029 non-null category\n", " 38 gbdt_emb_11 26029 non-null category\n", " 39 gbdt_emb_12 26029 non-null category\n", " 40 gbdt_emb_13 26029 non-null category\n", " 41 gbdt_emb_14 26029 non-null category\n", "dtypes: category(15), float64(26), int8(1)\n", "memory usage: 5.6 MB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 124, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "🛑 MLOps Warning: Las librerías 'shap' y 'lightgbm' son requeridas para esta fase.\n", " Ejecuta: !pip install shap lightgbm\n", ">>> 🚂 CALCULANDO SHAP 2D Y KNOCKOFFS EN TRAIN <<<\n", "=== 💎 FASE 15.2: Sinergias Causales (SHAP 2D + Diamond FDR Framework) ===\n", " 🕵️‍♂️ Entrenando modelo de reconocimiento rápido (LGBM) - Límite: 5000 filas...\n", " 🌌 Calculando Hiperespacio SHAP 2D para el Top 10 de variables...\n", "🛑 Error en Sinergias SHAP/Diamond: name 'shap' is not defined\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import warnings\n", "import gc\n", "from typing import Tuple, Dict, List, Optional\n", "try:\n", " import shap\n", " import lightgbm as lgb\n", "except ImportError:\n", " # Este print se mantiene porque es un error pre-ejecución críitico para el usuario del Notebook\n", " logger.error(\"🛑 MLOps Warning: Las librerías 'shap' y 'lightgbm' son requeridas para esta fase.\")\n", " logger.error(\" Ejecuta: !pip install shap lightgbm\")\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def sinergias_shap_diamond_automl(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " rutas: Dict = None,\n", " max_sinergias: int = 5,\n", " receta_sinergias: Optional[List[Tuple[str, str]]] = None\n", ") -> Tuple[pd.DataFrame, Dict, Optional[List[Tuple[str, str]]]]:\n", " \"\"\"\n", " [FASE 5 - Paso 15.2] Motor AutoML de Sinergias (SHAP Interaction 2D + Diamond FDR).\n", " - Optimización O(M^2): Filtra el Top 10 de variables antes de calcular la matriz SHAP.\n", " - Framework Diamond (Knockoffs): Crea variables \"sombra\" para controlar el False Discovery Rate (FDR).\n", " - Protección RAM Estricta: Límite estricto de 5k filas para SHAP y liberación explícita de memoria (GC).\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== 💎 FASE 15.2: Sinergias Causales (SHAP 2D + Diamond FDR Framework) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': []}\n", " cols_numericas = [c for c in rutas.get('num_vars', []) if c in X_trans.columns]\n", "\n", " if len(cols_numericas) < 2:\n", " logger.info(\" ✅ [BYPASS] Se necesitan al menos 2 variables numéricas para buscar sinergias.\")\n", " return X_trans, rutas, receta_sinergias\n", "\n", " # ==========================================\n", " # 1. Modo TEST / PRODUCCIÓN (.transform)\n", " # ==========================================\n", " if receta_sinergias is not None:\n", " if not receta_sinergias:\n", " logger.info(\" ✅ [BYPASS] Train no descubrió sinergias significativas. Matriz intacta.\")\n", " return X_trans, rutas, receta_sinergias\n", "\n", " logger.info(f\" 🔒 [TEST] Inyectando {len(receta_sinergias)} sinergias exactas descubiertas en Train...\")\n", " for col_A, col_B in receta_sinergias:\n", " if col_A in X_trans.columns and col_B in X_trans.columns:\n", " nombre_sinergia = f\"sinergia_{col_A}_X_{col_B}\"\n", " X_trans[nombre_sinergia] = X_trans[col_A].astype(float) * X_trans[col_B].astype(float)\n", "\n", " logger.info(f\"\\n⏱️ Inyección de sinergias completada en {time.time() - inicio_timer:.3f}s\")\n", " return X_trans, rutas, receta_sinergias\n", "\n", " # ==========================================\n", " # 2. Modo TRAIN (.fit)\n", " # ==========================================\n", " if y is None:\n", " logger.info(\" ✅ [BYPASS] Se requiere la variable objetivo 'y' para calcular SHAP Interactions.\")\n", " return X_trans, rutas, None\n", "\n", " es_regresion = pd.api.types.is_float_dtype(y) or y.nunique() > 10\n", "\n", " # ⚙️ Parámetros de Escalabilidad RAM (SHAP 2D es hiper-pesado)\n", " MAX_SHAP_SAMPLES = 5000 \n", "\n", " # --- PASO A: Filtro de Élite (Prevención de Explosión de RAM) ---\n", " logger.info(f\" 🕵️‍♂️ Entrenando modelo de reconocimiento rápido (LGBM) - Límite: {MAX_SHAP_SAMPLES} filas...\")\n", " X_num = X_trans[cols_numericas].fillna(0)\n", "\n", " # Submuestreo estricto para proteger RAM durante cálculos matemáticos complejos\n", " if len(X_num) > MAX_SHAP_SAMPLES:\n", " X_sample = X_num.sample(n=MAX_SHAP_SAMPLES, random_state=42)\n", " else:\n", " X_sample = X_num\n", "\n", " y_sample = y.loc[X_sample.index]\n", "\n", " if es_regresion:\n", " modelo_base = lgb.LGBMRegressor(n_estimators=50, random_state=42, n_jobs=-1, verbose=-1)\n", " else:\n", " modelo_base = lgb.LGBMClassifier(n_estimators=50, random_state=42, n_jobs=-1, verbose=-1)\n", "\n", " modelo_base.fit(X_sample, y_sample)\n", "\n", " # Extraemos el Top 10 para no hacer un SHAP cruzado gigante\n", " importancias = pd.Series(modelo_base.feature_importances_, index=cols_numericas)\n", " top_10_cols = importancias.nlargest(10).index.tolist()\n", "\n", " # 🧹 Limpieza de memoria intermedia\n", " del modelo_base\n", " gc.collect()\n", "\n", " if len(top_10_cols) < 2:\n", " return X_trans, rutas, []\n", "\n", " # --- PASO B: SHAP Interaction Values (2D) ---\n", " logger.info(f\" 🌌 Calculando Hiperespacio SHAP 2D para el Top {len(top_10_cols)} de variables...\")\n", " X_top = X_sample[top_10_cols]\n", "\n", " # Volvemos a entrenar solo con el Top 10 para el Explainer\n", " modelo_shap = lgb.LGBMRegressor(n_estimators=50, random_state=42, n_jobs=-1, verbose=-1) if es_regresion else lgb.LGBMClassifier(n_estimators=50, random_state=42, n_jobs=-1, verbose=-1)\n", " modelo_shap.fit(X_top, y_sample)\n", "\n", " explainer = shap.TreeExplainer(modelo_shap)\n", "\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", " # interaction_values shape: (n_samples, n_features, n_features)\n", " shap_interactions = explainer.shap_interaction_values(X_top)\n", "\n", " # 🧹 Limpieza de modelos pesados\n", " del modelo_shap\n", " del explainer\n", " gc.collect()\n", "\n", " # 🚀 FIX: Manejo robusto del array de interacciones SHAP\n", " # Si es una lista (suele pasar en clasificación multiclase con versiones viejas de SHAP)\n", " if isinstance(shap_interactions, list):\n", " # Tomamos la clase positiva (índice 1) si es binario, o la primera si hay más\n", " idx_clase = 1 if len(shap_interactions) > 1 else 0\n", " matriz_base = shap_interactions[idx_clase]\n", " # Si es un numpy array, validamos sus dimensiones\n", " elif isinstance(shap_interactions, np.ndarray):\n", " if len(shap_interactions.shape) == 4:\n", " # Shape (n_samples, n_features, n_features, n_classes) -> Promediamos las clases o tomamos la clase 1\n", " matriz_base = shap_interactions[:, :, :, 1] if shap_interactions.shape[3] > 1 else shap_interactions[:, :, :, 0]\n", " else:\n", " # Shape estándar (n_samples, n_features, n_features)\n", " matriz_base = shap_interactions\n", " else:\n", " # Fallback de seguridad\n", " matriz_base = np.array(shap_interactions)\n", "\n", " # Matriz simétrica de importancia absoluta media\n", " interaccion_media = np.abs(matriz_base).mean(axis=0)\n", "\n", " # Extraemos los pares con mayor interacción (ignorando la diagonal que son los efectos principales)\n", " candidatos = []\n", " for i in range(len(top_10_cols)):\n", " for j in range(i + 1, len(top_10_cols)):\n", " candidatos.append((interaccion_media[i, j], top_10_cols[i], top_10_cols[j]))\n", "\n", " candidatos.sort(reverse=True, key=lambda x: x[0]) \n", " top_candidatos = candidatos[:max_sinergias * 2] \n", "\n", " # --- PASO C: El Tribunal Diamond (Knockoffs / Control FDR) ---\n", " logger.info(f\" ⚖️ Iniciando Tribunal Diamond (Control de FDR) para {len(top_candidatos)} candidatos...\")\n", "\n", " sinergias_aprobadas = []\n", "\n", " for fuerza_shap, col_A, col_B in top_candidatos:\n", " if len(sinergias_aprobadas) >= max_sinergias: break\n", "\n", " sombra_B = X_sample[col_B].sample(frac=1, random_state=42).values\n", "\n", " interaccion_real = X_sample[col_A] * X_sample[col_B]\n", " interaccion_sombra = X_sample[col_A] * sombra_B\n", "\n", " df_torneo = pd.DataFrame({'Real': interaccion_real, 'Sombra': interaccion_sombra})\n", " modelo_juez = lgb.LGBMRegressor(n_estimators=20, random_state=42, verbose=-1) if es_regresion else lgb.LGBMClassifier(n_estimators=20, random_state=42, verbose=-1)\n", " modelo_juez.fit(df_torneo, y_sample)\n", "\n", " importancia_real = modelo_juez.feature_importances_[0]\n", " importancia_sombra = modelo_juez.feature_importances_[1]\n", "\n", " if importancia_real > (importancia_sombra * 1.5): \n", " logger.info(f\" 🌟 [FDR Pass] Sinergia real: ({col_A} × {col_B}) > Ruido Sombra.\")\n", " sinergias_aprobadas.append((col_A, col_B))\n", "\n", " nombre_sinergia = f\"sinergia_{col_A}_X_{col_B}\"\n", " X_trans[nombre_sinergia] = X_trans[col_A].astype(float) * X_trans[col_B].astype(float)\n", " rutas['num_vars'].append(nombre_sinergia)\n", " else:\n", " logger.warning(f\" ❌ [FDR Drop] Falso Descubrimiento detectado: ({col_A} × {col_B}) no superó a sombra.\")\n", "\n", " # 🧹 Limpieza por cada ciclo del torneo\n", " del df_torneo\n", " del modelo_juez\n", " gc.collect()\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: Descubrimiento Causal completado. {len(sinergias_aprobadas)} sinergias inyectadas.\")\n", " logger.info(f\"\\n⏱️ Fase SHAP+Diamond terminada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, rutas, sinergias_aprobadas\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train', 'y_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " logger.info(\">>> 🚂 CALCULANDO SHAP 2D Y KNOCKOFFS EN TRAIN <<<\")\n", " X_train_shap, rutas_actualizadas, receta_interacciones = sinergias_shap_diamond_automl(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " rutas=manager.rutas,\n", " max_sinergias=5\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO SINERGIAS EXACTAS EN TEST <<<\")\n", " X_test_shap, _, _ = sinergias_shap_diamond_automl(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas,\n", " receta_sinergias=receta_interacciones \n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos de forma segura en el Manager\n", " manager.X_train = X_train_shap\n", " manager.X_test = X_test_shap\n", " manager.rutas = rutas_actualizadas\n", "\n", " # Aseguramos la inicialización del almacén de artefactos\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", "\n", " # Utilizamos la función nativa del manager si existe, o asignamos al diccionario\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('receta_sinergias_shap', receta_interacciones)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['receta_sinergias_shap'] = receta_interacciones\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices, rutas y sinergias SHAP actualizadas de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en Sinergias SHAP/Diamond: {e}\")" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 MIDIENDO DISTANCIAS CONTRAFACTUALES EN TRAIN <<<\n", "=== 🧲 FASE 15.3: Contrafactuales de Sensibilidad (Distancia a la Frontera) ===\n", " 🚂 [TRAIN] Dataset masivo. Entrenando Oráculo en submuestra de 20000 filas...\n", " ↳ Mapeando distancias a la frontera de decisión para toda la matriz...\n", "--------------------------------------------------------------------------------\n", " 🛡️ ESTATUS: Inyección Contrafactual completada. La matriz ahora conoce su propia vulnerabilidad.\n", " 🌟 Nuevas variables creadas: ['cf_distancia_frontera', 'cf_fuerza_logit']\n", "\n", "⏱️ Sensibilidad calculada en 0.494s\n", "\n", ">>> 🔒 PROYECTANDO DISTANCIAS CONTRAFACTUALES EN TEST <<<\n", "=== 🧲 FASE 15.3: Contrafactuales de Sensibilidad (Distancia a la Frontera) ===\n", " 🔒 [TEST] Consultando al Oráculo para medir sensibilidad de nuevos registros...\n", " ↳ Coordenadas inyectadas: ['cf_distancia_frontera', 'cf_fuerza_logit']\n", "\n", "⏱️ Sensibilidad calculada en 0.257s\n", "\n", "📦 [MLOps] Matrices, rutas y modelo Oráculo actualizados de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import gc\n", "import warnings\n", "from typing import Tuple, Dict\n", "from sklearn.utils.multiclass import type_of_target\n", "try:\n", " import lightgbm as lgb\n", "except ImportError:\n", " # Este print se mantiene porque es un error pre-ejecución críitico para el usuario del Notebook\n", " logger.error(\"🛑 MLOps Warning: La librería 'lightgbm' es requerida para esta fase.\")\n", " logger.error(\" Ejecuta: !pip install lightgbm\")\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "if 'detectar_naturaleza_target_mlops' not in globals():\n", " def detectar_naturaleza_target_mlops(y: pd.Series) -> Dict[str, object]:\n", " serie = pd.Series(y).dropna()\n", " if serie.empty:\n", " return {\n", " 'tipo': 'desconocido',\n", " 'es_regresion': False,\n", " 'es_binario': False,\n", " 'es_multiclase': False,\n", " 'num_clases': 0\n", " }\n", "\n", " serie_tipada = serie if pd.api.types.is_numeric_dtype(serie) else serie.astype(str)\n", " try:\n", " tipo_detectado = type_of_target(serie_tipada)\n", " except Exception:\n", " tipo_detectado = 'desconocido'\n", "\n", " es_regresion = tipo_detectado in ('continuous', 'continuous-multioutput')\n", " num_clases = int(serie.nunique()) if not es_regresion else 0\n", " es_multiclase = (not es_regresion) and num_clases > 2\n", " es_binario = (not es_regresion) and num_clases == 2\n", "\n", " if es_regresion:\n", " tipo = 'regression'\n", " elif es_multiclase:\n", " tipo = 'multiclass'\n", " elif es_binario:\n", " tipo = 'binary'\n", " else:\n", " tipo = 'desconocido'\n", "\n", " return {\n", " 'tipo': tipo,\n", " 'es_regresion': es_regresion,\n", " 'es_binario': es_binario,\n", " 'es_multiclase': es_multiclase,\n", " 'num_clases': num_clases\n", " }\n", "\n", "def contrafactuales_sensibilidad_automl(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " rutas: Dict = None,\n", " modelo_oraculo = None\n", ") -> Tuple[pd.DataFrame, Dict, any]:\n", " \"\"\"\n", " [FASE 5 - Paso 15.3] Motor AutoML de Contrafactuales de Sensibilidad.\n", " - Proxy Causal: Usa un Oráculo (LGBM) para medir la distancia a la frontera de decisión.\n", " - Clean Code: Extrae 'Margen de Frontera' y 'Fuerza Logit' sin intervención manual.\n", " - Inteligencia de Tarea: Adaptable a Clasificación (Binaria/Multiclase) y Regresión.\n", " - Protección RAM: Submuestreo estricto para el Oráculo y Garbage Collection.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== 🧲 FASE 15.3: Contrafactuales de Sensibilidad (Distancia a la Frontera) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_trans = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': [], 'date_vars': []}\n", "\n", " # 🛡️ Solo pasamos variables numéricas al Oráculo para evitar crashes categóricos\n", " cols_numericas = [c for c in rutas.get('num_vars', []) if c in X_trans.columns]\n", "\n", " if not cols_numericas:\n", " logger.info(\" ✅ [BYPASS] No hay variables numéricas para calcular sensibilidad espacial.\")\n", " return X_trans, rutas, modelo_oraculo\n", "\n", " # Función interna para calcular las métricas espaciales\n", " def inyectar_distancias(df: pd.DataFrame, predicciones: np.ndarray, es_regresion: bool) -> Tuple[pd.DataFrame, list]:\n", " df_out = df.copy()\n", " nuevas_cols = []\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", " if es_regresion:\n", " # En regresión, la \"distancia\" es qué tan lejos está de la mediana global del Oráculo\n", " mediana_global = np.median(predicciones)\n", " df_out['cf_distancia_mediana'] = np.abs(predicciones - mediana_global)\n", " df_out['cf_desviacion_relativa'] = (predicciones - mediana_global) / (np.abs(mediana_global) + 1e-6)\n", " nuevas_cols = ['cf_distancia_mediana', 'cf_desviacion_relativa']\n", " rutas['num_vars'].extend(nuevas_cols)\n", " else:\n", " # En clasificación binaria o multiclase\n", " if len(predicciones.shape) == 1 or predicciones.shape[1] == 1: # Binario\n", " prob_positiva = predicciones if len(predicciones.shape) == 1 else predicciones[:, 0]\n", " # Distancia absoluta a la duda (0.5)\n", " df_out['cf_distancia_frontera'] = np.abs(prob_positiva - 0.5)\n", " # Log-Odds (Fuerza de empuje) con clip para evitar log(0)\n", " p_clip = np.clip(prob_positiva, 1e-5, 1 - 1e-5)\n", " df_out['cf_fuerza_logit'] = np.log(p_clip / (1 - p_clip))\n", " nuevas_cols = ['cf_distancia_frontera', 'cf_fuerza_logit']\n", " rutas['num_vars'].extend(nuevas_cols)\n", " else: # Multiclase\n", " # Distancia entre la clase más probable y la segunda más probable (Margen de Confianza)\n", " prob_ordenada = np.sort(predicciones, axis=1)\n", " df_out['cf_margen_multiclase'] = prob_ordenada[:, -1] - prob_ordenada[:, -2]\n", " df_out['cf_entropia_decision'] = -np.sum(predicciones * np.log(np.clip(predicciones, 1e-5, 1)), axis=1)\n", " nuevas_cols = ['cf_margen_multiclase', 'cf_entropia_decision']\n", " rutas['num_vars'].extend(nuevas_cols)\n", " return df_out, nuevas_cols\n", "\n", " # ==========================================\n", " # 1. Modo TEST / PRODUCCIÓN (.transform)\n", " # ==========================================\n", " if modelo_oraculo is not None:\n", " logger.info(f\" 🔒 [TEST] Consultando al Oráculo para medir sensibilidad de nuevos registros...\")\n", "\n", " # 🚀 FIX MLOps: Evaluar directamente la clase del estimador interno en LightGBM\n", " es_regresion = isinstance(modelo_oraculo, lgb.LGBMRegressor)\n", " X_num_sana = X_trans[cols_numericas].fillna(0)\n", "\n", " # El oráculo predice probabilidades (clasificación) o valores (regresión)\n", " if es_regresion:\n", " predicciones = modelo_oraculo.predict(X_num_sana)\n", " else:\n", " predicciones = modelo_oraculo.predict_proba(X_num_sana)\n", " if predicciones.shape[1] == 2: predicciones = predicciones[:, 1] # Binario\n", "\n", " X_trans, columnas_creadas = inyectar_distancias(X_trans, predicciones, es_regresion)\n", "\n", " # 🧹 Limpieza\n", " del X_num_sana\n", " gc.collect()\n", "\n", " logger.info(f\" ↳ Coordenadas inyectadas: {columnas_creadas}\")\n", " logger.info(f\"\\n⏱️ Sensibilidad calculada en {time.time() - inicio_timer:.3f}s\")\n", " return X_trans, rutas, modelo_oraculo\n", "\n", " # ==========================================\n", " # 2. Modo TRAIN (.fit)\n", " # ==========================================\n", " if y is None:\n", " logger.info(\" ✅ [BYPASS] Se requiere la variable objetivo 'y' para entrenar el Oráculo.\")\n", " return X_trans, rutas, None\n", "\n", " info_target = detectar_naturaleza_target_mlops(y)\n", " es_regresion = info_target['es_regresion']\n", "\n", " # ⚙️ Parámetros de Escalabilidad RAM (El Oráculo no necesita todos los datos para entender el espacio)\n", " MAX_ORACLE_SAMPLES = 20000 \n", "\n", " X_num_sana = X_trans[cols_numericas].fillna(0)\n", "\n", " if len(X_num_sana) > MAX_ORACLE_SAMPLES:\n", " logger.info(f\" 🚂 [TRAIN] Dataset masivo. Entrenando Oráculo en submuestra de {MAX_ORACLE_SAMPLES} filas...\")\n", " X_fit = X_num_sana.sample(n=MAX_ORACLE_SAMPLES, random_state=42)\n", " y_fit = y.loc[X_fit.index]\n", " else:\n", " logger.info(f\" 🚂 [TRAIN] Entrenando Oráculo Espacial...\")\n", " X_fit = X_num_sana\n", " y_fit = y\n", "\n", " # Entrenamos el Oráculo\n", " if es_regresion:\n", " oraculo = lgb.LGBMRegressor(n_estimators=50, random_state=42, n_jobs=-1, verbose=-1)\n", " else:\n", " oraculo = lgb.LGBMClassifier(n_estimators=50, random_state=42, n_jobs=-1, verbose=-1)\n", "\n", " oraculo.fit(X_fit, y_fit)\n", "\n", " logger.info(f\" ↳ Mapeando distancias a la frontera de decisión para toda la matriz...\")\n", " if es_regresion:\n", " predicciones = oraculo.predict(X_num_sana)\n", " else:\n", " predicciones = oraculo.predict_proba(X_num_sana)\n", " if predicciones.shape[1] == 2: predicciones = predicciones[:, 1]\n", "\n", " X_trans, columnas_creadas = inyectar_distancias(X_trans, predicciones, es_regresion)\n", "\n", " # 🧹 Purificación de RAM\n", " rutas['num_vars'] = list(set(rutas['num_vars'])) # Eliminar duplicados en las rutas\n", " del X_num_sana\n", " del X_fit\n", " del y_fit\n", " gc.collect()\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: Inyección Contrafactual completada. La matriz ahora conoce su propia vulnerabilidad.\")\n", " logger.info(f\" 🌟 Nuevas variables creadas: {columnas_creadas}\")\n", " logger.info(f\"\\n⏱️ Sensibilidad calculada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, rutas, oraculo\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train', 'y_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " logger.info(\">>> 🚂 MIDIENDO DISTANCIAS CONTRAFACTUALES EN TRAIN <<<\")\n", " X_train_cf, rutas_actualizadas, modelo_oraculo = contrafactuales_sensibilidad_automl(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " rutas=manager.rutas\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 PROYECTANDO DISTANCIAS CONTRAFACTUALES EN TEST <<<\")\n", " X_test_cf, _, _ = contrafactuales_sensibilidad_automl(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas,\n", " modelo_oraculo=modelo_oraculo \n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma segura\n", " manager.X_train = X_train_cf\n", " manager.X_test = X_test_cf\n", " manager.rutas = rutas_actualizadas\n", "\n", " # Aseguramos la inicialización del almacén de modelos preprocesamiento\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", "\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('oraculo_contrafactual', modelo_oraculo)\n", " else:\n", " if getattr(manager, 'artefactos', None) is None:\n", " manager.artefactos = {}\n", " manager.artefactos['oraculo_contrafactual'] = modelo_oraculo\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices, rutas y modelo Oráculo actualizados de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en Contrafactuales de Sensibilidad: {e}\")\n" ] }, { "cell_type": "code", "execution_count": 126, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 CALCULANDO ESTRATEGIA UNIVERSAL DE EQUIDAD EN TRAIN (VÍA MANAGER) <<<\n", "=== ⚖️ FASE 16.1: Radar Universal de Equidad MLOps ===\n", " 📊 Diagnóstico de Equidad Binaria: Ratio Minoritaria/Mayoritaria = 0.317 (Umbral: 0.8)\n", " ↳ Distribución original: \n", "income\n", "0 19758\n", "1 6271\n", " 🧬 [TRAIN] Desbalance severo detectado. Trazando plano para Asymmetric Bagging Puro...\n", " 🛡️ ESTATUS: Estrategia de Asymmetric Bagging calculada con éxito. La matriz se mantiene intacta.\n", " ↳ Configuración inyectada en 'rutas' para la Fase 18: {'pos_bagging_fraction': 1.0, 'neg_bagging_fraction': np.float64(0.3809), 'bagging_freq': 1, 'bagging_seed': 42}\n", "\n", "⏱️ Radar Universal completado en 0.008s\n", "\n", ">>> 🔒 PASANDO TEST POR EL ESCUDO DE EQUIDAD <<<\n", "=== ⚖️ FASE 16.1: Radar Universal de Equidad MLOps ===\n", " ✅ [BYPASS ESTRATÉGICO] Modo TEST/Producción detectado. Matriz protegida.\n", "\n", "📦 [MLOps] Matrices y configuración de equidad actualizadas de forma segura en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "from typing import Tuple, Dict, Optional\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def configuracion_equidad_automl(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " rutas: Dict = None,\n", " umbral_desbalance: float = 0.8\n", ") -> Tuple[pd.DataFrame, Optional[pd.Series], Dict]:\n", " \"\"\"\n", " [FASE 5 - Paso 16.1] Radar AutoML: Diagnóstico Universal de Equidad.\n", " - RAM Shield: NO clona ni inventa filas (Bye SMOTE). Deja la matriz intacta.\n", " - Inteligencia Dual: \n", " ↳ Binario -> Calcula Asymmetric Bagging Puro y Optimizado.\n", " ↳ Multiclase -> Calcula Pesos Suavizados anti-sobreconfianza.\n", " - Escudo de Producción: Si es modo TEST (y=None), pasa en milisegundos.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== ⚖️ FASE 16.1: Radar Universal de Equidad MLOps ===\")\n", " inicio_timer = time.time()\n", "\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': [], 'date_vars': []}\n", "\n", " # ==========================================\n", " # 1. ESCUDOS MLOPS (Producción)\n", " # ==========================================\n", " if y is None:\n", " logger.info(\" ✅ [BYPASS ESTRATÉGICO] Modo TEST/Producción detectado. Matriz protegida.\")\n", " return X.copy(), None, rutas\n", "\n", " # ==========================================\n", " # 2. Modo TRAIN (Diagnóstico de Tarea)\n", " # ==========================================\n", " es_regresion = pd.api.types.is_float_dtype(y) and y.nunique() > 20\n", "\n", " if es_regresion:\n", " logger.info(\" ✅ [BYPASS] Tarea de Regresión detectada. Las técnicas de equidad de clases se omiten.\")\n", " return X.copy(), y.copy(), rutas\n", "\n", " # ==========================================\n", " # 3. Radar de Desbalance (El Cerebro Matemático)\n", " # ==========================================\n", " conteo_clases = y.value_counts()\n", " es_multiclase = len(conteo_clases) > 2\n", "\n", " # ----------------------------------------------------\n", " # MOTOR A: MULTICLASE (Pesos Suavizados Anti-Mentiras)\n", " # ----------------------------------------------------\n", " if es_multiclase:\n", " clase_mayor = conteo_clases.max()\n", " clase_menor = conteo_clases.min()\n", " ratio_peor = clase_menor / clase_mayor\n", "\n", " logger.info(f\" 📊 Diagnóstico de Equidad Multiclase: Ratio Minoritaria/Mayoritaria = {ratio_peor:.3f} (Umbral: {umbral_desbalance})\")\n", " logger.info(f\" ↳ Distribución original: \\n{conteo_clases.to_string()}\")\n", "\n", " if ratio_peor >= umbral_desbalance:\n", " logger.info(\" ✅ [BYPASS] Las clases están suficientemente equilibradas. Sin intervención requerida.\")\n", " rutas['asymmetric_bagging'] = {}\n", " else:\n", " logger.info(f\" 🧬 [TRAIN] Desbalance severo detectado. Trazando plano para Cost-Sensitive Learning (Pesos Suavizados)...\")\n", "\n", " # 🚀 FIX MLOps: Cálculo de pesos suavizados por raíz cuadrada\n", " pesos_suavizados = {}\n", " for clase, count in conteo_clases.items():\n", " peso = np.sqrt(clase_mayor / count)\n", " pesos_suavizados[clase] = round(peso, 4)\n", "\n", " config_equidad = {'class_weight': pesos_suavizados}\n", " rutas['asymmetric_bagging'] = config_equidad\n", "\n", " logger.info(\" 🛡️ ESTATUS: Estrategia de Cost-Sensitive Learning calculada con éxito. La matriz se mantiene intacta.\")\n", " logger.info(f\" ↳ Configuración inyectada en 'rutas' para la Fase 18: {config_equidad}\")\n", "\n", " # ----------------------------------------------------\n", " # 🚀 MOTOR B: BINARIO (Asymmetric Bagging Puro y Optimizado)\n", " # ----------------------------------------------------\n", " else:\n", " # Identificación dinámica de la jerarquía de clases\n", " clase_minoritaria = conteo_clases.index[-1]\n", " clase_mayoritaria = conteo_clases.index[0]\n", "\n", " count_minoritaria = conteo_clases.iloc[-1]\n", " count_mayoritaria = conteo_clases.iloc[0]\n", "\n", " ratio_desbalance = count_minoritaria / count_mayoritaria\n", "\n", " logger.info(f\" 📊 Diagnóstico de Equidad Binaria: Ratio Minoritaria/Mayoritaria = {ratio_desbalance:.3f} (Umbral: {umbral_desbalance})\")\n", " logger.info(f\" ↳ Distribución original: \\n{conteo_clases.to_string()}\")\n", "\n", " if ratio_desbalance >= umbral_desbalance:\n", " logger.info(\" ✅ [BYPASS] Las clases están suficientemente equilibradas. Sin intervención requerida.\")\n", " rutas['asymmetric_bagging'] = {}\n", " else:\n", " logger.info(f\" 🧬 [TRAIN] Desbalance severo detectado. Trazando plano para Asymmetric Bagging Puro...\")\n", "\n", " # 🚀 MAGIA MLOPS: Calculamos la fracción de la mayoría con un piso del 10% (0.1) \n", " # para evitar la inanición de datos (Feature Starvation) en los árboles.\n", " fraccion_mayoritaria_optima = max(min(ratio_desbalance * 1.2, 1.0), 0.1)\n", "\n", " # Mapeo dinámico: LightGBM aplica 'pos' a la clase 1 y 'neg' a la clase 0.\n", " if clase_minoritaria == 1:\n", " pos_frac = 1.0\n", " neg_frac = round(fraccion_mayoritaria_optima, 4)\n", " else:\n", " pos_frac = round(fraccion_mayoritaria_optima, 4)\n", " neg_frac = 1.0\n", "\n", " config_equidad = {\n", " 'pos_bagging_fraction': pos_frac,\n", " 'neg_bagging_fraction': neg_frac,\n", " 'bagging_freq': 1, \n", " 'bagging_seed': 42\n", " }\n", "\n", " rutas['asymmetric_bagging'] = config_equidad\n", " logger.info(\" 🛡️ ESTATUS: Estrategia de Asymmetric Bagging calculada con éxito. La matriz se mantiene intacta.\")\n", " logger.info(f\" ↳ Configuración inyectada en 'rutas' para la Fase 18: {config_equidad}\")\n", "\n", " logger.info(f\"\\n⏱️ Radar Universal completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X.copy(), y.copy(), rutas\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train', 'y_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " logger.info(\">>> 🚂 CALCULANDO ESTRATEGIA UNIVERSAL DE EQUIDAD EN TRAIN (VÍA MANAGER) <<<\")\n", "\n", " # Ejecutamos consumiendo los datos directamente del manager\n", " X_train_limpio, y_train_limpio, rutas_actualizadas = configuracion_equidad_automl(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " rutas=manager.rutas\n", " )\n", "\n", " # Guardamos los resultados\n", " manager.X_train = X_train_limpio\n", " manager.y_train = y_train_limpio\n", " manager.rutas = rutas_actualizadas\n", "\n", " logger.info(\"\\n>>> 🔒 PASANDO TEST POR EL ESCUDO DE EQUIDAD <<<\")\n", " X_test_limpio, _, _ = configuracion_equidad_automl(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas\n", " )\n", " manager.X_test = X_test_limpio \n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices y configuración de equidad actualizadas de forma segura en el PipelineManager.\")\n", "\n", " # Variables globales de transición\n", " X_train = manager.X_train\n", " y_train = manager.y_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el Pipeline (Fase de Equidad): {e}\")" ] }, { "cell_type": "code", "execution_count": 127, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 EJECUTANDO PSEUDO-LABELING EN TRAIN <<<\n", "=== 🏷️ FASE 16.2: Pseudo-Labeling y Enriquecimiento Semi-Supervisado ===\n", " ✅ [BYPASS] No se proporcionó matriz de datos sin etiquetar (X_unlabeled). Operación omitida.\n", "\n", ">>> 🔒 PASANDO TEST POR EL ESCUDO DE PSEUDO-LABELING <<<\n", "=== 🏷️ FASE 16.2: Pseudo-Labeling y Enriquecimiento Semi-Supervisado ===\n", " ✅ [BYPASS ESTRATÉGICO] Modo TEST/Producción detectado. Matriz protegida.\n", "\n", "📦 [MLOps] Matrices y rutas actualizadas de forma segura en el PipelineManager (Fase Semi-Supervisada completada).\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import gc\n", "from typing import Tuple, Dict, Optional\n", "\n", "try:\n", " import lightgbm as lgb\n", "except ImportError:\n", " # Este print se mantiene porque es un error pre-ejecución críitico para el usuario del Notebook\n", " logger.error(\"🛑 MLOps Warning: La librería 'lightgbm' es requerida para el Oráculo Preliminar.\")\n", " logger.error(\" Ejecuta: !pip install lightgbm\")\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def pseudo_labeling_automl(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " X_unlabeled: Optional[pd.DataFrame] = None,\n", " rutas: Dict = None,\n", " umbral_confianza: float = 0.99\n", ") -> Tuple[pd.DataFrame, Optional[pd.Series], Dict]:\n", " \"\"\"\n", " [FASE 5 - Paso 16.2] Motor AutoML de Pseudo-Labeling (>99% Confianza).\n", " - Candado de Ejecución Única: Evita que el usuario corra la celda dos veces y contamine los Folds.\n", " - Muro MLOps Absoluto: Si es modo TEST (y=None), pasa la matriz intacta. NUNCA se contamina Test.\n", " - Semi-Supervisado: Aprovecha datos sin etiqueta (X_unlabeled) para enriquecer Train.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz base (X) está vacía.\")\n", " raise ValueError(\"La matriz base (X) está vacía.\")\n", "\n", " logger.info(f\"=== 🏷️ FASE 16.2: Pseudo-Labeling y Enriquecimiento Semi-Supervisado ===\")\n", " inicio_timer = time.time()\n", "\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': [], 'date_vars': []}\n", "\n", " # ==========================================\n", " # 1. ESCUDOS MLOPS (Producción y Doble Ejecución)\n", " # ==========================================\n", " # Escudo 1: Protección de Producción / Test\n", " if y is None:\n", " logger.info(\" ✅ [BYPASS ESTRATÉGICO] Modo TEST/Producción detectado. Matriz protegida.\")\n", " return X.copy(), None, rutas\n", "\n", " # Escudo 2: Candado de Ejecución Única\n", " if rutas.get('pseudo_labeling_ejecutado', False):\n", " logger.info(\" ✅ [ESCUDO ACTIVO] Pseudo-Labeling ya fue ejecutado previamente. Bloqueando doble ejecución.\")\n", " return X.copy(), y.copy(), rutas\n", "\n", " X_trans = X.copy()\n", "\n", " # ==========================================\n", " # 2. Diagnóstico de Viabilidad\n", " # ==========================================\n", " y_trans = y.copy()\n", " es_regresion = pd.api.types.is_float_dtype(y_trans) and y_trans.nunique() > 20\n", "\n", " if es_regresion:\n", " logger.info(\" ✅ [BYPASS] Tarea de Regresión detectada. Pseudo-Labeling requiere probabilidades de clase.\")\n", " return X_trans, y_trans, rutas\n", "\n", " if X_unlabeled is None or X_unlabeled.empty:\n", " logger.info(\" ✅ [BYPASS] No se proporcionó matriz de datos sin etiquetar (X_unlabeled). Operación omitida.\")\n", " return X_trans, y_trans, rutas\n", "\n", " # ==========================================\n", " # 3. Entrenamiento del Oráculo Preliminar Fuerte\n", " # ==========================================\n", " logger.info(f\" 🧠 [TRAIN] Entrenando Oráculo Preliminar para evaluar {len(X_unlabeled):,} registros oscuros...\")\n", "\n", " # 🛡️ Filtramos solo las variables numéricas que existen en ambas matrices\n", " cols_numericas = [col for col in X_trans.select_dtypes(include=[np.number]).columns \n", " if col in X_unlabeled.columns]\n", "\n", " X_num = X_trans[cols_numericas].fillna(0)\n", " X_unl_num = X_unlabeled[cols_numericas].fillna(0)\n", "\n", " oraculo = lgb.LGBMClassifier(n_estimators=100, random_state=42, n_jobs=-1, verbose=-1)\n", " oraculo.fit(X_num, y_trans)\n", "\n", " # ==========================================\n", " # 4. Inquisición de Confianza (>99%)\n", " # ==========================================\n", " logger.info(f\" 🔍 Escaneando probabilidades en la matriz sin etiqueta (Umbral: {umbral_confianza*100}%)...\")\n", " probabilidades = oraculo.predict_proba(X_unl_num)\n", "\n", " # Obtenemos la confianza máxima para cada registro y la clase a la que pertenece\n", " max_probs = np.max(probabilidades, axis=1)\n", " clases_predichas = np.argmax(probabilidades, axis=1)\n", "\n", " # 🛡️ EL ESCUDO ANTI-VENENO: Solo los que superan el 99%\n", " mascara_elite = max_probs >= umbral_confianza\n", " candidatos_aprobados = np.sum(mascara_elite)\n", "\n", " if candidatos_aprobados == 0:\n", " logger.info(f\" ❌ [RECHAZO] Ningún registro oscuro alcanzó el {umbral_confianza*100}% de certeza. Matriz protegida.\")\n", " else:\n", " logger.info(f\" 🌟 [APROBADO] Se encontraron {candidatos_aprobados:,} registros con certeza absoluta. Inyectando...\")\n", "\n", " # Extraemos los registros de élite de la matriz original sin etiquetar (con todas sus columnas)\n", " X_elite = X_unlabeled[mascara_elite].copy()\n", "\n", " # Extraemos las clases predichas de élite (mapeando de vuelta si las clases no son 0, 1, 2...)\n", " clases_reales = oraculo.classes_\n", " y_elite = pd.Series(clases_reales[clases_predichas[mascara_elite]], index=X_elite.index)\n", "\n", " # Fusionamos con la matriz principal de Train\n", " X_trans = pd.concat([X_trans, X_elite], axis=0, ignore_index=True)\n", " y_trans = pd.concat([y_trans, y_elite], axis=0, ignore_index=True)\n", "\n", " # 🧹 Purga de RAM\n", " del X_num\n", " del X_unl_num\n", " del oraculo\n", " del probabilidades\n", " gc.collect()\n", "\n", " # 🔒 Activamos el Candado para el futuro\n", " rutas['pseudo_labeling_ejecutado'] = True\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: Pseudo-Labeling finalizado. Tamaño actual de Train: {len(X_trans):,} registros.\")\n", " logger.info(f\"\\n⏱️ Operación completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_trans, y_trans, rutas\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train', 'y_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " # Simulación: Si tienes un dataset aparte sin etiquetas, lo pasas aquí.\n", " # X_datos_sin_etiqueta = pd.read_csv('datos_oscuros.csv')\n", " X_datos_sin_etiqueta = None\n", "\n", " logger.info(\">>> 🚂 EJECUTANDO PSEUDO-LABELING EN TRAIN <<<\")\n", " # Limpio, automático y blindado por el Arquitecto\n", " X_train_semi, y_train_semi, rutas_actualizadas = pseudo_labeling_automl(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " X_unlabeled=X_datos_sin_etiqueta, \n", " rutas=manager.rutas,\n", " umbral_confianza=0.99\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 PASANDO TEST POR EL ESCUDO DE PSEUDO-LABELING <<<\")\n", " X_test_semi, _, _ = pseudo_labeling_automl(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma centralizada\n", " manager.X_train = X_train_semi\n", " manager.y_train = y_train_semi\n", " manager.X_test = X_test_semi\n", " manager.rutas = rutas_actualizadas\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices y rutas actualizadas de forma segura en el PipelineManager (Fase Semi-Supervisada completada).\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " y_train = manager.y_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en Pseudo-Labeling: {e}\")" ] }, { "cell_type": "code", "execution_count": 128, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 EJECUTANDO PIPELINE UNIFICADO DE EQUIDAD EN TRAIN <<<\n", "=== ⚖️ FASE 16.3: Reweighing Directo (DDO) y Auditoría Ponderada ===\n", " ⚙️ Ejecutando Motor DDO (Direct Optimization) para forzar cumplimiento legal...\n", " ⚡ Convergencia matemática DDO lograda en la Época 2.\n", " 🚨 ESTATUS: Matriz curada con DDO. Se forzó la equidad en 5 variables.\n", "\n", " 📊 GENERANDO REPORTE DE VALIDACIÓN DE EQUIDAD PONDERADA...\n" ] }, { "data": { "text/markdown": [ "### 🔍 Verificación Post-Tratamiento en: `age`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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X0GIPqO+x/nz57shfKHmK4XiBTiBc9H0P9X/W/97VbwUfKqSrGF5qmiqcpVUF1xwgfsd2CMY7t9asWKFq7hqGJeOrQIFCrj5W8GSlvz888/u/VQhVgVX35eGGSqg0P9flVdvOFgwmn+m16mCeuutt7oKuQKHd999132XOvYrVKgQ5zWqICuAU2IUbauhkOqx02fTUE0Fg9pnvV63VYkVBThq2ND+qWKt/VbwoB48/e3Jkye7irf/99i2bVtX2VbgpWND5UvBiIZ4enPdVA5VXrW9ymP58uVdT+XIkSNduVHFOxKfXcdpu3btXKCjOYsKBHRu0ef48ssv4w1T9acKuXo3jxw54t6jdOnSbjiePlcgBVr6PPq+FESqIUWfQ9/TV1995X4nVC4eeeSReI/p3KWe7DPR50gM/S90HCi4VMCvRoC3337bHQdqzNHxKPqfKkDR/0TlWUMSdRwrwNE5VUlXVD48+v/q/63AVvO/lFAjmKScgxXI6zvX/1Y92To3LFu2zB588EF3nHr7Kmr00Pt5/y/12qm3XN+5gjDNjdRnATKdWACZSpMmTWLPP//8OI+dOnUqtl69erE33niju+3vueeec9t/9NFH7r5+6/68efPibDd58uTY66+/PnbFihXu/meffea2mzRpUpztTpw4EduwYcPYmjVrnnFf27Vr594joZ8bbrjBt/0nn3ziHhs6dGiivou6devGXnLJJb77o0aNcq9/7733Qr5Gz2kbbetPj+m7PdNjofTu3dtt//3338d7LNTP7bffHnvo0KGg7/Ppp5/G7tmzx/ezY8eO2OXLl8f26dPHPf/ggw/G24cvv/zSPdepUyffY8uWLXOPXX311Yna50AnT55021xzzTVh/a1Ad9xxR2yNGjViN2zY4Hvs+PHjsW3atInz/4mJiYm97rrrYq+44orYffv2xXmPt99+2207YcKEBP9Whw4d3HbfffddnMcXLlzoHtdxGnjMDhw4MM62U6dOdY8PHz7c99iIESPifX/aFz324Ycfxnn9zp07XRm99tpr433//fr1i7PtzJkz3eN6f//PUL169djVq1fH2dY7HrzHdVvfYTiffdy4cXG2HT16tHv8rbfeik3Io48+6rZbtGiR77HTp0/HPvLII+5xfV5Px44dXdn9/fff47zHt99+67YdMGBAbDi8c4HeLzm87yLwfzNlyhT3+MiRI939P/74I7ZatWqxzZs3jz18+LBvOx233bt3d9vq/ymbN29293XuDCz3wSTlHDxx4sSg2+p/GXge03erfV66dGmcbdetWxd74YUXuv8NkBnRUwXAzc9R667SW+u2Ry3G6kkQtVSLhr7IxIkTXeu+WuM1nEwJEPTj0bAQtbIGDjXbvXu3a61W67tazf1bYEMZOnSonX322UGfU1a/5NLfTm6Gr9TMfKbeDi+hhL4z9dz9+OOPrkX45ptvdtn1Ar8fZS8LpnDhwi4bYrDWfw3HE//5JBoypOGFmzZtcr06+n8nxcmTJ4N+X+H8LQ3v0lwsDUnyz3CoXgb1DCgBhEct7+pJVcu6vjv/Hk8NF9MxrN4Q9RAEo+11HNetWzfe/qg3Ro+rJ3fPnj1x5ucEfv/6+0oSo95FDTELZd68ea7nVT3G/vuqcqm/p+Gt6j3y5vbIDTfcEOc9vB7IXbt2+b4v7aN6cAMTk/Ts2dP1IgX2tIXz2c+0P8GoB1Y9X9o/va9/GdXxqt4V/56Sb775xu2DelD8vye9/pxzznH/U82rTGuB5Uy9iup50nGgIdTaT/Uo6fjzP1eqvGiIn3ob1YPmzYMU9Wr69xyFkpRzsP6GtlNvlT/1mioZjv//Sf8LlTv1Rvl/9zoGVIa//fZb1yMWzrkZyIgIqgD4KqSqqOuCqUqt5mkoBbe3Fo33W3MDNLRowoQJbmiIgi49pgqOssqVKFEizntq2JOGGWk+h4YCqULkVbATG1RpuFNi5g0p1bP4z10JRXNptC8aNuTxhoAlFGh5zyU0XCzSvPlt/pQtTxWbQYMGufWgNLckWCCm/5u+ew3BUmVKmc0CK71exVtp2vX/DFy/R/M2NGxJw3uSGlR5lS7/Sne4f0vb63MFG2IUmEBA82RE7xcqCYaO9VC8v6Vhb8HocQUW2s77jApcA4NcfVYdwwrwEqKyp2Mzoe9Z++sfVAX+LW8ImzcfR9vrdrDASfscKoV6cj57YvYnGB0TGuaamP+phprpvTQML6HvSUPaUrOcBlIiDM0TDDwOFPStX7/e3VfZDJX4QseLAp3AtbRCNTAFk9hzsI47/b3A4Y+6r+U29L/xyrOGNeonoe9e8+38j1EgMyCoAuBocrhaRXVxV2ujegFUKdfF9sknn4zzLamFVfMsVKlRq6QqVuo50BwVjdXX6zXnQdvoIqyWZ/2olVbPDRgwwG0fadpftcBqf84UsGkbBUhKcuBRZVi8CkQwXgrshOaGpBYFRwqqgn2X/oGY5o+pR0jfv+a56PPpf+NP85G8XqVQmc/Uk6DALCmVOs19Cpy/Fam/FWwB48CKu9cYoJ4iLf4cTEJrlZ1pgVsvyPavjIbqxdR7+fcEB6P9V+V28ODBIbcJ7G06U8OEtxBxUntXk/PZE7M/CUnM/9S7r7l4gcexvzN91ykt1Pws/T+8Y+5M37E+a3K/36Scg1UeQ+2v5sh650Tvu1cSkWC93YENXEBmQlAFwF1cFVApG5gmrvtXvjRh3p+G8Ki1XdnWNElZP6oYaFiSekc06VrZqRRgaXiJerQ07CjwPVKCKgUKNJTsQBV39Zx5NJxMvXCqZKiFXfsl2v/AyqomvIeiyeb+CRjSklfBSUwlS5PNlVFO34lSyquHyD81tpcFUf/DYAtBa7inJq4rQYESKySW/g/iH9CE+7fU0q/P7PVC+QtML+/1cOoYVS9Y4PenjJd6v1C850L1MKnHQeXFv4dWPQEaouklUPGCBVVyzzSBX/urcqNg3xt669GwRg3RTeoaSd53oAaSQPpcY8eOdVkaFXyH+9nD6dVRQ0VS/qfq0Qv8n4qSPKiBJK0X9tZ5LnAYnI4D9RZ5vYbe8a/v0ktW4tHxos/oDblOqqScg5XtUD1ZCpT9g1GVESXD8D6Dkn+o90yNS8G+ezWyqWymZQ8hkFZIqQ7A1/uiYMM/oFILpyq2/q3duq+5U/5Z1vQab8FW74LspTUOTFusSqxXSUrufKaEqBdNlS71rn399de+x9XSqnkYShOswErDYXRbLa4e9abotR9//HHQwEoVH/WgaNhdqIxbqUmZ5CSwMhyKKnAaJqj/pQIab56csjzq86qipzkU6gEI/FGKbNHQvISGcfmbM2eO+76Ubtk7PiLxt1RhVoVOgbJ/0K/jScMc/el/qiGeCvoDgwrNSdPx4s3vCkaVSG/uUGCmSB1PapDQ8/6Z5rTPyornT4sfq4KthguPV1b8P6OCT233yiuvxHm9Kscadqse5aT2BKm3T8e59lfzsfy9/vrrbj6Ngu5IfPbk0jlE2R91btD++NMi3oGfRxn1VIEPXGtNqck1n81rNElL+r8G7ruOT81V9XpolXZdx4H+33rco0YALyOjvpfkSMo5WMOJ1RAQWBZ033+Bau2ryqjKksqUP5VrLVWhrIVpHdACaYGjHoCbs6SKqi7sahlV5VutqbqgesM+vN/q2XnzzTfd3BxVaBWI6eKtCqpa1pXm2pskrQq1Ksh6jXqRVAHyUq7r7+giHjjnIBgFcGrJDkUtud7kdk3g1hBEpYXv2LGjm+uloEOPq8KqXiy1+HspvP3pMa3fot4RpWtWSmuvR0oVBlUitO9Kf5zYoUX6brQ2TTAKLPyTe4Ty3XffxVkTSK3dSsusnjelndZE/sTShHd9n/pRCn1VgLyKVOD6RP6U1EGt2Wq1VlITrWUTbP9UkfQSI2h4qIaTPv/8875tw/1bHqWT1pA+fX+aXF+8eHGX5MGbo+LR/0lrF6myp94YL524hiVqX3Ssa25gQjRUSsOmlExA6bv1mdR7o6BP5UbP+1NKbE3uVxlS74N63RQAa0imAkmPNw9J5UnzAHW86W8oLbWSWqhXVOs1qZxoPph+Dxs2LMk9VaJjUN+T0qKrUUHHjf5H+s5UPrU2UiQ+ezgU4CpY0xBVlVGVDwVJgevkefulz6P/v/ZLgYN6ufQ9ab/UaJAeKKhSj5OCWqX213GgOaheQggdf/rcw4cPd73IaujxUqrr/6OyEGwOZGIk5RysZCU6FnScaN0rHataBkHnvMAeUyU30ftozTOdh/R5NP9W373KWySPCSAjIagC4FqaNWxPa5aosqRKu4b0KAhRpUXBh3p9dHFWK7GyzWnIkC78qhBqOIhajjV00KucKSudLtraVhVBDR9RBUJzgFTx1sVb76lKxJmo8n+myoN/xjD9HU3O1tAz/ShY9CoPqqRoe/Wi6POoF0XZBb3Wdg27UsVHaxdp/7zWWH0fqpgou5wqpIml1mcFnMFonxMTVHmLxHpU6dI+qGKmym5CAWcw+h+o0qpeR7U6qzKl90zof6GeBH129QCq8uQf6PjvnwJTBbCapK5eFVXgvexjShwQ7t/yqMKtY1XHnHfMqvdKGdO0Ho8/L/mFEnpo6KEaCDTnQ8GCgq0zBfYKJPQ6DZ9UK7/+n3qNgjT1HgUOf9OwP/UyKEDX8aNhbfo8moPiHxCpsqwASsGneoLUa6Fyol4u9bSox1TP6/0U3CuYV5CVHOpZVZkYM2aM+y40jFDlROVQQUmkPns4VAa1j/qfqsFAPanq4dS5SQGnPw1f1X7pPOS/XzpXKUhOL+skqRFHQb3+l9o/Ndjoe/Ofv6TzkHq/1YvlZdrT8a3/jRofkjtHLSnnYJVJnfP03SsQ03Gr71hlWwGq//7qf64GCZUnJZzRuVTnIJ3P9NnSQy8+kBayKK96mvxlAEhjagVXZUe9NeFMrgcAf+qxV0+TensywlA4DfXWENDAXikFXwps1RulABFAaNQiAGRamrytXjACKgCZmYabKnDSUEV/anRSD7M3JxJAaOm/+QQAAAApRvO5NPRSw5E1707D+datW+ce01Bj/7mAAIIjqAIAAMjElEhDmSA1l09zq7QsgDd3TnPUkjpvE8iMmFMFAAAAANEyp0oTIrVoaMOGDd34XWW1Chzf62/Pnj0uu5SyIdWrV89lfdJaHgAAAACQKYMqpUZVKtnBgwe7NLoKsrTOjFLlBqO1HbZu3erWpNGPbmvRPwAAAADIdMP/FDipx0mLymntENG6Muq1Urpjb/Vxj57TejJaJ+HKK690j2ltBY39XbRokVv8L6m0QKO+jsCUogAAAAAyl5MnT7q1EzXvMMP0VK1Zs8YOHz5sDRo08D2mBQ+1iJxW7g6kBRS1kN3s2bPdAoH60WJ1WjBPr0sOBVTpJMYEAAAAkIaSEhukm+x/27dvd79LlSoV5/HixYv7nvOn1b21Wr1WBK9du7aLIrWtstckd80Z9VDpi6tUqVIyPwUAAACAaLB+/XoXY2SooOro0aO+YMlfrly5XGrPQAp+Vq9e7brjNO/q9OnTNnLkSDf8780337T8+fMnu5tP7wsAAAAgc8sZEJuk+6BKw/m8uVXebdFK3nny5Im3/UcffeR6pb744gtfADV+/Hhr0qSJvfvuu3bXXXclu7eqcuXKyf4cAAAAAKKjpyqx0k1Q5Q3727lzp5UrV873uO5XqVIl3vZLlixx86f8e6QKFSrkHvv999+TvR/q4subN2+yXw8AAAAg40vs0L90laiiatWqLkBS5j7/DH+rVq1yWf4ClSxZ0gVP6snyHDlyxLZs2WLnnntuqu03AAAAgMwta3oar9iuXTsbNmyYS42ubIBazFfBU7NmzdycqV27dtmxY8fc9i1btvStVaVt9dO9e3c3B6tVq1Zp/GkAAAAAZBbpZvifdOnSxU6dOmX9+vVzwZN6qCZNmuTmOakHqmnTpjZkyBAXNCnTnxYKHjp0qN15550u45+yAOqxAgUKpPVHAQAAiEpq6FZiLyCjy5Ejh2XLli26Fv9ND1asWOF+16hRI613BQAAIF1RlVHL3Ozfvz+tdwWImMKFC7uRccHmTyUlNkhXPVUAAABIn7yASqOFlNQrKZP4gfTYSKB8DEqKF2yt3KQiqAIAAMAZh/x5AdVZZ53Ft4WokOefZZsUWOnYDmcoYLpJVAEAAID0yZtDxbIziDZ5/1lKKdx5ggRVAAAASBSG/CHaZInQMFaCKgAAAAAIA0EVAAAAMo0rr7zSRo8eneA2b7zxhl144YX2008/JetvtG/f3vr06eO7/8UXX9j69estuWbOnGlVqlSxtKbPpM92Jg8++KB9+umnvvtTp061//znP1azZk23NNLChQvjbK+lkzp16mSXXHKJXX755fbCCy+4eXyeX375xVq0aOGe7927d5yheko2ccUVV9i6devivOeOHTusefPm9tdff1lqIKgCAAAA/nHixAmbMGGCPfHEEy4ISA4FbY8//ri7/eeff9oDDzxge/bsyRTf8dy5c+3QoUMuiPICwpEjR1qPHj1szpw5LgB66KGHbM2aNe55BUj33nuvuz1jxgwbOHCgvfnmm/bSSy/53rN///7u/d555x1bu3atvfvuu77nJk+ebJdeeqmdf/75cfajRIkSdu2119pzzz2XKp+boAoAAAD4R/bs2V1gcNttt4W19lGBAgXc7cy0JOzp06ddL5MXJMlnn33mep+uueYaO+ecc+yRRx5xySH+97//uec/+eQT27p1qz3//PMuMLrqqquse/fu9tprr7kAV9TLd/3111ulSpXce3m9UgpU1auo9wxGvWrvv/++/f777yn+2QmqAAAAgH+ogl+7dm1btGiRr6dFvSTqRWncuLFdfPHF1qVLFze8rGfPnlarVi1r1KhRnN4Tb/ifhrU1bdrUPdahQwffsMMNGzbYfffd516rIEG9OLt27Qrrf6D96datm9v3evXqud6x3377Lc42U6ZMccMfL7roIrv77rttzJgx7r5nyZIlbj81zE7DHzV8TkFJYs2fP98OHDjgeo48SsG/ePFi1zOlAPPDDz90PVnegrr6m9WrV7dChQr5XlO/fn03bG/16tXuftmyZe3HH390Qdby5cutTJky7nF9nzfffLNbvDdUcNugQQP3uVMaQRUAAACS7/Dh0D/HjiV+26NHk79tKgRaH3/8sRsWOGrUKPv8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xBMuqGnevLlbL2r//v22YMECmzFjhktznhRao+rUqVPWr18/l5pdvVyTJk1yQ/KUnr1p06ZuoeFWrVr5XqP1qQoXLpzUjwEAAAAAEZElNowJGOq1qlmzpvXo0SPec2PGjLGFCxcmaQHgtLZixQpfqvhIenH+dLL/IUWVLlzMHmnWlm8ZAAAgDWKDsBb//fnnn+Ms1uuvVq1atm7dunDeHgAAAADSvbCCKs13+vrrr4M+9/HHH8fJ4gcAAAAA0SislHla+HfgwIEu7bkW3y1SpIjt3r3bBVRffvmljRgxInJ7CgAAAADRFlS1adPGJZYYN26czZs3L86aU8rip+QVAAAAABDNwl7cSWnQ9bNhwwa3rpR6q84999zI7B0AAAAApHORWTHXzCpVqhTn/pEjR9zCvI0aNYrUnwAAAACA6Aqq/vzzTzen6ocffrATJ04E3Saxi/8CAAAAQKYLqrQQ79KlS+2WW25xv/PkyePWrfr2229dOvXRo0dHbk8BAAAAINpSqi9evNi6detm/fr1s1atWlmuXLmsV69e9t5771mdOnXs888/j9yeAsiQYmJi0noXkElwrAEAMmRP1eHDh61KlSrudsWKFW3MmDHudrZs2axt27b23HPPRWYvAWRYWbNmtRFzP7DNe3an9a4gip1z1tnWvcUNll6djomxbFnDascEONaAaA2qihcv7talkvLly9uBAwds165dVqxYMStcuLDt2bMnUvsJIANTQLVx54603g0gzSigenzqu7ZpB40LSDkVSpxtT3dozVcMZLSg6oorrrAXXnjBSpYsabVq1XK/J0+ebA899JAbAliiRInI7SkAABmYAqo1W7al9W4AAFJAWGMRunTpYgULFrQXX3zR3df8qtdee83Np5ozZ47dfffdkdpPAAAAAIi+nioN8XvnnXds586d7v4NN9xgpUuXtp9++skuuugiq1u3bqT2EwAAAACiL6i6/vrrrUePHtakSRPfY7Vr13Y/AAAAAJAZhDX8b9u2bW5tKgAAAADIrLKG21M1ZcoU3/A/AAAAAMhswhr+99tvv9mSJUtcFkDNr8qbN2+c57NkyWKfffZZuPsIAAAAANEZVJUqVcr1VgEAAABAZhVWUDVkyJDI7QkAAAAAZLagyrNhwwb79ttv3dyq9u3b2+bNm61q1aqWP3/+SLw9AAAAAERnUBUTE2P9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yfhEZidPnrTVq1dbJGi/NXwRSC2bNm3yNVCkB5QBZPYyIJQDpDbKAWARKweBHT4pElTt27fPzXsK+sbZsyepx8cb9qfhhOXKlfM9rvtVqlSJt/3GjRvtjz/+cEktPCVKlLDChQvbjh07LLly5MjhgsJISGxkC0SKkrakp1Z6ygAyexkQygFSG+UAsIiUA42+S6ywgiqtJTVu3DiXea9QoUJxAiENCaxXr16i30vzr/Lnz+/mbHlB1cGDB23VqlXWrl27eNt/99139vzzz9s333zjC+wUZCnQq1SpUlgXv7x58yb79UBaYrgpMjvKAEA5ACJ1PUhKo1hYQVXv3r2tffv21qRJE7cAr3qJ9uzZY8uWLXNBlgKupHStKXjS/KiiRYu6pBOaI1WyZElr1qyZnT592vbu3WsFChRwwwOVDXDChAnWq1cv69mzp5t39dRTT7mhiNofAAAAAEj361Spd2nu3Ll222232V9//WUrV660Y8eO2T333GMffPCBlS1bNknvpzWqWrdubf369bPbb7/dsmXLZpMmTXJD8rZt2+bWpfrwww/dtgrgXnvtNXdb2z700ENu/pK21+sAAAAAIDWE1VPlzWNSj1UkKBhSz5N+AilAW7t2bbyxki+//HJE/jYAAAAApElQpaQQP/74o8va54mJiXHZNpYsWeIyBAIAAABAtAorqPr444/dfCYt/utN5PLP516xYsXI7CUAAAAAROOcqvHjx1v16tVt5syZ1qpVK7vxxhtt3rx5bviehvI99thjkdtTAAAAAIi2niotqjV8+HCXIELp0ydPnuzSmetn9+7dLui67LLLIre3AAAAABBNPVVZs2b1rU9Vvnx5tyCv5lNJo0aNkrRgFgAAAABkuqBKc6aWLl3qu61kFWvWrPEt3OufvAIAAAAAolFYw//atGljAwYMsCNHjli3bt2sfv361rdvX7fW1Ouvv+7mWwEAAABANAurp+qWW26xxx9/3NcjNXjwYDt+/Lg9/fTTLiOgngMAAACAaBb2OlV33HGH7/Y555xjH330ke3bt8+KFi0a7lsDAAAAQHT3VAWjNaoIqAAAAABkFknuqapatapvcd/EWL16dVL/BAAAAABEb1D10EMP+YIqzZ969dVX7dxzz7Wrr77aihUrZvv377cFCxbYunXr7L///W9K7DMAAAAAZNygqnPnzr7bjz32mDVu3NhGjx4dp/fqgQcesF69etkvv/wSuT0FAAAAgGibU6WkFLfddlvQ4YA33nijff311+G8PQAAAABEd1CVL18+++OPP4I+t2rVKitUqFA4bw8AAAAA0Z1S/brrrrMRI0ZYjhw53DDAIkWK2J49e+zjjz+2l156ye67777I7SkAAAAARFtQ1aNHD9u2bZv1798/zhDA2NhYu/XWW11SCwAAAACIZmEFVTlz5rRRo0bZr7/+akuWLLGDBw+63qr69etbuXLlIreXAAAAABCNQZXnvPPOcz8AAAAAkNkkOajq0KGDDRgwwCpVquRuJ0RDAl977bVw9g8AAAAAoiuo0nypYLfPtC0AAAAARKMkB1XTpk0LehsAAAAAMqOw1qkCAAAAgMwuyT1VVatWjZM+PSHaTosAAwAAAEC0SnJQpbWnEhtUAQAAAEC0S3JQ1blz55TZEwAAAADIDEHV7Nmz7YorrnCL/Or2mbRs2TJJ7x8TE2Njxoyxd955xw4dOmR16tSx/v372znnnBN0ey08PHToUFu+fLllzZrVbd+nTx8rXbp0kv4uAAAAAKRKUKWA5e2333ZBlW4nRMMEkxpUjR071qZPn27PPvuslSxZ0gVMHTt2tDlz5ljOnDnjbLtv3z67++677ZJLLnGZCE+cOOFep+1nzZpluXLlSurHAwAAAICUDao+//xzK1asmO92JCkomjx5svXs2dMaN27sHhs5cqQ1bNjQ5s+fby1atIiz/WeffWZHjhyx559/3nLnzu0eUxCm1y5dutQaNGgQ0f0DAAAAgLCDqjJlygS9ffToUTdcr3DhwvF6lBJrzZo1dvjw4TjBUMGCBa1atWq2ePHieEGVtlPPlhdQiYYAysGDB5O1DwAAAACQokFVIPVWjRs3zqVOj42NtWzZslnNmjWta9euVrt27SS91/bt293vUqVKxXm8ePHivuf8lS1b1v34mzBhgguyNLcKAAAAANJ1UPXhhx9a9+7dXU/Sww8/bGeddZbt2rXLPvnkE7vrrrts4sSJVr9+/US/n3q7JLCnS3OjDhw4cMbXa17V66+/bv369bOiRYsm4xOZCww1pDASNKcsT548EXkvILFlSMdwekEZQGYvA0I5QGqjHAAWkXKg1yd2Kamwgir1UF133XU2fPjweGtZPfjgg25+03vvvZfo9/OG8Wlulf+QvuPHjycYnOgDv/jii25//vvf/1r79u0tuU6ePGmrV6+2SNA+K+AEUsumTZt8jRPpAWUAmb0MCOUAqY1yAFjEykFipzWFFVT99ttv1rt373iPK6Jr27atC66Swhv2t3PnTitXrpzvcd2vUqVKyCCob9++NnfuXPdbPWThyJEjh1WuXNkigUWSkdoqVKiQrlrpKQPI7GVAKAdIbZQDwCJSDtavX5/obcMKqhR8qFfn8ssvj/fctm3b4gRGiVG1alXLnz+/LVq0yPdaJZzQfK127doFfc2jjz5qn376qestU69ZJC5+efPmDft9gLTAcFNkdpQBgHIAROp6kJRGsSQHVVu3bvXdvueee9zCvOrdad68uZ199tlu7tOXX35po0ePdmtGJbV7TcHTsGHD3JwoZRfUEEKtV9WsWTM7ffq07d271woUKOCGB86cOdPN61JgVbduXTefy+NtAwAAAAApKclB1ZVXXhknalO3moKn5557Ls52elyL8CZ1flKXLl3s1KlTLtnEsWPHXBa/SZMmucBty5Yt1rRpUxsyZIi1atXKDfkTrVOlH3/eNgAAAACQroKqZ555JkXHhysle69evdxPIKVPX7t2re++FgoGAAAAgAwVVNH7AwAAAAARXPx3x44d9uOPP7o06J6YmBiXwnDJkiU2cuTIcP8EAAAAAERnUPXxxx9bz5493Rwob0ig/yJZFStWjMxeAgAAAEA6lTWcF48fP96qV6/usvBpWOCNN95o8+bNc/OhNDfqsccei9yeAgAAAEC09VRppWKtD1WtWjWrV6+eSxxRqVIl97N7924XdF122WWR21sAAAAAiKaeqqxZs1qhQoXc7fLly9vGjRvdfCpp1KhRklYhBgAAAIBMF1RpztTSpUt9t5WsYs2aNe7+wYMH4ySvAAAAAIBoFNbwvzZt2tiAAQPsyJEj1q1bN6tfv7717dvXWrduba+//rqbbwUAAAAA0SysnqpbbrnFHn/8cV+P1KBBg+z48eP29NNPu4yAeg4AAAAAolnY61TdcccdvtvlypWzjz76yPbt22dFixYN960BAAAAIPqDKq1L9dVXX9nixYvdPKqzzjrLZQLUUEAAAAAAiHZhBVV79+61Tp062YoVKyx79uxWuHBh279/vy+V+pgxYyx37tyR21sAAAAAiKY5Vc8//7xt3rzZXnrpJRdYffPNN/bzzz+7tauWL19uw4YNi9yeAgAAAEC0BVWff/659ezZ05o2bWpZsmT5+w2zZrVrr73WZQOcO3dupPYTAAAAAKIvqFIgpTlUwVSoUIF1qgAAAABEvbCCqhtuuMEmTpzo0qj7i4mJsWnTplmLFi3C3T8AAAAAiK5EFVrc16O1qH766Sc3/K9x48Z29tln24EDB+zbb7+1Xbt22e233x7p/QUAAACAjB1ULVq0KM79EiVKuN/fffddnMeLFClin3zyiT366KPh7iMAAAAARE9QtWDBgpTZEwAAAADIjIv/ihb91TDAQ4cOWdGiRa1GjRqWP3/+SLw1AAAAAER3UDVhwgQbO3asHTt2zPdYzpw53aLADz30ULhvDwAAAADRG1S99957NmLECGvdurXLBKhEFUpQ8f7779uYMWOsdOnSdtNNN0VubwEAAAAgmoKqKVOmuAx/AwYM8D1WsWJFq1evnuXOndumTp1KUAUAAAAgqoW1TtXvv/9uV111VdDnlGZ948aN4bw9AAAAAER3UKV06lu3bg363JYtW0hWAQAAACDqhRVUXXnllfbiiy/azz//HOfx5cuX2+jRo93zAAAAABDNwppT1blzZ7fo72233WZlypRxiSp2795tf/75p1WqVMl69OgRuT0FAAAAgGjrqdJaVO+++6498cQTbm2qvHnzut+6r8cLFy6cpPeLiYmxUaNGWcOGDa1mzZp233332ebNmxP1uo4dO7reMQAAAADIMD1V9957rwtm2rZt637CpfWupk+fbs8++6yVLFnShg4d6t5/zpw5bu2rYE6cOGH9+/e3r7/+2i6++OKw9wEAAAAAUq2naunSpZYlSxaLBAVHkydPti5duljjxo2tatWqNnLkSNu+fbvNnz8/5N9v1aqVLVmyxAoWLBiR/QAAAACAVAuqNEzvgw8+sJMnT1q41qxZY4cPH7YGDRr4HlOgVK1aNVu8eHHQ1yxcuNDtw+zZs61AgQJh7wMAAAAApOrwv1y5crmg6qOPPnKJKTSnyp96sV577bVEvZd6pKRUqVJxHi9evLjvuUDdunWzSIuNjbUjR45E5L30+fPkyROR9wIS4+jRo+4YTi8oA8jsZUAoB0htlAPAIlIO9PrEjsoLK6hSsFOrVq04fzhwR5LywSVw7pQCtwMHDlhqUa/b6tWrI/JeCqjU0waklk2bNvnKUnpAGUBmLwNCOUBqoxwAFrFyECqvQ0SDqmnTplmk5M6d2ze3yrstx48fT9Xenhw5cljlypUj8l6Rmm8GJFaFChXSVSs9ZQCZvQwI5QCpjXIAWETKwfr16xO9bbKDKi34q/WoypcvH5HeGG/Y386dO61cuXK+x3W/SpUqlpoXv8BhjEBGwXBTZHaUAYByAETqepCURrEkB1UHDx60Tp062U8//eQbZ6ghgMOHD483HyoplO1P614tWrTIF1Tpb61atcratWuX7PcFAAAAgJSU5KDqhRdecIFO586d7cILL7SNGzfa+PHj3VpRr7zySljjFRU8DRs2zIoWLWplypRx61RpvapmzZrZ6dOnbe/evS7Ln//wQAAAAADIUEHVF198Yd27d7c777zT3W/UqJGVKFHCevbs6bLmhTN0TmtUnTp1yvr162fHjh2zOnXq2KRJk9w8py1btljTpk1tyJAhbm0qAAAAAMiQQdWuXbusevXqcR6rV6+e60natm2bS62eXNmyZbNevXq5n0Bly5a1tWvXhnztggULkv13AQAAACDVFv9VT1JgasFChQr5MvUBAAAAQGaS5KAqIektjS0AAAAAZKigirU4AAAAAGQ2yVqnauDAgS79eWAP1RNPPGH58uWLE2S99tprkdhPAAAAAIiOoEoZ+YIN9Qv2OMMBAQAAAES7JAdV06ZNS5k9AQAAAIDMPqcKAAAAADIbgioAAAAACANBFQAAAACEgaAKAAAAAMJAUAUAAAAAYSCoAgAAAIAwEFQBAAAAQBgIqgAAAAAgDARVAAAAABAGgioAAAAACANBFQAAAACEgaAKAAAAAMJAUAUAAAAAYSCoAgAAAIAwEFQBAAAAQBgIqgAAAAAgDARVAAAAABAGgioAAAAACANBFQAAAACEgaAKAAAAAKIlqIqJibFRo0ZZw4YNrWbNmnbffffZ5s2bQ26/b98+69Gjh9WpU8fq1q1rTz75pB09ejRV9xkAAABA5paugqqxY8fa9OnTbfDgwTZjxgwXZHXs2NFOnDgRdPsuXbrY77//blOmTLEXX3zRFi5caAMHDkz1/QYAAACQeaWboEqB0+TJk12g1LhxY6tataqNHDnStm/fbvPnz4+3/bJly+yHH36w5557zqpXr24NGjSwQYMG2fvvv287duxIk88AAAAAIPNJN0HVmjVr7PDhwy448hQsWNCqVatmixcvjrf9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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Base de Nivelación: '(16.999, 28.0]' (Tasa ponderada: 70.6%)\n", " =====================================================================================\n", " ✅ [JUSTO] '(37.0, 47.0]': DIR = 0.94 (66.3%) | ✅ [JUSTO] '(28.0, 37.0]': DIR = 0.88 (62.4%)\n", " ✅ [JUSTO] '(47.0, 90.0]': DIR = 0.94 (66.1%) | \n", " =====================================================================================\n", "\n" ] }, { "data": { "text/markdown": [ "### 🔍 Verificación Post-Tratamiento en: `workclass`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1UAAAGmCAYAAACUZq5YAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAg6dJREFUeJzt3QeUU0X7x/GH3qvSlCJFQbCASlNBbCg2FFGKgA2sLyhNQBERVESaAoLyF1RQxIZKU1Gwv4ogFpSiFBWkd6SX/Z/f+E7MZpNld5MtZL+fc/Zskr1JbrJ37p1n5pmZHAkJCQkGAAAAAEiTnGl7GgAAAACAoAoAAAAAokRPFQAAAABEgaAKAAAAAKJAUAUAAAAAUSCoAgAAAIAoEFQBAAAAQBQIqgAAAAAgCgRVAAAAABAFgiogg40aNcqqV6+eop/evXtnuf9P+/btU7TvH3/8cZLn7tu3z9588033Gueff76deeaZdtlll1mvXr3sxx9/TPb7mjp1asR90t+0jbYNpscuuuiioz4Wib5/bT9v3rwkjwX/1KhRw+rWrWutW7cOu5/hnuOfd84551jz5s1tzJgxduDAgYj7snfvXjvrrLPc81577bWj7nPwT82aNe3ss8+2Fi1a2NixY91rJSel75VS//3vf8P+fzL6mD106FCKtt+5c6dt3brVsgrte5s2bSL+/fXXX3fb3HXXXZaQkJAh+/THH3/E/BylcqnXXLNmTdi/6xyhY1nHUzCVTz1P/2fEtiwkx3/vI0aM4GsHzCw33wKQsS699FKrWLFioscGDRpk27Zts6eeeirR46HbZSV9+vSxEiVKRPz7aaedluj+77//bp07d7Zff/3VGjVqZLfffrsVKlTI/vzzT5s2bZq9++67dsstt1jPnj0td+6sf2pSBbZKlSrutioo27dvt7lz57rvZe3atfaf//wn2eeIKsDr1q1zn/2ZZ56xFStW2LBhw8K+3wcffGC7d++2ggULukp0cpXs0Pc6fPiw2z9Vgp5++mn3fb/66qtWsmTJmLxXPPnss8/sgQcesJEjR1r9+vUtK9B54bjjjgv7Nx1DL730kpUtW9adR3LkyGHxSOePe++91x3LAJAVZf2aCxBn1Duhn2CqUCuoUo/FseKSSy6x8uXLp2jbv//+22677TZXsR8/frzrpQrWpUsX69evn6scqlKYFXvoQp177rlJKt0KCtUb9Pzzz7sW4WLFih31OXLrrbfatddeazNmzLBOnTolOT7k7bffdhXrK664wiZNmmQ//PCD1a5dO1X7p/+Begr79u1rXbt2tZdffjnsc1P7XvFk4cKF7jjNSpI7L/geXgXjyTVyHAvy5cvnfhcoUCDR4x999JE99NBDtmPHjrDPy58/f6LfAJAZSP8DkO7U6v/XX39Z//79kwRUkjdvXnviiSdcOqACq19++eWY/K/kypXLGjZs6NL4lB6VUqoMXnfdde72/Pnzk/xdvXkLFiywBg0auJ5OmTJlSpr28YYbbrDLL7/cvvnmm0RpjenxXkh/Cnbff/99l0Z6rKtataoLDIN75e644w7X61uqVCm76qqrIj5PqlWrlmH7CgChCKqALO7DDz90PQzqdahVq5b7rdSun3/+OdF2q1evtvvvv98uvPBCl3p3wQUXBFLRQnuNlAJ29dVXuwqZtlWv05NPPulSvmJNAcZ7771nJ554onvPSHLmzGl33nmnS2dKbvxUVqfvW+mLKe3F85RqF4l6jvS9nHfeeW7sliqYs2bNithyfzQtW7Z0v+fMmRPz91qyZIk7PvVcVfSVShdpfNLKlSutW7duLhDVcdi0aVN3bGrsXUqsX7/e9bo1btzYPV+/dV+Ph7N48WLXg3jGGWe4nrwHH3zQNm7cGPi7/vbcc8+52x06dEg09m7//v327LPPuoBU76VyqB5WpbMGUy/r6aef7hoR1Buo7fR+rVq1cqmF4YJYPUcpsWpUaNasmduH4PF14cZUpfSz6zNpn5ctW+YCFI2tq1OnjutVjTSOMZTOLd27d3eBtp579913u8fC2bBhgz388MOB/dL56LHHHnM98Udz8skn2ymnnBL2GHnnnXfspJNOCvu8woULW7ly5dz3lBx9F2ooUKPNTTfd5L5vNfKolzzcMar/18033+zGF+p/qB7DiRMn2pEjRwLbaPyX3lcNR/p/63+vYyvcd/v555+7bceNG5focd3X4/qegr311lvu8S+++CLwmFJ3dSzp3K0f3db5NdxYJ/Uy69rhjw+lGoejhixtr5Ts4LL39ddfW8eOHd0xrOPmxhtvdOeCjL5maT/0f9B5Qt+vykhqzhNARiH9D8jCdLHTOAldlNRamydPHndh0hicb7/91k0GoXExGlivSqAu9qp8qaX3t99+s8mTJ7sLrC6E6g3R2B9tp4qgJlXQbQVSaul+8cUXXQVz+PDhUQ/mV1BRtGhRd3vp0qUunUoXzKON91BFXtvoIprV7dq1K/D5FYToM+p7nD17tkvhizReKRIf4ISORdP/VP9v/e8V/Cr4VCVZFSZVNFU5Tq1TTz3V/Q7tEYz2vRYtWuQqrkrj0rFVpEgRVwkMN2nJTz/95F5PFWJVcPV9Kc1QAYX+/6q8+nSwcDT+TM9TI4Eqe6qQK3BQRVTfpY79ypUrJ3qOr5hpYhRtq1RI9djpsylVUxU/7bOer9uqwIkCHFUStX+qWGu/FTyoB0/vPWHCBFfxDv4e27Zt6yqqCrx0bKh8KRhRiqcf66ZyqPKq7VUeK1Wq5HoqNfBf5UYVx1h8dh2n7dq1cxVrjVlUIKBziz7Hp59+miRNNZgquOrd3LNnj3uNE044waXj6XOFUiVZn0fflyr7akjR59D3pIBCv5MrF/fdd1+Sx3TuUk/20ehzpIT+FzoOFCQo4FcjwBtvvOGOAzXm6HgU/U8HDx7s/icqz0pJ1HH8+OOPu3OqJl1R+fD0/9X/W4Gtxn9pQo1QCko1jvTLL790Aa6n+xLac/zJJ5+486ieJwMHDrRXXnnFBSp+zKaOJ30OlT29dzCdy9W4oSBXAZUCz1BKAdY15uKLL3bHm/+uVSYU4Oj/re9Lx4jKsgJHfYc6vjPimqUyp+9f36fKj84JX331lZtwR99zpDICZIoEAJnuwgsvTDjllFMSPXbo0KGE+vXrJzRv3tzdDjZ48GC3/fvvv+/u67fuz5w5M9F2EyZMSLj66qsTFi1a5O5//PHHbrvx48cn2u7AgQMJjRo1Sqhdu/ZR97Vdu3buNZL7ueaaawLbf/jhh+6xIUOGpOi7qFevXsJZZ50VuD9y5Ej3/Lfffjvic/Q3baNtg+kxfbdHeyySXr16ue2/+eabJI9F+mnTpk3Crl27wr7ORx99lLBly5bAz4YNGxJ+/PHHhN69e7u/33PPPUn24dNPP3V/u/POOwOPff/99+6xyy67LEX7HOrgwYNum8svvzyq9wp10003JZx++ukJK1asCDy2f//+hNatWyf6/xw5ciThyiuvTLjgggsStm3blug13njjDbftuHHjkn2vDh06uO3++9//Jnr8s88+c4/rOA09Zvv3759o24kTJ7rHhw0bFnhs+PDhSb4/7YsemzVrVqLnb9y40ZXRK664Isn337dv30TbTp061T2u1w/+DLVq1UpYsmRJom398eAf1219h9F89rFjxybadtSoUe7x119/PSE5DzzwgNtu3rx5gccOHz6ccN9997nH9Xm9jh07urL7xx9/JHqNr776ym37yCOPJETDnwv0emnhv4vQ/81LL73kHh8xYoS7/+effybUrFkzoVmzZgm7d+8ObKfjtlu3bm5b/T9l9erV7r7OnaHlPpwuXbq4//nff//t7u/Zs8fdV1nQ62zatClQbvSa3bt3d/fnz5/v/q7/vc7XnrZTuQv+H+nY1f2LLrooybXDfwc6B7z88svudteuXd19T5+5Tp06CU2bNk30mfRe+k4aNmzotvfv44/p9LhmPfroo267zZs3J/keW7Vq5fYJyCroqQKy8Pgcte5qemvd9tRirNY/UUu1+BbIF154wbXkqTVe6WSaAEE/nloj1QoYmmq2efNm1xKp1ne1HAa3wEYyZMgQO/7448P+Ta2xaaX3TusMXxk585l6O/yEEvrO1PL63Xffudnyrr/+eje7Xuj3o9nLwilevLhLvQnX+q90PAkeT6K0H6UXrlq1yvXq6P+dGgcPHgz7fUXzXkrv0lgspcwFz3Colm+1dGsCCE+9KmqVVu+MvrvgHk+lAukYVm+IWqjD0fY6juvVq5dkf9Qbo8fVKr5ly5ZE43NCv3+9vyaJUe+iUswimTlzpusxUOt78L6qXOr9lH6l3iM/tkeuueaaRK/heyA3bdoU+L60j+rBDZ2YpEePHq4XKbSnLZrPfrT9CUc9sOr50v7pdYPLqI5X9cx6Sg9Vj4v2Qb09wd+Tnl+hQgX3P9W4yswWWs7U66KeJx0HSkfTfqpXX8df8LlS5UU9NeodUk+KHwcp6tX0vVzJ0TlYs2vqf6iyov+VyqNSn/XdqMdM5U9lTed6P67Rf9c6hv3535cvzaqqXh/tU/D/SbeDrx3B1OOlHiWVt6FDhyY656snSBkM6mkK/kx6L/UQSbjXTY9rlma1FKVGqqdU5yO9tsotkNUQVAFZmC5iqqjrgqpKrcZpKI3Dr0Xjf2tsgFIjlJt/zz33uAuYHlMFR7PKlSlTJtFrKu1JaUYaz6FUIFWIfAU7pUGV0p1SMm7IXxSDx65Eohx57YvShjyfApZcoOX/lly6WKz5sQLBNFueAooBAwa4yofSbsIFYvq/6btXqowCWs1sFlrp9RVvTdOu/2fo+j0at6G0JaVUpTao8hXe4Ep3tO+l7fW5lC4VKnQCAY2TEb1epEkwdKxH4t9LaW/h6HFVVrWd/4wKXEODXH1WHcMK8JKjsqdjM7nvWfsbHFSFvpdPq/LjcbS9bocLnLTPkaZQT8tnT8n+hKNjQmmuKfmfamIWvZbS8JL7njQ2LSPLaShNhKFxgqHHgYK+5cuXu/sqm5EmvtDxosp/6FpakRqYQjVp0sSlR2uclIIq/S5durSbNVTjWhVMKahS6p++J421O9o++WMhNfukgErneY0zVKDj07XFj5cLbhzxwh0L6XnNUjqxXk8Bo36UnquURn13+p5CZ4oEMhNBFZCFaXC4WkV1IVULnS4kqpTrYvXoo48m2lYtrBpnoUqNWhpVsVLPgcaoKN9fz9fFUtuoUq1WTP2olVZ/e+SRR9z2sab9VS+Y9udoAZu2UYCki6anyrCocheJnwI7ubEhGUXBkYKqcN9lcCCm8WOqFOj71zgXfT79b4JpDIPvVYo085l6EhSYpbRSJxp/ETp+K1bvFW4B49CKu69YqadIiz+Hk9xaZUdb4NYH2cFjcSL1Yuq1IrXmB++/KtMa0xJJaG/T0Rom/OKrqe1dTctnT8n+JCcl/1N/X2PxQo/jYEf7rtNbpPFZ+n/4Y+5o37E+a1q/XwUvOr/5cVRayFhBqAIoTezix5NqkgydI3xPWXL75L/71OyTXwRY47DUCxS8RmJaj830uGYpaNISFQp4FWiqJ0/fkRqA/u///s819vhrBJDZCKqALEoXF12cNNORBq4HX+A0eDeYUnjU2q6LsgaV60cXYaUlqXdEg641O5UuVkrxU+ug0o5CXyM96EKvQEOTHajirlZITxdHtWjqwqrWVj8rlvY/tLKqAe+RaLB58AQMmclXcFJSyVKrq2aU03eiKeVVyQmeGtvPgqj/YbiFoJU68/3337sJCjSxQkrp/yDBAU2076WWfn1m3wsVLHR6ed/DqWNUvWCh359mD9PrReL/FqmHSRUwlZfgHlr1gCpFM7hFXsGCGhqO1vqu/VW5UWU4OPVKlNaodKfUrpHkvwNVNkPpc40ZM8bN0qiKdbSfPZpeHTVUpOZ/qh690P+paIICVX4ze2FvneeU2hacoqzjQL08vtfQH//6Lv1kJZ6OF33GcJM+pJRSABXI6ByvtFE/aYW+NwVbSkPUBCHBaYrB+xSc4hd8LGhSiZTSjJP6X+j8q+uEzgXar9BjM/Q6oVRY9a4p5TAjrlnaB6WyajsFakrJVG+nzpfq5db7KS0QyAqYUh3Ionzvi4KN4IuTeplUsQ1uUdR95aEHz7Km5/gFW33rsJ/WOHTaYlVifSUpreOZkqMWSV2o1VIZPD2wemdUiVDqiwIrpSTqtqZt9tSboudqHEK4wEqVDPWgKFUl3IxbGU2zZkloZTgSVZaUJqj/pSoTfsyBZszS51VFTzPPqQcg9MdXxtRam1waV7Dp06e770tTSfvjIxbvpQqzKoUKlIMrUDqelOYYTP9TpXiqAhUaVGhMmo4XP74rHM0e5scOhc4UqeNJlTv9PXimOe2zZhYLnflMFWxVAj1fVoI/oyqc2k4t48EUaCmFSa3zqe0JUm+fjnPtryrWoeNdfKpTLD57WukcotkfdW4InUpbi3iHfh7NqKceh9C11tTrorFAoVOJZwb9X0P3Xcenxv34HlqNY9JxoP+3HvdU6fezzel7SSs/Vb/GMolPl/TBqB5XwKPxTp5vAFEjjD/vi3qXFYAHb5Ma6n1Vb5imlffXB99DprIe/PkVfKrXSNeZ0BTK9Lpmqddf4wuDp1lXr556/YO3A7ICeqqALEpjllRR1YVdLaOqfKs1VZVNnwrnf6uV77XXXnNjc1Sh1UVNF0hVUNWyrlQPUUukKtSqIOs56kVSBchPX6v3UWt+uAtmKF0M1ZIdiVpyfYuqBjsrnUMDn7XuifLmdeHW46oIqBdLLf5+Cu9gekxjDdQ7oql3NaW175FSIKCKufZd0x+n9AKr70aViHAUWAQPlI5EaTvBawKpwqHUFLX8qsVYA/lTSgPe9X3qR2MdNG2zDypC1ycKpkqX1u7R1MIaIK7xGuH2TxVJPzGCUm3U4huc7hPte3lKJVJKn74/tR5rrIhatv14EE//J7XUa3C+emP8dOJKS9S+6FjXOIvkKF1VqZNqudb03fpMavn26UD6ezCfRqQypN4H9bopAFblTIGk58chqTxpHKCON72HUo80OF69opriWuVELeX6rUpwanuqRMegvidNi65GBR03+h/pO1P51NpIsfjs0VCAq2BNKaoqoyofCpJC1xzy+6XPo/+/9kuNN+rl0vek/VKjQVagoEo9TgpqNbW/jgON5/E9Hjr+9LmHDRvmepHV0OOnVNf/R2Uh3BjIlFKDgs5hOgY1Ds/3KqpXXsGwglgdY8FpbUob1neqc7qOlyuvvNI9rp4ajYvS8RCcNp2afVGjgIIrBTDqYVLvpNZwU2OPzk2aeEdBlnq4NcmMJikKl0aZHtcsnSP0nevz6XPr2qRzkBpIdI3ROFYgqyCoArIoXVyVAqG1RlRZUqVdF18FIaq0KPhQr48CJLUSa7Y5tVjqwq+LlS6CajnWRdJXznRx1MVO26oiqBQYXfh0MVXFW5U8vaYqEUejyn9yFMAFp6nofTRBhi7M+tGF1wdwqqRoe/Wi6POoF0UXbt/arsqCKj5au0j75xe71Pehi7Nml0tN6otaX3XxDkf7nJKgyi8S66nSpX1QxUyV3eQCznD0P1ClVS246hlSxVqvmdz/Qi27+uzqAVTFNTjQCd4/BaYKYFWBUwVKFXg/VkOpNNG+l6cKt45VHXP+mFXru2ZM0+xkwfzkF5rQQ6mHqmxpUhNVnlSROlpgr0BCz1PLvXpa9f/UcxSkqfcoNP1NaX/qZVCAruNHFUd9HqVYBQdEqiwrgFLwqZ4g9VqonKgSp54W9Zj69YNUMVYw79cRSi31rKpMjB492n0XSiNUOVE5VAU6Vp89GiqD2kf9T9VgoJ5U9Sbo3KSAM5jSV7VfOg8F75fOVQqSj5ZmmVHUiKOgXv9L7Z8abPS9BQcKOg+p91u9WArG/fGt/40aH6IZoyY63ylAD06VVBnTfQVKfta/0HOEzuUqf0qNU+OEAjGdy5NbWP1odD7Q/1aNa1qAWz23Oq/qONJ5WmXUv5fSgP3kGRlxzVLZUoOc9kNlUL1heq4+r3o/s8I4WsDLoXnVA/cAIJOpFVyVHfXWRFtxAQBPvR/q9dCi15k9tgtA/OGsAiBL0cDo0MHRAAAAWRnNwAAAAAAQBYIqAAAAAIgCY6oAAAAAIAr0VAEAAABAFAiqAAAAACAKzP4XRAvxaYZ5LTwHAAAAIPs6ePCgW0NOi4UfDUFVEAVULNsFAAAAICEVy/kSVAXxPVSnn346RxEAAACQjS1atCjF2zKmCgAAAACiQFAFAAAAAFEgqAIAAACAKBBUAQAAAEAUCKoAAAAAIArM/gcAAIAUO3z4sFu/B4iHmb9z5coVk9ciqAIAAECK1uxZv369bd++nW8LcaN48eJWtmxZt8hvNAiqAAAAcFQ+oCpdurQVLFgw6kookNmNBHv27LGNGze6++XKlYvq9QiqAAAAcNSUPx9QHXfccXxbiAsFChRwvxVY6diOJhWQiSoAAACQLD+GSj1UQDwp+L9jOtpxggRVAAAASBFS/hBvcsQojZWgCgAAAACiQFAFAACAbOOiiy6yUaNGJbvNq6++aqeddpr98MMPaXqP9u3bW+/evQP3P/nkE1u+fLml1dSpU6169eqW2fSZ9NmO5p577rGPPvoocH/ixIl26aWXWu3ata1Fixb22WefJdp+zZo1duedd9pZZ51l559/vj399NNuHJ/3yy+/2FVXXeX+3qtXr0Spepps4oILLrBff/010Wtu2LDBmjVrZn///bdlBIIqAAAA4H8OHDhg48aNs4cfftgFAWmhoO2hhx5yt//66y+76667bMuWLdniO54xY4bt2rXLBVE+IBwxYoR1797dpk+f7gKge++915YuXer+rgDp9ttvd7enTJli/fv3t9dee82effbZwGv269fPvd6bb75py5Yts7feeivwtwkTJti5555rp5xySqL9KFOmjF1xxRU2ePDgDPncBFUAAADA/+TOndsFBq1atYpq7aMiRYoEpu7OLg4fPux6mXyQJB9//LHrfbr88sutQoUKdt9997nJIb7++mv39w8//NDWrl1rTz31lAuMLrnkEuvWrZu9/PLLLsAV9fJdffXVVrVqVfdavldKgap6FfWa4ahX7b333rM//vgj3T87QRUAAADwP6rgn3POOTZv3rxAT4t6SdSL0qRJEzvzzDOtS5cuLr2sR48eVqdOHWvcuHGi3hOf/qe0tosvvtg91qFDh0Da4YoVK6xTp07uuQoS1IuzadOmqP4H2p+uXbu6fa9fv77rHfv9998TbfPSSy+59MczzjjDbr31Vhs9erS77y1YsMDtp9LslP6o9DkFJSk1e/Zs27Fjh+s58jQF//z5813PlALMWbNmuZ6s008/PfCetWrVsmLFigWe06BBA5e2t2TJEne/fPny9t1337kg68cff7QTTzzRPa7v8/rrr3eL90YKbhs2bOg+d3ojqAIAAEDa7d4d+WffvpRvu3dv2rfNgEDrgw8+cGmBI0eOtDlz5rieEwUDb7/9tguqlLa2bdu2RM/TgrJKWfMBwG233eaCn7Zt21qlSpVcIPbcc8+5AEI9YxoflBZ6nh/r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6Zm9K4hjeXJl/XJwT/N6dujQ4czeFcSx3LljVw4UG+i4TdH7WhbhJ5hQYBQsX758tmPHjrDbh27rt9+/f3+a9sF/aSn98lKqcL4CMX09IJJYH7uxUqxgwczeBWQTWbUMSInChTJ7F5BNZOVyULIo5QDHTjnQaxxzQVX+/PkDY6v8bVGAVKBA0qBE24SbwELbF0xjBa5OnTppeh4AAACA7CvLjKnyqXwbN25M9LjulylTJsn2ZcuWTbKtgqzt27e7lEEAAAAAyFZBlWb7K1y4sM2bNy/w2M6dO23x4sVuHapQekxjrTSluqfZAOXss8/OoL0GAAAAkN1lmfQ/jY9q166dDR061EqWLGknnniiDRkyxPVINW3a1A4fPmxbt261IkWKuNS/M88808466yzr2rWrW5tqz5491q9fP7v22mvD9mwBAAAAQHrIkZCFpohR4DR8+HCbOnWq7du3z/VGKVAqX768rVmzxi6++GIbNGiQtWjRwm2/ZcsWe/TRR+2LL75wE1Rcfvnl1qdPH3cbAAAAALJdUAUAAAAAx5osM6YKAAAAAI5FBFUAAAAAEAWCKgAAAACIAkEVAAAAAESBoAoAAAAAokBQBQAAACAqCdl8QnGCKiCVli5daq+++qp9/fXXfHfIVg4cOGAbN27M9hdOZO8ysGLFCreWJoB/qEy89957liNHjmz9lRBUAUexYcMGe/nll23//v02btw4u/XWW23gwIH2/vvv2969e/n+EPe+/PJLu/rqq+2MM86wxx57jAolsmWl8ZZbbnFloHPnzvbbb79l9i4BmU6NCxdddJFdeeWV1qtXL/vll18sO2PxXyBM9/U333xjr7/+us2bN8/27NljBQsWtNdee81KlChhxYoVsyeffNJtM3bsWCtXrhzfIeLG6tWrbfbs2fbXX39Zw4YN7dJLL7U///zTFi9e7Hpp3333XXvjjTesdOnSmb2rQMzP/WppX7dunU2fPt2WLVtm9evXtyuuuML9XfdVPkaOHOkqkJdddhn/AWSbcvH999+7epGuDVdddZW7PlSsWNGVF5WLJ554wjW+3X777ZZd0VMFhFi4cKE99NBDtn79env66aft888/d6l+J510khUpUsRtc95559ny5cvdyQWIFx999JFrjdcxr8YE9cjeeeed7sJ5+eWXu9ZIlYvff/89s3cViJnDhw+736o4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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Base de Nivelación: '(0.256, 0.565]' (Tasa ponderada: 69.0%)\n", " =====================================================================================\n", " ✅ [JUSTO] '(0.219, 0.22]': DIR = 0.96 (66.3%) | ✅ [JUSTO] '(0.215, 0.219]': DIR = 0.94 (64.6%)\n", " ✅ [JUSTO] '(0.22, 0.256]': DIR = 0.95 (65.6%) | \n", " =====================================================================================\n", "\n" ] }, { "data": { "text/markdown": [ "### 🔍 Verificación Post-Tratamiento en: `education_num`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1UAAAGhCAYAAACJY57gAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAhblJREFUeJzt3Qm8jGX/x/Gffc1WtoiUp0QKhTxFWh6ltEmbUHlI/xZli0qSFsq+RCkSknYtVCrti0i7pSwV2XfZD+f/+l665rnPmDnOnBnHMefzfr3O68xyzz33zNzL9buW35UrNTU11QAAAAAAmZI7cy8DAAAAABBUAQAAAECcaKkCAAAAgDgQVAEAAABAHAiqAAAAACAOBFUAAAAAEAeCKgAAAACIA0EVAAAAAMSBoAoAAAAA4kBQBYQZPny4nXjiiRn669GjR7b7/lq3bp2hbf/ggw/2e+2OHTvs5Zdfdus466yz7NRTT7ULLrjAunfvbj/88EO639drr70WdZv0nJbRskF67Nxzzz3gY9Ho+9fyM2fO3O+x4F+1atWsbt26du2110bczkiv8a87/fTT7bLLLrORI0farl27om7L9u3brU6dOu51L7zwwgG3OfhXvXp1O+2006x58+Y2atQot670ZPS9MurLL7+M+Ptk9T6bkpKSoeU3b95s69evt+xC237ddddFff7FF190y9xyyy2WmpqaJdv0xx9/JPwcpeNS61y2bFnE53WO0L6s/SlIx6dep985J9B+nB0/7++//x7XcQcgfXkP8DyQ4/znP/+xSpUqpXmsb9++tmHDBnv88cfTPB6+XHZyzz33WMmSJaM+f/LJJ+93wb3jjjvs119/tYYNG9p///tfK1KkiP3555/25ptv2pQpU+zGG2+0bt26Wd682f/UoQLscccd526r0LBx40abMWOG+16WL19ut99+e7qvERWAV6xY4T770KFDbdGiRTZw4MCI7/fuu+/a1q1brXDhwq4QnV4hO/y99uzZ47ZPhc8hQ4a47/v555+3UqVKJeS9ksknn3xid999tw0bNszq169v2YHOC0ceeWTE57QPjRs3zsqVK+fOI7ly5bJkpPPHbbfd5vZlZD+qFNLfzz//nOYc1KJFC8uTJ88h3TYgWWT/khGQxdQ6ob8gFagVVKnF4nBx/vnnW8WKFTO07N9//21t27Z1BfsxY8a4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d+6xCy64IEPbHG737t1umQsvvDCu9wp3/fXXp9asWTN10aJFocd27tyZeu2116b5ffbu3Zt68cUXp5599tmpGzZsSLOOl156yS07evTodN+rTZs2brkvv/wyzeOffPKJe1z7afg+27t37zTLjh8/3j0+cODA0GODBg3a7/vTtuixadOmpXn96tWr3TF60UUX7ff99+zZM82yr732mntc6w9+hho1aqTOmzcvzbJ+f/CP67a+w3g++6hRo9IsO3z4cPf4iy++mJqeu+++2y03c+bM0GN79uxJvfPOO93j+rxeu3bt3LH7xx9/pFnHF1984ZZ94IEHUuPhzwVaX2b47yL8txk3bpx7fPDgwe7+n3/+mVq9evXUpk2bpm7dujW0nPbbzp07u2X1e8rSpUvdfZ07w4/7SHS8R9oXdQ5u3bq12x9WrFjhHhs6dKhb9vXXX0+zbL9+/fb7nf1+9/vvv6dZVvfDf6eM7Hfr169330HwXOB17NjRLffjjz+GHvPHeKTvW+cbGTFihLs/ZMiQNMutXLnSnfdPO+201M2bN6f5rdu2beu+d0/7oR7X75AZsRwPuk7ouhjOn6OC1yR//p8zZ07osV9++cU9Vq1atdSff/459PiCBQvc4127ds3UZ0DORUsVEMf4HNXuqnYvmD1JNcaqHfQ1maIaL1Htp2r3VRuv7mRKgKA/77zzznO1rOFdzVRbqNo51b6r9jJYA5tebetRRx0V8Tll9cssvXdmM3xlZeYz1Zb6hBL6ztRyp1pcZcu78sorXXa98O9H2csiKVGihMuGGKn2X93xJDieRF2G1L1wyZIlrlVHv3cs/IDy8O8rnvdS9y6NxVKXmWCGQ7UyqHbadw8StaqoJVW15Prugi2e6i6mfVitIWohiETLaz9W16Hw7VHtsx5XS+66devSjM8J//71/qpJVo27auKjUSuCWl7VYhzcVh2Xej91b1XrkR/bI+qmFORbINesWRP6vrSNasENT0zStWtXV2se3tIWz2c/0PZEopYJtXxp+7Te4DGq/VUts566h37++eduG9TaE/ye9PpjjjnG/aYaV3mohR9nalVUy5P2A3Wh1naqVV/7X/BcqeNFXfzUGqHWGj8OUtSq6Vu50qPXiloowlv69Zh+248++si1JKllTOeG8N9O26WWtMzI6H6n41bHc/i5WOc5n0jEX38ySl3g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xBFHhOZDyin27NnjWpl8kCQffPCBa3268MIL7ZhjjrE777zTZdz76quv3PPvvfee6232+OOPu8Do/PPPt86dO9tzzz0X6q2mVr5LLrnEjj/+eLcu3yqlQFWtilpnJGpVU3zwxx9/HPTPnm3mqVKLVKSJt5Qz3j8XlD9/fuvXr5+LXE8//XSXuUPLTpw40XLnzh33RGAAAADYZ+fOnW5YhgrNwW5Zztat0b8mzftTsGDGllX57Z95g2JeNsaynv8skahlSa0i48aNs3r16tnrr79uTz75pLVt29aeeuop1yOqUaNGdu+999qAAQPsww8/dBX6t99+u1155ZVuHTfccINVqFDBtcj4Fps2bdq4bnFabtGiRS6ImD17tmskUG6Au+++20qXLh1xm7S9Em2bfXc3rfPzzz93ZWF1levWrZsde+yxabrhTZgwwdauXeueP+2001xLkgIf0faohejnn392AY2CIPUEu/TSS0Pfnf6ibce7775rmzZtcp/HL1OqVCm3/rlz57qgScuoJUsNJ1pGjSe6XbRo0dBr6tat6xpMtB2nnnqq+y61bYoTfvjhB5d/QcsqF4O6E+p7i7RNCmyVe0HDhNTyGIlep+93+/btoe/Z02fNaHbAbBNU6YP4YCmoQIEC7scJpw85b948q127tht3pS9ETYvaWdVkqB8mM9QEqfUCAAAgbQuOgqtwRYoXj/o1pVxwge189dXQ/cLly1uuKJXXe846y3a8++7/lj3uOMsVpcvcnjp1bMenn2bq51EZMiUlxXbs2BHxef8ZFVRoGZUNV6xYYe+8844rxCt4UXK0r7/+2pVBFWwpUOnTp4+deeaZrpXKB226refUYtK/f3/XI0tJ2HRf432UH0BlYAVt1113neve5iekDfJjiKJts9ahoE1DYp5++mkXVKmh4dprr7WXXnrJNTy8+OKLNnToUBe8qfysMU/KZ6BuclqvJsBVAKUWunvuucd9RwosFYwo+NKkzz4AibYd77//vguogsvoO/rtt9/siiuucJPr6jmtX2PWtIxaqRQUBdfpe53pu9JYMrVcaSyVugbWrFnTLr/8ctcNUO+noDDa9oh+kzFjxrgAM9rvrc+6ePHiiM+HxybZPqhSdz6/A/vb/oNG2rm0Y2tn0cA/H0BphzznnHNcP8sbb7wxU9uRL18+q1q1aqY/BwAAQLJReUyF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okRo3z6k2f+mTZtm33zzjZt52fdJ9JGf8uBrXBUAAAAOb6ooV2bnMmXKuElegcNdvnz54m6hSkhQNWLECPd3xBFHWEpKituwvHnz2vr16y137tx21VVXJWQjAQAAkD2oEJqogiiQLOKa/Ffjqy6//HLXUnXjjTfaOeecY19++aW98sorrilNWf9yur2pew/1JiCHYF8DAAA4NPLGO1PxJZdc4pqDTzrpJJs6dap7/OSTT7ZbbrnFXn75ZZctMCfLnSu3vfD1u7Z68/pDvSlIYmWKlbLrzrjwUG8GAABAjhRXUBXM/FK5cmVbtmyZ7dixwwoWLOiCLN2HuYBq+cY1fBUAAABAEoqr+58m/Z0yZYq7XaVKFde/9quvvnL3Fy1aFHUeKwAAAABIFnG1VKmLnyYC3rx5sz355JN26aWXusl+69evb59//rmdf/75idtSAAAAAEi2oKpu3bouKcWCBQvc/V69ermsf3PmzLELL7zQevTokajtBAAAAIBsKe55qqpVq+b+pECBAvbQQw8lYrsAAAAAIDmDqlmzZsXcmgUAAAAAySrmoKp169ahjH/hUlNT3f/g8/PmzYtn+wAAAAAguYKq8ePHh24vX77c7r//frvyyiutadOmVrp0adu4caPNmDHDJk+ebH369En09gIAAADA4R1U1atXL02r1Y033mhdunRJs0ydOnXcXFXPPvusXXTRRYnZUgAAAABItnmqfvzxR2vQoEHE52rXrm2//vprPKsHAAAAgOQOqsqVK2efffZZxOfeffddq1SpUjyrBwAAAIDkTqmuiX979+5tq1evtnPOOcdKlixpa9eudQHVxx9/bIMGDYppfXv37rURI0bYyy+/bFu2bHGZAzX31THHHLPfssOHD3fLRtK8eXPr27dvpj8XAAAAAGRJUHXttddaSkqKjRo1yqZOnRp6vHz58jZgwACXvCIWI0eOtEmTJlm/fv1cK1j//v2tXbt29tZbb1n+/PnTLNu2bVv3/kEaw/XCCy+4cV4AAAAAcFhM/tuqVSv3t2jRItu8ebNrrTr22GNjXs+uXbts7Nix1rVrV2vcuLF7bPDgwdawYUObPn26NWvWLM3yRYoUcX/e3LlzXWZCTT584oknxvuxAAAAAODgj6kKOv74411yCh9Qbdu2zT799NMMv37+/Pm2devWNIkvihUrZtWrV8/QhMNK33766afbFVdckclPAAAAAABZ3FL1119/uTFV33zzjWtpiiSjk/+uXLky1HUwqEyZMqHnovnoo4/su+++sylTpli8NIGxAsJE0CTIhQoVSsi6gIzYvn17aBJuAAAAZJ7KVCrPH/SgSskg5syZY1dddZX7rwCiVq1a9sUXX7h06komEUthUMLHThUoUMA2bdqU7ms1lkqJMk466SSL1+7duzMcCB6Ivg+1tAFZZcmSJaFjCQAAAPEJj00OSlClbnmdOnVyY6omTpxoM2bMsG7dulnnzp1dIokPP/zQzjvvvAytS5MFi1q8/G3ZuXNnuq09y5cvt5kzZ9ro0aMtEfLly2dVq1ZNyLoyGtkCiVKlShVaqgAAABJg4cKFGV42rqBKY6B8UojjjjsulOI8T5481rJlS3vssccyvC7f7U/p2YPzW+l+eoknPvjgAytVqpSdeeaZlqhAqHDhwglZF5DV6G4KAABgWd5AEleiCo130rxUUrlyZddNb82aNe5+iRIlbN26dRleV7Vq1axo0aKu1clTNkFl9dN8VdHMnj3b6tWrZ3nzxp3IEAAAAABiFldQdfbZZ9uQIUNckogKFSq4uaWUFv3vv/+2V1991cqWLRtTf0V1I9T8Vuo2qGyA6lqodTZp0sT27NnjArYdO3akeZ2CLgVkAAAAAHDYBVUdO3Z0ac+HDh3q7isIeu6551zLkibsvemmm2JeX4sWLaxnz5523XXXuW6EY8aMceOcVqxYYWeddZZNmzYtzWsUaKlVDAAAAAAOhVypceRf9mkGNe5JXQF9d7zvv//eTjnlFNct73Dy008/uf81a9ZM6HqHTp9kyzfu6xYJHAxHlyhtdzZpyZcLAABwCGKDuAYiXXLJJdalSxeXztzTBLz6AwAAAICcIK7uf+qSR7YxAAAAADlZ7nhbqsaNG+e6/wEAAABAThRX97/ff//djaFSFkAliwif30njrTSPFAAAAAAkq7iCKk3Yq9YqAAAAAMip4gqq+vbtm7gtAQAAAICcFlR5ixYtsi+++MKNrWrdurUtXbrUTchbtGjRRKweAAAAAJIzqNq7d6/16tXLXn311dCcVU2bNrWRI0fan3/+aRMnTrRy5colbmsBAAAAIJmy/yl4euutt+zhhx92LVV+HuFu3bq5gGvw4MGJ2k4AAAAASL6gSi1UHTt2tCuvvNJl//NOOukk97gCLQAAAABIZnEFVWvXrnUBVCRly5a1zZs3x7N6AAAAAEjuoKpy5cr2ySefRHzum2++cc8DAAAAQDKLK1HFDTfc4BJV7N6928455xyXqOKPP/6wmTNn2tixY61Hjx6J21IAAAAASLag6qqrrrL169fbqFGj7IUXXnCJKjp37mz58uWzdu3a2XXXXZe4LQUAAACAZJynqkOHDnb99dfbnDlzbNOmTVasWDE79dRT0ySuAJBzKRNo7txx9TQG2NcAAMk/+a8m+W3UqFEiVgUgySigGvT2m7Z03dpDvSlIYscceZR1bnapZVd79u61PFQugH0NSFoxB1Vt2rSJafnx48fH+hYAkowCqsWrVx3qzQAOGQVU941/xZasonIBB0+VskfZI21a8BUDh0NQ5Sf49b777juXoKJWrVpWunRp27hxo33//fduOSWvAAAA5gKq+ctW8FUAQBKKOaiaMGFC6Pa4ceNcoooxY8ZYuXLlQo/rsZtvvtkqVqyYuC0FAAAAgGwortHjzzzzjN15551pAiopVaqU3XLLLfbiiy/Gu30AAAAAkLxB1Y4dO/brDuht3bo1nlUDAAAAQPIHVWeccYYNGjTIFi9enObxX375xYYMGWJnn312vNsHAAAAAMmbUv2+++5zc1Q1a9bMjjnmGCtZsqStW7fOli1bZv/617/s3nvvTdyWAgAAAECyBVXly5e3qVOn2muvvWbffvutm/y3QoUKbkLgyy67zPLly5e4LQUAAMBhi/nakMz7WtyT/xYqVMi1VukPAAAAiESF3B5DJ9uSv1bzBeGgqVKhjPW781rLanEHVUuWLLFPPvnEtm3bZnv37k3znOavuu222zK8Lr1+xIgR9vLLL9uWLVusbt261qtXL9e1MJLdu3fbsGHDbMqUKW75k08+2XVJPOmkk+L9WAAAAEgwBVTzlizne0XSiSuoeuONN6xHjx5RMwDGGlSNHDnSJk2aZP369XNp2vv372/t2rWzt956y/Lnz7/f8r1797aPP/7YLX/00Ufb0KFDrX379vbOO+/YEUccEc9HAwAAAICDH1QpCPr3v/9tDz/8sAuCFERl1q5du2zs2LHWtWtXa9y4sXts8ODB1rBhQ5s+fbpLhhG0dOlSe/XVV+3JJ590y4i24/LLL7eff/7ZGjRokLkNUYAYLR18njxmBQv+7356aePVj7NQodDd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Tx7Xhe+rr76y7777znXlq1ixontO/zXBcLSAqn79+u55vzwAAAAAZPugasKECXbzzTfbnXfeaTVq1Ag9fvbZZ9tdd9110CYKBgAAAICkCKqWL19u9erVi/jccccdZ2vXro1n9QAAAACQ3EGV0qCrm14kP//8cyhNOgAAAAAkq7gSVbRo0cKNqVI2vsaNG7vHtm3bZu+9955LXqGxVgAAAACQzOIKqtq3b++y8ikNuv6kTZs27v8ll1xiHTp0SMxWAgAAAEAyBlVKod6nTx/XIvX111+7+ao0j5RSoTMBLwAAAICcICGT/2qiX/0BAAAAQE4Tc1B1zz33xLS8JusFAAAAgGQVc1A1c+bMNPdXr15tKSkpdvTRR1vp0qVt48aNbuLf/PnzW7Vq1RK5rQAAAABw+AdVwQl933rrLZegQhkATznllNDjCxcutFtvvdWaNm2auC0FAAAAgGSbp2rw4MHWuXPnNAGVVK1a1e666y575pln4t0+AAAAAEjeoGrDhg1WrFixiM/lzZvXzVkFAAAAAMksrqCqVq1aNmrUKJdKPXyclboE1q9fP97tAwAAAIDkTanevXt3a926tZ1zzjlWu3ZtK1GihK1bt86+++47K168uAu4AAAAACCZxdVSpex+b7/9tl1zzTX2999/288//2w7duywtm3b2ptvvmkVK1ZM3JYCAAAAQDJO/lu2bFnXYgUAAAAAOVFcLVUAAAAAkNMRVAEAAABAHAiqAAAAACAOBFUAAAAAEAeCKgAAAADIyux/99xzT0zL9+3bN9a3AAAAAIDkDapmzpyZ5v7q1astJSXFjj76aCtdurRt3LjRli5davnz53fzWAEAAABAMos5qJoxY0bo9ltvvWUDBgyw4cOH2ymnnBJ6fOHChXbrrbda06ZNE7elAAAAAJBsY6oGDx5snTt3ThNQSdWqVe2uu+6yZ555Jqb17d2714YNG2YNGza0WrVqWfv27V2rVzS//PKL3XDDDVa7dm0744wzrFevXrZly5ZMfx4AAAAAyNKgasOGDVasWLGIz+XNm9e2bdsW0/pGjhxpkyZNsoceesgmT57sgqx27drZrl279lt27dq1dtNNN1mFChXstddec6/99ttvrUePHpn+PAAAAACQpUGVWpNGjRplmzZt2m+clboE1q9fP8PrUuA0duxY69ixozVu3NiNx1JL2MqV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PdUeeOAB++uvv2zFihWHejOBhFu2bJl99913litXLnf/119/tfXr19u6detsyZIlLsgCctK14JNPPrEXXnjBfv/9d/dYkSJFXEB1yy232KJFi2zlypWHejOBg0o9c7788kv74osv0rTSVq1a1cqUKWO//fYbv8AB5Er1VZVADqJC45133ulaoipVqmTz5893F0/VyOTPn98tc9ZZZ1mbNm1cbSWQDL755hvr27evKziWLl3aTjrpJLvjjjvcRVMmT57s/rp27er2fyDZKWDq3Lmzbd682cqXL29//vmn3X///a5mPm/evK5i7eKLL7YHH3zQLrnkkkO9ucBB8dprr9mgQYPcPl+wYEGrUKGCDRw40EqUKOGef+KJJ+y9996zwYMH2/HHH8+vEAUtVciR1IydL18+e+WVV2zs2LF2ww032IQJE+ydd94JLVOnTh1Xa7N9+/ZDuq1AImzbts21yiqA0n7ds2dPV/uuwqLGD8qJJ57oau3nzZvHl44c4bHHHrPKlSvbW2+9Zc8884yde+65rgDpa+vVYlWjRg3XqwFIRsuXL7enn37a2rZt6/bzRx55xFUuqALO91qoUqWK6y7+ww8/HOrNzdYIqpBU1FQ9Z84cV4CMZseOHTZ37lxr2LChlSpVynLnzm033XST6/an7h9eo0aN7JdffnFdooDDdRCx74ygi6G6uV5zzTWum6v2b42jWrBggU2fPt0to7GExYsXd7X3Cq6Aw9Xff//t9vf0BterMKmusLoWFC1a1AoXLmy33XabHXnkkaFrgR6rX7++zZ49m2MCh52tW7dGLQ/5a8OHH37oykFqnZXTTjvN9eRROemzzz5zj51wwgnu2qAxVoiOoApJYeHCha6WRRfHbt26uS5Nn376qXtu7969aZbVWCl18fOP68Si5u5LL73Ufv75Zze+RHQh1YVZ6wayI42LateunZ199tl23333uYujBHt1+3FT6tahCoJTTjkltMy//vUv1zr19ddf24YNG6xAgQKuRlIFTdVUAoebr776yq699lo755xz3LXg1ltvtY8++ihqghZdB3T+94466ig7//zzbebMma5AquPm9NNPd8suXrw4yz8PECtViE2ZMsWaNm3q/tSdVS2x4fu//6/lVdmsLn++Mk3lH1Uu6HiSY4891ipWrOiOgV27dvGjREFQhcOOAp3gCUEHuLpt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/auuuspefPHFQ7pNAIDsK++h3gAAQPby7LPPWsmSJe3pp5+2vHn/d5k4//zz7cILL3StOKNHj7acpFy5cu4PAIBIaKkCAKSxdu1aN55o7969aR4vXLiw3Xvvvda0adOYuxJ26NDB6tSp4/5uu+02W7p0aZpl1Ap2++2322mnnea6HCqwC6fud+qGFxSpW94nn3xi1157rdWqVct1W+zVq5dt3rw59PysWbPsv//9r9WtW9d1bTz33HPdevzn9esbMWJE6Hak95k2bZo1b97cateu7bZZ77Np06Y02/af//zHPv74Y7vkkkvce11wwQU2ZcqUmL4/v03PP/+83XfffVavXj33nnfeeaf7rTx9jh49eqR53WuvveZeu2zZstA2KTB+//33rVmzZlazZk277LLL7LvvvnMtkGqRO+WUU9xzX331VczbCQA5FUEVACCNxo0buyBHgYkK8osWLQolbVCB/IorrsjwN7ZkyRK3nnXr1tljjz1mjzzyiAuorrvuOveYbNu2zVq1auWCr4ceesjuv/9+e/nll11BP1YfffSRC+COPPJIGzJkiHXt2tU++OADNz5MNCbsxhtvtBIlStjgwYNt1KhRdvrpp7sA6p133nHL+G5+LVq0iNrlT611nTt3doHbsGHDXKD43nvvuTFgO3bsCC23Zs0a69Onj7Vp08a17lWsWNG6d+/uvtNYaXsV+A0aNMh1x9RnffTRR2Nez8qVK61fv352yy23uG6OCjg7duzoPo+CqieeeML93vrOgp8FABAd3f8AAGm0bNnSBQNK1KCAQNQdUK0+Cg7UkpFRClYKFSpk48aNs6JFi7rHGjRo4LoSPvPMMy7AeP31110Q9/bbb1vVqlXdMqeeeqpr5YmVWmJOOukk9765cuVyj+XPn98FD2rVUVD173//2/r372+5c++rV1Qr04wZM2zmzJl28cUXu0BJ1N3P3w5Sa5SCMY0vU+uUd8IJJ9j1119vr776qvsvGpelQFKfWY499lg755xzXGva8ccfH9Nn0/r79u0buv/jjz/au+++G/N3pG164IEHrFGjRu7+woULbeDAgW47FUj6QFeBloJifZ8AgPTRUgUA2I+6ln322WeusK2CtgKit956ywUS48ePz/A39vXXX7vuagULFrSUlBT3p3WpdejLL790y8yePdsqVaoUCqikfPnyEQOa9KhVZe7cuS5g8wGVXHTRRa4V6aijjrLLL7/cjRXbvXu3C7D0uFqa9uzZ4x7LCHWT27Vrl+siF6TPVKFCBfvmm2/SPB78HH5cloKWWIV/H1pXMJlGLNQN09P34gNZTy15Euw2CQCIjpYqAEBExYsXd4GDDx4UsHTr1s218miMkFqvDkQZBDX2SH/hSpUqFWr5ibSu0qVLpxkzdCBaj7qtqetfeoGXuhi+8cYbLsBTdzyNT1JCjozOS+XHTflgJEiPbdmyJc1jaqnzfOtYZubACq7Hryuzc2n5VsP01g8AyDiCKgBAyKpVq+zKK690LVUaXxNUvXp1N87GJ5rISFB1xBFHuO52N9100/4XoH8yC2o9f/zxR8SALJxalIKCLT4KFNRCtX79+jTL7Ny507WYqSVGLW9qndJ4K22Xkm+I756X0WBTFPAdd9xxaZ5Tt8ljjjnGDpX0vh8AwMFD9z8AQJqWFgU7kyZNcsFIuMWLF1uBAgWscuXKGfrW1PVPY3Y0LkeZ5vSnLHgaY6UMdHLGGWe47HQ//fRT6HUKjMLnw1LQpKAvaM6cOaHbRYoUce+jBA5Bn376qd188822evVq+/bbb61+/fqui6APqH7++Wf3fsFsh75FKRIFZxqnpTFgQerGqLFhwa51WUnfj5JQBOnzAgAOPlqqAAAhefLksd69e7vWKLVYKeGCEipo7M4XX3zhsgGqFcu31hzIrbfe6rL/KSOfMv4pIFNGPWXk01gmUUpvjdNSSnW1hCk4UCKI8JTuyko4depUF9QoqFO68PAWLiVX+L//+z+XyU7jp9SapGx5CqKU6EFJNpTl74UXXnCfS+Oq9F5q4QqOTypWrJgL2JR+XWOlgjTeSEGasuTly5fPJZ5QUKhkGBoXFkt2xETSdjz11FPuT9+Rkm+ohQ4AcPARVAEA9gteXnrpJZf978knn3StOGqZUfc/pfVu0qRJhr+xatWquUBMr1MacI0BUnCjgOS8885zy2jdzz33nEsPrgx0CnCUEEPd6HzadbnnnnvcOCilZldrmhJQdOnSxXr27JkmsNA2K/ufAkON29L4rzvuuMM9r3mclJBC3f+UbEJjqhSEqTVNQYi6zymwVLpxpU1v3759xPFgWp9a9SZOnOiCRAVaSjd/1113hVrAspoCV/1W+t30GfU76vvU5wMAHFy5UjM7yhUAAAAAQEsVACB2ajE6EI1LSm9sUk6n7o3hXRwj8Qk9AADZFy1VAICYaPyQ77qXHo2R8t3usD91RdTExweyYMECvj4AyOYIqgAAMdFYpIwU9MuUKWNly5bl200nON2wYcMBvx9lTAQAZG8EVQAAAAAQBzq7AwAAAEAcCKoAAAAAIA4EVQAAAAAQB4IqAAAAAIgDQRUAAAAAxIGgCgAAAADiQFAFAAAAAJZ5/w9p1ifKKDq7XwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Base de Nivelación: '(12.0, 16.0]' (Tasa ponderada: 75.1%)\n", " =====================================================================================\n", " ✅ [JUSTO] '(9.0, 10.0]': DIR = 0.85 (64.1%) | ✅ [JUSTO] '(0.999, 9.0]': DIR = 0.82 (61.8%)\n", " ✅ [JUSTO] '(10.0, 12.0]': DIR = 0.85 (64.0%) | \n", " =====================================================================================\n", "\n" ] }, { "data": { "text/markdown": [ "### 🔍 Verificación Post-Tratamiento en: `marital_status`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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G264IfT322+/bUuWLLHMev75561BgwaW0/SZ9NkycuWVV9obb7wR+nvq1Kn2f//3f9akSROXxfvdd99Ns72yfF922WV25JFH2jHHHOOWSVJyFO+7776zjh07uscHDhyYZv6TMvgde+yxLpFK0KpVq6xDhw72999/W3YgqAIAAAD+Z8eOHfbggw/azTff7IKAzFDQdtNNN7nbv/32m11++eUuy1x+8NJLL9lff/3lgigfEI4ZM8b69etns2fPdgHQVVddZYsXL3aPK0C65JJL3O0ZM2bY0KFD7cknn7T77rsv9JpDhgxxr/fMM8/Y999/b88++2zosSlTpthRRx3lsvcFValSxU4++WS7++67s+VzE1QBAAAA/1O4cGEXGJxzzjkJLSjr103NT6sX7d692/Uy+SBJ3nzzTdf7dNJJJ1mtWrXsmmuucRn3Pv74Y/f466+/br///rvdc889LjA64YQTrG/fvvbYY4+5AFfUy3fqqadavXr13Gv5XikFqupV1GtGol61F154wX755Zcs/+wEVQAAAMi8zZuj/2zbFvu2W7dmftskUgW/adOmNm/evFBPi3pJ1IvStm1bO/zww61Pnz5ueFn//v3tiCOOsDZt2qTpPfHD/zSsrV27du6+Hj16hIYdLl261Hr16uWeqyBBvThr1qxJaL+1P9ddd53b9xYtWrjesZ9//jnNNo8++qgb/njYYYfZRRddZBMmTHB/ewsWLHD7qWF2Gv6o4XMKSmI1Z84c27hxo+s58rSu2fz5813PlALMV155xfVk+bWf9J6NGze2cuXKhZ7TsmVLN2xv0aJF7u+aNWvaZ5995oKsr776ymrUqOHu1/d55plnWtWqVaMGt61atXKfO6sRVAEAACDzSpeO/nPmmWm3rVw5+rYdOqTd9oADom/bpk22/scUaL322mtuWOC4cePsrbfecj0nCgaee+45F1Rp2Nr69evTPK9atWpuyJoPAC6++GIX/HTt2tXq1KnjArH777/fBRDqGdP8oMzQ8/xcp8cff9ymTZtmFSpUsLPPPtu9n6hHR8PwNN9JgVLz5s3TDLHTduphUrAzc+ZMmzVrlgu+NIxx7dq1Me3Hm2++6QKqokWLhu7r3bu31a1b1zp16uS+L/VC3XLLLS74k5UrV+4TFGmRafnjjz/c70GDBrlhfBqOuWvXLjv33HNt2bJlbt6W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rqtUwe6ecEvo78tvGW+1floecdu/y5Sy2x++M/T3xcMesHoLl0bcdkexonbz1HtCf3cb/Ygd/MVCi2bgU/eGbp8z4XE7bN5XUbcd/NjdoSCs80NPWdN350fd9raH7rDNZUu72x2nzrKj5nwQddvh42+29ZX3c7dPnPGyHTv77ajbjh450FbVquZuHzfzDfu/Z1+Puu34O/vaivr/LFZ99Cvv2SlPvBh12weGXGU/NT7I3W7x1kd2+pTnom77yMBetvjIxu72ER8ssLMnPRl128evvdD+7FD1nz9mzjQ7++yo29ojj5hdeOE/t19/3axjx+jbTphg5hPNvP++2XHHRd/2nnvMfNbOzz83a948zcN3B24/ecLxNqP9Ce52zdVrbMLosVFfdmab1vZoxw7udqUNG+2h4SOibvtKqxb2wBn/rFFXdvNmm3bbXVG3feu/R9q4c/5ZIFMB1dODo2cQ/fDQQ+ye7l1Df6e37YKGDez2iy8I/T311juteJQK9zcH1rXBl/cK/f3QsHus3ObI55Mfa9aw/n3+TfozYdS9VmX9hojb/lqlsvXud23o71HjJ1rtVZHTF6+qUN4uHXR96O+7Jj1oB634LeK2G0uVtB63DA79PWTyo3boT8sibrutSBE7585bQ3/fMG26NV2cNntrUKd7/v1fXTfjGTv6m2+jbnv2HUNDQdiVz82ydp99/u+Dl12ZduPVq80qVfrndt++GrOe/rn/gAP+uX3TTWYjR0bf9ttvzRr/Uz7trrvMbv33s+7j00+1Wr272eGDudb1lZlRN+3VuYd9VvOffej87ed2w7uvRt22z6nn2gd1//PP637/jd36ZvRzz/UdutibBzVyt49butjuefXZqNvecsJpNrtRE3e71S9LbNzsGVG3HX5sB3v68H8+2xG//2oPPT816rb3Hn2CTf3vUe52wzV/2ONPTY667QPN29gDLdu623XXrbFnn7g/6rZTj2xl9x7zf+521b822suPjou67dOHNrXhx53sbpffusXmPjwq6rYvHny4Df2/f84nCqg+mjQ86rZv1D/YBp58Vujv9LZ9/4D6ds1p/55P3npolJWIErAtqFHHLj3z3/PJy4+MswrbIp8jvqtc3bqf2/PfOxo1Mvvll8g7oce+++7fv3V8LoxyDa9Tx+znn//9u00bswULIm+7//5ma9b8+3eHDmbv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4osvrFy5ci7gipWSWpQuXdolwqhdu7a7b9OmTbZw4ULr1q3bPtt/9NFHds8999gHH3wQ6i379ddfXe9ZvXr1EvlYAAAAAJA9PVUKhF566SU755xz7O+//7Zvv/3Wtm3bZhdffLG9+OKLVrNmzZhfS3OpFDxpftRbb73lsgFed911VrVqVWvfvr3t3r3b1qxZ415flA1QQdyAAQPsxx9/tAULFlifPn3c/C4FeQAAAACQ63uq/JA79Vglg4IipWcfPHiwC56aNWtmkydPdskjVqxYYe3atXPJLzp37uwCqscee8yGDx9u5513nhUqVMg9rsV/dRsAAAAA8kRQpflLn332mUsw4e3Zs8dl41PvUTyL8SoYUs+TfsKp1+v777/fJ6vHAw88kOAnAAAAAIAcCqpee+0169+/v+td8tkxgotkHXjggYm8PAAAAACk9pyq+++/3xo3bmzPP/+8G5LXqVMne/nll11Pk3qdbrzxxuTtKQAAAACkWk+VVioeNWqUNWrUyKVPnzJlisu8p5+1a9e6oOvoo49O3t4CAAAAQCr1VBUsWNClTpc6deq4taM0n0ratGkT1yrEAAAAAJDvgirNmfr8889Dt5WsQqnQ/RpTweQVAAAAAJCKEhr+d+6559ott9xiW7ZscWtKtWzZ0gYNGmRdunSxxx9/3M23AgAAAIBUllBP1VlnnWU33XRTqEfq9ttvt+3bt9udd97pMgLqMQAAAABIZQmvU3X++eeHbteqVcteffVVW79+vVWsWDHRlwYAAACA1O6pikRrVBFQAQAAAMgv4u6patiwYWhx31gsWrQo3rcAAAAAgNQNqq666qpQUKX5U4888ogdcMABduKJJ1qlSpVsw4YNNnfuXPvhhx/siiuuyIp9BgAAAIC8G1T17t07dPvGG2+0tm3b2vjx49P0Xl1++eU2YMAA++6775K3pwAAAACQanOqlJTinHPOiTgcsFOnTvb+++8n8vIAAAAAkNpBValSpezXX3+N+NjChQutXLlyibw8AAAAAKR2SvVTTjnFRo8ebUWKFHHDACtUqGB//vmnvfbaa3bfffdZr169krenAAAAAJBqQVW/fv3sjz/+sCFDhqQZArh37147++yzXVILAAAAAEhlCQVVRYsWtXHjxtmPP/5oCxYssE2bNrneqpYtW1rt2rWTt5cAAAAAkIpBlXfQQQe5HwAAAADIb+IOqnr06GG33HKL1atXz91Oj4YEPvbYY4nsHwAAAACkVlCl+VKRbme0LQAAAACkoriDqmnTpkW8DQAAAAD5UULrVAEAAABAfhd3T1XDhg3TpE9Pj7bTIsAAAAAAkKriDqq09lSsQRUAAAAApLq4g6revXtnzZ4AAAAAQH4IqmbNmmXHHnusW+RXtzNy+umnZ3bfAAAAACD1gqobbrjBnn76aRdU6XZ6NEww3qBqz549NmHCBHvmmWfsr7/+smbNmtmQIUOsVq1aEbf/8ccfbcSIEfbVV19ZwYIF3fbar+rVq8f1vgAAAACQLUHVW2+9ZZUqVQrdTraJEyfa9OnTbfjw4Va1alUXMPXs2dNmz55tRYsWTbPt+vXr7aKLLrIjjzzSpXffsWOHe562nzlzphUrVizp+wcAAAAACQVVNWrUiHh769atrmepfPny+wQ/sVJQNGXKFOvfv7+1bdvW3TdmzBhr3bq1zZkzxzp27Jhm+zfffNO2bNli99xzjxUvXtzdpyBMz/3888+tVatWmdoPAAAAAMiyoCqceqsmTZrkUqfv3bvXChUqZE2aNLFrr73WmjZtGtdrLV682DZv3pwmGCpbtqw1atTI5s+fv09Qpe3Us+UDKtEQQNm0aVOmPo8+gwK1ZNDwxxIlSiTltYBYqHFDx3BuQRlAfi8DQjlAdqMcAJaUcqDnx5r1PKGg6pVXXrG+ffu6oOfqq6+2/fbbz9asWWOvv/66XXjhhfbwww9by5YtY369lStXut/VqlVLc3/lypVDjwXVrFnT/QQ9+OCDLsjS3KrM2Llzpy1atMiSQQGVvhsguyxbtsydRHILygDyexkQygGyG+UAsKSVg1hH4CUUVKmH6pRTTrFRo0bts5bVlVde6YbiPffcczG/nv/g4TuvuVEbN27M8PmaV/X444/b4MGDrWLFipYZRYoUsfr161sysJ4XslvdunVzVSs9ZQD5vQwI5QDZjXIAWFLKwZIlS2LeNqGg6ueff7aBAwdGvIB07drVBVfx8MP4NLcqOKRv+/bt6Q6j0xc2duxYF+RdccUV1r1797jeN3zfS5YsmennAzmJ4abI7ygDAOUASNb1IJ5GsX8mIGWSenSiDZX7448/rHbt2nG9nh/2t3r16jT36+8qVapEHa43YMAAu//++23QoEFuLhcAAAAAZJe4e6p+//330O2LL77YrSGlIXMdOnSw/fff3w3Te+edd2z8+PEuvXk8GjZsaKVLl7Z58+aFAjIlnFASjG7dukV8zvXXX29vvPGGG4KooYgAAAAAkKuDquOPPz5NV5iG3il4uvvuu9Nsp/u1XlQ8SR80l0rB08iRI92cKKVs17wsrVfVvn172717t61bt87KlCnjhgc+//zzLlmGAqvmzZu7JBme3wYAAAAAclVQddddd2XppNs+ffrYrl27XLKJbdu2uSx+kydPdr1hK1assHbt2tmwYcOsc+fO9tJLL7nnaJ0q/QT5bQAAAAAgVwVVWR2oaJ0rzZHSTzilT//+++9Df2uhYAAAAADI04v/rlq1yj777DOXsc/bs2ePS4++YMECGzNmTKJvAQAAAACpGVS99tpr1r9/fzdczw8JDK48fOCBByZnLwEAAAAgl0oopbrSmDdu3NgljNCwwE6dOtnLL7/shu5pGN+NN96YvD0FAAAAgFTrqVq2bJlLZd6oUSNr0aKFm+NUr14997N27VoXdB199NHJ21sAAAAASKWeqoIFC1q5cuXc7Tp16thPP/3k5lNJmzZtbMmSJcnZSwAAAABIxaBKc6Y+//zz0G0lq1i8eHFo0d5g8goAAAAASEUJDf8799xz7ZZbbrEtW7bYddddZy1btrRBgwZZly5d7PHHH3fzrQAAAAAglSXUU3XWWWfZTTfdFOqRuu2222z79u125513uoyAegwAAAAAUlnC61Sdf/75odu1a9e2V1991davX28VK1ZM9KUBAAAAIPWDKq1L9d5779n8+fPdPKr99tvPZQLUUEAAAAAASHUJBVXr1q2zyy67zL755hsrXLiwlS9f3jZs2BBKpT5hwgQrXrx48vYWAAAAAFJpTtU999xjy5cvt/vuu88FVh988IF9/fXXbu2qr776ykaOHJm8PQUAAACAVAuq3nrrLevfv7+1a9fOChQo8M8LFixoJ598sssG+NJLLyVrPwEAAAAg9YIqBVKaQxVJ3bp1WacKAAAAQMpLKKg67bTT7OGHH3Zp1IP27Nlj06ZNs44dOya6fwAAAACQWokqtLivp7WovvzySzf8r23btrb//vvbxo0b7cMPP7Q1a9bYeeedl+z9BQAAAIC8HVTNmzcvzd9VqlRxvz/66KM091eoUMFef/11u/766xPdRwAAAABInaBq7ty5WbMnAAAA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wR566CErXPjfy8cJJ5xgJ510kk2cONEefPDBXPtt1q5dO6d3AQCQohj+BwCIydq1a938nT179qS5v2TJknbjjTdahw4dYv4mx48f7wKxN954wzp27GiHHnqoderUyb744gv78ssv7ayzzrLDDjvMPfbxxx+nee6bb75pXbt2tSOOOMINQdTrPPHEE6HH582b54bozZgxw4477jg78sgj7cMPP0wz/K979+726aefuh9tq+eIhjFeffXV1rJlS2vcuLG1bt3a7rjjDtu2bVtCR8lLL71kp512mvtMeu3+/fvbqlWrEtoXfZbffvvNZs6c6Z6noYn6XnU7nO7TY7HsDwAgfgRVAICYtG3b1n7//Xc799xzXRCzdOnSUJIEBTZnnHFGXN+khg4OHz7cLr/8chs7dqxt2rTJ+vTpY3379nVB1X333edeX3O4fCDxzjvv2FVXXeWCDPWMKVCoVauW3XbbbfbVV1+lef0JEya4eUpDhgxxAVjQLbfcYo0aNXI/Tz31lHu91atX2/nnn29bt251+6UeuVNOOcWmTZvmhjZm1meffWbXX3+9tW/f3r3moEGD7JNPPrF+/foltC/6fJUqVbJjjz3WPa9y5cpJ2R8AQPwY/gcAiIl6h9asWWOTJ092QYxoOKCSVWiukno94qGAQQFFmzZt3N9LliyxUaNG2Z133mldunRx923ZssUFWsuWLbODDz7YbaPg7aabbgq9jgKmFi1auB6eww8/PM3+KtiLpH79+la6dGl3288DUw+Z3kMBnn/sqKOOcr1ceu1LL700U0eKgpjixYu75xctWtTdV758efvmm29c0JjZfVEQpterWLFiXHPZMtqfAgUKZOpzAkB+RlAFAIjZNddcYxdeeKG9//77blieKvizZ892w8k0BDCYCCIWGprn7b///u53MDBSZV/UiyU9e/Z0vzdv3uwCrV9//dUFA7Jjx440r62gJB4KDvWzc+dOF7z98ssvLtvhunXrQvuRGc2aNbMxY8a4oYwnnnii61nS++h3du9LZvcHAJA+gioAQFzKlSvnKuT6kYULF9qAAQNsxIgRduqpp7req1j5XpigEiVKRN1eQYV6tzSvSj0qderUsaZNm0Zcr0lzveKhuWKjR492QxvVQ1atWjXX+1asWDFLhHrSlMBDGf6U7EO3FUBq2KPmU2XnvmR2fwAA6SOoAgBkSEkMzjzzTNdTpflOQRqGpnlPmuu0fPnyuIKqeCmhwk8//eQCAgUHGr6mYYRPP/10wq/tA41bb73VzTcqU6aMu98PRUyEkkzoR/uq+UuaF6WkE+qVizRsMrP74ofu7d692woVKhTq1Ut0fwAA6SNRBQAgQ+rJUBr16dOn2/bt2/d5XIGOelHUc5SVNB9IQYbmUPn5QO+99577HZ6VMCMFCxbc57U1v0nBow9iFExq2F28rx2kxXn1mupJUy+cMhL6hX6V+CORfQl/nu/5UxKQ4GvFuz8AgPgQVAEAMqRej6FDh7pKvSrkTz75pEsB/u6779pdd93lEioo/beGBmYl9aJoDtcLL7zg5nNp8VulSlcPjXpd4lG2bFk3L0tzwzZu3Ohe+/vvv3e9RPpszzzzjMvAp7la8b52kFKWf/fdd24/lWhCGQzVK6S5UXoskX3R8zT8UtsoQ6KfF6WMhx999JE999xz7v9WqlSpuPYHABAfhv8BAGJOqa5hdsr+d//997v5Teot0vA/JT5QD1JWU3rx22+/3f3IAQcc4IbIvfjii7ZgwYK4XktByrfffmu9evWyYcOG2WWXXWbr1693Q+GUzl3zmLR2lgK2Bx54IJQsI14KdEaOHGlTpkxxgade77///a97H590IjP7ooDq4osvdkHtJZdc4uZHaX6ZeqIUbCq7X7169dJ8X7HuDwAgPgX2hs/sBQAAAADEjJ4qAEDS7Nq1K8NtNA8ofC5QXqRkEBm1S6oXyCeMAACkLnqqAABJsWLFCmvXrl2G22nIWe/evfP8t67045rLlJ4aNWrY3Llzs22fAAA5g6AKAJAUSqKg5AoZqVy5slWpUiXPf+vKeBgpXXmQ5pw1aNAg2/YJAJAzCKoAAAAAIAF5f1A7AAAAAOQggioAAAAASABBFQAAAAAkgKAKAAAAABJAUAUAAAAACSCoAgAAAIAEEFQBAAAAgGXe/wNWRv9zVjhXUAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Base de Nivelación: '(0.449, 0.45]' (Tasa ponderada: 70.9%)\n", " =====================================================================================\n", " ✅ [JUSTO] '(0.105, 0.449]': DIR = 1.00 (70.7%) | ✅ [JUSTO] '(0.0417, 0.0474]': DIR = 0.83 (59.0%)\n", " ✅ [JUSTO] '(0.0474, 0.105]': DIR = 0.84 (59.4%) | \n", " =====================================================================================\n", "\n" ] }, { "data": { "text/markdown": [ "### 🔍 Verificación Post-Tratamiento en: `race`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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Dh8+3Hr06GHvvfeeC4DuvPNOW7JkiXteAdL//d//uZ+nTJli/fv3t1deecWeeeaZwDr79evn1vf666/b0qVL7Y033gg8N378eDv77LPt1FNPTbYdJUqUsEsuucSeeOKJDPm7CaoAAACAoMIFCgyuu+66dH8mmvPo+OOPD5SjTxQHDx50vUw+SJJPPvnE9T5dfPHFVrZsWbv77rstf/789s0337jnP/roI1u7dq09+eSTLjBq1qyZde/e3V566SUX4Ip6+S6//HKrVKmSW5fvlVKgql5FrTMc9aq988479ttvvx31v52gCgAAAOm3c2fkrz17Ur/s7t3pXzaGdINfp04dmz17dqCnRb0k6kVp0qSJnXnmmda1a1eXXnbvvfdarVq1rHHjxsl6T3z6n9LamjZt6h7r0KFDIO1w+fLl1qlTJ/daBQnqxdEktNHQ9nTr1s1te/369V3v2KpVq5It8+KLL7r0xzPOOMNuvvlmGzVqlPvdmzdvnttOpdkp/VHpcwpKUmvGjBlukmj1HHknnHCCzZ071/VMKcCcPn2668mqUaNG4D2rV6/u5onyGjRo4NL2Fi9e7H4vU6aMfffddy7I+uGHH6x06dLucX2eV199tZUsWTJicNuwYUP3dx9tBFUAAABIvwIFIn9dfXXyZYsXj7xsixbJlz355MjLNm6cof8xBVoffvihSwscMWKEzZw50/WcKBh48803XVCltLWtW7cme12pUqVcypoPAG655RYX/LRt29bKly/vArFnn33WBRDqGdP4oPTQ6/xYp0mTJtnEiROtSJEidu2117r3E/XoKA1P450UKNWrVy9Zip2WUw+Tgp233nrL3n77bRd8KY1x8+bNqdqOTz75xAVUuXPnDjzWpUsXq1ChgrVs2dJ9XuqFeuihh1zwJ+vXrz8sKCqu/cTM1q1b57736dPHpfEpHVOlz9u0aWMrV65047Y0FislCoRnzZplRxtBFQAAAJAC3chrjJXS0zQmqGrVqlaxYkXX2+O/a2xQaM9Qjhw5rGjRou5n9cQcd9xxbryQgoi+ffu6dDb1CCllTqlsCtzSY9q0abZjxw4bPHiw2zZt56OPPmoFChSw1157zS0zbtw41wvVunVrF+TcfvvtgV402bt3rwuA1PumgK9y5crWuXPnsH9XJD/88MNhY5t+//13O3TokEvvUxCpHjRt25df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17p162Z9+/a1Vq1aWZ48eaxnz5725ptvWt26dW3mzJmx21IAAAAAiLegaufOnValShX3c8WKFW3RokXu5xw5cljbtm3t22+/jc1WAgAAAEA8BlXFixd381JJ+fLlbfv27bZp0yb3e+HChW3Lli2x2UoAAAAAiMeg6rzzzrOnnnrKFixYYKVLl7aSJUva+PHj7e+//3YpgCVKlIjdlgIAAABAvAVVXbt2tYIFC9rTTz/tftf4qpdeesmNp3rvvffs5ptvjtV2AgAAAED8Vf9Tit/rr79uGzdudL9fccUVdtJJJ9n3339vZ5xxhtWrVy9W2wkAAAAA8RdUXX755dajRw87//zzA4/VqVPHfQEAAABAIogq/W/dunVubioAAAAASFTZo+2pevHFFwPpfwAAAEA4Bw8d4oNB3O5rUaX/rVq1yubNm+eqAGp8Vf78+ZM9ny1bNvvkk0+i3UYAAABkcTmyZ7feT0+xlX/QGI+jp0Lp4vb43W0sSwVVpUqVcr1VAAAAwJEooFq8ci0fFOJOVEHVoEGDYrclAAAAAJBoQZW3fPly++qrr9zYqvbt29vq1autatWqVqBAgVisHgAAAADiM6g6dOiQ9evXz958801LSkpyY6hatGhho0ePtt9//90mTZpkJUuWjN3WAgAAAEA8Vf9T8PTee+/ZI4884nqqFFhJz549XcA1fPjwNK1PrxkxYoQ1atTIatasaZ06dXK9XpHs37/fhg4dGli+Xbt2tnjx4mj+JAAAAADIuKBKPVRdu3a1q6++2lX/80477TT3uAKttAZpkydPtoEDB9qUKVNckNWxY0fbt29f2OX79+9vU6dOtccee8xtS9GiRV0g9tdff0XzZwEAAABAxgRVmzdvdgFUOCVKlLAdO3akel0KnMaPH++CsSZNmrgxWerpWr9+vc2YMeOw5dWDpUDq0UcfdT1VlSpVcj1muXPntp9++imaPwsAAAAAMiaoKl++vH3++edhn5szZ457PrWWLFliO3futIYNGwYeK1iwoFWrVs3mzp172PLqBTv++OOtcePGyZafNWtWsnUAAAAAQKYtVHHjjTe6QhUa23T++ee7QhW//fabzZ492/U69e7dO9XrUo+Un/sqWPHixQPPBVu5cqWVLVvW9WKNHTvWNmzY4AIwvad6rdJL48J27dplsaDPI1++fDFZF5Aau3fvDoxt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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Base de Nivelación: '(0.252, 0.257]' (Tasa ponderada: 68.9%)\n", " =====================================================================================\n", " ✅ [JUSTO] '(0.257, 0.258]': DIR = 0.97 (66.9%) | ✅ [JUSTO] '(0.258, 0.288]': DIR = 0.91 (62.7%)\n", " ✅ [JUSTO] '(0.10099999999999999, 0.252]': DIR = 0.96 (65.9%) | \n", " =====================================================================================\n", "\n" ] }, { "data": { "text/markdown": [ "### 🔍 Verificación Post-Tratamiento en: `sex`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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xgtwks5F02uq11uvvYJfBZ/aydKwPO1oauc4VJdeeqn7nzQjGO59LV++3O24ahiX3ls5c+Z087cCFS355Zdf3O1ph1g7uHq+NMxQAYVef+28esPBAtH8M11PBwluu+02t0OuwOH99993z6Xe+6VKlUp0HW9HVoVR1FZDIZWx02PTUE0Fg+qzrq/T2uEVBTg6sKH+acda/VbwoAye7nvChAlu59X/ebzrrrvczrZ2gvXe0OdLwYiGeHpz3fQ51OdV7fV5LFmypMtUDh8+3H1utKMdiceu92nr1q1doKM5iwoE9N2ix/Hll1+eNEw16UECZTcPHz7sbqNIkSJuOJ4eV1IKtPR49HwpiNSBFD0OPU9ff/21+3+qz8Xjjz9+0jZ9dymTfTp6HMmh10LvAwWXCvh1EOC9995z7wMdzNH7UfSavvjii+410edZQxL1Pn7uuefcd6qKrujz4dHrq9dbga2CGBXUCETvId2eLtf7Qe/xb7/91hWQ0fW81zy57zkFmhoaqb8BAwa44E4U2Cqw17DQYMEoEPUSAKQ5DRs2TLjkkksSbYuNjU2oWbNmQosWLdxpfy+++KJr/8knn7jz+q/zc+bMSdRuwoQJCTfccEPC8uXL3fnPP//ctRs/fnyidsePH0+oW7duQpUqVU7b19atW7vbONXfjTfe6Gv/6aefum2DBw9O1nNRo0aNhCuuuMJ3fuTIke7606dPD3odXaY2autP2/Tcnm5bMD179nTtf/jhh5O2Bfu78847Ew4ePBjwdj777LOE3bt3+/62b9+e8PPPPyf06tXLXd6xY8eT+vDll1+6y9q3b+/btmzZMretadOmyepzUidOnHBtrr322rDuK6m77747oVKlSgnr1q3zbTt27FjCHXfckej1iY+PT7j++usT6tevn7B3795Et/Hee++5tuPGjTvlfbVt29a1++677xJt/+qrr9x2vU+Tvmf79++fqO1bb73ltg8dOtS3bdiwYSc9f+qLtn388ceJrr9jxw73Gb3uuutOev779OmTqO2MGTPcdt2+/2OoWLFiwqpVqxK19d4P3nad1nMYzmMfO3ZsorajRo1y2999992EU3niiSdcu4ULF/q2xcXFJTz++ONuux6v58EHH3Sf3T/++CPRbXz77beubb9+/RLC4X0X6PZSwnsukr42b775pts+fPhwd/7PP/9MqFCh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SQGnPw1fVb/0PeTfL31XKUg+3TDLs0UHcRTU67VU/3TARs+b/zwpfQ8p+60sloJx7/2t10YHH1I6R03vFR1g0vef3lMakaDvby2MrmyeNy80ue85HYTQ5Vo4239xdX3X6zXQZWqj80Bak0511c91JwDgXNFRcO0IKFsTzuR6APCnjL2yRFr0+lzP7QJw5vEpB5CmqYBG0iIaAAAAoeCwLAAAAACEgaAKAAAAAMLAnCoAAAAACAOZKgAAAAAIA0EVAAAAAISB6n9+tDijKsxr8VIAAAAAadeJEyfcuolavPt0CKr8KKBi2S4AAAAACSEs50tQ5cfLUFWqVIl3EQAAAJCGLV++PNltmVMFAAAAAGEgqAIAAACAMBBUAQAAAEAYCKoAAAAAIAwEVQAAAAAQBqr/AQAAINni4uLc+j1ANFT+jomJichtEVQBAAAgWWv2bNu2zfbt28ezhaiRJ08eK1SokFvkNxwEVQAAADgtL6AqUKCAZcuWLeydUOBcHyQ4fPiw7dixw50vXLhwWLdHUAUAAIDTDvnzAqoLLriAZwtRIWvWrO6/Aiu9t8MZCkihCgAAAJySN4dKGSogmmT733s63HmCBFUAAABIFob8Idqki9AwVoIqAAAAAAgDQRUAAADSjGuuucZGjRp1yjZvv/22XXbZZfbTTz+l6D7atGljvXr18p3/4osvbO3atZZSM2bMsHLlytm5psekx3Y6HTt2tM8++8x3/q233rL//Oc/VqVKFbvlllvsq6++StR+8+bN1r59e7viiivs6quvthEjRrh5fJ5ff/3Vmjdv7i7v2bNnoqF6KjZRv359++233xLd5vbt261Zs2b2999/29lAUAUAAAD8z/Hjx23cuHH29NNPuyAgJRS0PfXUU+70X3/9ZR06dLDdu3enied49uzZdvDgQRdEeQHh8OHDrVu3bjZr1iwXAD3yyCO2evVqd7kCpAceeMCdnjp1qvXv39/eeecde+WVV3y32bdvX3d706ZNszVr1tj777/vu2zChAl21VVX2SWXXJKoHwULFrTrrrvOXnzxxbPyuAmqAAAAgP/JkCGDCwxuv/32sNY+ypkzp690d1oRFxfnskxekCSff/65yz5de+21Vrx4cXv88cddcYjvv//eXf7pp5/ali1b7KWXXnKBUePGja1r1642ceJEF+CKsnw33HCDlSlTxt2W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eyq5QRUAAAAARLuQg6rHHnvMzqT4+HgbPXq0TZs2zQ4ePGjVq1d3iwsXL148YHutkTV48GD7+eefLX369K59r169rEiRIme0nwAAAACQoqDqww8/tPr167tFfnX6dG666aaQbn/MmDE2ZcoUe+GFF6xQoUIuYHrwwQdt1qxZbrFhf3v37rX77rvPrrjiClc04/jx4+56av/BBx9Y5syZQ314AAAAAHBmgyplgd577z0XVOn0qWiYYChBlYKiCRMmWPfu3a1BgwZu2/Dhw61u3bo2b948a968eaL2n3/+uR0+fNheeukly5Ili9umIEzXXbp0qdWuXTvUhwcAAAAAZzaomj9/vuXPn993OpJWr15thw4dShQM5cqVyypUqGCLFy8+KahSO2W2vIBKNARQDhw4ENG+AQAAAEBEgqqiRYsGPH3kyBE3BypPnjwnDdNLrm3btrn/hQsXTrS9QIECvsv8FStWzP35GzdunAuyNLcKAAAAAFJdUJWUslVjx451pdMTEhIsJibGqlSpYp07d7Zq1aqFdFsKzCRpUKa5Ufv37z/t9TWvavLkydanTx/Lly+fpYQeg4YUpjYaSpk1a9Zz3Q0AiDh99+u7F8nD7wGAaHUklf0eqC/JrXoeVlD18ccfW9euXd3wvEcffdQuuOAC27lzp3366ad277332uuvv261atVK9u15w/g0t8p/SN+xY8dOGVDoAb/88ssuuHv44YetTZs2KX5MJ06csFWrVllqo8ev5xkAos2GDRt8B9VwevweAIhWG1Lh70FyR+CFFVQpiLn++utt6NChJ61l1bFjR1c0Yvr06cm+PW/Y344dO6xEiRK+7Tpfrly5oEFQ7969bfbs2e6/grlwZMyY0cqWLWupDWuDAYhWpUqVSlVHJlM7fg8ARKtSqez3YO3atcluG1ZQtXHjRuvZs2fAL/y77rrLBVehKF++vOXIkcMWLlzoC6pUcEJDC1u3bh3wOk888YR99tlnLrBTgBcu9T1btmxh3w4AIHkY2gwASI2/B6EcxAorqFJGR0Plrr766pMu27p1a6JsU3LTawqehgwZ4uZEqRCGsl1ar6pJkyYWFxdne/bssZw5c7rhgTNmzHBDEBVY1ahRww099HhtAAAAAOBMCjmo2rJli+/0/fffb3379nVD5po1a2YXXnihKyjx5Zdf2qhRo9xCvKHq1KmTxcbGumITR48edVX8xo8f7+5j8+bN1qhRIxs0aJDdcsstbsifaJ0q/fnz2gAAAADAmZQuIcSBixqi558K866eND3mVctIjUUfglm+fLn7X6lSJUutnnp3om3cteNcdwMAwnbRhQXsudvv4ZlMoVbPjrFVm7by/AE4711avLBN69PRzufYIORM1fPPP88kWQAAAABIaVDFkDoAAAAAiODiv9u3b7cff/zRrS3liY+PdzXmlyxZYsOHDw/3LgAAAAAgOoOquXPnWvfu3V1hCW9Olf/Kw6VLl45MLwEAAAAglUofzpVfffVVq1ixoittrmGBLVq0sDlz5liPHj0sJibGnnzyycj1FAAAAACiLVO1YcMGt+huhQoVrGbNmjZhwgQrU6aM+9u1a5cLuurUqRO53gIAAABANGWq0qdPb7lz53anS5YsaevXr3fzqaRevXq2du3ayPQSAAAAAKIxqNKcqaVLl/pOq1jF6tWr3fkDBw4kKl4BAAAAANEorOF/d9xxh/Xr188OHz5sXbp0sVq1alnv3r2tZcuWNnnyZDffCgAAAACiWViZqlatWtlTTz3ly0gNGDDAjh07Zs8995yrCKjLAAAAACCahb1O1d133+07XaJECfvkk09s7969li9fvnBvGgAAAACiP6jSulRff/21LV682M2juuCCC1wlQA0FBAAAAIBoF1ZQtWfPHmvfvr0tX77cMmTIYHny5LF9+/b5SqmPHj3asmTJErneAgAAAEA0zal66aWXbNOmTfbKK6+4wOq///2v/fLLL27tqp9//tmGDBkSuZ4CAAAAQLQFVfPnz7fu3btbo0aNLF26dP/cYPr0dt1117lqgLNnz45UPwEAAAAg+oIqBVKaQxVIqVKlWKcKAAAAQNQLK6i68cYb7fXXX3dl1P3Fx8fbpEmTrHnz5uH2DwAAAACiq1CFFvf1aC2qn376yQ3/a9CggV144YW2f/9++/bbb23nzp125513Rrq/AAAAAHB+B1ULFy5MdL5gwYLu/3fffZdoe968ee3TTz+1J554Itw+AgAAAED0BFULFiw4Mz0BAAAAgLS4+K9o0V8NAzx48KDly5fPKlWqZDly5IjETQMAAABAdAdV48aNszFjxtjRo0d92zJlyuQWBX7kkUfCvXkAAAAAiN6gavr06TZs2DBr2bKlqwSoQhUqUDFz5kwbPXq0FSlS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yb6to0ePWv/+/a1evXp22WWXuaBs/Pjxidrs27fP+vbta1dddZVVqlTJZce+//573+XKjJUrV85mzJjh26agT8HdK6+8EtZjBQCkTmSqAADntSlTptgzzzxjFStWtFtvvdVq1aplpUuXtnTp0oV8WwqW/vvf/1q3bt3swgsvtK+//tpef/11e/75591tHzt2zAVRCuQ6d+5sBQoUsOnTp9v8+fNdu9q1a7sAr02bNm5Y4ieffGKZMmWyG2+80bV9++23LSYm5ow8DwCAc4egCgBw3nv55ZddRklBj+TNm9euvvpqa9u2rVWuXDnZt6PMVPXq1W3gwIG+bcouKWBr0KCBvffee/b000+7/5dffrm73Auijhw54gIs2bRpkwukdHsKoj7++GObOXOmFS9ePOKPHQBw7hFUAQCigqr+ffPNN24o3sKFC11go2yVhgAquEqOfv362dSpU93wv/r167s//0CoS5cutnjxYvvyyy8TXW/ixIn20ksvueqDuXPndtuUlVJwpqBr0KBBdsstt0T4EQMAUguCKgBAVFq5cqX16NHD/vzzTzeMT9mr0zl+/LjLeH300Ue2fv16t61q1apunpXmRN1333323XffBb3+nDlzrGzZsu703r17XXAmn3/+uRUsWDBijw0AkLoQVAEAzlvbt293c50ef/xxa9Wq1UmXK5h55JFHbNq0aSENA5QtW7bYF198YWPGjHHrXilg6tSpk61Zs8aGDBkS8DoXX3yxZcmSxZ3WvKxvv/3Wzam69NJL7bXXXkvhowQApHZU/wMAnLdUTEJl1FWswptP5U/ZpsyZM1vJkiWTVfmvadOmNmHCBHe+SJEidvfdd9v111/vAiypUaOGbd261a2Fpcp/3p+CJxWq8IpQqLz77NmzrXfv3q74hYYLevOtAADR598FPQAAOM8oiNHQPGWjlLFSEFSmTBlXNEKBjuY1KYvlzXM6FWWYVJBi9OjRljFjRlcWfcOGDfbBBx+4YEs0L0qLCmsYYIcOHaxw4cJuOOD//d//WevWrd319uzZ4/qkQhktWrRw12vcuLGbV1WnTh0rVKjQGX9eAABnF8P/AADnvV9//dXNhfrxxx9dUKMhdxUqVHBV+Zo0aZLs2/n7779txIgRrkT6zp07XUbquuuuc4GZN6xv9+7dNnToUJd9OnjwoBUtWtRatmxp999/v6VPn9611RyuWbNmWbFixXzDFHU7VapUOWndKwDA+Y+gCgAAAADCwPA/AEDUi42NPW0bZZn0BwBAqAiqAABRbfPmzdaoUaPTtnv00UftscceOyt9AgBEF4b/AQCimtaeUhn00ylQoABrSQEAUoSgCgAAAADCwOBxAAAAAAgDQRUAAAAAhIGgCgAAAADCQFAFAAAAAGEgqAIAAACAMBBUAQAAAEAYCKoAAAAAIAwEVQAAAABgKff/aS3qZWT/s0MAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Base de Nivelación: '1.0' (Tasa ponderada: 69.5%)\n", " =====================================================================================\n", " ✅ [JUSTO] '0.0': DIR = 0.82 (57.0%) | \n", " =====================================================================================\n", "\n" ] }, { "data": { "text/markdown": [ "### 🔍 Verificación Post-Tratamiento en: `native_country`" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1UAAAHJCAYAAABtxBPXAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAmUFJREFUeJzt3QeYU8XXx/FDLwIiSm8iKAgWUKoixYKiKBYsIGBDsaI0AUFAUFFpCgjKH1BBEUXFAqio2AtFUFGKUixI70hv7/Md34nZkCzZTdiS/X2eZ5/dzd4kd5Pce+fMnDmT7dChQ4dMREREREREUiV76u4mIiIiIiIiCqpERERERERipJEqERERERGRGCioEhERERERiYGCKhERERERkRgoqBIREREREYmBgioREREREZEYKKgSERERERGJgYIqERERERGRGCioEjmC4cOHW+XKlaP66t69e4Z7Pdu0aRPVvn/88ceH3Xf37t02efJk9xj169e3M8880y6++GLr1q2b/fjjj8m+Xm+99VbEfeJvbMO2wbjt/PPPP+JtkfD6s/2sWbMOuy34q0qVKlarVi274YYbwu5nuPv4+9WsWdOaN29uI0eOtL1790bcl127dtlZZ53l7vfqq68ecZ+Dv6pWrWpnn322XX311TZq1Cj3WMmJ9rmi9c0334R9f9L6M7t///6ott+2bZtt2rTJMgr2vWXLlhH//tprr7lt7rzzTjt06FCa7NMff/wR93MUxyWPuXLlyrB/5xzBZ5nPUzCOT+7H+5zV/f7774GfeR15Xbp06ZKu+5RZZbTzgGQ9OdN7B0QyuosuusjKlSuX5LYBAwbY5s2b7amnnkpye+h2GUmPHj3suOOOi/j300477bCL/X333We//vqrnXfeeXbbbbfZMcccY3/++ae9++679vbbb9vNN99sXbt2tZw5M/6phAbsSSed5H6msb5lyxabOXOme11WrVpl9957b7L3AQ3g1atXu//9mWeesWXLltngwYPDPt8HH3xgO3bssPz587tGdHKN7NDnOnDggNs/Gp9PP/20e71feeUVK1KkSFyeK5F8/vnn9uCDD9qwYcOsTp06lhFwXjj++OPD/o3P0IsvvmglSpRw55Fs2bJZIuL8cc8997jPsoQPAO644w478cQT7YknnnC3cXzz2SlbtqxesgQ4D0jWk/FbQiLpjNEJvoLRoCaoYsQis7jwwgutTJkyUW37zz//2K233uoa9mPHjnWjVME6dOhgvXv3do1DGoUZcYQu1DnnnHPYxZagkNGg559/3vWaH3vssUe8D2655Ra78sorberUqXb77bcf9vnAm2++6RrWl156qU2YMMF++OEHq169eor2j/eAkcJevXpZx44d7aWXXgp735Q+VyKZN2+e+5xmJMmdF/wIL8F4cp0cmUGePHnc93z58iW5/aOPPrKePXva1q1bw94vb968Sb5nRVw/5s+f74Iqj06RzHRNyUgy4nlAsh6l/4nIYejt+/vvv61v376HBVTInTu3Pf744y4dkMDql19+yZSvYo4cOaxevXoujY/0qGjRGLzqqqvcz3PmzDns74zmzZ071+rWretGOjFp0qRU7eO1115rl1xyiX333XdJ0hqPxnPJ0Uew+/7777s00syuYsWKLjAMHpVj9IVR36JFi1qzZs0i3g+VKlVKs30VETnaFFSJxNmHH37oRhgYdahWrZr7TmrXzz//nGS7v/76yx544AFr3LixS71r2LBhIBUtdNSIFLDLL7/cNcjYllEnUkZI+Yo3Aox33nnHSpcu7Z4zkuzZs1v79u1dOlNy86cyOl5v0hejHcUL7lWOhJEjXpdzzz3Xzd2igTl9+vSIPfdH0qJFC/f9k08+iftzLVq0yH0+uS8NfVJoIs1LWL58uXXq1MkFonwOmzRp4j6bzL2Lxpo1a9yoW4MGDdz9+c7v3B7OwoUL3QjiGWec4UbyHnroIVu3bl3g7/ztueeecz+3bds2ydy7PXv22LPPPusCUp6L45ARVtJZgzHKevrpp7tOBEYD2Y7nu/76611KUbgglvuQEkunQtOmTd0+BM+vCzenKtr/nf+JfV6yZIkLUJhbV6NGDTeqGmkeYyjOLZ07d3aBNve966673G3hrF271h5++OHAfnE+evTRR91IypGcfPLJdsopp4T9jEyZMiXJKEywAgUKWMmSJd3rlBxeCzoK6LS58cYb3etNJw+j5OE+o7xfN910k5tfyHvIqM/48ePt4MGDh81bouOI95v3ns9WpNfWz/8iBZcRbfaH14nP2tChQ23fvn1Jtufz+dhjj7m5p+wDX4wg81n0cwQ5X3LsgNfJzwMNnVNFxxW/h+u4IR2Yv3G98X766Sd3LNeuXdv9XwS148aNiykFk3MLKcXX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559/XApg8eLF47enIiIiIiIiiRZUdejQwQoVKmTPPPOM+535VS+99JKbT/Xee+/ZLbfcEq/9FBERERERSbzqf6T4TZ482datW+d+v+KKK6xUqVL2ww8/2BlnnGG1a9eO136KiIiIiIgkXlB1+eWXW+fOna1x48aB22rWrOm+REREREREsoKY0v9Wr17t1qYSERERERHJqrLHOlL14osvBtL/REREREREspqY0v9+//13mzt3rqsCyPyq/PnzJ/l7tmzZ7OOPP451H0VERERERBIzqCpZsqQbrRIREREREcmqYgqqBgwYEL89ERERERERyWpBlbds2TL7+uuv3dyqNm3a2F9//WVVqlSxAgUKxOPhRUREREREErNQxcGDB61Xr17WrFkze/zxx23s2LG2YcMGGzlypF155ZW2Zs2aFD/esGHD7LzzzrPq1avb7bff7gK0SPbt22eDBw8ObN+6dWtbtGhRLP+SiIiIiIhI2gVVBE/vvfeePfroo26k6tChQ+72rl27ugBp6NChKX68iRMnWv/+/W3SpEnuMdq1a2d79+4Nu33fvn3trbfecgHdm2++aUWKFHGB2Pbt22P5t0REREQkzg4cPKjXVBL2sxZT+h+BTIcOHeyaa66xAwcOBG4/9dRT3e2DBg2K+rEInMaNG2ddunSxRo0audsIyhiFmjFjhhsNC8YIFs//3HPPuW1AcMcI2c8//2z16tWL5V8TERERkTjKkT27dX9mkq34W0vxyNFToXQxe+L+GyxTBVWk+hFAhVO8eHHbtm1b1I+1ePFi27FjR5JgqFChQla1alWbM2fOYUEVI2MFCxa0Bg0aJNl+5syZqfpfREREROToIqBatGKVXmZJODEFVeXLl7fPP//czjnnnMP+Nnv2bPf3aPn5V5RpD1asWLGwc7NWrFhhZcuWdaNYo0ePtrVr17oArHv37laxYkVLLVIYd+7cafHAOl358uWLy2OJRGPXrl2BNNyMQMeAZPVjADoOJK3pOBCxuBwH3J9z+FEPqm666Sbr3bu3KxjRuHFj96R//PGHzZo1y6XyEeCk5B9H7ty5k9yeJ08e27p162Hb//PPP+65mIf14IMPulGqUaNGWatWrWz69Ol2/PHHp+p/4n+JV7ELAioCPZG0QmeDP5YyAh0DktWPAeg4kLSm40DE4nYchMYmRyWouvbaa23Tpk0umHn11VddNNepUyfLlSuXKzDRsmXLqB8rb968gblV/mfs2bMn7GhPzpw5XWDFvCs/MsXPDRs2tClTprjnTw32vVKlShYP0Ua2IvFSoUKFDNVLr2NAsvoxAB0HktZ0HIhYXI6DpUuXpt06Ve3bt7cbb7zR5s2b50aUGDE688wzrXDhwil6HJ/2x1pX5cqVC9zO75UrVz5s+xIlSrjAKjjVj2CMlMCVK1fGdPHLnz9/qu8vkp6UbipZnY4BER0HIvG6HqSkUyymkuoei/xSMOLyyy93I0UpDajgFwsmddCj0MXChQutVq1ah23Pbfv377cFCxYEbtu9e7erCpiSuVwiIiIiIiKxSPFIVdu2bVO0/fjx46POV2TxXsqws95U6dKlbeDAgW5EqkmTJq5kO6mGVPxjRKpmzZquQEa3bt2sX79+LpBj4eAcOXJY8+bNU/pviYiIiIiIpEqKR6rITQz+Iu1v/vz57ucTTjjBpeSxThQjSPyeEqxt1aJFC+vVq5ebj0WANHbsWDfPafXq1Va/fn1XhMIbPny41a5d2+699153P+ZYEcQRlImIiIiIiGTIkaoJEyYEfn7xxRfd6BGBDyNKHrfdcccdVqZMmRQ9NkFU165d3VcoHmvJkiVJbiNdsG/fvu5LREREREQkPcQ0p2rMmDF2//33JwmowEjRnXfeaa+99lqs+yciIiIiIpK4QRWFISKVKtyxY0csDy0iIiIiIpL4QVXdunVtyJAhtnz58iS3//LLL/b000+7SoAiIiIiIiKJLKZ1qnr27OnWqGrWrJlbH+q4446zjRs3unWiTj75ZHvooYfit6ciIiIiIiKJFlSxYO+0adPsrbfesu+//94t/kspdBYEpqw5VftEREREREQSWUxBlV+tmNEqvkRERERERLKamIOqFStW2Oeff247d+60gwcPJvlbtmzZ7J577on1KURERERERBIzqHrnnXese/fuESsAKqgSEREREZFEF1NQNXLkSDvnnHPs0UcfdWtVEUSJiIiIiIhkJTGVVF+1apW1a9fOFaxQQCUiIiIiIllRTEFVhQoVbPXq1fHbGxERERERkayU/te5c2fr37+/K6NevXp1y5Mnj2V6zA/bsSP833LkMMub97/fI22H7NkpjRj4NdfuPZGfMns2258793/b7tn7736Eky2b7cuTum1z7t1r2Q5G2NbM9uXNk8pt91m2kCIlqd6W/f3/NNIc+/Zb9gMH4rLt/ty57BDvCdvu32/Z96fvtmzH9pEcyJXTDvJ5i3Lb/55kv9meyJ8143PmlzpIyba8trt3R96W7fxnOMy2uffssTx79/775+zZbX/Of/eZz0Lu5P63VG7LMZFn3764bHuQ4yhoeQj/f8S67aFs2WxvKrfNzfEZaVsz2xt0PknRtvv2WbZI5xMz25PKbXPt22fZ47Utr8P/H/c59++3HP9/PuEzdtg5OX/+wLbus57M58edr///+DTei2Q+EynalmvG/x/LHMd590V+n/fmyGkH//9xcx44YDkPJnP+y5HTfY5Tui2vV64DkV+H/dlz2H6/vynYNjvH51HYls9Ynv374rLtgWzZbV/QcZ83TtsezJbd9vptecuTeY9Tsi3H/Z6cuVK1re3cmWzbwB0bqdl21y6zZK7hdswxR9w2z949lm//XtuVM+h8cmC/5TgU+XFTtG2O/84RfH5zxmnb3TlyudcZHG+5kjnmUrLtHo77bNnjvu3e7EHniBRsy3Gf+2Dk43Mfx1z2HCneNvuhg5bnQPy35bjPe2DfYZ+xwPUguH3C55HPZSQcmz6W4Zjwx0aU05tiCqoee+wxt9jvzTffHPbvpAQuXLjQMpUVK8zOPDP83y691GzatP9+L1bs3xc8nIYNzT77LPBr93v7WYHt4YOwv04qayMGdA783qnzACuyfnPYbdeWKWFDBncP/H7fQ0Os+Mo1YbfdVPQ4e3JEn8Dvd/YZbmWX/xV2238KHmP9xzwW+P3WAc9bxYXLwm67N09ue3j8U4HfWw95wU6dH/l97vba04Gfrx/xsp0x68eI2/Z66clAEHb1/16zmp/Pibhtv/89ajsKFXA/Nxv/tp0z46uI2z4x/GHbXOx49/PFk6ZZw/c+jbjtkEHdbG3Zku7nxlM+sove+DDitsMf62QrK5VzP587/Qu77JV3I277fO97bHm1k93PdT75xq4c92bEbV/odrstPqua+7nGV3PtulGvRtz25Qduto1NS/z7y5QpZtddF3Fbe+EFM3+8fvihWbNmkbcdMcLMV+/88kuzxo0jb/vUU2Zdu/7787x5ZrVrJ/nzk0E/v3rh+TapyYXu5zLr1tuIIc9EfNgpDc6zF5s1dT8X3bLV/vfEwIjbTq9Xx56/qrn7udCOHTah3+MRt/3k7LNs2PUt3M8EVK/36htx269PP82eatMq8Hty286tUtn633pT4PfxjzxmeSM0uBecVMF63Xl74Pf/DXjKjt0R/nzyW5nS1qXDf5VURwx+2opv3hJ22z+LF7P7Oj8Q+H3w8JFWbu26sNuuPa6w3dHjwcDvj48abSev/DvstluPyW9t+/QK/N577It2+vIVYbfdnSuXXf/YI4Hfu0+YaDUXL7FImj/133vVcdJkO3fBzxG3ve7RvoEg7O4337YLvp/33x/b351043XrzIoW/ffnTp2YCJz8uf/EE//9uWdPs0GDIm/7889m1f49Pu3xx80e+e9/Pczs2Wa1arkfm34101pNnxJx09uvbmvfl/l3H67+eZ51//z9iNt2uPwG+6rCKf8+7pIF9sjHkc89DzZtYR+fXNX93HjZYnvq/TcibtvnwivsvarV3c/1/lhqw96bFHHbJxo2tdfP/Pd/q7HqT/vfW+Mjbvv0uRfa+LPPcT9XWb/aXn5tbMRtn6/dwJ6v28j9XGHTenvjlecibjv+rHr2dP2L3M8ltm+1aS8Oi7jt66fXtCcaX+p+Lrxrp80cMzjitu+eeqb1vejf8wkB1Tejnoi47UeVTrVul14b+D25bb88sZLdf8V/55NP/jfY8kUI2OaWLm93XPPf+WTaC8PsuN3hzxG/FCtlbW5o998NVaua/fFH+J3gb7/88t/vfD4jtdXKlzf7/ff/fm/QwGzu3PDbnnCC2fr1//3etKnZ558fttn4/w9m6lzVKXDbkG+nWIM1y8M/rpmd0aJb4OfHZ0+1Jn9HPp/UubJjIAjrPe9Da/5H5PNJw8vvs815/g0au/40025YNj/itpc0vdNWHXOs+7nDz1/Yzb/OjrjtVRfdasuO/ffcc/uib+2uRV9H3Lbl+W3tlyL/tjla/zbXOi34r+0Y6tYGLW1usX/bHNcs/9F6/vBRxG3vObeFfVmyovv50j8X2qNzp0fctnPd5vZRmSru5/NX/WqDv3sn4ra9al5q7554uvv5nLUr7NmvI59PHqt+kb1W6Sz381nrV9q4LyK3ZYac3sherFzH/Xzq5rX26szI55NRp55ro6rVdz+ftG2DTflo3OEbPfP/17YuXcwG/n/b4c8/SbOL+Lh2991mzz77788bNvzbzn/7bbOTTrKjHlRdccUVsdxdREREREQk08t2KFI99CxowYIFbpjv9Ir/RvbxSv97ZsZEW79mZcRNlf73H6X/pS79r8TxJez+Jq0ybPpft1fG24r1/46WKP3vX0r/i2/6X4WixezJG9tm6PS/NgNG2LK/wo8EuodS+p+j9L/Up/9VKVPSJna9M0On/7XtOdKW/LFa6X//T+l/8U//q1y+pI1/7O64pP8tWLbMHQenn/7v6NxRXfx379699uabb9rs2bNt27Ztdtxxx1nNmjXtyiuvtLzBAUhmwQkk+KSQnGi3C5lXdMRtg+ZBxXPb4Hlb8d0211HZlmAhyXyheG2bM6f7Ss9tD+bM4b7iva07IUS5DynalkZhtJ/3MNvuzZMnScPZY45ZuNvDScm2HMdHZduQACC9tt17tLYNmrcVz233HaVtmRe3P+gzluxnlL9HO++X1yza1y0F23J+2J0rum2ZJ+TnCsVzWzo1DmTPHfdtmQu2+yhsS7AQ7WuWkm3taG3r0l/Tf9skgVA8tw2aK57abffkzpMkoPIdCtFKybbMJ9x3FLbdH9SoT7RtOe53peAcEe22B7NlP+x9j8e2HPeh2/IZC3s9oDMs2raMjwdSsFxUTEEVQVTbtm1t8eLFVqpUKStatKitWLHCpk6daq+88opNnDjRChYsGMtTiIiIiIiIJG5J9cGDB9uaNWvs5ZdftpkzZ9prr73mvvM7BSyeeSbyBHQRERERERHL6kHVJ598Yg888IBL9wvG7x06dLAZM2bEun8iIiIiIiKJG1Tt2LHDypYtG/Zv3L5lS/iSvyIiIiIiIokipqDqpJNOsk8/Db/eD7eXZ30DERERERGRBBZToYrbbrvNOnfubAcOHLDLLrvMTjjhBNuwYYMrVPH6669bnz7/LTwrIiIiIiKSiGIKqi699FL7/fff7bnnnrNJk/5ddZ1lr3Lnzm133323XX/99fHaTxERERERkQwp5nWqCJ5at25tP/zwg23dutWOPfZYO/PMM913ERERERGRRJfqoOqnn36yv//+28qVK2fVqlWzBg0axHfPREREREREEjGoYsHf9u3bu5EpUv2yZctmNWrUcGtWlSxZ8ujspYiIiIiISKJU/3v66adt4cKFdt9999no0aOtW7dutnz5cuvdu/fR2UMREREREZFEGqmiVHqnTp3spptucr+T9le8eHHr0qWL7dy50/Lnz5/qnTl48KCNGDHCJk+ebNu3b7datWq5YC3SWljvvvuude3aNeyixGXKlEn1foiIiIiIiBy1kar169e7OVTB6tSp48qqr1692mIxcuRImzhxovXv399VEyTIateune3duzfs9kuWLLHatWvbV199leRLaYgiIiIiIpJhg6r9+/e7kunBfKW/PXv2pHpHCJzGjRtnHTp0sEaNGlmVKlVs6NChtmbNGpsxY0bY+/z6669WuXJlK1q0aJKvHDlypHo/REREREREjmpQlRwKV6TW4sWLbceOHVavXr3AbYUKFbKqVavanDlzIo5UVaxYMdXPKSIiIiIiku7rVAWjEmBqMSKF0NS9YsWKBf4WjDWx1q5da3PnznUpg5s3b7YzzjjDzbGqUKFCTIEhc8Pi9Xrky5cvLo8lEo1du3bF1LkRbzoGJKsfA9BxIGlNx4FIfI4DX+n8qAVVffv2tQIFCiR5Qjz88MN2zDHHBG5nJ1566aWo/3GEphbmyZPHBVChfvvtt8BzDxgwwHbv3m2jRo2yVq1a2XvvvWcnnHBCav4127dvny1atMjigYCKkTaRtLJixYrAsZQR6BiQrH4MQMeBpDUdByIWt+MgNDaJW1BFRT6ERn7hbk9JdJg3b97A3Cr/s5+nFW60p2bNmvbtt9/acccdF4ggqRzIfKy33nrL7rjjDkuNXLlyWaVKlSy9R+5EUoNR2ozUS69jQLL6MQAdB5LWdByIWFyOg6VLl0a9bYqDqgkTJtjR4NP+1q1bZ+XKlQvczu8UowinSJEiSX4n+KKUOmmBsVz8YikLL5KelG4qWZ2OAREdByLxuh6kpFMsxYUqWOg3NZYtW5bs36n2R0rhrFmzArdt27bNLTTsR8GCvfbaa66Ue/D8p3/++cd+//33uI00iYiIiIiIxD2oIq3uiSeesE2bNkW1/apVq6xfv35HTMcjX7F169Y2aNAgt3gv1QA7duxoJUqUsCZNmrh1sFgji7lTftFh1rF68MEH3fyqBQsW2H333edGr66++uqU/lsiIiIiIiJpE1S9/fbbtmXLFhfUsDDv5MmTXQDEKBFBDn/j91deecUFUgREFJpgntORsEZVixYtrFevXtayZUu33tTYsWPdPCcWFq5fv75Nnz49kC744osvupEqtr355putYMGCNn78eFfcQkREREREJC2keE4VKXqMVLVp08aef/55e+SRR9woUigCGwKvSZMm2WmnnRbVYxNEURKdr1DMlWJdqmDVqlVzCwaLiIiIiIhkunWqCGiGDRvmRopYK+qvv/5yo1VU4ytVqpSrzhdcxU9ERERERCQRxbz4L5XyGJESERERERHJilI8p0pERERERET+o6BKREREREQkBgqqREREREREYqCgSkREREREJD0LVXjLli2z7du3u+p/5cuXj9fDioiIiIiIJHZQNXXqVHvyySdtw4YNgdtOOOEE69y5s1155ZWxPryIiIiIiEjiBlUzZ850C/XWrVvXOnXq5IKpdevW2bvvvms9evSwwoULW6NGjeK3tyIiIiIiIokUVI0aNcouueQSGzp0aJLbr7nmGuvYsaM9//zzCqpERERERCShxVSo4tdff7Wrrroq7N+4ffHixbE8vIiIiIiISGIHVRSl2Lp1a9i/bdmyxXLnzh3Lw4uIiIiIiCR2UFWvXj0bMWKErVmzJsntq1evtmeffdbOPffcWPdPREREREQkcedUUZyC+VNNmjSxGjVquEIVVAGcP3++FSpUyFUAFBERERERSWQxjVQVLVrUpkyZYm3atLFdu3bZzz//7L7z+9tvv22lS5eO356KiIiIiIgk2kjVnDlzrGrVqq6seqht27bZtGnT7LLLLovlKURERERERBJ3pKpt27a2bNmysH9buHChW6tKREREREQkkaV4pKpbt26uEAUOHTpkffv2tQIFChy23e+//+7mWImIiIiIiCSyFI9UXXzxxS6Y4svzv/uv7NmzW/Xq1W3AgAHx3l8REREREZHMPVJ1/vnnuy9QkIKRqooVKx6NfRMREREREUnsQhUTJkyI356IiIiIiIhkhaDqggsucAv7VqlSxf2cnGzZstnHH38cy/6JiIiIiIgkVlBVu3ZtO+aYY9zPtWrVcoGTiIiIiIhIVpXioCq4+MQTTzwR7/0RERERERHJOutUjRo1KkkVwGBr166122+/PZaHFxERERERSeygatiwYda6dWv7+++/k9w+ZcoUa9asmf3www+x7p+IiIiIiEjiBlUvvPCCWwi4efPm9vbbb9v69evtzjvvtB49elidOnVs6tSp8dtTERERERGRRAuq6tata++++641bdrUBVIXXnihLV682EaMGOG+ihcvnqLHO3jwoBv9Ou+889ziwaQP/vXXX1Hdl/2oXLmyrVy5MpX/jYiIiIiISBoHVdi/f78dOHDA/cz8qr1799ru3btT9VgjR460iRMnWv/+/W3SpEkuyGrXrp17zOSQftivX79UPaeIiIiIiEi6BVWk/DFK9cEHH9jDDz9sX3zxhdWrV8+6dOlid9xxh0sNjBaB07hx46xDhw7WqFEjtw7W0KFDbc2aNTZjxoyI9yPw6tq1q1WrVi2Wf0VERERERCTtg6ru3btbpUqV7J133rFWrVpZ4cKFbfDgwS6F7+eff3bFKqJF2uCOHTtcUOYVKlTIqlatanPmzIl4v+eee8727dtn7du3j+VfERERERERSZt1qoL17NnT2rRpc9jtTZo0sZo1a6YoJY8RKZQsWTLJ7cWKFQv8LdRPP/3kRrfeeOMNV8JdREREREQkUwVV4QIqr0iRIvb0009H/Vi7du1y33Pnzp3k9jx58tjWrVsP237nzp0uzZCvE088MW5BFfPCeOx4yJYtm+XLly8ujyUS7XEUae249KBjQLL6MQAdB5LWdByIWFyOA+7POfyoBFWdO3e2Bx54wMqWLRu47ZdffnFpgARAHul/t956q82ePTuqx82bN29gbpX/GXv27AkbmDz66KNWoUIFu+GGGyyeSCVctGhRXB6L/SZ9USStrFixItBBkRHoGJCsfgxAx4GkNR0HIha34yB0wCduQdW0adPspptuCgRVVP5r0aKFS8ELLhbB7du3b4/6cX3a37p166xcuXKB2/mdUumh3nzzTfdP1qhRI/B8YB4Xa2XxlRq5cuVyAWI8RBvZisQLHQ0ZqZdex4Bk9WMAOg4krek4ELG4HAdLly6NetsjBlWMHOXMmdOyZ49c0yIeFzCq/RUoUMBmzZoVCKq2bdtmCxcutNatWx+2fWhFwB9//NFVARw9erSdcsopMV388ufPn+r7i6QnpZtKVqdjQETHgUi8rgcp6RQ7YlDFYrqk2j3zzDNWsGBBO1oYdSJ4GjRokJuPVbp0aRs4cKCVKFHCFb5gJGrTpk1uH0gPLF++fJL7+2IWpUqVclUIRUREREREMkRJdUaPKHd+7bXXHvWdYY0qUgl79eplLVu2tBw5ctjYsWNdSh5rXtWvX9+mT59+1PdDREREREQkbiNVlDSfOXOmTZw40Y42gihS+PgKVaZMGVuyZEnE+9apUyfZv4uIiIiIiKTb4r+k21HJLzmaiCsiIiIiIllRqtapGjlypB133HFJbhs+fHiSuUybN2+Ofe9EREREREQSLaiiEMSvv/562G3hUu98mXQREREREZFEleKgivlVIiIiIiIikoI5VSIiIiIiIhKegioREREREZEYKKgSERERERGJgYIqERERERGRGCioEhERERERSet1qkJt3brV5s6da+vWrbOLL77YtmzZYhUqVNCCwCIiIiIikvBiDqpGjRplzz//vO3evdsFUWeccYY9/fTTbvHfcePGWaFCheKzpyIiIiIiIomW/vfyyy/b8OHD7ZZbbrHXX3/dDh065G5v3bq1/fXXX/bMM8/Eaz9FREREREQSL6iaMGGC3XHHHXb//fdbtWrVArc3bNjQHnjgAS0ULCIiIiIiCS+moGrVqlVWu3btsH876aSTbMOGDbE8vIiIiIiISGIHVSVLlrT58+eH/dvPP//s/i4iIiIiIpLIYipU0aJFCzenKm/evNaoUSN3286dO+3DDz90xSuYayUiIiIiIpLIYgqqbr/9dlu5cqUNGjTIfaFt27bu++WXX27t27ePz16KiIiIiIgkYlBFCfV+/fq5EanvvvvOrVdVsGBBq1Wrlp1yyinx20sREREREZFEXvyXhX75EhERERERyWpSHFT16NEjRdsPGDAgpU8hIiIiIiKSuEHVrFmzkvy+bt06279/v5UqVcqKFi1qW7ZscQv/5s6d26pUqRLPfRUREREREcn8QdXMmTMDP7/33nuuQAUVAM8444zA7UuXLrW7777bmjZtGr89FRERERERSbR1qoYOHWqdOnVKElChUqVK9sADD9iYMWNi3T8REREREZHEDao2b95shQoVCvu3nDlzujWrREREREREEllMQVX16tVt1KhRrpR66DwrUgLr1KkT6/6JiIiIiIgkbkn1bt26WZs2baxx48ZWo0YNK1y4sG3cuNHmz59vxx57rAu4REREREREEllMI1VU95s6dapdf/319s8//9jPP/9su3fvtltvvdXeffddK1OmTPz2VEREREREJBEX/y1evLgbsYqHgwcP2ogRI2zy5Mm2fft2q1WrlvXu3dvKli0bdvtffvnFnnrqKfvpp58sT5481qRJE+vatasVLFgwLvsjIiIiIiJyVEeq4m3kyJE2ceJE69+/v02aNMkFWe3atbO9e/cetu2GDRvslltusdKlS9tbb73l7vv9999b9+7d02XfRUREREQka8owQRWB07hx46xDhw7WqFEjl1pIyfY1a9bYjBkzDtv+77//tvr161u/fv2sQoUKdtZZZ9l1111nX3/9dbrsv4iIiIiIZE0ZJqhavHix7dixw+rVqxe4jXLtVatWtTlz5hy2/ZlnnmlDhgxxpduxbNkye+edd+zcc89N0/0WEREREZGsLeY5VfHCiBRKliyZ5PZixYoF/hbJxRdfbL///rtLBWROloiIiIiISJYLqnbt2uW+586dO8ntFKAIXQcr1KBBg9z9Bw4caG3btnUjVsccc0yq9uPQoUNxW7Q4W7Zsli9fvrg8lkg0OA74DGcUOgYkqx8D0HEgaU3HgYjF5Tjg/pzDj0pQ1aNHjxRtP2DAgKi2y5s3b2Bulf8Ze/bsOWJgcvrpp7vvjFI1bNjQPvroI7vyyistNfbt22eLFi2yeGC/SV8USSsrVqwIdFBkBDoGJKsfA9BxIGlNx4GIxe04CB3wiVtQNWvWrCS/r1u3zvbv32+lSpWyokWL2pYtW+yvv/5yO0CxiWj5tD8er1y5ckkev3Llyodtv3z5cvvzzz9dUYvg8u4sQLx27VpLrVy5clmlSpUsHqKNbEXihaItGamXXseAZPVjADoOJK3pOBCxuBwHS5cujXrbFAdVM2fODPz83nvvudS74cOH2xlnnJFkB+6++25r2rRp1I9LAFagQAEXtPmgatu2bbZw4UJr3br1Ydt/8803bo2qr776yhW0AEHW5s2brWLFihbLxS9//vypvr9IelK6qWR1OgZEdByIxOt6kJJOsZiq/1HyvFOnTkkCKjDS88ADD9iYMWOifixGtgieCNI++eQTVw2wY8eOVqJECbeo74EDB2z9+vW2e/dut32zZs3cqBSL/f722282d+5cV46dfWncuHEs/5aIiIiIiEjaBFWMCvlRolCUOk9pwQeCohYtWlivXr2sZcuWliNHDhs7dqxLyVu9erVbl2r69OluWwKql156yf3Mtvfcc4+bv8T23E9ERERERCTDV/+rXr26jRo1yi28e+yxxyaZB0VKYJ06dVL0eARDjDzxFapMmTK2ZMmSw3Iln3/++Rj+AxERERERkXQMqrp162Zt2rRx6XY1atRwo0cbN260+fPnuyCLgEtERERERCSRxZT+R3GJqVOn2vXXX2///POP/fzzz27O06233mrvvvuuG10SERERERFJZDEv/ksZc0asREREREREsqKYgyrWhPr+++/dor3ewYMH3WJbVOSjQqCIiIiIiEiiiimo+uCDD6xLly5u8V9fx51FtvzPJ510Unz2UkREREREJBHnVD333HNWrVo1e+utt+zqq6+25s2b27Rp01z1Pir5PfTQQ/HbUxERERERkUQbqVqxYoUNHjzYrQ9F+fRx48ZZxYoV3deGDRtc0HXuuefGb29FREREREQSaaQqe/bsgfWpypcvb8uXL3fzqdCgQQNbunRpfPZSREREREQkEYMq5kzNmzcv8DPFKhYvXux+37ZtW5LiFSIiIiIiIokopvS/G264wfr06WM7d+60jh07Wt26da1Hjx7WokULe/nll918KxERERERkUQW00jVtddeaz179gyMSPXv39/27Nljjz32mKsIyN9EREREREQSWczrVN14442Bn8uWLWvvv/++bd682YoUKRLrQ4uIiIiIiCT2SFU4rFGlgEpERERERLKKFI9UValSJbC4bzQWLVqU0qcQERERERFJ3KDqnnvuCQRVzJ964YUX7MQTT7SLL77YihYtalu2bLGZM2far7/+anfdddfR2GcREREREZHMG1Tdd999gZ8feugha9SokQ0fPjzJ6NWdd95pXbt2tV9++SV+eyoiIiIiIpJoc6ooSnH99deHTQds3ry5ffnll7E8vIiIiIiISGIHVcccc4z9+eefYf+2cOFCO/bYY2N5eBERERERkcQuqX7ZZZfZkCFDLFeuXC4N8LjjjrONGzfaBx98YM8++6zdfvvt8dtTERERERGRRAuqOnfubKtXr7bevXsnSQE8dOiQXXfdda6ohYiIiIiISCKLKajKnTu3DRs2zH777TebO3eubdu2zY1W1a1b18qVKxe/vRQREREREUnEoMo7+eST3ZeIiIiIiEhWk+Kgqm3bttanTx+rWLGi+zk5pAS+9NJLseyfiIiIiIhIYgVVzJcK9/ORthUREREREUlEKQ6qJkyYEPZnERERERGRrCimdapERERERESyuhSPVFWpUiVJ+fTksB2LAIuIiIiIiCSqFAdVrD0VbVAlIiIiIiKS6FIcVN133312NB08eNBGjBhhkydPtu3bt1utWrXc4sJly5YNuz1rZA0cONB+/PFHy549u9u+e/fuVqpUqaO6nyIiIiIiIqkKqt5++21r2LChW+SXn4/kyiuvTNHjjxw50iZOnGhPPPGElShRwgVM7dq1s/fee88tNhxs8+bNdsstt9hZZ53limbs3bvX3Y/tp0yZYnny5EnpvyciIiIiInJ0gypGgV5//XUXVPFzckgTTElQRVA0btw469KlizVq1MjdNnToUDvvvPNsxowZ1qxZsyTbf/zxx7Zz50576qmnLG/evO42gjDuO2/ePKtXr15K/z0REREREZGjG1R98sknVrRo0cDP8bR48WLbsWNHkmCoUKFCVrVqVZszZ85hQRXbMbLlAyqQAoht27bFdd9ERERERETiElSVLl067M+7du1yc6AKFy58WJpetNasWeO+lyxZMsntxYoVC/wtWJkyZdxXsNGjR7sgi7lVqcGCxYx+xQMjdfny5YvLY4lEg+MwIy26rWNAsvoxAB0HktZ0HIhYXI4D7h9tgb4UB1WhGK0aNWqUK53OE+fIkcOqV69uDzzwgNWsWTPF/zxCgzLmRm3duvWI92de1csvv2y9evWyIkWKWGrs27fPFi1aZPFAQMUom0haWbFiReA4ygh0DEhWPwag40DSmo4DEYvbcRDtYFFMQdX06dOtU6dOLnC499577fjjj7f169fbhx9+aDfffLONGTPG6tatG/Xj+TQ+5lYFp/Tt2bMn2REfgrlnnnnGBXd33XWXtWnTJtX/U65cuaxSpUoWDyo9L2mtQoUKGaqXXseAZPVjADoOJK3pOBCxuBwHS5cujXrbmIIqgpjLLrvMBg8efNhaVnfffbcrGvHmm29G/Xg+7W/dunVWrly5wO38Xrly5YgjSz169LCpU6e67wRzsV788ufPH9NjiKQXpZtKVqdjQETHgUi8rgcp6RT7t6pDKv3+++921VVXhd2BVq1auTWkUqJKlSpWoEABmzVrVuA2Ck6QWhhpjtSDDz5oH3zwgQvsYg2oREREREREUiqmkSrS5Jh/VL9+/cP+tnr16iSjTdHmLLZu3doGDRrk5kRRCIPRLtaratKkiR04cMA2bdpkBQsWdOmBb731lktBJLCqXbu2Sz30/DYiIiIiIiIZKqhatWpV4Odbb73Vevfu7eYhNW3a1E444QRXUOKzzz6z4cOHu4V4U6pDhw62f/9+V2xi9+7dboRq7Nix7jlWrlxpF1xwgQ0YMMCuvvpql/IH1qniK5jfRkREREREJEMFVeeff36S/EImgBE8Pfnkk0m24/Z27dqluJIe1QO7du3qvkJRPn3JkiWB31koWEREREREJFMFVY8//rgqGYmIiIiIiKQ2qFJKnYiIiIiISBwX/127dq19//33bm0p7+DBg26xrblz59rQoUNjfQoREREREZHEDKooZd6lSxdXWMLPs2Iulf/5pJNOis9eioiIiIiIZFAxrVP13HPPWbVq1Vxpc9ICmzdvbtOmTXNFJig48dBDD8VvT0VERERERBJtpGrFihVu0d2qVatanTp1XDW+ihUruq8NGza4oOvcc8+N396KiIiIiIgk0khV9uzZ7dhjj3U/ly9f3pYvX+7mU6FBgwa2dOnS+OyliIiIiIhIIgZVzJmaN29e4GeKVSxevNj9vm3btiTFK0RERERERBJRTOl/N9xwg/Xp08d27txpHTt2tLp161qPHj2sRYsW9vLLL7v5ViIiIiIiIoksppGqa6+91nr27BkYkerXr5/t2bPHHnvsMVcRkL+JiIiIiIgkspjXqbrxxhsDP5crV87ef/9927x5sxUpUiTWhxYREREREUn8oIp1qb744gubM2eOm0d1/PHHu0qApAKKiIiIiIgkupiCqk2bNln79u1twYIFljNnTitcuLBt2bIlUEp9xIgRljdv3vjtrYiIiIiISCLNqXrqqafsr7/+smeffdYFVl999ZX99NNPbu2qH3/80QYNGhS/PRUREREREUm0oOqTTz6xLl262AUXXGDZsmX79wGzZ7dLL73UVQOcOnVqvPZTREREREQk8YIqAinmUIVToUIFrVMlIiIiIiIJL6ag6oorrrAxY8a4MurBDh48aBMmTLBmzZrFun8iIiIiIiKJVaiCxX091qL64YcfXPpfo0aN7IQTTrCtW7fa119/bevXr7eWLVvGe39FREREREQyd1A1a9asJL8XL17cff/mm2+S3H7cccfZhx9+aA8++GCs+ygiIiIiIpI4QdXMmTOPzp6IiIiIiIhkxcV/waK/pAFu377dihQpYqeffroVKFAgHg8tIiIiIiKS2EHV6NGjbeTIkbZ79+7Abblz53aLAt9zzz2xPryIiIiIiEjiBlVvvvmmDRkyxFq0aOEqAVKoggIV77zzjo0YMcJKlSplV111Vfz2VkREREREJJGCqhdffNFV+OvTp0/gtpNOOsnq1KljefPmtfHjxyuoEhERERGRhBbTOlV//PGHXXjhhWH/Rpn15cuXx/LwIiIiIiIiiR1UUU591apVYf+2cuVKFasQEREREZGEF1NQdf7559szzzxjP/30U5Lbf/zxRxs+fLj7u4iIiIiISCKLaU7Vfffd5xb9vf7666106dKuUMWGDRvs77//tooVK1rnzp1T9HgHDx50BS4mT57syrPXqlXLevfubWXLlj3i/e644w4788wz3T6JiIiIiIhkipEq1qJ644037OGHH3ZrU+XPn99953duL1y4cIoej9LsEydOtP79+9ukSZNcsNSuXTvbu3dvxPvwt4ceesi+/PLLWP4VERERERGRtB+puu2221zQ06pVK/cVC4KjcePGWZcuXaxRo0butqFDh9p5551nM2bMsGbNmh12n3nz5rmRLNbIKlSoUEzPLyIiIiIikuYjVQQ12bJls3hYvHix7dixw+rVqxe4jUCpatWqNmfOnLD3+fzzz13Q9fbbb1vBggXjsh8iIiIiIiJpNlJFQPPuu+/a2Wefbbly5YrloWzNmjXue8mSJZPcXqxYscDfQnXs2NHi7dChQ7Zz5864PBYBZ758+eLyWCLR2LVrl/sMZxQ6BiSrHwPQcSBpTceBiMXlOOD+0Q4gxRRU5cmTxwVV77//vitMwZyqYOzESy+9FPU/jty5cx/2HFu3brW0sm/fPlu0aFFcHouAipE2kbSyYsWKwLGUEegYkKx+DEDHgaQ1HQciFrfjIDQ2OSpBFSNINWrUCPweGg2mJDrMmzdvYG6V/xl79uxJ09EeRtwqVaoUl8eKV2qkSLQqVKiQoXrpdQxIVj8GoONA0pqOAxGLy3GwdOnSqLeNKaiaMGGCxYtP+1u3bp2VK1cucDu/V65c2dLy4hc64iaSWSjdVLI6HQMiOg5E4nU9SEmnWKoLVbDgL2l/CxcutHioUqWKK9E+a9aswG3btm1zj896VSIiIiIiIhlRikeqCHTat29vP/zwQ2DyFimAgwcPPqzIRErzFVu3bm2DBg2yIkWKuMWEBw4caCVKlLAmTZrYgQMHbNOmTa7KX3B6oIiIiIiISHpK8UjV008/7UaP7rvvPhs9erR169bNli9f7taLilWHDh2sRYsW1qtXL2vZsqXlyJHDxo4d6+Y5rV692urXr2/Tp0+P+XlERERERETSbaTq008/tU6dOtlNN93kfm/QoIEVL17cLdpLKfJY5iMRRHXt2tV9hSpTpowtWbIk4n1nzpyZ6ucVERERERFJs5Gq9evXW7Vq1ZLcVqdOHZeex2iSiIiIiIhIVpLioGr//v2H1Ws/9thjA+XPRUREREREspJUV/8LJ6OtDSIiIiIiIpKpgiotcCgiIiIiIllNqhb/7du3r1tTKnSE6uGHH7ZjjjkmSZD10ksvxWM/RUREREREEiOo8gvxhqb6hbtd6YAiIiIiIpLoUhxUTZgw4ejsiYiIiIiISFafUyUiIiIiIpLVKKgSERERERGJgYIqERERERGRGCioEhERERERiYGCKhERERERkRgoqBIREREREYmBgioREREREZEYKKgSERERERGJgYIqERERERGRGCioEhERERERiYGCKhERERERkRgoqBIREREREYmBgioREREREZEYKKgSERERERGJgYIqERERERGRGCioEhERERERiYGCKhERERERkRgoqBIREREREYmBgioREREREZEYKKgSERERERFJlKDq4MGDNmzYMDvvvPOsevXqdvvtt9tff/0VcfvNmzdb586drVatWla7dm175JFHbNeuXWm6zyIiIiIikrVlqKBq5MiRNnHiROvfv79NmjTJBVnt2rWzvXv3ht2+Q4cO9scff9iLL75ozzzzjH3++efWt2/fNN9vERERERHJujJMUEXgNG7cOBcoNWrUyKpUqWJDhw61NWvW2IwZMw7bfv78+TZ79mx78sknrVq1alavXj3r16+fvfPOO7Z27dp0+R9ERERERCTryTBB1eLFi23Hjh0uOPIKFSpkVatWtTlz5hy2/dy5c61o0aJWsWLFwG2kAGbLls2+//77NNtvERERERHJ2nJaBsGIFEqWLJnk9mLFigX+FozRqNBtc+fObYULF7bVq1enah/27dtnhw4dsp9++snihSCvdpFKdrBwhbg9pkio7Nlz2IIFC9znN6PhGLimSjXbf0qV9N4VSWA5M/Ax4I+DO+tXt30HTk/vXZEElitHxj8O7m5e2/bvP5DeuyIJLGfO+B0HxAZ8bqN6XssgfIEJAqNgefLksa1bt4bdPnRbv/2ePXtStQ/+RYv2xYtWgTz54vp4IpHE+7MbL8fmz5/euyBZREY9BnBcgWPSexcki8jIx0GRQjoOJPMcBzxGpguq8ubNG5hb5X8GAVK+fIcHJWwTroAF2+dPZQOuRo0aqbqfiIiIiIhkXRlmTpVP5Vu3bl2S2/m9ePHih21fokSJw7YlyNqyZYtLGRQREREREclSQRXV/goUKGCzZs0K3LZt2zZbuHChW4cqFLcx14qS6h7VAHH22Wen0V6LiIiIiEhWl2HS/5gf1bp1axs0aJAVKVLESpcubQMHDnQjUk2aNLEDBw7Ypk2brGDBgi7178wzz7SzzjrLOnbs6Nam2rlzp/Xu3duuvPLKsCNbIiIiIiIiR0O2QxmoRAyB05AhQ+ytt96y3bt3u9EoAqUyZcrYypUr7YILLrABAwbY1Vdf7bbfuHGjPfLII/bll1+6AhWXXHKJ9ejRw/0sIiIiIiKS5YIqERERERGRzCbDzKkSERERERHJjBRUiYiIiIiIxEBBlYiIiIiISAwUVImIiIiIiMRAQZWIiIiIiEgMFFSJiIiIiIjEQEGViIhICviVSFhbkXUSf/vttyS3i4hI1qOgSiSO/vzzT3vyySetVatW9uqrr+q1FUkAwcHSzp07LVu2bPbKK69YtWrV7Pbbb7eBAwe6vx08eDAd91IympUrV9oTTzxhl112mT333HPuNn1GJCvZuHGjDR8+3C655BLr0aOH/fPPP5bIFFSJxGDt2rX2+++/B36fNWuWffHFF+72Tz/9VK+tSAIgiFq2bJk1a9bMJk6c6G5r2rSpTZs2ze699177+eef3W05cuRI5z2V9LR69Wr79ttv3fkfixcvtu+++84FUlOnTnW3aTRTEtmqVavsk08+saVLl7rf//77b9e5cOKJJ9rMmTNt27ZtlshypvcOiGRGnDSGDBliGzZssMqVK1vJkiWtb9++du2117qvUaNG2RtvvGH79u2zXLlypffuikiMZs+e7RoKNBJQpEgR91WlShXbtGmT/fHHH1a+fHm9zlkQgdSAAQPcZ8N/BhjBJPC+8MIL7d1337Vu3brZ3r17LXfu3Om9uyJxt27dOjcSNW/ePCtTpozrSGjZsqW1bt3azjjjDFu/fr01bNjQdU6VKlUqYd8BjVSJHIHvdfQ9jPS6PP3009aoUSN777337K677rI5c+ZYv379XOMKnDS4gHKCEZGMjRFm0rQGDRoU6GEN9fbbb1uxYsXcaIQPrFChQgU74YQTXEcLNBKR2ObOnWvPPvusjR07NpDeNHToUGvcuLHNmDHDhg0b5gIrUkL/+uuvwPWAzrWvv/7a/a7PiCTSMUAANWLECNu1a5drE40fP97OPvtsGzdunK1Zs8ZtQwcUxwGdU4n8+VdQJRLG999/bzfddJPVrl3b2rdv704Yu3fvdn9755133BD2VVdd5RpZ9erVswcffNCdaHzDiqFuGlr+IioiGQ8X9969e9vDDz/selIXLVpkLVq0CKRqeRzHxYsXdyMP9MgGB14c56effrqCqgRFCt8zzzxjV1xxhVWtWtVuvfVWN0ckb9687u+fffaZG6W8+OKL7fjjj3e99HfffbfrVCMVHGQyVKpUyQVd0LwqSaRjgHlSH374oV133XXu83/ccce5TmbmlZcoUcL279/vUqPr1KnjOrB27NhhiUpBlWR59K4EN7IImAii6FXhpOAnGT///POBkauiRYu6gMrjRJMzZ85Aw6p06dJ20kknuREsEUl/zHt66qmnXFDkvf766656Hw2AwYMH2//+9z/XcOBY//XXXwPbffXVV1a4cGG78cYbXecKwZdXoEABq1mzpi1YsMD9nj27LquZGQ1E35P+2muv2W233eYagnSiffTRR/bYY4+5lE/ec+zZs8euvvpq13j0CKhI/faPQy892/tONn1GJBGOATqdMX/+fPcZL/b/bSLmEdJ28pk7tI1Adg/n1eBzcKLR2V+yJH/C6Nmzp+tVZHKln5A+efJkl/d7yy23WMWKFV1u/IQJE6x+/fpum7POOssVp/BpgT4wW7FiRSDdj95r5lqRJrR58+Z0+R9F5N+y5+AiTzrKL7/8EnhZuPgzilC3bl3XEKaxy2gUaVt+ZHrr1q1uNOLyyy93DWdGI6jy6dEDS6cKjegff/zR3ZbI6S2JyL9fzJNlHsiSJUvc73wWGG2iOAnXAzrL6DijAcn5HQRUpIATdAfPsaJKJPdHvnz5rHr16q4xyTxcrjMimf0YOPnkk902hQoVcufZLVu2uFF/Rv8/+OADl+XDz16NGjXcqBUjX4lKQZVkSVzUCIq4+JH244MqcOEj1eeUU04J5Mxz0vA9k5deeqkde+yxLiCj95sTBOWVr7zySve4P/30k9uOkSoaXBqtEjn6OBbDzYfiGCRIIuDhuCanHwRB9LwykRq+oAwBE8exH3n44YcfXAOiVq1arsgA54WFCxdahw4d7JtvvnHbEJiVK1cukN6loCpz4f0mJYnPBud7HzQXLFjQfX58uh7XCnrlL7jggsB9SYHi+uBHn7iuMOJJA5QA3H8WuB6wna8Kq8+IJMoxwNIStJtGjx7tRm5feuklN+eKzoYpU6a4Kqm+s5lAjM4s39mVaBRUSUKimMSYMWNcNRrmQPlhaE4M/mJGjzUnDxpXvjHGzxzsXPwIlm6++WZr3ry5a0B17tzZPS4Nq8cff9z1TPL3a665xt2XKk/kEzPKBRpZNMxIHRKR+CNVl6pr5Ooz4kyFtYceesgdx/54ByPLjByceeaZgR5Ygqhzzz3XrZ/iGxWMVjHJukGDBq7jBH5eAKPVzLN888033ag05wc/p4B0YHphP//8c/e7GswZg38f6DTjevDAAw+4DjDO4/7vfhtSOgnMea99x5gfUfIBE6NMNCoZ2QzlG4msU0hK6A033JBkH0iNYkTTp4hrXpUkwjHAyBNtotNOO82dE5mTSicTxwAjXsw590EVOOfS0bx9+/aE/AAoqJKEw+gTOcDkr9NwYn5Uu3btXDoPJwZOEpxEaCz16dPH9cIQVJHCx/ZsQwOM+ReMTpEOeOedd7oea3KJOaHQiGOe1fvvv++CM+ZkMFmdVCF6tcGcLHplfEqQiMQXBSUYLaJXlKpTbdq0cTn/viqVbwiMHDnSOnXq5Bq1HL++E4VjP3h+CyMMVPfjcfLkyeNGHTgXkP7HRGwaBFQJpBANc69IBcYxxxzjql3xuARmWq8qY+BcTyORHnOuB/SUM4+ubdu2rpHJ332jkbLnnOc5f1N4IniRUt/oZF4JKeHh0vd4z3mM6dOnu7XLOP9zP//5osef6wkFjfz2Ipn9GPC3Uy69QIECgWDJdzIwQss51TvvvPPcKFhwdlAiUVAlCYXh60cffdQ1fmhYEewwj4LRI4Ijf6BT5pMDmxMBjSF6r33PDbnyTKbkhMJIFL3QzKcgN5gAidQfTiScgGigeVxMySn2aYKcYEgVCh5KF5HoHKknn2OQClSUsuYYptFKCu4555zjLvzBC7CSksJaKQRVPC4dJOB84J+H+ZD04LZq1codw9xOFSvWnyNQe/nll+2OO+5wI1s0Otg+uNFBQ4MeW5XNzjgYsSQIpsQ5nWC9evVy77EfkeRzATrUSEniveW9Zy7sb7/9dlhPPu83nwuyEEJHIznPU5L/oosucmml/r40aPmc0WFHmhSP4bMZRDL7MeA7B0gHLFmyZGBUittpZ7HgL6NVHscAHVZ+JCzRKKiSTIMRoSOVKGfuBBcsSnvSQ8iJo2zZsq6cLYGT7zWkog0nGXLeSQmiJ4UeaTChmMYUk4sJjHyPDKNTpBtxkuI2Gm733XefSy9kEiffmWdFr7VvqNFLw+9sKyLJ48JOJwijQKSRMHLEMRcOF3RGh7lgczz6Y45KUxz3HLsg3Sp//vyuEUCKCqktVOqj0UBjl3MCxzQlg/kbc2HA7QRJHMN+9Nl3ytDo4LlJffHojKHB8PHHH7vfld51dPEe8loHV28NRa85I0Ok4tGQowHJ54LKZaSE+jRRFmonPY/rBF/c7iuU8T766wafLT4DfA8drWKuFM/HtYeRADrkSJHic0xgBT6DNDyVAiiJcgz42zlPPvDAA25eKaNdo0aNsu7du7tzKiXY/ePw3LSxyCjiPJ1oFFRJhsecJHpPODAZeaLRw8kgmO9FIYAhRY85UaBRRI81aXk+QGI0iQCLix14bAIqGnCMRtHjfP7557teGhp0vieGPGCeh+Fz3H///W4+FZMyCdL4OXh+Bgjc2Bd6a0TkyOl8jPhybPJFaXPmTPlUkeBAhYs5f/MpeFzkGW1mEjUjxJwLaFAwKsVFnsdgdJlRaOZFEbj50SwW9qWBwpwsOloYdeA2GgZ+lDk4leuee+6xjh07Biq+0ThgW3pf/bwqpXcdHbxPzHMlpZtKZZS5j9TrzegQ1wM61kCjkp52rgd8Prgm+BL5jDCB+XScv5lDR8pU8PvI/UjrCw70/WeSHnoat8ztI0uCAP6FF15wI6V03IFCKcy75TMOzb2TRDgGvAsuuMB1MDPtgbRsPvfMP6fNFByYEYBRECM40ydR/Fs8XiSD4uCnYUVKDxPQGa0iva9///72yCOPuAsUFyYfxHDioORn8DwJehBpPDVr1sz9zpA0vSScAJhnQRoPJwq+kz4EJlhSRpTeRkqq09BiXga3+x5qemA44XARDcX+kJPMGlfsC71CIhIZHRuk2FFlj3x/fzyzfhS9qBSLCW2EclwGI2gikKKxAQrUsA4VPbU0LugwoReWEW06aHxDg5ED/s79SfcjkCKd8Nprrw2MeIWOTNBb63tqaXTwHBSzadKkid7mo4TzLnNkeQ/pyKInnesADTeuD6R4BjfefEoo74+/TtCY4zrCuRt0shHME4j76wGT8Wlw0sj0c+RCG5Z0lgVfe7hOkB7K6FS4OVfch2U5uA+NVijwlkQ6BsDz8xWK/WF6Bu0lnp81q3zF1USikSrJkHzjidEh0nQITuiJpueDin70OvvyxaGCA6rly5e7ExA57vQcgrxhUvtefPFFlxY0cOBAt9YIqRmkbqBChQquMcdcDe5Pg44GGdW/OLH4xez8yYQGFl/BjT7SPGgk0oNEECgikfkiD6TZeqSJkGoXnKcfyqfkcZwx2kxHCB0rvgHCuin05tJooDgNF3Uq+/n1qqjkR8OECzwBGQ1jzhF8EST51L9QwUUu+HnSpEluNJ2OHjk6mM9KZxWVVqm8yDmb6wFIv470PvlzNe8z856YLE82gv/ckO5N4E4jkvknBEgE3GQfkO3gP2Oc0xkJ9elWwZP86fjzqahsz2cv+HrAZ465LKQC0kEnkijHQDgHDx487BjgsSkOxqgYI/t+seBEopEqSRO+N4MRI1JmGIKOBo0WepsJaPxjEBzxO40eerR9gBPM99QMGzbM9TSzCJ3HYnYXX3yxK0Dh70sPCikZnFyo7MVzMT+CLxbv5YSTnHCNPU5ENApFstpFnzx/jnEu/Byr0SAYIX0v+CJNLysjVzRGaUiQThvaM8qxR08rHRccu3R8eDy3f35/ced5OO7pcAGNEtK1Qo9xziF88fharPXoYH5HNNeC4PecTAM+Bx7vH51tpIkzDyRc77e/HrCODj3sQ4cODfyNoJ05UATP/r58Pkj/JIWJUvn+/M7IJT33NCzD8c8T7nrA/xCuB1+yNs5dwQtHZ/ZjwOO5gju4/f9A6l8i00iVHHX+ZEAvMiNG4RboDOVPHgwvc+GlB9n3ABKsEOwQoDE/wj+H5yefk8pDWg89z77n2ue1c0LgpOHvx0mFHnK/XXAjyje26HXR5HORyAh+ON6Yx0RxFjo9oplPyHHIBZ0gipGj4OOZUWOOWdL4EO4YpIeV3k/SYHy6Ho0Vf34IPqY59qkayHws0FjgGOc5OcZ9jyznkHAFCSQ29HIzx42qjaRaUgr/SPx7wFwORjP9fA7eM389oGPMV3UM/oz4xiQNTubSEXRTVMTjc8fnK7ghyuPRk893+AYlGQ7JNSZDG5Hh/gfJuvx57fvvv3fHAFWKKXb19NNPB9bSjDTPLrMcA8nJCseAgiqJK39CCD6g/aKaDE3TixK8ZsGREFTxRRogfIOHiZCcJMIFVRz8nHCYi8X8BlL7eF7mPLD2lK/O5fcNNMRIySDdLxIaWMldNEWyyjxH5iQychSMCfmklXTp0sVV8ONYq127tsvP9xWmjoSRXfLtmTgdnDZFrn/wROzg451jfcqUKW70Gcy5vPTSS93cFkaggh/LC5d2wrmAY1zzXOLHXwf8d1K5SbemZ57J88xLJT2TYDwapDvR8UVgFvw5oKee+XW+QRn8+eCcTaoSnwVGigj6CZ799YDnDm3I0nBkzh3zPkRi4UuVc/7iHMN8TkaJCExIS2ZqA3OjmG4QTeChYyBjU/qfxCXdh2FiApxTTz3VVaUJLczA/AUCF0ap2J6JuvSuHAk9yKwtw/wpgiN/wqH3mgsjPTMIDXZ4PkqrM9RMbzkXW3ph6J2JNJGcC6tP9xGRpBgxJsWOBa9JoeN4otFJai0/U9iFlBR/fFHxKTjFJDRtL5i/nfvS2KZQhO9J5XE4VwTPXwrGthzrfFGUhlQV5jYxXyDSfCg5eng/CFTojec8TRVHsgB4/+klp3Irk+pJ1WQeEu89FVTJFuA9D55kH4pgh/eXzxqT7P3nhiCZ64vv7Q/9jDAHl44A7sucOwJ9AmiuLRSPiIROPF0PJKUIophOwMiQr1xK2p0fVec2OqDoVODY4DPP32lD0YGU3LlSx0DGpm53iQmTbllMjh5IGjEELzRofK+y76GkKAQL6JL+R45upLVnQtGjSZU+eq/JA/bD08yTYMQruMeZ8pwszgt6IUklYj4UveVvvfWWu8hT7jPSPCdOYrqAivw7ohA6wkNDmWOXwi0cT0xg5nhiAUmQtkcnCJ0dlBVnjZInn3zSNTB8pbwjYYSJBrVfxwfcl5EJX5YajDqQ208DnsnP9PiyQC+NZf5GQ56AivOPylanbeBNwESAy/tDpxdBDKmbvP9kHBA8BadjU9yByo/RrO/F+ZnPCNcX0j2DU6KYZ8J3j+plBFK8/2zPtYJAijl6fH75rFBIyAd2kZ5PJBqcpxhtIlBnuRUC/K5du1rr1q1dZ7NPo6NTmXndzOn2mFfIedN3CiR3rtQxkLFppEqiRgOJoIbqWQxBg15lLmTkBHPBonQnPYj0PNITQwOJix1fpNaRovHBBx+4Rptf7yk53J/1ZOjxpnIXJc1JB6IaGBfL4Nxe8vO5ILOIJxdycpVDceJS8CQSPq2PeY9UsaMzgx5TOkEaNmzoLuSk75JSRyOY44xj0Y9KsFwB29OpQgcInSiMWnHcM3eAcwZpV8nhMRmRYh06Jk2TNkM1TkbB6dENTs3lZ75I+wIjIuGOcaXrpu31gM8PaaDPPfecy1bg88PPvlIYZaDp+CLY8pPzea98AMT6X0d6zxgd5bxPyhSfLT4bBO581oInwXMdYK1B9oPUUPYllK4HEo9jgNF6OnfoACajJvh8xOef0VC//AOd0Jzn/BxxzlMcM9zGOS25USodAxmfgiqJCoth0rvHCBEXL1I36I1kxIkRKL/KNvOfaFwxUuRPDCxUx6RxLm5cALnA8ns0/GOyUjc90DTauDDTK03ji0qAwZX+fM+iTy0MnnTu50yIZHXBFaL88UPwQlEJ5pJwXNEopbOEYItqTxw7LEHg70/vKqPTLHBKo5bjntEq5jRRMIJgjLmUpLWMGTPGLYxNEBSp0eBvu+2229xjk/JLwEZjhIV2eXwvdLTZj0bpGE/76wEFg3wlMkaPWIzZp39zHqaTzX/W6HTjc/bss89az5493Wfv66+/du8nDcsjVQP0jVAWaabTjnQp1g387LPP7IYbbnCjTn4bPoOhAZquB3I0jgFG7Qmq/HnJn1PJjqHDgM4oL7hqH5hjNXnyZNc5Ec26TToGMjal/4lD7yEHNoFScEPFX4RI5yH9joueL0VMY4cLo1/Q0C8uR1oFgY/HiYfhcNA7SRoGjTUaT0uWLEk25cNfFFkxnKCJ0S16H+n1Js0weBuePzTdxy9YlxWqzogkhxSrCRMmuFElelM5Bunw4PghdZYqbDQQ6NUnPYuRXxqsBEXk8dORQrovfMPXp2xxHHM+YASBY983ImhU03tLg8NX7ztSdSsaFnSYsH88Ph0opHyFCn6c4PWCJH2uB/zOiBXnYNKuSX0izYnRJx4LpHDSeOR9ZV4tqVKk5jEiyXWB1Cj45wnlO80I8gnM6NmnUcpiz2QmBGch8LnW9UDS4higM8n/3X/2wNwpOpGp8hfpvMe6TVTe82tkHomOgYxN3fZZHD3M9CyTjkGOLz3KlLplPoS/QPE3tuPCRcPLV/0iQKJnEFy82P7DDz90xSi4oIKTDQ0xJhHTQ8mJit5rer/puWZxueCTUOjEYN9Q4u+RVuoOpnQfkcNTnBhlIu2WOSSU0yVll7lQLDtAqi5BDwUEGEnwGJWi59UXF+CizzmABXEZFWBUgpFqGsqsL0WHB0EYcx1pbPj5jgRJPJYfJeYYJ1DiNkr2RkJDI7kCMgqiMsb1gM8GSMsGc/EYReL3Bx980BUP6d27t1sWo02bNm5RUUY4uY6QJsWXz2zg2gD/XkdacwcE73wWk6PrgaTFMUA7h7TU0HMSc1A5P9Kh5Zd6CMY5mG1YCJf2VLjCKDoGMheNVGXx4WvWayFdg2CIkwdzkTjQWWPGN2gIgKhiQw8jPdH0Soem7/nebkrUsuAnxSHABZdebp6LyZr0lDOZk0YSczN8OhE9OqQRsh9HwoknUk+mSFYOnkiZ83OY6MQg6CGYYQI0xzqVppgLRQOAsueMLJDzT1EHLvrMkaLn1SNwAila3JciBKSz0DBm7hXBFZ0jdJwQVDFvxc+z8g1kRqgIsnwHDI1kzgPMu6KhfSSaA5nxrwd+gj3BOgESHWtkItAYJZ2UxifBuV8Cg88YGQ5+7gmFSPgsUEQCNEIZMSXgPxJdDySjtYl8+4QOJqY8cG4NHakiEGPZF86ZHCcgoPLnTZ5Dx0Dmo6AqQRG0rFu3zv0cadiZnkJyfsl5J02HA98XgmBEyVfsYvIxqRoEQFSwYTjcN4ZoyPnHZw4GF0vmP/g5TQx7M+mcBpyfF0GDjt5MJrT7tD9OPGzLSY0LanJ8Sp+I/IeUKtYAYt4SHRakzzFSwEWa44y5L6yJwjHNcQs6P+gp5W+k2FIAhnQ/UlZ8egspWr4aHx0fNHSZ20jJYHph6WH15wAaB6RhMSLWoUMHl2bInCvWrvKj0mDhXUbBggM4ybzXA1/NlfeUzxu309j0DUTS9eg443PHtoxk0SBlhJPrAJ0BpHP7lD0em+emYekDtkh0PZCM1CZiZMmPZpEB4AOs0Ofk/EkHE6OtpGETzFG1lFFc0mf9c+sYyFwUVCUY5jPROKLHjxMDw8qR0mQ4yFnDyc+P4ILGhc9PJOfEwMFNr6OfI0ElPk5MXAT5ohecbancRE8kDSrmXnicmHyVJ3BR5XmYM0EqHz/zfHynp5vn40SlMsgih2MyP5Uwn3jiCfezP07opCA3n3S6hx56yKVZceFnBICy5/ydjgsu3vAXeo5xelPpdeWYpAw2Vf5Yz4f5kgRNjERRrdP3rlLxypdbpyFBEEaPqg/UKCFMZTbmuzCBm3kJPq3Qd6LQs0t6XzQVQCXjXw9I56RYBJ8/nssvbeE71+goI1Bn3h2FhxjF4jFJRWXOFZ8zPnv+eUGDlKBba41JZmkTMboVnK7KZ963f0JTUel4ougX8w4JnujcotOLKscsTaFjIHPSnKpMjh5kUigoJUtDhzVk+JnKR/Q0U9yBBhQXMdLwgitvcSGjF5oUIH87JwZ6F/0Jg4YbvdisLUJKD73hpPnxPExA54sTDc9DtS96WujdJshivgYNKxp4/uLq51VQvcnz+0PDzJ/MNF9CJCly95mcz0gUowCtWrVyjQQaphynHIc+jYTj+eSTT3a9nlOnTnXHKcERo0YUo2A7FsgmPZdzAMEXARCdIjRuaRj4EsCMKrDYLz2vBEGcI7gvj0mRAYIjjnGObV/1ivkuwcVqPN+wIEVYEud6wOeSzwNZCHwuKUzEqCnpoZzTSTElsObzw2OTlcBz0QsfPILpP7s8N+mBjAaIZIZjgOfhfMuoLOc5OgX4fHNe5P6+DQRGawnGGAHjmOE5g/m5VToGMh8FVZmUb7zQG01PHycNekloJN17772BRg3bUH2PEskcvMEnEA724BLjfi4EvSVMOAepGfRON2/e3I1AcdIgaKJRx3oLHPgMl9Mzyd/JD6YXh4YWI1H0DgWfTIKFTsoMvbiKZDVchLnw07NPEMQC1qDCGRdt5jUxRwWVK1d2vZpMpiYFhR5RjuHgFBSOb26jEcBaKqSpMALF3xkFIC2PY5dRJnpV2Y7t/ZpQBFKcV5o0aeIaCaABTUODYI3GAI9LtUA/4uz5AhN+OYNQ0azHIpnnevDwww+7bQiuKFREehMNTnr6GflkHp5fzwr0xvseea4F/nPi9yd4DUKRzHAMUJCFx/fFJQja2J7fg9tBjNb26NEj7Jpp3N+3i3QMZD4KqjIpDjxGg6iwRY80mEDOgczJwp8o6JGmAURqRrjqNMHBDZMmOTH5UuVgcjnzLujdppeR5+U5mATPpGP+xnA4f+N5CaLohfYXy+RoXpTIf8EFxylpfQRS9GCSHkKv//XXXx+YCM2F3GNkl7Q95iyS4scI1htvvOGOPzo1SEmhQUGvKMsQEChxjHPe4DnplSVQIqefII4GAHNchgwZ4np6SQfkOKf4gE/NAmsQEdAxZypY6LnlSAUmFFAl1vWAgN0H44ye0hPPNYLPSnAKeDi6FkgiHAN0KHMM+Mckk4DRMl+QK5SfDsGX1tBMDAqqMiF/cmACL40t5kqAkwkNqeB1mehJoXeG7Zj/4Hu+Q08epBZxUmD0iQaVfw5fjSl4PgQnDeZJ+HkZ9NSEpvOwre85Ullbkf+QPsKFllEeei85zugRJZgh3YORKI5t5iVRTZM0E0Zx6Q31+foce6TncWwxZ4ARLkYHGA2gAcAxzfpB3J8RKBq8PA8jUTQEfKODx+S5GekCxzsFZXhuenvZjmqCwfMkwWP5NVt0jKevjHI98EUpPDrWGFkN3lbXAskKx4APkIIX/Q1HgVTiUaGKTMifHEgJ4qThJ6vTO00Dyi/G6CeO06NCqo8vZxu80C4nD3pzSC2iB4cJk+BkQylkel48f0HkBMLEZCqMBd/O8wWvWM8JQxdRyapCi61wPNH5QC6/r37G3CQQ9HA8+9EfJufTy8noESl+pLIwekXKHYGQP24pMoEvvvjCHeeMblEoghEtCk6waC6389ig9DkjUKTIMMJMWXSOWW4D81+YG0kwxv5StdMf5+HOQzrG019Gux4EC14MVdcCyYrHQPBjS+JTUJWJUf6TEwiNIzC3ghxcX/7YH8z0stBw8uVEQ1ERjCo0rM1AGeZmzZq5HhbmW/hGWzihJwsaWErjkKyOizjzSILTSjiOCFSYeE+eP72fHC+MLnFx5z6MWvmLvl9WgAIRpLSwTadOnVzJc0aS+JngiV5TRorJ2wdpVszFInCj4UDjgNQ/v2g2jQRSClkImO0oJsPoVvny5QP7SoPEL1SpNYAyj4x2PYBSPCWrHwPqTMhaFFRlYkx2pIfb98pwMuHAJ18YPlWINCPmSvh5Tv4g92uL0MNCo23kyJFu/RnKjzJZnsXuKJEbiU4WIv9hgVyqnRE4Ud2StZh8OgjFIEizY64JAQvzkgiouKgz+kShB273xy45+MyH4u+kCnIsMreKteBIbSEgY6IzI1tcyH3jlcIAzH9iAVae+9NPP3U9rARQYDtGyGgo8FwEaZT0jdQQ1hpAmYeuB5LV6RiQ9KY5VZkYcy3I42UCO/MrmHROWWR6sGmE+Xx2AiWCJt8bTSOM0ufkFdN77kszh1bfYzsCNo0+iSTFSFLw5GNGhAhU6MCglDT5+n379nUjUIxKkTJCLr9Pj/WdIByDdGpQXY9jl+OR4IsRKj+RmrLl9Jr6Y56vYAsXLnRlfH3lNQIlCl7Qo0qARPDFqFVwwOSPdR3jiUPXA8nqdAxIelNQlclPIARLDFUz54IGE7dRFYyGFMESt7NGCOlA9HD74hE0/HxDi8o4oWU9CaQ0EiXyH4KbMWPGuOON8rqU2WW9HUaY6NwgiKGkLgELX36NFEZ9ybkn1Y4AiGMSjEJRtIK5UhSaoCAEFfwmTJjgRraYD3XzzTe7kS8fDPF4BFh0nDDaxRwqRq18oQk6VoYPH+72kdup8JccHeOJQ9cDyep0DEh6U1CViZHOR84vKT+U+KT0MWjYMUmddUJogJH6Q4AVvAaID6g8X9lG1WhEDrdx40YbOnSoG52iyATH3JNPPukCH/LsSbEj9eTUU09NcoHnuGL+EiNQ/K1///5urR6+qCxFOiBFIwjIyP2/+uqr3Vew4LV9WO+HwMqvCcTxzRwrAiyPuVm+tDV8R4okNl0PJKvTMSDpLduh0BJVkqkw6Z3ec+ZFUErZLzrnF+70C3aKSPKoHEU1vPnz57sRKKrg+VHc0aNH26hRo2zKlCmB8uIsIPnII4+46nzMf2J0mHlKVJzyj3f55Ze7YIvAipRB5kTNnDnTpQGS8kfVPb4oX85cKOY1ckpu166dq8T34osv2vjx410gRWohmITNcc9oMoUnKJEejhbXzXp0PZCsTseApCd1X2ZypAaRhjR27Fi3RoMPqGhQEVDxnZQ+lfUUOZw/LtavX2+PP/64S/Gjg4JSuwQ6BEOg0AvBFF++H4pRKo4t0vs4Dknj6969u5tPxeORmkfhGG6ncATBDyNVzJX67rvv3HpU/I35kP4xGUEmiKK6H4vysl4UAZYPqHxvLAUxCMJ4zEj9Yqq8lvXoeiBZnY4BSU8KqjI51rFh3gVzPEhL8uU+fYNKa8lIVueDDkZuSbnr06ePS48lZY+0OEaNWOiR0uUEPW3atHHpegRNVPAjcCKQ4TuP4Y8tRqdItSMQozODbXks1jWhaiYpgzwGi0vS4QGe9/333w/sGym6K1ascKNiYD4kQRXzH1mriv0hdTe5gFDBk3i6HkhWp2NA0pOCqgRpMBJQgRGr0JXtRbIqnwJHAMXoD4vZgpQ9KmDSCUEa3VdffeVS6XxqH6l3VN5jxOmbb75xQRJLEDCPisDKp5kwD4ptqO5HyiDpem+88YYrNMExSVU+lj0gSCLgYj8YzSJll1RAUggffPDBQMogKleu7OZM9ezZ87BKf8E0T0rCfd6h64FkVToGJD2pUEUmR4ORHmsqkNEIozGoYhOSVTFqROU7ikJQxMWP4lABk8p7FIWgqAOBESNSlB4nuKEYBHOeGFFihAgcV3xRlIJUvfbt29sLL7zgFtvdunWrC7pI0WO9KQIctmUUiuflOARrUDHPkdLpBG+sNUVaLmmFVO6kih8LS4ZDEMb+K3iSaOl6IFmdjgFJTypUISKZHkESI0Dff/+9Ky9OkQgqYrLQLaNEVNSjvDipf6Tx0fHwyiuvuCCLXn1S9QiwCLQo+AL+xsgT2zJvCmzH/CjKop988smubHr16tVd8ETgxPMx/4ry6KQEUtziyiuvtLZt27ogSWu+iYiIJCal/4lIpkH6HIUeWN8puEADwcsvv/ziqvQRDDF6RBW/559/3v2d0Se/gK5PjyX44rZPP/3UpekxAsWIFkUg6tev70adCNRYXNvPiWJhXuY9EVCB+U9+jTgwckUaIVX8CNJ4TIIqhAZUBFnBiwGLiIhI5qX0PxHJFCNRQ4YMcXOQqJZHeh0By7333uvS4xg9qlOnjiuBTrB1wQUXuNEqgixS7pgTRZoflfmYswRKmxcuXNilBZKKxzwmKkeRPsioE+u7zZo1y4108VgUnBg2bJhL86N8OgERAR7pe1Tt43e+P/DAA3bXXXclWV8qHI1aiYiIJA4FVSKSoVA8gmp7BCV+4Vqq9lFMYsKECS5wYW4TBSEo5HDGGWe4QIqqTyC9j9Q7RqJY04lRLYpSEJAR7JxzzjkuuCI4I3AiYPrjjz/cXCuqaPpKfGC0iwCOAhY8JmXWSQkkvY9RMwIqRraCgyRGrfy+88XtqtAnIiKS2BRUiUi6o4Le008/7SrqEewQKN14441uvhLpdx999JErAOEX42XuUvPmza106dLu9zJlytiiRYvcnCfuD+Y5EWwx8sS2BGIEZ4xqMSJFgEVJc9aMIogjsGI0LH/+/K6UOal+X375pavqx3pSIIhjH0gb9JUCIyEYVJEJERGRrEGFKkQkTYUWbOB3UvNItaO8OHOeKF3u149CjRo13OK8LMzLyNOcOXNcwEWaHiNUFKhgHhWpeqwN9fPPP7uRJSr6ERy99NJLLljyRSo8Rq8I5r744gtXpY95VMzPYv0p7kfw9eijj7rUv0j/iyr0iYiIiIIqETnqVq1aZS+//LJL4StVqpSrxtekSRP3N0aXCF4IpHx5cW6jPDoFIwhcSNMj5Y6RJwpRsK4To1uk7PXq1csFU4xAESQRnJHGx3wrilcQjHEbaYXMd7rppptc4MX9qfRHul+XLl0C+8pivARUPIYvry4iIiKSHKX/ichRRSA0ePBgN7+JkuWk43Xo0MFVx6MyHqNOBEmUPMc///xja9eudYEWI1q7du1ywROlzylGQUW/8uXLu6p9I0aMcCl7Tz31lEvNC10slyCOBXp5DL5XqFDB3ee1114LzKNq165dkvuwDV9+36E5USIiIpIcBVUiEjeUJGekh9EjnzJHQYmvv/7ahg4davXq1bNrr73WlSH3840IeJjTxP0oRPHuu+9a0aJF3f1btWrlRq+YY0WlPYIqX86c0ubMoyJlj0CMkahx48a5uVjMeyKIo+Q5gZtfjHfAgAFu1IoRLII4H4QRPAUHTv53BVMiIiISDQVVIhIzghDmJBEQUZ6c9Dmq74GRqVNOOcUFVB5lzn21PkqcL1u2zBWRYB4U1fV4LAIkypxToOLss892c6EIvvzzEfAUKlTIPc62bdtc0Yq///7blTtne9IHq1at6gIzH8Bxn7p167qv4H0PDZ4UTImIiEhKaPFfEYkK5cWplrdhw4Ykt/ughGIPBFNUyiOgAUUnKC/OaBRFIgh4mEt1xx13uDWk+DuBD4UhGHG67rrrAqXNmQvFYzFPqnbt2u42Ai/S9nzQw3NS7Y/UPgpRkGZ48803u5ErRsQee+wxO+GEE5IsFAxf7hwKoERERCRWGqkSkWRRbe+hhx5yZcQJYMaMGWNt27Z1aXV+HSkCJirwUZ2PdZ9+++03d1+CJUaSGHki9Y6fe/bsaT/++KOrukdBCgKtRo0auflPPmWQx2VbAi5S9Qh8mIfFY1AKneBr9uzZbq2oPn36BAIj0gavueYa9xUsNHBSqXMRERGJJ41UiUhEpPJRbY9gijlNI0eOdOl4jzzyiCsmQXDCKBBB1TvvvGMdO3Z0a0YxmsQcJx/oML+JNZ9I+6PaHgFSt27d3GOSHnj55Ze7AOybb77598SUPbsb9SIt0K8HRcoez8+2M2fOtGLFilnfvn3dfKtQBGVUDRQRERFJCwqqRLIoAo9169a5n0PT4zzWefr4449dhTyCnrJly7oiFIwiUQSCNDtGgfiZ4IZy6cyRYgTKB1X8zjak9fEzKX+gXDqPz8gWBSgoc04VP9ICqQg4duxYN4eKsuceARsjVTwfARUpgeEQlAWvhSUiIiJyNCmoEsli5s2b5yrk1apVywUoLHYbaV4R86cIpvz8o927d7vvpPlRRY/1p/xjMoKFCy64wI0SMf9q6tSp7nkYZSJQAo8HHpO1ohiJ4rbOnTu7r++++86NZBFs8TsjXQitzsfomN8vERERkfSkOVUiCe6TTz5x6y5RxpygiHWa+JkUvs8//9yGDRvmgqDbbrvNjUAFr81EgQlGhxYuXOiq9/m5SOeff759+OGHbjSKEaGlS5e6QOiVV15xI1uURycFkLlVl112mSsewe1du3Z1I0+k7g0fPtw9Do8PHod9YL6Un1sVCftGNUARERGRjECtEpEE5YtIMCfqnnvucYEUgdDvv/9u9957r1WqVMl9sQ0V9ljbiYIRBFU+eCL4YT7VkiVL3O8+kGFUipGilStXutEmvrOwL6NOjRs3dqXRSe2jsIRP/SNdjzWrGH1i+1NPPdWVTKcsejAfUPk5UUrjExERkYxOQZVIgiIw+vbbb11g5BfMJZ2PgIcAypdCJwiaMWOGKxpBUBWcZleiRAkrV66cq9bH/KkCBQq4Sn6MaBEMbdmyxaX7vfTSSy6gIlXPB2lUCfzhhx/cPCsCPBbxZVuqCTJyVrhw4WT3X8GUiIiIZBaaUyWSgHwK36ZNm9woE8ERCLAoTkHA4oMngiFGrNiOEuX+dv8YNWrUsK1bt7q5TvCjWKwNRVU/RqEoNFG8ePHA81MKnQDMz3ny9yEY4/EIqFShT0RERBKFgiqRBOQDI4o9EEj5AInAh3lSy5cvd7+TwoeKFSu68um//vqr+z24AARzqU455RQ3GsXIFAEZI2CUOydACuaDJwKt119/3Y1OhfL7ogp9IiIikiiU/ieSwCgWQVDFiFKRIkVceh4jTBSvICXQB0+k4zGHyZdYD3bCCSfY/fff7yoFUnCCQGru3Ll2zjnnuCIU0czrChap0qCIiIhIZqWRKpEExrwnRpT86BABFuXNmUMF5lf5dD2KR7AuFAiECH5IB+S+rC/16quv2oUXXuhSAW+66Sbr3bv3EZ8/NKASERERSURq8YgksJo1a9qff/7p0vZwzDHH2DXXXONKpLPOlB81oqAE6X/ly5cPjDBdffXV9vjjjwfWpiJ1kKqBQ4YMsRYtWrg5UyIiIiKi9D+RhA+qCJYWLFjgSqoTRHHbxRdfbD169LBWrVq525977jm3RhQFLXzK3sCBA91cq1AqdS4iIiKSVLZDPi9IRBIS60cde+yx9tBDD7ny5ti4caO98847Nn36dFuzZo1dcskldvvttyep4CciIiIi0VFQJZLgWPCXNaOaNm1qt956q1tnys+l2rFjh0sJFBEREZHU05wqkQTXoEEDV6Vv7Nixbt0qH1AxSE1AxXdKqweXURcRERGR6GmkSiSLuPPOO11Z9fvuu8+VVRcRERGR+NBIlUiC89MmBw0a5L4zYrV379503isRERGRxKGRKpEswFf0Yw5Vnjx5LGdOrfstIiIiEi8KqkRERERERGKg9D8REREREZEYKKgSERERERGJgYIqERERERGRGCioEhERERERiYGCKhERydTLBYheGxGR9KagSkREkvXrr79ax44d7dxzz7XTTjvN6tevbw888IAtXrw43V65yZMn25NPPhn4/a233rLKlSvbypUrLav7/vvv7Y477kjv3RARyVIUVImISES//fabXX/99bZlyxbr1auXjRs3zh588EFbtWqVXXfddfbDDz+ky6s3atQot09eo0aN7LXXXrNixYpZVkfAuWzZsvTeDRGRLEUrgIqISEQvvPCCHXfccfa///0vyaLRF154oV1yySU2cuRIGz16dLq/gkWKFHFfIiIi6UEjVSIiEtGGDRvc3KWDBw8muT1//vz20EMPWdOmTaN+9YYPH24XXXSRffbZZ3b55Ze7VMKLL77Y3n777STbkVZ47733Wt26da1atWp23nnn2aOPPmq7d+92fz///PPt77//tilTpgRS/oLT/9577z33M2mLwT7++GN3+8KFC93vjHT17t3bzjnnHDv99NPdyNu3336bqk8D/8NVV11lZ555phs1Gzx4sO3duzfw9wULFthtt91mderUsbPOOsvuvPNONwp4pPRF/tfu3bsHfmebV155xXr27Gm1a9e2GjVq2P333+/eJ7AtrwuvD9vyuDwmPxMgEwizjzwGtzG6F2z16tV26qmn2rvvvpuq10FEJKtSUCUiIhERIJDqd8MNN7iGOGllvkAEDXQCiZRYv3699evXz9q2betGuMqUKWPdunULpKutW7fObrzxRtu1a5c98cQTboTssssuswkTJtj48ePdNiNGjLCiRYtaw4YNw6b8MYpG0Ddt2rQkt0+dOtVOPvlkq1q1qu3Zs8duuukm++STT9x8MR6zRIkS1q5duxQHVrwu/A8EgDwO85nYXwJB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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 👑 Base de Nivelación: '(0.2424, 0.2469]' (Tasa ponderada: 68.7%)\n", " =====================================================================================\n", " ✅ [JUSTO] '(0.046669999999999996, 0.2424]': DIR = 0.98 (67.2%) | ✅ [JUSTO] '(0.2472, 0.2476]': DIR = 0.89 (61.0%)\n", " ✅ [JUSTO] '(0.2469, 0.2472]': DIR = 0.96 (66.2%) | \n", " =====================================================================================\n", "\n", "⏱️ Pipeline unificado completado en 2.589s\n", "\n", ">>> 🔒 GENERANDO PESOS PARA TEST (ESCUDO MLOPS) <<<\n", " 🔒 [TEST] Bypass activado. Retornando pesos neutrales (1.0) sin alterar ni graficar.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import time\n", "import re\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from IPython.display import display, Markdown\n", "from typing import Tuple, Dict\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "# ==========================================\n", "# MOTOR UNIFICADO: DDO REWEIGHING + AUDITORÍA VISUAL\n", "# ==========================================\n", "def aplicar_y_auditar_equidad_automl(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " rutas: Dict = None,\n", " umbral_dir: float = 0.80 \n", ") -> Tuple[pd.DataFrame, pd.Series]:\n", " \"\"\"\n", " [FASE 5 - Paso 16.3] Motor AutoML Unificado de Justicia Algorítmica.\n", " - Detección Inteligente: Diccionario Exhaustivo + Regex estricto.\n", " - Curación (DDO): Direct Disparate Impact Optimization. Reemplaza al IPF.\n", " Fuerza matemáticamente el cumplimiento del DIR resolviendo los pesos exactos.\n", " - Validación: Graficador automático post-tratamiento de TODAS las variables sensibles.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " inicio_timer = time.time()\n", " X_trans = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': [], 'date_vars': []}\n", " pesos_instancia = pd.Series(1.0, index=X_trans.index, name=\"sample_weight\")\n", "\n", " # ==========================================\n", " # 1. ESCUDOS Y BYPASS DE MLOPS\n", " # ==========================================\n", " if y is None:\n", " logger.info(\" 🔒 [TEST] Bypass activado. Retornando pesos neutrales (1.0) sin alterar ni graficar.\")\n", " return X_trans, pesos_instancia\n", "\n", " es_regresion = pd.api.types.is_float_dtype(y) and y.nunique() > 20\n", " if es_regresion:\n", " logger.info(\" ✅ [BYPASS] Tarea de Regresión Continua. Reweighing omitido.\")\n", " return X_trans, pesos_instancia\n", "\n", " logger.info(f\"=== ⚖️ FASE 16.3: Reweighing Directo (DDO) y Auditoría Ponderada ===\")\n", "\n", " conteo_clases = y.value_counts(normalize=True)\n", " clase_favorable = conteo_clases.index[-1]\n", "\n", " # ==========================================\n", " # 2. RADAR DE DETECCIÓN (EL ESCUDO DEL ARQUITECTO)\n", " # ==========================================\n", " def construir_patron(palabra):\n", " return fr'(^{palabra}$|^{palabra}_|_{palabra}$|_{palabra}_|[a-z]{palabra.capitalize()})'\n", "\n", " terminos_legales = [\n", " # 1. EDAD Y NACIMIENTO (Age & Birth)\n", " 'age', 'edad', 'dob', 'dateofbirth', 'birth', 'birthdate', 'birthyear', 'nacimiento', \n", " 'fechanacimiento', 'anonacimiento', 'year', 'año', 'ano', 'generation', 'generacion',\n", " # 2. SEXO, GÉNERO Y ORIENTACIÓN (Sex, Gender & Orientation)\n", " 'sex', 'sexo', 'gender', 'genero', 'female', 'femenino', 'male', 'masculino', \n", " 'mujer', 'hombre', 'orientation', 'orientacion', 'sexuality', 'sexualidad', \n", " 'sexualorientation', 'orientacionsexual', 'lgbt', 'lgbtq', 'trans', 'transgender', \n", " 'transgenero', 'nonbinary', 'nobinario', 'intersex', 'intersexual',\n", " # 3. RAZA, ETNIA Y ORIGEN (Race, Ethnicity & Origins)\n", " 'race', 'raza', 'ethnic', 'etnia', 'ethnicity', 'ethniccode', 'codigoetnico',\n", " 'color', 'origin', 'origen', 'ancestry', 'ascendencia', 'minority', 'minoria', \n", " 'indigenous', 'indigena', 'tribe', 'tribu', 'hispanic', 'hispano', 'latino', \n", " 'afro', 'afroamerican', 'black', 'negro', 'white', 'blanco', 'asian', 'asiatico', \n", " 'caucasian', 'caucasico',\n", " # 4. RELIGIÓN Y CREENCIAS (Religion & Beliefs)\n", " 'religion', 'belief', 'creencia', 'faith', 'fe', 'creed', 'credo', 'worship', 'culto',\n", " 'muslim', 'musulman', 'jewish', 'judio', 'christian', 'cristiano', 'catholic', \n", " 'catolico', 'islam', 'judaismo', 'cristianismo',\n", " # 5. NACIONALIDAD E INMIGRACIÓN (Nationality & Immigration)\n", " 'national', 'nacional', 'nationality', 'nacionalidad', 'nation', 'nacion', \n", " 'country', 'pais', 'citizen', 'ciudadano', 'citizenship', 'ciudadania', \n", " 'immigrant', 'inmigrante', 'immigration', 'inmigracion', 'migrant', 'migrante', \n", " 'refugee', 'refugiado', 'asylum', 'asilo', 'alien', 'extranjero', 'native', 'nativo',\n", " # 6. SALUD, DISCAPACIDAD Y GENÉTICA (Health, Disability & Genetics)\n", " 'health', 'salud', 'medical', 'medico', 'disability', 'discapacidad', 'handicap', \n", " 'minusvalia', 'disabled', 'discapacitado', 'disease', 'enfermedad', 'illness', \n", " 'condition', 'condicion', 'genetic', 'genetico', 'pregnant', 'embarazada', \n", " 'pregnancy', 'embarazo', 'maternity', 'maternidad', 'paternity', 'paternidad',\n", " # 7. ESTADO CIVIL Y FAMILIA (Marital Status & Family)\n", " 'marital', 'conyugal', 'maritalstatus', 'estadocivil', 'civilstatus', 'civil', \n", " 'marriage', 'matrimonio', 'wedding', 'spouse', 'esposo', 'esposa', 'conyuge', \n", " 'widow', 'viudo', 'viuda', 'divorced', 'divorciado', 'single', 'soltero', \n", " 'family', 'familia', 'children', 'hijos', 'dependent', 'dependents', \n", " 'dependiente', 'dependientes',\n", " # 8. SOCIOECONÓMICO Y EDUCACIÓN (Socioeconomic & Education)\n", " 'income', 'ingreso', 'ingresos', 'salary', 'salario', 'wage', 'sueldo', 'wealth', \n", " 'riqueza', 'poverty', 'pobreza', 'class', 'clase', 'estrato', 'socioeconomic', \n", " 'socioeconomico', 'education', 'educacion', 'degree', 'grado', 'school', 'escuela', \n", " 'university', 'universidad', 'illiterate', 'analfabeto',\n", " # 9. SISTEMA PENAL Y CUSTODIA (Legal & Custody Status)\n", " 'legalstatus', 'estadolegal', 'custodystatus', 'estadocustodia', 'custody', 'custodia', \n", " 'felon', 'felony', 'conviction', 'condena', 'antecedente', 'parole', 'probation',\n", " # 10. IDIOMA Y POLÍTICA (Language, Politics & Unions)\n", " 'language', 'idioma', 'lenguaje', 'tongue', 'lengua', 'dialect', 'dialecto',\n", " 'politics', 'politica', 'political', 'politico', 'union', 'tradeunion', 'sindicato', 'gremio'\n", " ]\n", "\n", " patrones_completos = [construir_patron(t) for t in terminos_legales]\n", " patron_sensible = re.compile('|'.join(patrones_completos), re.IGNORECASE)\n", "\n", " columnas_sensibles = []\n", " for col in X_trans.columns:\n", " if patron_sensible.search(col):\n", " col_lower = col.lower()\n", " if 'is_missing_' in col_lower or 'missing_' in col_lower: continue\n", " if col_lower.startswith(('cf_', 'llm_', 'sinergia_', 'capital_', 'screening_')): continue \n", " if pd.api.types.is_datetime64_any_dtype(X_trans[col]) or col in rutas.get('date_vars', []): continue\n", " if re.search(r'(_sin$|_cos$)', col_lower): continue\n", " columnas_sensibles.append(col)\n", "\n", " if not columnas_sensibles:\n", " logger.info(\" ✅ [INFO] No se detectaron columnas protegidas útiles.\")\n", " return X_trans, pesos_instancia\n", "\n", " # ==========================================\n", " # 3. MOTOR DDO (Direct Disparate Impact Optimization)\n", " # ==========================================\n", " df_calc = pd.DataFrame({'Target_Binario': (y == clase_favorable).astype(int)})\n", "\n", " for col in columnas_sensibles:\n", " if pd.api.types.is_numeric_dtype(X_trans[col]) and X_trans[col].nunique() > 10:\n", " df_calc[f'S_{col}'] = pd.qcut(X_trans[col], q=4, duplicates='drop').astype(str)\n", " else:\n", " df_calc[f'S_{col}'] = X_trans[col].astype(str)\n", "\n", " cols_a_corregir = []\n", " for col in columnas_sensibles:\n", " tasas = df_calc.groupby(f'S_{col}')['Target_Binario'].mean()\n", " if tasas.max() > 0 and (tasas / tasas.max()).min() < umbral_dir:\n", " cols_a_corregir.append(col)\n", "\n", " if cols_a_corregir:\n", " # 🚀 REEMPLAZO ABSOLUTO: Algoritmo DDO Algebraico\n", " EPOCHS = 15 # DDO converge rapidísimo porque fuerza la solución matemáticamente\n", " margen_seguridad = umbral_dir + 0.02 # Buscamos un 82% para asegurar pasar el umbral del 80%\n", "\n", " logger.info(f\" ⚙️ Ejecutando Motor DDO (Direct Optimization) para forzar cumplimiento legal...\")\n", "\n", " for epoch in range(EPOCHS):\n", " modificaciones = 0\n", "\n", " for col in cols_a_corregir:\n", " s_col = f'S_{col}'\n", " df_calc['peso'] = pesos_instancia\n", "\n", " # Extraemos las estadísticas exactas de peso de cada subgrupo\n", " stats = df_calc.groupby(s_col).apply(lambda g: pd.Series({\n", " 'W_Total': g['peso'].sum(),\n", " 'W_Pos': g[g['Target_Binario'] == 1]['peso'].sum(),\n", " 'W_Neg': g[g['Target_Binario'] == 0]['peso'].sum()\n", " }))\n", "\n", " # Tasa ponderada actual\n", " stats['Rate'] = stats['W_Pos'] / stats['W_Total'].replace(0, 1e-9)\n", " max_rate = stats['Rate'].max()\n", "\n", " if max_rate == 0: continue\n", "\n", " target_rate = max_rate * margen_seguridad\n", "\n", " for s_val, row in stats.iterrows():\n", " # Si el grupo viola la ley, lo arreglamos directamente\n", " if row['Rate'] < (max_rate * umbral_dir):\n", " W = row['W_Total']\n", " W1_act = row['W_Pos']\n", " W0_act = row['W_Neg']\n", "\n", " # Pesos exactos que necesitamos que tenga este grupo para dar la tasa objetivo\n", " W1_ideal = W * target_rate\n", " W0_ideal = W * (1 - target_rate)\n", "\n", " # Calculamos los multiplicadores\n", " mult_1 = W1_ideal / W1_act if W1_act > 0 else 1.0\n", " mult_0 = W0_ideal / W0_act if W0_act > 0 else 1.0\n", "\n", " # Blindaje contra Gradientes Explosivos\n", " mult_1 = min(mult_1, 50.0) \n", " mult_0 = max(mult_0, 0.01)\n", "\n", " # Aplicamos la cura\n", " mask_1 = (df_calc[s_col] == s_val) & (df_calc['Target_Binario'] == 1)\n", " mask_0 = (df_calc[s_col] == s_val) & (df_calc['Target_Binario'] == 0)\n", "\n", " pesos_instancia.loc[mask_1] *= mult_1\n", " pesos_instancia.loc[mask_0] *= mult_0\n", " modificaciones += 1\n", "\n", " # Renormalizamos para mantener estable la escala de pesos\n", " pesos_instancia = pesos_instancia * (len(pesos_instancia) / pesos_instancia.sum())\n", "\n", " # Si en esta iteración ninguna variable necesitó arreglo, terminamos.\n", " if modificaciones == 0:\n", " logger.info(f\" ⚡ Convergencia matemática DDO lograda en la Época {epoch+1}.\")\n", " break\n", "\n", " logger.info(f\" 🚨 ESTATUS: Matriz curada con DDO. Se forzó la equidad en {len(cols_a_corregir)} variables.\")\n", " else:\n", " logger.info(\" ✅ ESTATUS: Ninguna variable requirió intervención de equidad.\")\n", "\n", " # ==========================================\n", " # 4. AUDITORÍA VISUAL POST-TRATAMIENTO\n", " # ==========================================\n", " logger.info(\"\\n 📊 GENERANDO REPORTE DE VALIDACIÓN DE EQUIDAD PONDERADA...\")\n", " df_calc['peso_instancia'] = pesos_instancia\n", " sns.set_theme(style=\"whitegrid\")\n", "\n", " for col in columnas_sensibles: \n", " col_analisis = f'S_{col}'\n", " \n", " # 🛡️ Protección UX MLOps\n", " if MODO_VISUAL:\n", " display(Markdown(f\"### 🔍 Verificación Post-Tratamiento en: `{col}`\"))\n", " else:\n", " logger.info(f\"\\n🔍 Verificación Post-Tratamiento en: `{col}`\")\n", "\n", " def calc_weighted_metrics(g):\n", " peso_total_grupo = g['peso_instancia'].sum()\n", " exitos_ponderados = (g['Target_Binario'] * g['peso_instancia']).sum()\n", " tasa = exitos_ponderados / peso_total_grupo if peso_total_grupo > 0 else 0\n", " return pd.Series({'Tasa_Exito': tasa, 'Muestra_Total': len(g)})\n", "\n", " tabla_tasas = df_calc.groupby(col_analisis).apply(calc_weighted_metrics).reset_index()\n", " tabla_tasas.sort_values(by='Tasa_Exito', ascending=False, inplace=True)\n", "\n", " if tabla_tasas.empty: continue\n", "\n", " grupo_privilegiado = tabla_tasas.iloc[0][col_analisis]\n", " tasa_maxima = tabla_tasas.iloc[0]['Tasa_Exito']\n", "\n", " if tasa_maxima == 0:\n", " tabla_tasas['DIR'] = 1.0\n", " else:\n", " tabla_tasas['DIR'] = tabla_tasas['Tasa_Exito'] / tasa_maxima\n", "\n", " fig, ax = plt.subplots(figsize=(10, 4))\n", " sns.barplot(data=tabla_tasas, x=col_analisis, y='Tasa_Exito', palette='crest', ax=ax)\n", " ax.axhline(tasa_maxima * 0.8, color='red', linestyle='--', label='Límite Legal (80%)')\n", " ax.set_title(f\"Tasa EQUILIBRADA de obtención de '{clase_favorable}' por {col}\", fontsize=14)\n", " ax.set_ylabel(\"Probabilidad de Éxito (Ponderada)\")\n", " ax.set_ylim(0, max(0.5, tasa_maxima + 0.1))\n", " ax.tick_params(axis='x', rotation=15) \n", " ax.legend()\n", " \n", " # 🛡️ Aplicación de la Cláusula de Seguridad Visual\n", " if MODO_VISUAL:\n", " plt.show()\n", " else:\n", " plt.close(fig) # Cerramos la figura explícitamente en el loop\n", "\n", " logger.info(f\" 👑 Base de Nivelación: '{grupo_privilegiado}' (Tasa ponderada: {tasa_maxima*100:.1f}%)\")\n", " logger.info(\" \" + \"=\"*85)\n", "\n", " mensajes = [] \n", " for _, row in tabla_tasas.iterrows():\n", " grupo_actual = row[col_analisis]\n", " dir_actual = row['DIR']\n", " if grupo_actual == grupo_privilegiado: continue\n", "\n", " if dir_actual < 0.80:\n", " mensajes.append(f\"🚨 [ALERTA] '{grupo_actual}': DIR = {dir_actual:.2f} ({row['Tasa_Exito']*100:.1f}%)\")\n", " else:\n", " mensajes.append(f\"✅ [JUSTO] '{grupo_actual}': DIR = {dir_actual:.2f} ({row['Tasa_Exito']*100:.1f}%)\")\n", "\n", " lote_size = 20\n", " for i in range(0, len(mensajes), lote_size):\n", " lote = mensajes[i:i + lote_size]\n", " mitad = (len(lote) + 1) // 2 \n", " for j in range(mitad):\n", " col1 = lote[j]\n", " col2 = lote[j + mitad] if (j + mitad) < len(lote) else \"\"\n", " logger.info(f\" {col1:<40} | {col2}\")\n", " if (i + lote_size) < len(mensajes): logger.info(\" \" + \"-\"*85)\n", "\n", " logger.info(\" \" + \"=\"*85 + \"\\n\")\n", "\n", " logger.info(f\"⏱️ Pipeline unificado completado en {time.time() - inicio_timer:.3f}s\")\n", " return X_trans, pesos_instancia\n", "\n", "# ==========================================\n", "# Celda de Ejecución Maestra en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta las fases previas.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train', 'y_train' o 'X_test'.\")\n", "\n", " logger.info(\">>> 🚂 EJECUTANDO PIPELINE UNIFICADO DE EQUIDAD EN TRAIN <<<\")\n", " # Calcula pesos Y grafica al mismo tiempo usando DDO\n", " X_train_ipf, pesos_train = aplicar_y_auditar_equidad_automl(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " rutas=manager.rutas,\n", " umbral_dir=0.80 \n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 GENERANDO PESOS PARA TEST (ESCUDO MLOPS) <<<\")\n", " # Genera los pesos 1.0 y silencia las gráficas\n", " X_test_ipf, pesos_test = aplicar_y_auditar_equidad_automl(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas\n", " )\n", "\n", " # Guardamos los activos en el Manager\n", " manager.X_train = X_train_ipf\n", " manager.X_test = X_test_ipf\n", " manager.pesos_train = pesos_train\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el Pipeline de Equidad: {e}\")" ] }, { "cell_type": "code", "execution_count": 129, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 44 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null float64 \n", " 1 workclass 26029 non-null float64 \n", " 2 education_num 26029 non-null float64 \n", " 3 marital_status 26029 non-null float64 \n", " 4 occupation 26029 non-null float64 \n", " 5 relationship 26029 non-null float64 \n", " 6 race 26029 non-null float64 \n", " 7 sex 26029 non-null float64 \n", " 8 capital_gain 26029 non-null float64 \n", " 9 capital_loss 26029 non-null float64 \n", " 10 hours_per_week 26029 non-null float64 \n", " 11 native_country 26029 non-null float64 \n", " 12 is_missing_workclass 26029 non-null float64 \n", " 13 is_missing_occupation 26029 non-null float64 \n", " 14 is_missing_capital_gain 26029 non-null float64 \n", " 15 is_missing_native_country 26029 non-null float64 \n", " 16 total_nulos_en_fila 26029 non-null float64 \n", " 17 tiene_capital_gain 26029 non-null float64 \n", " 18 tiene_capital_loss 26029 non-null float64 \n", " 19 capital_neto 26029 non-null float64 \n", " 20 capital_gain_por_age 26029 non-null float64 \n", " 21 capital_gain_por_hours_per_week 26029 non-null float64 \n", " 22 capital_loss_por_age 26029 non-null float64 \n", " 23 capital_loss_por_hours_per_week 26029 non-null float64 \n", " 24 is_anomaly_isoforest 26029 non-null int8 \n", " 25 llm_age_*_education_num 26029 non-null float64 \n", " 26 llm_capital_gain_*_capital_neto 26029 non-null float64 \n", " 27 gbdt_emb_0 26029 non-null category\n", " 28 gbdt_emb_1 26029 non-null category\n", " 29 gbdt_emb_2 26029 non-null category\n", " 30 gbdt_emb_3 26029 non-null category\n", " 31 gbdt_emb_4 26029 non-null category\n", " 32 gbdt_emb_5 26029 non-null category\n", " 33 gbdt_emb_6 26029 non-null category\n", " 34 gbdt_emb_7 26029 non-null category\n", " 35 gbdt_emb_8 26029 non-null category\n", " 36 gbdt_emb_9 26029 non-null category\n", " 37 gbdt_emb_10 26029 non-null category\n", " 38 gbdt_emb_11 26029 non-null category\n", " 39 gbdt_emb_12 26029 non-null category\n", " 40 gbdt_emb_13 26029 non-null category\n", " 41 gbdt_emb_14 26029 non-null category\n", " 42 cf_distancia_frontera 26029 non-null float64 \n", " 43 cf_fuerza_logit 26029 non-null float64 \n", "dtypes: category(15), float64(28), int8(1)\n", "memory usage: 6.0 MB\n" ] } ], "source": [ "X_train.info()" ] }, { "cell_type": "code", "execution_count": 130, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 6508 entries, 0 to 6507\n", "Data columns (total 44 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 6508 non-null float64 \n", " 1 workclass 6508 non-null float64 \n", " 2 education_num 6508 non-null float64 \n", " 3 marital_status 6508 non-null float64 \n", " 4 occupation 6508 non-null float64 \n", " 5 relationship 6508 non-null float64 \n", " 6 race 6508 non-null float64 \n", " 7 sex 6508 non-null float64 \n", " 8 capital_gain 6508 non-null float64 \n", " 9 capital_loss 6508 non-null float64 \n", " 10 hours_per_week 6508 non-null float64 \n", " 11 native_country 6508 non-null float64 \n", " 12 is_missing_workclass 6508 non-null float64 \n", " 13 is_missing_occupation 6508 non-null float64 \n", " 14 is_missing_capital_gain 6508 non-null float64 \n", " 15 is_missing_native_country 6508 non-null float64 \n", " 16 total_nulos_en_fila 6508 non-null float64 \n", " 17 tiene_capital_gain 6508 non-null float64 \n", " 18 tiene_capital_loss 6508 non-null float64 \n", " 19 capital_neto 6508 non-null float64 \n", " 20 capital_gain_por_age 6508 non-null float64 \n", " 21 capital_gain_por_hours_per_week 6508 non-null float64 \n", " 22 capital_loss_por_age 6508 non-null float64 \n", " 23 capital_loss_por_hours_per_week 6508 non-null float64 \n", " 24 is_anomaly_isoforest 6508 non-null int8 \n", " 25 llm_age_*_education_num 6508 non-null float64 \n", " 26 llm_capital_gain_*_capital_neto 6508 non-null float64 \n", " 27 gbdt_emb_0 6508 non-null category\n", " 28 gbdt_emb_1 6508 non-null category\n", " 29 gbdt_emb_2 6508 non-null category\n", " 30 gbdt_emb_3 6508 non-null category\n", " 31 gbdt_emb_4 6508 non-null category\n", " 32 gbdt_emb_5 6508 non-null category\n", " 33 gbdt_emb_6 6508 non-null category\n", " 34 gbdt_emb_7 6508 non-null category\n", " 35 gbdt_emb_8 6508 non-null category\n", " 36 gbdt_emb_9 6508 non-null category\n", " 37 gbdt_emb_10 6508 non-null category\n", " 38 gbdt_emb_11 6508 non-null category\n", " 39 gbdt_emb_12 6508 non-null category\n", " 40 gbdt_emb_13 6508 non-null category\n", " 41 gbdt_emb_14 6508 non-null category\n", " 42 cf_distancia_frontera 6508 non-null float64 \n", " 43 cf_fuerza_logit 6508 non-null float64 \n", "dtypes: category(15), float64(28), int8(1)\n", "memory usage: 1.5 MB\n" ] } ], "source": [ "\n", "\n", "X_test.info()\n" ] }, { "cell_type": "code", "execution_count": 131, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Series name: income\n", "Non-Null Count Dtype\n", "-------------- -----\n", "26029 non-null int8 \n", "dtypes: int8(1)\n", "memory usage: 25.5 KB\n" ] } ], "source": [ "\n", "\n", "y_train.info()\n" ] }, { "cell_type": "code", "execution_count": 132, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 6508 entries, 0 to 6507\n", "Series name: income\n", "Non-Null Count Dtype\n", "-------------- -----\n", "6508 non-null int8 \n", "dtypes: int8(1)\n", "memory usage: 6.5 KB\n" ] } ], "source": [ "\n", "\n", "y_test.info()\n", "\n", "\n", "# # FASE 6: Selección de Variables (El Tribunal Supremo)\n", "# Destruyendo la redundancia creada en la Fase 5." ] }, { "cell_type": "code", "execution_count": 133, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 PURGANDO FECHAS Y FUGAS EN TRAIN <<<\n", "=== ⚖️ FASE 17.1: El Tribunal Supremo (Target Leakage & Date Purge) ===\n", " ✅ Purga de Fechas: No se encontraron variables base tipo Date en la matriz.\n", " 🔍 Escaneando matriz en busca de Fugas del Futuro (Correlación > 98.0%)...\n", " ✅ Escudo Anti-Fugas: No se detectaron variables tramposas.\n", "--------------------------------------------------------------------------------\n", " 🛡️ ESTATUS: Purificación completada. Total columnas actuales: 44 (-0 eliminadas).\n", "\n", "⏱️ Operación completada en 0.039s\n", "\n", ">>> 🔒 APLICANDO GUILLOTINA HEREDADA EN TEST <<<\n", "=== ⚖️ FASE 17.1: El Tribunal Supremo (Target Leakage & Date Purge) ===\n", " ✅ Purga de Fechas: No se encontraron variables base tipo Date en la matriz.\n", "--------------------------------------------------------------------------------\n", " 🛡️ ESTATUS: Purificación completada. Total columnas actuales: 44 (-0 eliminadas).\n", "\n", "⏱️ Operación completada en 0.006s\n", "\n", "📦 [MLOps] Matrices y rutas actualizadas de forma segura en el PipelineManager (Purga completada).\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import gc\n", "import warnings\n", "from typing import Tuple, Dict\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def filtro_fugas_y_fechas_automl(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " rutas: Dict = None,\n", " umbral_fuga: float = 0.98 # Correlación > 98% = Guillotina inmediata\n", ") -> Tuple[pd.DataFrame, Dict]:\n", " \"\"\"\n", " [FASE 6 - Paso 17.1] Tribunal Supremo: Purga de Fechas y Fugas del Futuro.\n", " - Purga Temporal: Elimina variables listadas en 'date_vars' Y auto-detecta columnas datetime.\n", " - Escáner de Fugas: Calcula la correlación de Pearson con el Target para detectar trampas.\n", " - Muro MLOps: Registra las fugas en Train y ejecuta la misma guillotina exacta en Test.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== ⚖️ FASE 17.1: El Tribunal Supremo (Target Leakage & Date Purge) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_clean = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': [], 'date_vars': []}\n", " columnas_eliminadas = []\n", "\n", " # ==========================================\n", " # 1. PURGA DE FECHAS (Diccionario + Auto-Detección)\n", " # ==========================================\n", " # 🚀 NUEVO: Leemos el diccionario y escaneamos activamente la matriz\n", " fechas_registradas = rutas.get('date_vars', [])\n", " fechas_detectadas = X_clean.select_dtypes(include=['datetime64', 'datetime', 'datetimetz']).columns.tolist()\n", "\n", " # Unificamos ambas listas (sin duplicados)\n", " todas_las_fechas = list(set(fechas_registradas + fechas_detectadas))\n", " fechas_presentes = [col for col in todas_las_fechas if col in X_clean.columns]\n", "\n", " if fechas_presentes:\n", " X_clean.drop(columns=fechas_presentes, inplace=True)\n", " columnas_eliminadas.extend(fechas_presentes)\n", "\n", " # 💡 Actualizamos el diccionario para que el Manager (y Test) no las olvide\n", " rutas['date_vars'] = todas_las_fechas\n", "\n", " logger.info(f\" 📅 Purga de Fechas: Decapitadas {len(fechas_presentes)} variables temporales.\")\n", " logger.info(f\" ↳ {fechas_presentes}\")\n", " else:\n", " logger.info(\" ✅ Purga de Fechas: No se encontraron variables base tipo Date en la matriz.\")\n", "\n", " # ==========================================\n", " # 2. MODO TRAIN: Detección de Target Leakage\n", " # ==========================================\n", " if y is not None:\n", " logger.info(f\" 🔍 Escaneando matriz en busca de Fugas del Futuro (Correlación > {umbral_fuga*100}%)...\")\n", "\n", " # Solo verificamos variables numéricas para el Leakage\n", " cols_numericas = X_clean.select_dtypes(include=[np.number]).columns\n", "\n", " if len(cols_numericas) > 0:\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", " # Calculamos correlación lineal absoluta contra el Target\n", " correlaciones = X_clean[cols_numericas].corrwith(y).abs()\n", "\n", " fugas_detectadas = correlaciones[correlaciones >= umbral_fuga].index.tolist()\n", "\n", " if fugas_detectadas:\n", " logger.warning(f\" 🚨 [ALERTA DE FUGA] Se detectaron {len(fugas_detectadas)} variables sospechosamente perfectas:\")\n", " logger.warning(f\" ↳ {fugas_detectadas}\")\n", " X_clean.drop(columns=fugas_detectadas, inplace=True)\n", " columnas_eliminadas.extend(fugas_detectadas)\n", "\n", " # 💡 GUARDADO ESTRATÉGICO: Inyectamos la sentencia en el diccionario de rutas\n", " rutas['fugas_del_futuro'] = fugas_detectadas\n", " else:\n", " logger.info(\" ✅ Escudo Anti-Fugas: No se detectaron variables tramposas.\")\n", " rutas['fugas_del_futuro'] = []\n", "\n", " # ==========================================\n", " # 3. MODO TEST: Ejecución de Sentencias\n", " # ==========================================\n", " else:\n", " fugas_heredadas = rutas.get('fugas_del_futuro', [])\n", " fugas_presentes = [col for col in fugas_heredadas if col in X_clean.columns]\n", "\n", " if fugas_presentes:\n", " X_clean.drop(columns=fugas_presentes, inplace=True)\n", " columnas_eliminadas.extend(fugas_presentes)\n", " logger.info(f\" 🔒 [TEST] Aplicando guillotina heredada de Train: {len(fugas_presentes)} fugas eliminadas.\")\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: Purificación completada. Total columnas actuales: {X_clean.shape[1]} (-{len(columnas_eliminadas)} eliminadas).\")\n", " logger.info(f\"\\n⏱️ Operación completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " # 🧹 Purga estricta de RAM\n", " gc.collect()\n", "\n", " return X_clean, rutas\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train', 'y_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " logger.info(\">>> 🚂 PURGANDO FECHAS Y FUGAS EN TRAIN <<<\")\n", " X_train_clean, rutas_actualizadas = filtro_fugas_y_fechas_automl(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " rutas=manager.rutas,\n", " umbral_fuga=0.98\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 APLICANDO GUILLOTINA HEREDADA EN TEST <<<\")\n", " X_test_clean, _ = filtro_fugas_y_fechas_automl(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos en el Manager de forma centralizada\n", " manager.X_train = X_train_clean\n", " manager.X_test = X_test_clean\n", " manager.rutas = rutas_actualizadas\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices y rutas actualizadas de forma segura en el PipelineManager (Purga completada).\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el Filtro de Fugas: {e}\")" ] }, { "cell_type": "code", "execution_count": 134, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🔍 AUDITORÍA DE SEGURIDAD PRE-ENTRENAMIENTO <<<\n", "=== 📡 INICIANDO RADAR DE ANOMALÍAS EN: X_TRAIN ===\n", "------------------------------------------------------------\n", " ✅ ESTATUS: Matriz 100% Pura. Cero nulos nativos, cero nulos ocultos.\n", "\n", "⏱️ Escaneo completado en 0.415s\n", "\n", "=== 📡 INICIANDO RADAR DE ANOMALÍAS EN: X_TEST ===\n", "------------------------------------------------------------\n", " ✅ ESTATUS: Matriz 100% Pura. Cero nulos nativos, cero nulos ocultos.\n", "\n", "⏱️ Escaneo completado en 0.107s\n", "\n" ] } ], "source": [ "# ==========================================\n", "# Celda de Ejecución en tu .ipynb\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " logger.info(\">>> 🔍 AUDITORÍA DE SEGURIDAD PRE-ENTRENAMIENTO <<<\")\n", "\n", " # Escaneamos Train usando el manager\n", " infecciones_train = radar_nulos_profundos_automl(manager.X_train, nombre_matriz=\"X_TRAIN\")\n", "\n", " # Escaneamos Test usando el manager\n", " infecciones_test = radar_nulos_profundos_automl(manager.X_test, nombre_matriz=\"X_TEST\")\n", "\n", " # Lógica de reacción automática (Opcional)\n", " if infecciones_train or infecciones_test:\n", " logger.warning(\"💡 CONSEJO MLOps: Se detectó basura léxica. \")\n", " logger.info(\" Recomendación: En tu código del Imputador KNN (Fase 11.1) o en la Guillotina, \")\n", " logger.info(\" deberías reemplazar estos textos por np.nan usando df.replace(regex) para que el Imputador los cure.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el Radar de Nulos: {e}\")" ] }, { "cell_type": "code", "execution_count": 135, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 44 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null float64 \n", " 1 workclass 26029 non-null float64 \n", " 2 education_num 26029 non-null float64 \n", " 3 marital_status 26029 non-null float64 \n", " 4 occupation 26029 non-null float64 \n", " 5 relationship 26029 non-null float64 \n", " 6 race 26029 non-null float64 \n", " 7 sex 26029 non-null float64 \n", " 8 capital_gain 26029 non-null float64 \n", " 9 capital_loss 26029 non-null float64 \n", " 10 hours_per_week 26029 non-null float64 \n", " 11 native_country 26029 non-null float64 \n", " 12 is_missing_workclass 26029 non-null float64 \n", " 13 is_missing_occupation 26029 non-null float64 \n", " 14 is_missing_capital_gain 26029 non-null float64 \n", " 15 is_missing_native_country 26029 non-null float64 \n", " 16 total_nulos_en_fila 26029 non-null float64 \n", " 17 tiene_capital_gain 26029 non-null float64 \n", " 18 tiene_capital_loss 26029 non-null float64 \n", " 19 capital_neto 26029 non-null float64 \n", " 20 capital_gain_por_age 26029 non-null float64 \n", " 21 capital_gain_por_hours_per_week 26029 non-null float64 \n", " 22 capital_loss_por_age 26029 non-null float64 \n", " 23 capital_loss_por_hours_per_week 26029 non-null float64 \n", " 24 is_anomaly_isoforest 26029 non-null int8 \n", " 25 llm_age_*_education_num 26029 non-null float64 \n", " 26 llm_capital_gain_*_capital_neto 26029 non-null float64 \n", " 27 gbdt_emb_0 26029 non-null category\n", " 28 gbdt_emb_1 26029 non-null category\n", " 29 gbdt_emb_2 26029 non-null category\n", " 30 gbdt_emb_3 26029 non-null category\n", " 31 gbdt_emb_4 26029 non-null category\n", " 32 gbdt_emb_5 26029 non-null category\n", " 33 gbdt_emb_6 26029 non-null category\n", " 34 gbdt_emb_7 26029 non-null category\n", " 35 gbdt_emb_8 26029 non-null category\n", " 36 gbdt_emb_9 26029 non-null category\n", " 37 gbdt_emb_10 26029 non-null category\n", " 38 gbdt_emb_11 26029 non-null category\n", " 39 gbdt_emb_12 26029 non-null category\n", " 40 gbdt_emb_13 26029 non-null category\n", " 41 gbdt_emb_14 26029 non-null category\n", " 42 cf_distancia_frontera 26029 non-null float64 \n", " 43 cf_fuerza_logit 26029 non-null float64 \n", "dtypes: category(15), float64(28), int8(1)\n", "memory usage: 6.0 MB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 136, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 6508 entries, 0 to 6507\n", "Data columns (total 44 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 6508 non-null float64 \n", " 1 workclass 6508 non-null float64 \n", " 2 education_num 6508 non-null float64 \n", " 3 marital_status 6508 non-null float64 \n", " 4 occupation 6508 non-null float64 \n", " 5 relationship 6508 non-null float64 \n", " 6 race 6508 non-null float64 \n", " 7 sex 6508 non-null float64 \n", " 8 capital_gain 6508 non-null float64 \n", " 9 capital_loss 6508 non-null float64 \n", " 10 hours_per_week 6508 non-null float64 \n", " 11 native_country 6508 non-null float64 \n", " 12 is_missing_workclass 6508 non-null float64 \n", " 13 is_missing_occupation 6508 non-null float64 \n", " 14 is_missing_capital_gain 6508 non-null float64 \n", " 15 is_missing_native_country 6508 non-null float64 \n", " 16 total_nulos_en_fila 6508 non-null float64 \n", " 17 tiene_capital_gain 6508 non-null float64 \n", " 18 tiene_capital_loss 6508 non-null float64 \n", " 19 capital_neto 6508 non-null float64 \n", " 20 capital_gain_por_age 6508 non-null float64 \n", " 21 capital_gain_por_hours_per_week 6508 non-null float64 \n", " 22 capital_loss_por_age 6508 non-null float64 \n", " 23 capital_loss_por_hours_per_week 6508 non-null float64 \n", " 24 is_anomaly_isoforest 6508 non-null int8 \n", " 25 llm_age_*_education_num 6508 non-null float64 \n", " 26 llm_capital_gain_*_capital_neto 6508 non-null float64 \n", " 27 gbdt_emb_0 6508 non-null category\n", " 28 gbdt_emb_1 6508 non-null category\n", " 29 gbdt_emb_2 6508 non-null category\n", " 30 gbdt_emb_3 6508 non-null category\n", " 31 gbdt_emb_4 6508 non-null category\n", " 32 gbdt_emb_5 6508 non-null category\n", " 33 gbdt_emb_6 6508 non-null category\n", " 34 gbdt_emb_7 6508 non-null category\n", " 35 gbdt_emb_8 6508 non-null category\n", " 36 gbdt_emb_9 6508 non-null category\n", " 37 gbdt_emb_10 6508 non-null category\n", " 38 gbdt_emb_11 6508 non-null category\n", " 39 gbdt_emb_12 6508 non-null category\n", " 40 gbdt_emb_13 6508 non-null category\n", " 41 gbdt_emb_14 6508 non-null category\n", " 42 cf_distancia_frontera 6508 non-null float64 \n", " 43 cf_fuerza_logit 6508 non-null float64 \n", "dtypes: category(15), float64(28), int8(1)\n", "memory usage: 1.5 MB\n" ] } ], "source": [ "\n", "\n", "X_test.info()\n" ] }, { "cell_type": "code", "execution_count": 137, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ " 💾 [BACKUP MLOps] Clonando matriz original a 'manager.X_train_backup' para la Autopsia Visual...\n", ">>> 🚂 CAZANDO CLONES MATEMÁTICOS EN TRAIN <<<\n", "=== ⚖️ FASE 17.2: Guillotina de Colinealidad (Spearman > 98.0%) ===\n", " 🔍 Escaneando redundancia matemática profunda en 44 columnas...\n", " ↳ Construyendo matriz de correlación de Spearman (Esto puede tomar unos segundos)...\n", " 🚨 [SENTENCIA] Se detectaron 8 variables clonadas/redundantes.\n", " 🪓 Ejecutando decapitaciones:\n", " ❌ Eliminada: 'is_missing_occupation', 'tiene_capital_gain', 'tiene_capital_loss', 'capital_gain_por_age', 'capital_gain_por_hours_per_week', 'capital_loss_por_age', 'capital_loss_por_hours_per_week', 'llm_capital_gain_*_capital_neto'\n", "--------------------------------------------------------------------------------\n", " 🛡️ ESTATUS: Matriz libre de redundancia extrema. Columnas finales: 36\n", "\n", "⏱️ Operación completada en 0.334s\n", "\n", ">>> 🔒 DECAPITANDO CLONES EN TEST <<<\n", "=== ⚖️ FASE 17.2: Guillotina de Colinealidad (Spearman > 98.0%) ===\n", " 🔒 [TEST] Guillotina aplicada. 8 clones decapitados según reglas de Train.\n", "--------------------------------------------------------------------------------\n", " 🛡️ ESTATUS: Matriz libre de redundancia extrema. Columnas finales: 36\n", "\n", "⏱️ Operación completada en 0.008s\n", "\n", "📦 [MLOps] Matrices y rutas actualizadas de forma segura en el PipelineManager (Colinealidad purgada).\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import gc\n", "import warnings\n", "from typing import Tuple, Dict\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "def guillotina_colinealidad_automl(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " rutas: Dict = None,\n", " umbral_corr: float = 0.98 # Guillotina para correlaciones > 98%\n", ") -> Tuple[pd.DataFrame, Dict]:\n", " \"\"\"\n", " [FASE 6 - Paso 17.2] Tribunal Supremo: Guillotina de Colinealidad (Spearman).\n", " - Caza de Gemelos: Usa Spearman para detectar redundancia no lineal perfecta.\n", " - RAM Shield: Procesamiento optimizado de la matriz triangular superior.\n", " - Muro MLOps: Evalúa y condena en Train. Ejecuta la misma sentencia en Test.\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", "\n", " logger.info(f\"=== ⚖️ FASE 17.2: Guillotina de Colinealidad (Spearman > {umbral_corr*100}%) ===\")\n", " inicio_timer = time.time()\n", "\n", " X_clean = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': [], 'date_vars': []}\n", "\n", " # ==========================================\n", " # 1. MODO TRAIN: El Juicio (Cálculo de Matriz)\n", " # ==========================================\n", " if y is not None:\n", " logger.info(f\" 🔍 Escaneando redundancia matemática profunda en {X_clean.shape[1]} columnas...\")\n", "\n", " # Spearman solo opera sobre números. Aislamos las numéricas en silencio.\n", " cols_numericas = X_clean.select_dtypes(include=[np.number]).columns.tolist()\n", "\n", " if len(cols_numericas) > 1:\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", "\n", " # 1.1 Cálculo de la matriz de correlación absoluta\n", " logger.info(\" ↳ Construyendo matriz de correlación de Spearman (Esto puede tomar unos segundos)...\")\n", " matriz_corr = X_clean[cols_numericas].corr(method='spearman').abs()\n", "\n", " # 1.2 Extracción de la diagonal superior (Evita comparar A con A, o A con B y B con A)\n", " upper_tri = matriz_corr.where(np.triu(np.ones(matriz_corr.shape), k=1).astype(bool))\n", "\n", " # 1.3 Identificación de los clones condenados\n", " columnas_a_eliminar = [col for col in upper_tri.columns if any(upper_tri[col] > umbral_corr)]\n", "\n", " # 🧹 Purga inmediata de RAM\n", " del matriz_corr\n", " del upper_tri\n", " gc.collect()\n", "\n", " if columnas_a_eliminar:\n", " logger.warning(f\" 🚨 [SENTENCIA] Se detectaron {len(columnas_a_eliminar)} variables clonadas/redundantes.\")\n", " logger.info(\" 🪓 Ejecutando decapitaciones:\")\n", " # 🚀 FIX Visual: Mostrar las columnas eliminadas en una sola fila horizontal\n", " columnas_str = \", \".join([f\"'{col}'\" for col in columnas_a_eliminar])\n", " logger.warning(f\" ❌ Eliminada: {columnas_str}\")\n", "\n", " X_clean.drop(columns=columnas_a_eliminar, inplace=True)\n", "\n", " # 💡 GUARDADO ESTRATÉGICO: Anotamos la sentencia en el registro\n", " rutas['gemelos_colineales'] = columnas_a_eliminar\n", " else:\n", " logger.info(\" ✅ [JUSTO] La matriz es matemáticamente pura. No hay colinealidad extrema.\")\n", " rutas['gemelos_colineales'] = []\n", " else:\n", " logger.info(\" ⚠️ Insuficientes variables numéricas para calcular colinealidad.\")\n", " rutas['gemelos_colineales'] = []\n", "\n", " # ==========================================\n", " # 2. MODO TEST: La Ejecución (Bypass)\n", " # ==========================================\n", " else:\n", " clones_heredados = rutas.get('gemelos_colineales', [])\n", " clones_presentes = [col for col in clones_heredados if col in X_clean.columns]\n", "\n", " if clones_presentes:\n", " X_clean.drop(columns=clones_presentes, inplace=True)\n", " logger.info(f\" 🔒 [TEST] Guillotina aplicada. {len(clones_presentes)} clones decapitados según reglas de Train.\")\n", " else:\n", " logger.info(\" ✅ [TEST] Matriz validada. Sin clones que eliminar.\")\n", "\n", " # ==========================================\n", " # 🚀 FIX MLOPS: Sincronización del Enrutador\n", " # ==========================================\n", " # Purga de Variables Fantasma del diccionario de rutas\n", " for key in ['num_vars', 'cat_vars', 'bool_vars', 'date_vars']:\n", " if key in rutas:\n", " rutas[key] = [c for c in rutas[key] if c in X_clean.columns]\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: Matriz libre de redundancia extrema. Columnas finales: {X_clean.shape[1]}\")\n", " logger.info(f\"\\n⏱️ Operación completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return X_clean, rutas\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train', 'y_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " # ==========================================\n", " # 💡 TRUCO MLOps: Backup Pre-Guillotina\n", " # ==========================================\n", " logger.info(\" 💾 [BACKUP MLOps] Clonando matriz original a 'manager.X_train_backup' para la Autopsia Visual...\")\n", " manager.X_train_backup = manager.X_train.copy()\n", "\n", " logger.info(\">>> 🚂 CAZANDO CLONES MATEMÁTICOS EN TRAIN <<<\")\n", " X_train_clean, rutas_actualizadas = guillotina_colinealidad_automl(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " rutas=manager.rutas,\n", " umbral_corr=0.98 # ⚖️ Tolerancia máxima de similitud\n", " )\n", "\n", " logger.info(\"\\n>>> 🔒 DECAPITANDO CLONES EN TEST <<<\")\n", " X_test_clean, _ = guillotina_colinealidad_automl(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas\n", " )\n", "\n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos de forma segura en el Manager\n", " manager.X_train = X_train_clean\n", " manager.X_test = X_test_clean\n", " manager.rutas = rutas_actualizadas\n", "\n", " logger.info(\"\\n📦 [MLOps] Matrices y rutas actualizadas de forma segura en el PipelineManager (Colinealidad purgada).\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", " gc.collect()\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Guillotina de Colinealidad: {e}\")" ] }, { "cell_type": "code", "execution_count": 138, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['is_missing_occupation',\n", " 'tiene_capital_gain',\n", " 'tiene_capital_loss',\n", " 'capital_gain_por_age',\n", " 'capital_gain_por_hours_per_week',\n", " 'capital_loss_por_age',\n", " 'capital_loss_por_hours_per_week',\n", " 'llm_capital_gain_*_capital_neto']" ] }, "execution_count": 138, "metadata": {}, "output_type": "execute_result" } ], "source": [ "manager.rutas['gemelos_colineales']" ] }, { "cell_type": "code", "execution_count": 139, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🔬 INICIANDO AUTOPSIA VISUAL DE COLINEALIDAD <<<\n", " 📸 [XAI] Matriz 'backup' detectada. Generando radiografía de la escena del crimen original...\n", "=== 👁️ FASE 17.2.5: Autopsia Visual de Colinealidad y Explicabilidad ===\n", " 🔍 Procesando radar de correlación de Spearman...\n", "\n", " 🚨 ALERTA VISUAL: Se detectaron 17 colisiones críticas (> 98.0%).\n", " 📸 Generando Zoom-In del Mapa de Calor sobre las variables afectadas...\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6kAAAMQCAYAAADFGiMOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Qd4U2UXB/DTPaG0pYyyZ9nK3soQRIYIIksZItOBICAgyFRAQUVAUBEHHyqyhzIFBVEElD1k77KhFLpHvuf/hhvSNGmTtA1p+/89T56myd33JrnnnvO+10Wn0+mEiIiIiIiIyAm4PuoFICIiIiIiItIwSCUiIiIiIiKnwSCViIiIiIiInAaDVCIiIiIiInIaDFKJiIiIiIjIaTBIJSIiIiIiIqfBIJWIiIiIiIicBoNUIiIiIiIichoMUomIiIiIiMhpMEglokwxe/ZsCQsLM/uoUaOGtG7dWj744AO5f/9+pm/xTz75RM1n165d8qgkJiaqZejRo0eWTP/8+fPy4YcfSrt27dT2fOyxx+TZZ5+Vzz77LEPbdMWKFWq5ly5dangN/3fr1k2ciekyjRo1Sr2G7ZKeJ554Qpo1a5apy/PXX3+p+eO4TwuOSUufC+NH+/bt7VqOuLg4uXr1quRkkyZNkldffVU9v3TpklXbM7P3d3Z07NgxmTBhgrRq1Uoef/xxqV69urzwwgvy3XffSXx8vDgrWz7bzjyP7Cg8PFzefvttqVevnjpeOnXqJKtXrzY77MGDB6Vfv35Sq1YtqVq1qnTo0EFWrVpl9bySkpLk22+/lWeeeUaqVaumPrP4LY+NjU0xnE6nU6/XrVtX6tevL+PHj5fo6OhU08PvI84zMF1zn4WaNWuq7w/KPtwf9QIQUc7SpUsX9WNg7Nq1a7Jx40b5+uuv5cCBA/K///1P3NzcHtkyZjcIIN977z3x8PBQwUzp0qUlISFBdu7cKbNmzZKff/5ZnXgWKFAgU+aHH/vg4GBx9uMMJyz58+eX7AAncp07d7b4fr58+Wye5qFDh+SNN96QwYMHS8eOHSUn2r17tzr+cYxDUFCQOj4tWbZsmRoHn5HcDBev8MD2wsWs4sWLy7179+S3336TKVOmqO/j+fPni5+fn+RG2e37wxEuX76svqNu3bolzz33nAo89+zZo4LWI0eOyDvvvJMiQH3xxRfFy8tLevbsqY6zlStXysiRI+X69evSv3//dOc3ceJE+emnn+Tpp59W0zh69Kh88cUXcvjwYfnqq6/ExcVFDbd27Vr5/PPP1QVg/MbNmzdPnT+MGzfOMK0rV67IokWL5OOPPzZ7blGxYkV1sWbMmDEqMNamTc6NQSpRLoYva/wwpQVZOvyA4EveGrhiby4r1LdvX+ndu7fKLOFE6amnnrJ7uXOT33//XcaOHau265dffikBAQGG97A9cQKP91977bUU2dCMsDer50i4yo9HdlGsWLFM367//fefOjnLqZKTk9WJKE6YS5QooV7z9fW1uB23bdsm//zzj4SEhMjUqVMlt/r+++/VxavmzZurDBQCCQ0yXzNnzlQn+gg6Pv30U8mNstv3R3rwO+3v75+haaDS6ebNm+ozhwAU8Dc0NFQWLFigjidkMwEXQJCNxzmEdlEaAS4qfVBdgqqXPHnyWJwXLlYjQMU4kydPNrxeuHBhdUyuX79eZUUB2VkEzPidg4iICPnhhx/k3XffNQSbGKdSpUppnlfggh7eR2YY3ynk/BikEuViOPFDoJMWlMfgCnxGubq6qh8kBKk4kWSQat1JOkqbfHx81EmBcYCqQfkeftBRfvrvv/+mymITZVfI9p09e1YFVdaWKeKkFdkUBKq5UWRkpMo0I+NkGqBq3nzzTdmwYYNs2bJFXaQsUqTII1lWyjzvv/++XLhwQbp27aoyk56enjaNj4ATF0SLFi2aqqnHwIEDVZCKoFILUs+dOyd58+ZN8XuDeTZu3FhVSp0+fVpdWLUEWVcwPf/A/3PnzlXNULQgFRfiEIAan7fExMTI7du3VcXP8ePHVeCJTGpaChUqpAJtVBDgQhezqc6PbVKJyGGQBTEHZauDBg2SBg0aSOXKlaV27drSq1cvFXiZO3FFYIYfQLQ1RMbAXBsU/OiiZOj5559XV8yrVKkiTZo0UVdjUc5k2mYQP6x9+vRRw2G6aWWo8OOIq82NGjVSbUNRhoRSJUsnjbhCjR9HTBvjjB49Wp1Up+fvv/9W7Q3RZietsjRkjbANjU8YsE2wTvgxRnsftGNFRhzZJnvaf+JKNk5ohw4dqk5UME2UzJmbHsq7cZUb2xHr3LRpU1WufOfOHbP7E9sd08S+x1+cFKHky9Y2ZThxmT59upoflg/7HtvFHJxkofQL7aCwjDiecHUdWShz7ZmwTDguUbaLYAjHQFbANsKJHpbp1KlThtdR3o32YThZw0UerL+WWcDxhG1h3MZ4zZo1anhMByet2DZw5swZeeutt1SpI95r2bKlCgJN24FhGmgLijJbHEPY/08++aQ6gUQbMQQ52F7Yzi1atFAnsRn5XJvzzTffSPny5aVChQppDodtM2TIEJVhwd86deqkGgbbA8cr9jMeeG6urZ21nxttO+MzigABn2sMj+8mlEhie0+bNk29ju+f7t27qxJJa2Rku+HzhH2J9TMXoAJOznGijmU3DlAx3pw5c1RZJI4NbEcc9/v37zfb/8DWrVtVIIFhte8LvI7PPrJj2M6YxqZNmwztp3GxTZs+PusoVT9x4oRVmUIcp8jUYboYHxc6sY2joqJSHQ+oOsGw+H7G5wnHPC54pPX9Yeu+x37CBQH8rmB5sF44Zk1Zu96YP7a/to74rsFvC7ZzerCO+N4dPny4+t7F9yCCVlu+d7Cc+LzhgrIxBKMo5zX+Ti5Tpoy6eI15GsP2xPFVsGDBNOeHTCoyrZiO6TlCuXLlUnxW8Nt39+7dFMvq7u5uuGg7Y8YMtQ+suUDbtm1b9b1qze8gPXrMpBKRw+DKPeCH2vikClf2cfKNdixoI3Xy5ElVuorSNJT64EcLUOKDdiz4IcU46DwBr2kn4MbwPsqK0VYPGVz8AG/fvl1NF9PHVWFjyL7gZBAnWAhQUXZk6WQJV6uRYcZ0sWw42TOXkcYPK4ZFQIqT17Jly6of8cWLF6tlwzJoZYyWfsghvR9f0xMCZGBff/11dXKDE6Jhw4apEzmcXGEb4wTt5ZdfFltgmjjRxskZTrAQEOCEDCfTCGS0NoAXL15UJ6y4SIATZZwEoywV64ztj7844QGUiiHAxjJiedHmFidC2OdoV/jrr78ahk0PTvCwTvv27VMnIjjBxLRwDOGkyTizhmVEAOft7a32D7Yf2lGhPSMCM7Rpwutau0+cKGptr3BihYAHy2YLbI+0AluU6iETERgYqC5qIHBH8IntheXBCTqWBSfbOHnFa3hgmc21A0cGHsEj1hPHLLLxOPHDcYp5oYwP2xYBCNp74YR74cKFKQIbHD/Yty+99JI61rEsKKvDdLCdtdd//PFHdbKOz4yW/bDlc20O9geOf2uOU5ykYlhcnMC0TSFgQpYFAR+OM8B64WIDtqkW7NvzucFrOLbwOcDFL1wYw3ME1jgmEeRhv+N1PEfAllZZZka3m7XfGSg/N4bvUATCGB/BH455lH5in+NYwTbGxTJjCIhwIQjv47OrwbbFsYDti88avldx/OOYxvGGIBDHIQIcTB/HEPorwGfWUqd0+OwhqMPnEs+xX1BBgu8gHCv4/tb2IbYbAnocDxgeQQ2CT3xPYzuayxzbs+9xkQtBFZYHQRN+ixA0Y//i+x5sWW98F+IiGV7HNHGBE78R6DQMbTVxkcgSfO6wf/A5xjjoowAXjho2bKi2AbYFljG9C8jmOuHDcYyA1PhCFrYPvgfwW4DvKWQ0kR3Fdzy+cyz9fmpw8dXSMPg+xkVfzBPft7hYgyAfgSXewz7BRTasD/bpn3/+qb6TrYHxEIRv3rxZBbbk5HRElGtt3bo13WEuXryoO3r0aLrDzZo1S1e+fHnd//73P92tW7cMjxs3bqjxP/jgA11YWJiuQ4cOusTERMN4zz33nK5hw4a6qKioFNNbtGiRmt5XX32l/r93757u8ccf17Vp00YXHR1tGC48PFxXu3ZtNezff/+tXjt27Jj6f9KkSamWs1OnTuo9LBtgHPzfrFmzFMtlyaeffqqGX7lyZYrXp02bpl5/6aWXDK+NHz9eV6lSJd3evXtTDHvixAldlSpVdH379k1zXhMmTFDT3LZtm84WWDaM9/bbb+uSk5MNr2MbtmzZUlexYkXd+fPn1WvLly9Xwy5ZssQwHP7v2rWr4f+RI0eq18aOHZtiPitWrFCvf/zxx4bXsE41atQwTF/z559/qmGxTQDbum7durr27dun2u44VjDs+vXr012mc+fOqf+XLVum/p89e7bZ46hp06aG16ZMmaJeO3ToUIphT548qV7v37+/4bUXX3xRV7VqVd3p06cNr8XFxallwbA47tOiHV/pPTZv3mz2eMLx/9dff6nPTp8+fVLsT+wzDIN9qNH2J5bbGMbDZ+fJJ5/U3blzJ8V72nS+/PLLFNsbD+Nj98iRI+q1ChUq6A4fPmx4/fjx4+r14cOH2/y5tmT16tVmP2emsN20z+/du3dTvb9nzx71fs+ePXXx8fEp9iG2Ed7btWuX3Z8bbFPj6U6ePFm9ju+5pKSkVPsT+zItGd1u/fr1U8OdOnVKZ4s5c+ao8WbOnJni9atXr+rq1Kmjq1mzpi4yMjLFd/2IESNSTUc7bi5cuJDidRxbeH3dunUpXr9+/br6HmjdurXFz/avv/6q/l+wYEGKcbHdGzdurH4XNNo+nD59eophd+/erV5///33zc7Dnn3ftm1bdRwZ/1bi9S5duti13lgP098E/L499dRTqb7X0oPft/nz56tlx/wbNWqkW7VqVZrjYH3wXWe67/A9rH3uNdhG33//va5y5copvsfeeOMNXUJCQrrLh/E6d+5s9r0hQ4aoaeHYA3wW8N2nzQPbDMuIZejYsaNu9OjROlu0aNEixe8BOS+W+xJRpkLWAlcrtQeu5KIsENkWXF3G1V3j3vdwZRtXQY1LgXH1WSs50q7s4goxMqe4SouskAZXY5E5M4YsBtpn4mqvMWQ6tM4cTEvEUJZmTY/DyKChJ1b0mGnMNIODkkhc6UeGEdlSZFO0B646o5wLV4BNl8OYtjy4ym8LlGICrnIbt7vBFf4BAwaoK+PI2NjKdJ21jPiNGzcMmeMdO3aoTB/mZbzO2CfI3uAKtrZuuOqOK/7G2x37WMvK2HJrHewXrKvpLYCQZTTtwANZEWx744w+tjEyNsbzRQYGpbUo2TTuLRYZT2SdbIFpIOtj6WGaRUJZNTorQ2klMlIoeUO20tp2VLiFhDG020JGDtkYrKvxvkGWBRlUbd9o0GGKcecyWmkeeopFVlJTsmRJ9de49M/az7UlWhkm5mUJqhmQxcH+QNk/yhJN4TMI6FjMONuHcdCRCqxbt87uzw3KpY2nq20jlFgbl01qFROm5ZGmMrrdMvKdgcoCrKcxZK6QMUdW648//kjxHjJc5qBdo2mm9pdfflH7B1lK42MPy4vyVJRgoh2jOWgqgWYZWA5jyPSi5BPfGdr6avsH2UtjyOZi2yLLbWn9bd33pm0/sd6ohMBy2bPeaDOJUnFUmGi3SsHvGz6XWgWAtVAlgc4K0S4Zn1Vkmy01fdDg84CKI4yHrCWWASXxqMrAb55xJhavoaoJxzuacuB7Chl1fA8j45yR26LhtxO0Yx6fBVQiYB9hefDA8YXPLbYf9hnGQYk3Po/4jsMymauw0r5TUN2kfd+T82K5LxFlqldeeUWdkONHA8ELyqxwgowfQNMTB/Ul5O6ufjDQ1g0/1mj3iB9H7aRD+6u1r9FOiI2ZtmsBnDzgRwzBCE54MU0EqdoJiOlJnLW3IkD5GgIW03Y7OCkwLk3FiQhKYvFAsJ5W2ZO55Tcu49WCQGthW+GH3VxZm1YqaM/94ky3kXaCpm1LbGc8Rwccaa0zToQQFGF8XExAIIH2Ytj3KLXWTlK0v9buF5xImXYuheMLx4xxqS2OAZygoP0XSoIxX2wzLJfx+mAbYRnMlWSjdNsWKAm1dFJvDrbNRx99pNqn4QQTnw9bbgtkuq/QFhVQZoiHOaY9fZtOQwuATDsl0j4LxvvL2s+1Jdr+stRDKAI3tD9FSSRKtI2DZmPa94a5/WX6WbDnc2O6jbQTeUvbLr31zuh2M/7OSKss2BTWHSf+CFStXXdLx6O571J8vlEumtb3AtbV0nchPg8IMhHEYVmxLLgoZvx9juMQryNQNNdMAO1MLbFn35vrnAvLabyPbFlvtG3GMY2yXzwQTOEib5s2bVSQbS0E7QiOlyxZokpyESSjfDi9e3gjwMPtiVCyrN1CBt+nI0aMUN/RWhtarBOmje2Cv1oTAYyPMnWUQaM82fQisTGUsVsKIrWyYuOLTtjPpUqVSvH5RwCOdUJwj1JjNInA8uMzgFvhYBh8N5jCdPFdhe+YzLptG2UNBqlElKlwMmh8Mo62MvjBQzs7nDjhx8MYTsRxBRRXoZGBw4852j0iiEBbHFNaIGHMNJjByQvaT+IkD9PEyQluNI7OX5C5M9d+xTToTAt+/MwxPjnRniMThSu9luAH1hKtAxhk87Q2Tubgqjcy1GgLinZJaQV32nLZ2vujNdtImzbatGm3MDBHO2HHSQzar+GYQWYZnRgh44qTIFylt5W5Y8N4uYzbRuNkECfkON6wvDjhQjs+ZDes2d+2ZqrsgeyR1ikYthMyStYyrQrQjgmt909zTNusWWrDZk0219bPtaVjzVynaICsMtqTop0fsuWW2PJZsOdzY5xFNWZvz6EZ3W74zkDVCr4z0rooguACGTpcOMQ87Fl3S5Un5r4nMA2sk/HtRkxZ6iALF6DwfYKgAuuHB77f8Z2BjB7W1bjTJHu2vT3rb81vhi3rjWoKZCLRzhJZa3z+cUEJ+xPZSVSApAVt/9EeFb9vyGTiwg0yirjQZe7igzloY4zKJEwL2xHLhvXGLYu0i3W46Izthcoa0865UDWFwBAVNWkFqbgYYOn2d7hwiwsNljr+AmwXZPe1YBpttRHIa7eWwfcc2trjd8T0eNC+U3ivdufHIJWIshR+4HCFEyeT6CQCP5xaeS4yBuhlEj/OCB6NTwJMA0ntB1LLCJn21GoMnU+gDMj4fm8a41Ise2A5kDFE4GK8vAiMkTXV4Eo+rszjNXMni8jw4iQnrR9iBNfIbqCzFXSYY6nHRJzE4IRGO1nHFXhsJ3O3l0DJp1bKmdlwMqZdCTe3zlqpNIIfnFgi8EJQjSvixicSpr2JWrtfsG4opzTeTjghQQbEuLMaZAqw75BtML6SblqKiW2PfWTumDPuFTQr4AILLuzg84KyZJx8IoDGxZaM7BucXJruG5xIo5TRtETTXrZ8ri3RslTmeoTG5wEVGuhALb2LGVq5ML4PTHv9Nf0sPKrPTWZuNxwjyD4vX75cNUEwbhph/JnAdyQCEZRBa+uOYBCfXdOAJjPWHccfPl8IJEwD+71796qsmqVACsEGxkXwbtp5kGmVCeaD3wN87+K7xhh+D3BcaWXexrJq31u73rjAhuAPmUvsQ+1iGfYJOlvC8YCSX0udbqE3X5TE4vcE36kI4tGzsS3Q/ALbDcGn8bj47GC7aPcn1n6zzF1AwvcLvk/Su4iH6R85ckRlsI1L+tH8BfNDb8WWIABHpQHKsLVsK6pNjG9Tg99fbFOteY0xvIbfIGs75aNHh21SiSjL4WQBJ9wIRHBSiSulWmCHHzWU8RifkOGHGyehxj+EKHvCDzhOrlDip0EJr+mtJLQTW+22HBr0SIpyMbC3PQoywyinQrshY6a34MBVWmTokBU0XT6cHOIHFuVdafW4iO2FNneYH9ooGgfBGgT+6CkYP9C4xQFomTK00zPOEOAEACfB2rJlNpT5IRuJAFzbzsbZXpwQ40QTtHVBBtM4QMUJBHqstXUfab3K4uTFGKZlfPsC7fjACYppuR62jfExh+MWAR3achkHznjfdP9nJlwAQc+pmA8CalQf4MQZ2RictJpmcqzJ6iLQxTRwLBrfigMQACOzjMAmM9jyuU4vqDa9VRPW/5133lHlguhp2FwQZkz7LKB3UOPjCRk37VjRhnlUn5vM3G4IYlC5ge9YtGU2rS7AsYJSUnwHoXJBu5cl1h0BKso0TYNA9FqL7Y1mHPbC9LXtaAwBHNqJIutmKTOpfZ/jooQxXFjRLhZp2wU9WmMboqdqY/j84jg3vv2Y6fJlxb63dr3xvYdefZH5NIYLR/iewndkWplbfA5QlovvWfzW2hqgAkp68V1jfNEXnxMEwJi+dpshrc8BfLca/xZrF0wxTnrHCrK7gMDaGL5XMT565bcE2xLLY9xGGRVJxt+NCH613tJN4TsFFxx4n1Tnx0wqETkEOnJB+xGcPOAkE0EdyjyRAUOpDrKOCCpxRRTtS7Qr5NqPIH6UJkyYoH7U8QOGrCFOJnACZXqFGidfOKnDSRquKONqK9oeYro42cCPIEqF7IGr2ujAAWV5uPKObCfaVeLWBaYnzAg0EKyhTAslXDhxQJtL7bYiKFVLD0o8ceKA8kac8ODHHYEdgjyckGDeaHOJ9pVa+RKueGMZsV0xP0wDJ7oIQvDjjeXKrKyZKawTTh5QnoZ9hBNLbCesM4I+rdwb2SL8jxMOnBzjajoynlhGbd/Yso8QpK5du1bNB8cOLmogA4ITKdOMCrYHtg1OEtFpELYNsnPIbODExvjEC7cnQekY1gfrhcwrMrC23IMQcAJl7r6cxnBLBFyIQWYZt2DAhQntxBwXNLAMOBHFhRrsa63tH7Js+CxopW7mYHicAOPiCDofwzrhs4eSWWxzbH9rykmtYcvn2hLsPywz9glKEDW4aIPjAtUYWHY8LEHAgg5rcBwiQEEQgPZ9gCw+tjG+H7T2fo/yc5NZ2w1wnOKzhOwbtgEyY9i/mBaOc2Ts8F2EYNW4LwFc7ELgjs8NSoAR0Glllfj+sXSfa2sgq4vp48IC7juM3wOsC6aPv7jFjaVMKvYDSvRR2olmD/iM4nsVfQ5gHHx/YBoI5nCs4POJixLIyGE+2Hb4zKATIi1zbCqr9r21641lw7Lj+wr7Ar9hCKJQ9qvd7imt7W9rx0rmoPQb2wB/UYGE3zN8p2L++O7Qqk6Qqcet2vBZxHcOPlf43kJ1DLY9fp9wuyUNLojgmMPxbFzajN9xfC5xcQZBLdrPot0xvpMtXRDAMYzjGr8zxhdy8LuI5cFyopIGwTKWzTSwx8UBfDZMO+Ei58QglSgXw1VonPymBaU16HQhM+CHHm1VkGnDSQN+KHAlFT/UOOHADxR+CHGlFicT+KHEsDgBxw82AhFcGcUJCE6m8OOOHyec2Bl3kIATLNw3DwEQhsWPGa6cIluEE0Gc7ODHX8si2ALTQgCMoBDLjB9l/PBiXijJNYYfS5zkoD0Pglj84GP5UXaIAMm4PCktOGnAiTQCciw3pomMCDIuCGSwf4xPYHByj+2DH3OcdGH74oQDbXJxcmGu3WVmwYkI7mOH+SPTgZMQnDwiy4sgSCvbRiYTWWDsJ7SPQ/YQ2wuBOIIxDI911docpQfHB/YJ9gPmj3ERvKPUHBdEjEt5UfaHwBUn7Di+sCwIBnEBBcuLfYqgEiel2MZYPgSO2nIiu6ptd2vhBM647Zw52FcInNDbL/aVcY/ROKYRWOLkC8c0smVYDgRrOIFHsIbPTVowPNYBxyO2EYIPZCAQqCF4NdcRjD1w0ciWz7U5+JzgRBZl7Ma0zCqCTDzSgu2CzwW+G3AxCYEBMmX4fOAzi+XTMjqP+nOTWdsNcGKOC4E42cc643OIk3u8juMcxz8Cd+MqDmwn3EsWlQ7IqKHzMwQjqIxAb6/2fFcaQyYW31+YPgIhBG64eIgerJH5M+2N2hiCNwSi+M3AtsG0EHRjv+J7EOuDzzuCHqwTtiHmg+9bfO/iuEbQg/vPWjrGs2rf27LeuAiLDpQwf3wvIjuMTvowf3xGsxqCS/y2IaDG8mLbYjm1+60aQwCI31Rk3rG9sX8QaCPAxm+bcVky2j7juxmBtHG7Y1SGYD/i9wyfVXwXYVx8F1k6vtGLML6XtdJjDZpBaPefRfUAPtem/V+A9n1iS/t+enRccB+aRzh/IiIiolQQqOFiAIInW3o3JSIyBxdAEcziApctnSXSo8E9RERERE4H2XRUPiC7TUSUESjbRv8CqOhhgJo9MEglIiIip6OVraL8FO0LiYjshVJ/3BJO62SPnB+DVCIiInJKaAuHjp7QcQ8RkT1wuxu0T0Y7YGZRsw+2SSUiIiIiIiKnwUwqEREREREROQ0GqUREREREROQ0GKQSERERERGR02CQSkRERERERE6DQSoRERERERE5DQapRERERERE5DQYpBIREREREZHTYJBKREREREREToNBKhERERERETkNBqlERERERETkNBikEhERERERkdNgkEpEREREREROg0EqEREREREROQ0GqUREREREROQ0GKQSERERERGR02CQSkRERERERE6DQSoRERERERE5DQapRERERERElK4vvvhCevTokeYwd+7ckWHDhknt2rWlTp06MnHiRImJiRFbuNs0NBEREREREeU633//vcycOVNq1aqV5nCDBw9WQem3334rkZGRMmbMGImOjpYPPvjA6nkxSCUiIiIiIiKzrl27JuPHj5ddu3ZJyZIlJS379u2T3bt3y7p166RMmTLqtUmTJknfvn3lrbfekoIFC4o1WO5LREREREREZh05ckQ8PDxkzZo18thjj0la/vnnHwkJCTEEqICSXxcXF/n333/FWsykEhERERERkVnNmjVTD2uzroULF07xmqenp+TLl0+uXLki1mKQSkRERERElIM1b948zfe3bNmSKfNBW1QEpaa8vLwkLi7O6ukwSCUiIiIiInKwXzzCHDezJ4o6ZDbe3t4SHx+f6nUEqL6+vlZPh0EqERERERFRDrYlkzKl6SlUqJD8+uuvKV5D0BoRESEFChSwejrsOImIshy6HUdjefzNCbg+zi2n7Z+cuE5cH+fG/ePcctr+yanrZA0XDxeHPRwF90a9evWqnD9/3vAaevuFmjVrWj0dBqlERERERERks6SkJLlx44bExsaq/9H7b40aNWTo0KFy8OBB+fvvv2XcuHHy3HPPWX37GWCQSkRERERE5GCu7i4Oe2QV9NjbqFEjdV9UwK1m5syZI0WLFpVevXrJkCFD5IknnpAJEybYNF22SSUiIiIiIqJ0TZs2LcX/CEaPHz+e4rXg4GCZNWuWZASDVCIiIiIiIgdz8WBRqyXcMkREREREROQ0mEklIiIiIiJysKxsK5rdMZNKREREREREToOZVCIiIiIiIgdz5P1LsxtmUomIiIiIiMhpMJNKRERERETkYGyTahkzqUREREREROQ0mEklIiIiIiJyMLZJtYyZVCIiIiIiInIazKQSERERERE5GNukWsZMqhMICwuTFStWPLL59+jRQ0aNGpUp02rWrJnMnj1bchLsG+wje1y6dEmNu2vXrkxfLiIiIiKinIiZVCewY8cOyZMnzyObP4JKNze3TJnWsmXLxMvLK1OmRUREREREuQ+DVCcQEhLySOefL1++TJtWUFBQpk2LiIiIiCincnFzedSL4LRY7utk5b63bt2SwYMHS926daVatWrStWtX2b17t9XTwnRatGghixcvliZNmshjjz2mpnft2jUZPny4VK9eXZ544gmV8TRX7puUlCTTp0+XJ598UqpUqSKtWrWSH3/80TBsestnXO6Lv71795Yvv/xSzbNq1ary0ksvyenTpw3D3759W4YOHSq1atVS05wxY4b07NnT6pLhjh07ynvvvWf4/9dff1Xbc8OGDYbXpk2bppYDIiIiZOLEiWr9tOU3LsXFfLGMWKYaNWrI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d3cZOnSoui0NsoHIEKJcF5lR3MuViIiIiCinYu++ljFIzSbQ+yvaQKYFPduiY53sIm/evKpDINwbFR0KoeOjGjVqqHUICgpSvdpq9zu1ZMWKFbxHKBERERFRDsIgNZtAJ0WrVq1Kcxhb76XqDNBb7uLFi82+N3HiRNXWMy2hoaFZtGRERERERFmHbVItY5CaTaDTnxIlSkhugnudEhERERFR7sIglYiIiIiIyMFc2LuvRbyDLBERERERETkNZlKJiIiIiIgczMWV+UJLuGWIiIiIiIjIaTCTSkRERERE5GC8T6plzKQSERERERGR02AmlYiIiIiIyMF4n1TLmEklIiIiIiIip8FMKhERERERkYOxTaplzKQSERERERGR02CQSkRERERERE6D5b5EREREREQO5uLKfKEl3DJERERERETkNJhJJSIiIiIicjB2nGSZi06n06XxPhEREREREWWyQ22bOmybVv35N8lOmEklIiIiIiJyMFc3F25zC9gmlYiIiIiIiJwGM6lEpDTptDPbb4nfl9V3yHyio6Pl2LFjUrFiRfH19ZXsjuvj/LiPnBv3j3Pj/nF+OW0fWYttUi1jJpWIiIiIiIicBjOpREREREREDsb7pFrGTCoRERERERE5DWZSiYiIiIiIHIxtUi1jJpWIiIiIiIicBjOpREREREREDsZMqmXMpBIREREREZHTYCaViIiIiIjIwZhJtYyZVCIiIiIiInIazKQSERERERE5GO+TahkzqUREREREROQ0mEklIiIiIiJyMFc3F25zC5hJJSIiIiIiIqfBTCoREREREZGDsXdfyxikElGaGtUJkj5diknRUG+5fSdeVm+6Jj+uCs+0cZ6sHyQTh4XJhcsx0vPN/aneb/90QXmuVSEpUtBbbtyOl7Wbr8ni1WnPn4iIiIiyL6cr912xYoWEhYUZ/g8PD5dffvnF7vEze/icrEePHjJq1KhHvRiUhl27dqnj9dKlSw7ZTtWr5JVJw8tL6RK+Eh+fLIUKeMuAl0pI9+dCM2WckkV9ZEjf0han1f+l4jK0X2kpVcxX4uKTpUghbxnYo4R0bW95/kRERETZpXdfRz2yG6db4tatW8uOHTsM/48cOVL++OOPR7pMRLlVz05FxdXVRdZtvS5te+2RTxecVa9371BE3N1d7B7Hw91FOjxTSOZOrSqBAR5mp1O0sLd0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IiIiIiKnkWMzqURERERERM7KxZX5Qku4ZYiIiIiIiMhpMJNKRERERETkYGyTahkzqUREREREROQ0mEklIiIiIiJyMLZJtYyZVCIiIiIiInIazKQSERERERE5GNukWsZMKhERERERETkNBqlERERERETkNFjuS0RERERE5GAs97WMmVQiIiIiIiJyGsykEhEREREROZor84WWcMsQERERERGR03DR6XS6R70QREREREREucmNsS87bF4h730j2QkzqUREREREROQ02CaViIiIiIjIwVzYJtUiBqlEpDTptDPbb4nfl9U3PP/FI0yyuzYJxx0yn+joaDl27JhUrFhRfH19JbvLaeuTE9eJ6+PcuH+cW07bPzl1nShjGKQSERERERE5GO+TahnbpBIREREREZFZycnJMmvWLGncuLE8/vjj0q9fP7l48aL5gUXk1q1bMmzYMKlXr57UrVtXhg4dKteuXRNbMEglIiIiIiJyNLRJddQjA+bOnSs//PCDTJ48WRYvXqyC1r59+0p8fLzZ4YcMGSLh4eHyzTffqAeev/baazbNk0EqERERERERpYJA9Ouvv5bBgwdLkyZNpEKFCvLJJ5/I1atXZdOmTamGj4yMlN27d6tsK9oYV6pUSfr37y+HDh2SiIgIsRaDVCIiIiIiokfQJtVRD3v9999/EhUVJfXrP+ycMm/evCr43LNnT6rhvb29xc/PT1atWiX3799Xj9WrV0upUqXUeNZix0lERERERESUCjKmULhw4RSvFyhQwPCeMU9PT5k2bZqMGzdOatWqJS4uLmrYRYsWiasNZccMUomIiIiIiBzMxcVxRa3NmzdP8/0tW7aYfT0mJsYQfBrz8vKSu3fvphpep9Op2wlVr15dtVtNSkpS5cGvvvqq/Pjjj+Lv72/V8jJIJSIiIiIiIrPlu1rbVO05xMXFiY+PT6rh169fr7Kmv/32myEg/fzzz6Vp06aybNky6d27t1iDQSoREREREZGjZaCtqK0sZUrTo5X5Xr9+XYoXL254Hf+HhYWlGv6ff/5R7U+NM6YBAQHqtfPnz1s9X3acRERERERERKmgN18EnLt27UrRg+/Ro0eldu3aqYYvVKiQCkaRadVER0fLpUuXpGTJkmItBqlEREREREQO5uLq6rCHvdAW9aWXXpIZM2aobCx6+x06dKgKRlu2bKnanN64cUNi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GKRSltu3b5/06dMnzWHQznTatGnZZm+gx1+0F00LSpdRoktERERElIoLW15awiCVshw6BsItVNLr1CmjHFkKix52e/XqleYwBQoUcMiyEBERERHlJAxSKcuhV1zjW9PkBEFBQepBRERERGQXtkm1iDlmIiIiIiIichrMpBIRERERETmYC9ukWsRMKhERERERETkNZlKJiIiIiIgcjW1SLWImlYiIiIiIiJwGM6lEREREREQO5uLKfKEl3DJERERERETkNJhJJSIiIiIicjQXF25zC5hJJSIiIiIiIqfBTCoREREREZGjsU2qRcykEhERERERkdNgkEpEREREREROg+W+REREREREjsaOkyxiJpWIiIiIiIichotOp9M96oUgIiIiIiLKTWL+957D5uXTY6xkJ8ykEhERERERkdNgm1QiIiIiIiJHc2G+0BIGqUSkPNnxr2y/JbataGB43n7QccnuVs8Ly7Hrk5Wio6Pl2LFjUrFiRfH19ZWcIKetE9fHuXH/OLectn9y6jpRxjBIJSIiIiIicjRXF25zS5uGW4aIiIiIiIicBTOpREREREREDubCNqkWMZNKREREREREToOZVCIiIiIiIkdjm1SLmEklIiIiIiIip8FMKhERERERkaOxTapFzKQSERERERGR02AmlYiIiIiIyNFceJ9US5hJJSIiIiIiIqfBTCoREREREZGjuTJfaAm3DBERERERETkNZlKJiIiIiIgcjb37WsRMKhERERERETkNZlKJKE2N6wZJn67FpGioj9y6Ey+rN16TH1dezrRxmtQPlokjwuT8pWjpOXi/xWm2a1lQhg8sI1eux0rXgXvt3mv1HvOXbu3yS5ECHnI7Mkk2bI+QFZtuZ3gcby8X6domvzSulUfy+LnJxavx8uPam/LP4SjDMHWq+cuYQUVSTf/MxVgZOuU814eIiCg3cWXvvtkik7pixQoJCwsz/B8eHi6//PKL3eM7wqOYZ1bJSeuSkzVr1kxmz57tkHlVr5JXJo0Ik9Il/CQuPlkKF/CWgT1KSPcORTJlnJLFfGRI/9LpLkf+IE81jYyqGuYrI/uHSskiXhKXoJOCwR7Sq0OIPN8yKEPjoN+D8a8XlQ4tgiQwwF2SknRStri3jB5YRCqU9n64vkW81N/omCS5eSfB8Lh7L4nrQ0REROSMQWrr1q1lx44dhv9Hjhwp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DKMDp6+//topA1QiIiIiImfBIJWyFAIzZA7T69Qpo9DltdbtdVZDd9q9evVKcxi0qUXbXwSlRERERESmdI/4Tg7OjEEqZSn0UGt8a5qcAPd4suU+T0REREREZD0GqURERERERA7G3n0tY7/HRERERERE5DSYSSUiIiIiInI0tkm1iJlUIiIiIiIichrMpBIRERERETkY26RaxkwqEREREREROQ1mUomIiIiIiBxMJ7xPqiXMpBIREREREZHTYCaViIiIiIjIwdgm1TJmUomIiIiIiMhpMJNKRERERETkaLxPqkXMpBIREREREZHTYJBKREREREREToPlvkRERERERA6mY77QIhedTqez/DYRERERERFltutH/3HYRi1QqZZkJ8ykEhEREREROZiOHSdZxDapRERERERE5DSYSSUipUmnndl+S/y+rL7h+S8eYZLdtUk4nmPXp/2gh8+zs9XzwnLUOhmvT1aKjo6WY8eOScWKFcXX11eyO66Pc+P+cX45bR9ZS+fCfKEl3DJERERERETkNJhJJSIiIiIicjCduHCbW8BMKhERERERETkNZlKJiIiIiIgcjG1SLWMmlYiIiIiIiJwGM6lEREREREQOxvukWsZMKhERERERETkNZlKJiIiIiIgcjL37WsZMKhERERERETkNZlKJiIiIiIgcjL37WsZMKhERERERETkNZlKJiIiIiIgcjG1SLWMmlYiIiIiIiJwGM6lEREREREQOxjapljFIJaI0NaoTJH26FJOiod5y+068rN50TX5cFZ5p4zxZP0gmDguTC5djpOeb+w2vz5xYSR6vHGBxHk067bRrzxVs/5SUnzBY/MqVkrgr1+X8F4vlzIz5Fod39fGWsMlDJbRza/HIl1ciDx2X4+9+Ire2Gs3f1VXKjhooxV5+XrwKF5CoE2fl9AdfSPhPv6SYVvEB3aTUG73Ep2QRiTl/Wc7P+17OzfmfZIbKs8ZJyUEvyvkvF8vh18ZneBv4Vy4nlT96RwLrV5ek6Fi5unqzHBsxTRLvRRmGcc+XVyrNGCUF2zUXVy9Pub3jXzk6bIpEHT9j93rUe8xfurXLL0UKeMjtyCTZsD1CVmy6neFxvL1cpGub/NK4Vh7J4+cmF6/Gy49rb8o/hx+uT51q/jJmUJFU0z9zMVaGTjnP9SEiInIQlvvmMitWrJCwsDDD/+Hh4fLL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hash6I03Lbh/KIKrGzduqBJmjBMcHKxu7ZLRsllL0OOtcWbYnBUrVjyy7bFw4cI0h0G7U7RBRmDfpUsX1eMwyihwFcoRASoREREROZYj71+6xUIQmh7tjhZoimh8dwtUAZrr5ApVnWjmhwA1I9gmNYewp+zVHuiJF5m9tKAjJwRdqEHHwxG0DoTSEhoaalepbmZsD2vg6iGCUiIiIiIiZ6CV+SJrWrx4ccPr+B8ViqaWL1+umvehXxVA4gXQdhVJJXO3UjSHQSrZBGWoxrdAcRbG7TYdyVm3BxERERE5t+zQ6LJChQri7++vKha1IBV3mDh69KjqENQUevw1duDAAdXLLyoG0bGqtRikEhERERERUSrIiiIYxW0l0flpkSJFVPM0dJCK22ciU3r79m3VASzKgU2TN1rnSqhozJcvn1jrYetXIiIiIiIicohkcXHYIyPQp0ynTp3UXSi6deumKglxC0fcJvHKlSvSqFEjWbdunWQmZlKJiIiIiIjILASlKNnFw1TRokXT7POlbt26dvUJwyCViIiIiIgoB/fum92w3JeIiIiIiIicBjOpREREREREDpYdevd9VJhJJSIiIiIiIqfBTCoREREREZGD6TLY625OxkwqEREREREROQ1mUomIiIiIiBwsmW1SLWImlYiIiIiIiJwGM6lEREREREQOxvukWsZMKhERERERETkNBqlERERERETkNFx0Ot5GloiIiIiIyJHW7U1w2Lxa1/CQ7ISZVCIiIiIiInIa7DiJiIiIiIjIwZLFhdvcAgapRKQ06bQz22+J35fVNzz/xSNMsrs2Ccdz7Pq0H/TweXa2el5Yjlon4/XhMefc+ycrRUdHy7Fjx6RixYri6+sr2R3Xx/nltH1EGccglYiIiIiIyMHYM5BlbJNKREREREREToOZVCIiIiIiIgfT6dgm1RJmUomIiIiIiMhpMJNKRERERETkYMk6bnJLmEklIiIiIiIip8FMKhERERERkYOxd1/LmEklIiIiIiIip8FMKhERERERkYPphL37WsJMKhERERERETkNZlKJiIiIiIgcjL37WsZMKhERERERETkNZlKJiIiIiIgcjL37WsZMKhERERERETkNZlKJKE2N6gRJny7FpGiot9y+Ey+rN12TH1eFZ9o4T9YPkonDwuTC5Rjp+eZ+w+szJ1aSxysHWJxHk047M7Tn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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "\n", "================================================================================\n", " 🧠 REPORTE FORENSE MLOps: ¿POR QUÉ LA GUILLOTINA CORTÓ ESTAS VARIABLES?\n", "================================================================================\n", "\n", " 📋 LISTA DE COLISIONES MATEMÁTICAS:\n", " ⚔️ 'is_missing_workclass' vs 'is_missing_occupation' (Similitud: 99.78%)\n", " ⚔️ 'capital_gain' vs 'tiene_capital_gain' (Similitud: 99.89%)\n", " ⚔️ 'capital_loss' vs 'tiene_capital_loss' (Similitud: 99.96%)\n", " ⚔️ 'capital_gain' vs 'capital_gain_por_age' (Similitud: 99.98%)\n", " ⚔️ 'tiene_capital_gain' vs 'capital_gain_por_age' (Similitud: 99.89%)\n", " ⚔️ 'capital_gain' vs 'capital_gain_por_hours_per_week' (Similitud: 99.98%)\n", " ⚔️ 'tiene_capital_gain' vs 'capital_gain_por_hours_per_week' (Similitud: 99.89%)\n", " ⚔️ 'capital_gain_por_age' vs 'capital_gain_por_hours_per_week' (Similitud: 99.96%)\n", " ⚔️ 'capital_loss' vs 'capital_loss_por_age' (Similitud: 99.94%)\n", " ⚔️ 'tiene_capital_loss' vs 'capital_loss_por_age' (Similitud: 99.96%)\n", " ⚔️ 'capital_loss' vs 'capital_loss_por_hours_per_week' (Similitud: 99.96%)\n", " ⚔️ 'tiene_capital_loss' vs 'capital_loss_por_hours_per_week' (Similitud: 99.96%)\n", " ⚔️ 'capital_loss_por_age' vs 'capital_loss_por_hours_per_week' (Similitud: 99.94%)\n", " ⚔️ 'capital_gain' vs 'llm_capital_gain_*_capital_neto' (Similitud: 100.00%)\n", " ⚔️ 'tiene_capital_gain' vs 'llm_capital_gain_*_capital_neto' (Similitud: 99.89%)\n", " ⚔️ 'capital_gain_por_age' vs 'llm_capital_gain_*_capital_neto' (Similitud: 99.98%)\n", " ⚔️ 'capital_gain_por_hours_per_week' vs 'llm_capital_gain_*_capital_neto' (Similitud: 99.98%)\n", "\n", " ⚖️ DIAGNÓSTICO Y SENTENCIA UNIVERSAL:\n", " Los pares listados arriba son virtualmente clones; contienen exactamente la misma señal\n", " predictiva bajo distintos nombres. Mantenerlos vivos representa un doble riesgo para el modelo:\n", " 1) 📉 Dilución de Importancia: El modelo (ej. LightGBM) no sabrá a cuál darle el crédito,\n", " partiendo su importancia a la mitad de forma artificial e injusta.\n", " 2) 💾 Fuga de RAM y Latencia: Obligamos a la CPU a calcular cortes en dimensiones redundantes.\n", "\n", " 🪓 EJECUCIÓN: Para proteger la matriz, la Guillotina retuvo a las variables representantes\n", " (lado izquierdo) y DECAPITÓ a sus clones matemáticos (lado derecho).\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias Visuales y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from IPython.display import display, Markdown\n", "from typing import Dict\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "def autopsia_visual_colinealidad_automl(\n", " X_diagnostico: pd.DataFrame, \n", " rutas: Dict = None,\n", " umbral_corr: float = 0.98\n", ") -> None:\n", " \"\"\"\n", " [FASE 6 - Paso 17.2.5] Autopsia Visual y Explicabilidad (XAI).\n", " - Escáner de Calor con Zoom: Aísla y grafica ÚNICAMENTE las variables involucradas en colisiones.\n", " - Traductor Matemático: Explica en lenguaje natural el POR QUÉ de la eliminación (Unificado).\n", " - Anotación Numérica: Imprime los coeficientes exactos de Spearman dentro de cada celda.\n", " \"\"\"\n", " if X_diagnostico is None or X_diagnostico.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz de diagnóstico está vacía.\")\n", " return\n", "\n", " logger.info(f\"=== 👁️ FASE 17.2.5: Autopsia Visual de Colinealidad y Explicabilidad ===\")\n", "\n", " # 1. Aislamos solo variables numéricas\n", " cols_num = X_diagnostico.select_dtypes(include=[np.number]).columns.tolist()\n", " if len(cols_num) < 2:\n", " logger.warning(\" ⚠️ No hay suficientes variables numéricas para generar un mapa de calor.\")\n", " return\n", "\n", " # 2. Calculamos la matriz matemática de correlación absoluta\n", " logger.info(\" 🔍 Procesando radar de correlación de Spearman...\")\n", " matriz_corr = X_diagnostico[cols_num].corr(method='spearman').abs()\n", "\n", " # 3. Inteligencia MLOps: Encontrar las colisiones (Triángulo superior)\n", " upper_tri = matriz_corr.where(np.triu(np.ones(matriz_corr.shape), k=1).astype(bool))\n", "\n", " pares_colision = []\n", " columnas_implicadas = set()\n", "\n", " for col in upper_tri.columns:\n", " # Buscamos las filas (variables) que colisionan matemáticamente con esta columna\n", " colisiones = upper_tri.index[upper_tri[col] > umbral_corr].tolist()\n", " for fila in colisiones:\n", " val = upper_tri.loc[fila, col]\n", " pares_colision.append((fila, col, val))\n", " columnas_implicadas.update([fila, col])\n", "\n", " # ==========================================\n", " # 4. Renderizado del Mapa de Calor Inteligente (Zoom-In)\n", " # ==========================================\n", " if columnas_implicadas:\n", " logger.warning(f\"\\n 🚨 ALERTA VISUAL: Se detectaron {len(pares_colision)} colisiones críticas (> {umbral_corr*100}%).\")\n", " logger.info(\" 📸 Generando Zoom-In del Mapa de Calor sobre las variables afectadas...\\n\")\n", "\n", " # Filtramos la matriz para mostrar SOLO las variables que están compitiendo\n", " matriz_zoom = matriz_corr.loc[list(columnas_implicadas), list(columnas_implicadas)]\n", "\n", " # Configuramos el lienzo de Matplotlib\n", " fig = plt.figure(figsize=(10, 8))\n", "\n", " # Generamos el Heatmap con Seaborn\n", " sns.heatmap(\n", " matriz_zoom, \n", " annot=True, # 🔢 Activa los números adentro de los cuadros\n", " fmt=\".3f\", # Formato a 3 decimales para precisión técnica\n", " cmap=\"coolwarm\", # Escala de Azul (Seguro) a Rojo (Peligro/Colinealidad)\n", " vmin=0, vmax=1, \n", " linewidths=1,\n", " linecolor='white',\n", " mask=np.triu(np.ones_like(matriz_zoom, dtype=bool)), # Máscara para ocultar la diagonal superior redundante\n", " annot_kws={\"size\": 12, \"weight\": \"bold\"}\n", " )\n", "\n", " plt.title(f\"🔥 Radar de Colinealidad Extrema (Zoom a Correlaciones > {umbral_corr*100}%)\", fontsize=14, pad=20)\n", " plt.xticks(rotation=45, ha='right', fontsize=11)\n", " plt.yticks(rotation=0, fontsize=11)\n", " plt.tight_layout()\n", " \n", " # 🛡️ Aplicación de la Cláusula de Seguridad Visual\n", " if MODO_VISUAL:\n", " plt.show()\n", " else:\n", " plt.close(fig) # Cerramos la figura explícitamente en producción para no agotar la RAM\n", "\n", " # ==========================================\n", " # 5. El Cerebro XAI (Explicabilidad GLOBAL)\n", " # ==========================================\n", " logger.info(\"\\n\" + \"=\"*80)\n", " logger.info(\" 🧠 REPORTE FORENSE MLOps: ¿POR QUÉ LA GUILLOTINA CORTÓ ESTAS VARIABLES?\")\n", " logger.info(\"=\"*80)\n", "\n", " logger.info(\"\\n 📋 LISTA DE COLISIONES MATEMÁTICAS:\")\n", " for var1, var2, corr_val in pares_colision:\n", " logger.info(f\" ⚔️ '{var1}' vs '{var2}' (Similitud: {corr_val*100:.2f}%)\")\n", "\n", " logger.info(\"\\n ⚖️ DIAGNÓSTICO Y SENTENCIA UNIVERSAL:\")\n", " logger.info(\" Los pares listados arriba son virtualmente clones; contienen exactamente la misma señal\")\n", " logger.info(\" predictiva bajo distintos nombres. Mantenerlos vivos representa un doble riesgo para el modelo:\")\n", " logger.info(\" 1) 📉 Dilución de Importancia: El modelo (ej. LightGBM) no sabrá a cuál darle el crédito,\")\n", " logger.info(\" partiendo su importancia a la mitad de forma artificial e injusta.\")\n", " logger.info(\" 2) 💾 Fuga de RAM y Latencia: Obligamos a la CPU a calcular cortes en dimensiones redundantes.\")\n", " logger.info(\"\\n 🪓 EJECUCIÓN: Para proteger la matriz, la Guillotina retuvo a las variables representantes\")\n", " logger.info(\" (lado izquierdo) y DECAPITÓ a sus clones matemáticos (lado derecho).\")\n", "\n", " else:\n", " logger.info(\"\\n ✅ EL MAPA ESTÁ LIMPIO: No se detectaron colisiones que superen el umbral de guillotina.\")\n", " logger.info(\" 🧠 EXPLICACIÓN: Todas las variables de esta matriz aportan información única, ortogonal\")\n", " logger.info(\" y matemáticamente independiente. El modelo puede respirar tranquilo.\")\n", "\n", " # Opcional: Revisar si la guillotina ya actuó previamente mirando las rutas\n", " if rutas and 'gemelos_colineales' in rutas and len(rutas['gemelos_colineales']) > 0:\n", " logger.info(f\"\\n 💡 NOTA FORENSE: El mapa actual está limpio porque la Guillotina (Fase 17.2) ya hizo su trabajo.\")\n", " logger.info(f\" Las siguientes columnas ya fueron eliminadas del dataset para protegerlo: {rutas['gemelos_colineales']}\")\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " logger.info(\">>> 🔬 INICIANDO AUTOPSIA VISUAL DE COLINEALIDAD <<<\")\n", "\n", " # 💡 TRUCO MLOps APLICADO: Detección Dinámica del Backup\n", " if hasattr(manager, 'X_train_backup') and manager.X_train_backup is not None:\n", " matriz_forense = manager.X_train_backup\n", " logger.info(\" 📸 [XAI] Matriz 'backup' detectada. Generando radiografía de la escena del crimen original...\")\n", " elif hasattr(manager, 'X_train') and manager.X_train is not None:\n", " matriz_forense = manager.X_train\n", " logger.warning(\" ⚠️ [XAI] No se detectó 'X_train_backup'. Analizando la matriz post-guillotina (probablemente limpia).\")\n", " else:\n", " raise ValueError(\"El Manager no tiene cargada la matriz 'X_train' ni su backup. Ejecuta el Split (Fase 3.3).\")\n", "\n", " autopsia_visual_colinealidad_automl(\n", " X_diagnostico=matriz_forense, \n", " rutas=getattr(manager, 'rutas', {}),\n", " umbral_corr=0.98\n", " )\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Autopsia Visual: {e}\")" ] }, { "cell_type": "code", "execution_count": 140, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 36 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null float64 \n", " 1 workclass 26029 non-null float64 \n", " 2 education_num 26029 non-null float64 \n", " 3 marital_status 26029 non-null float64 \n", " 4 occupation 26029 non-null float64 \n", " 5 relationship 26029 non-null float64 \n", " 6 race 26029 non-null float64 \n", " 7 sex 26029 non-null float64 \n", " 8 capital_gain 26029 non-null float64 \n", " 9 capital_loss 26029 non-null float64 \n", " 10 hours_per_week 26029 non-null float64 \n", " 11 native_country 26029 non-null float64 \n", " 12 is_missing_workclass 26029 non-null float64 \n", " 13 is_missing_capital_gain 26029 non-null float64 \n", " 14 is_missing_native_country 26029 non-null float64 \n", " 15 total_nulos_en_fila 26029 non-null float64 \n", " 16 capital_neto 26029 non-null float64 \n", " 17 is_anomaly_isoforest 26029 non-null int8 \n", " 18 llm_age_*_education_num 26029 non-null float64 \n", " 19 gbdt_emb_0 26029 non-null category\n", " 20 gbdt_emb_1 26029 non-null category\n", " 21 gbdt_emb_2 26029 non-null category\n", " 22 gbdt_emb_3 26029 non-null category\n", " 23 gbdt_emb_4 26029 non-null category\n", " 24 gbdt_emb_5 26029 non-null category\n", " 25 gbdt_emb_6 26029 non-null category\n", " 26 gbdt_emb_7 26029 non-null category\n", " 27 gbdt_emb_8 26029 non-null category\n", " 28 gbdt_emb_9 26029 non-null category\n", " 29 gbdt_emb_10 26029 non-null category\n", " 30 gbdt_emb_11 26029 non-null category\n", " 31 gbdt_emb_12 26029 non-null category\n", " 32 gbdt_emb_13 26029 non-null category\n", " 33 gbdt_emb_14 26029 non-null category\n", " 34 cf_distancia_frontera 26029 non-null float64 \n", " 35 cf_fuerza_logit 26029 non-null float64 \n", "dtypes: category(15), float64(20), int8(1)\n", "memory usage: 4.4 MB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 141, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 6508 entries, 0 to 6507\n", "Data columns (total 36 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 6508 non-null float64 \n", " 1 workclass 6508 non-null float64 \n", " 2 education_num 6508 non-null float64 \n", " 3 marital_status 6508 non-null float64 \n", " 4 occupation 6508 non-null float64 \n", " 5 relationship 6508 non-null float64 \n", " 6 race 6508 non-null float64 \n", " 7 sex 6508 non-null float64 \n", " 8 capital_gain 6508 non-null float64 \n", " 9 capital_loss 6508 non-null float64 \n", " 10 hours_per_week 6508 non-null float64 \n", " 11 native_country 6508 non-null float64 \n", " 12 is_missing_workclass 6508 non-null float64 \n", " 13 is_missing_capital_gain 6508 non-null float64 \n", " 14 is_missing_native_country 6508 non-null float64 \n", " 15 total_nulos_en_fila 6508 non-null float64 \n", " 16 capital_neto 6508 non-null float64 \n", " 17 is_anomaly_isoforest 6508 non-null int8 \n", " 18 llm_age_*_education_num 6508 non-null float64 \n", " 19 gbdt_emb_0 6508 non-null category\n", " 20 gbdt_emb_1 6508 non-null category\n", " 21 gbdt_emb_2 6508 non-null category\n", " 22 gbdt_emb_3 6508 non-null category\n", " 23 gbdt_emb_4 6508 non-null category\n", " 24 gbdt_emb_5 6508 non-null category\n", " 25 gbdt_emb_6 6508 non-null category\n", " 26 gbdt_emb_7 6508 non-null category\n", " 27 gbdt_emb_8 6508 non-null category\n", " 28 gbdt_emb_9 6508 non-null category\n", " 29 gbdt_emb_10 6508 non-null category\n", " 30 gbdt_emb_11 6508 non-null category\n", " 31 gbdt_emb_12 6508 non-null category\n", " 32 gbdt_emb_13 6508 non-null category\n", " 33 gbdt_emb_14 6508 non-null category\n", " 34 cf_distancia_frontera 6508 non-null float64 \n", " 35 cf_fuerza_logit 6508 non-null float64 \n", "dtypes: category(15), float64(20), int8(1)\n", "memory usage: 1.1 MB\n" ] } ], "source": [ "\n", "\n", "X_test.info()\n" ] }, { "cell_type": "code", "execution_count": 142, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "🛑 MLOps Warning: Faltan librerías requeridas para el Tribunal Final.\n", " Ejecuta: !pip install lightgbm shap scikit-learn\n", "=== 🎲 MOTOR DE ENTROPÍA: Buscando la Semilla Maestra de Selección ===\n", " 🔍 Probando 5 realidades estocásticas diferentes (Evaluación Full Power)...\n", "🛑 Error en Tribunal Boruta-SHAP: name 'shap' is not defined\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import os # 🛡️ Añadido para interactuar con el hardware\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import gc\n", "import re\n", "import copy\n", "import warnings\n", "from typing import Tuple, Dict\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_PRODUCCION = True # True = Ejecuta la Fase / False = Desactiva la función (Bypass rápido)\n", "\n", "try:\n", " import lightgbm as lgb\n", " import shap\n", " from sklearn.metrics import average_precision_score, f1_score # 🚀 FIX: Importación de f1_score\n", " from sklearn.model_selection import StratifiedKFold\n", "except ImportError:\n", " # Este print se mantiene porque es un error pre-ejecución críitico para el usuario del Notebook\n", " logger.error(\"🛑 MLOps Warning: Faltan librerías requeridas para el Tribunal Final.\")\n", " logger.error(\" Ejecuta: !pip install lightgbm shap scikit-learn\")\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# ==========================================\n", "# 1. NUEVO MOTOR: EXPLORADOR DE ENTROPÍA (BUSCADOR DE SEMILLA MAESTRA)\n", "# ==========================================\n", "def explorador_entropia_guillotina(\n", " X_train: pd.DataFrame, \n", " y_train: pd.Series, \n", " rutas: Dict,\n", " max_semillas_a_probar: int = 10, \n", " percentil_ruido: int = 85,\n", " modo_produccion: bool = True\n", ") -> int:\n", " \"\"\"\n", " [NUEVO] Explorador de Entropía MLOps (FULL POWER + HARDWARE SHIELD).\n", " - Evalúa la guillotina con semillas dinámicas usando Validación Cruzada RIGUROSA.\n", " - 🚀 FIX MLOps: Inyecta Asymmetric Bagging o Pesos Suavizados en la evaluación cruzada.\n", " - Retorna la 'Semilla Maestra' para fijarla estáticamente en producción.\n", " \"\"\"\n", " if not modo_produccion:\n", " logger.info(\" ⏭️ [BYPASS] MODO_PRODUCCION es False. Explorador de Entropía desactivado. Retornando semilla por defecto (42).\")\n", " return 42\n", "\n", " logger.info(f\"=== 🎲 MOTOR DE ENTROPÍA: Buscando la Semilla Maestra de Selección ===\")\n", " inicio_timer = time.time()\n", " \n", " mejor_semilla = 42\n", " mejor_score = -1.0\n", " \n", " np.random.seed(42)\n", " arsenal_semillas = [42] + list(np.random.randint(1, 99999, size=max_semillas_a_probar - 1))\n", " total_semillas = len(arsenal_semillas)\n", " \n", " logger.info(f\" 🔍 Probando {total_semillas} realidades estocásticas diferentes (Evaluación Full Power)...\")\n", " \n", " # 🛡️ PROTECCIÓN CPU: Calculamos núcleos dejando 1 libre para el sistema operativo\n", " nucleos_disponibles = max(1, os.cpu_count() - 1) if os.cpu_count() else -1\n", "\n", " # 🚀 Extracción de Estrategia de Equidad Universal\n", " config_equidad = rutas.get('asymmetric_bagging', {}).copy()\n", " \n", " info_target = detectar_naturaleza_target_mlops(y_train)\n", " es_multiclase = info_target['es_multiclase']\n", "\n", " # 📊 FIX MLOps Telemetría: Reportar progreso sin saturar el log\n", " for idx, semilla in enumerate(arsenal_semillas, 1):\n", " rutas_simulacion = copy.deepcopy(rutas)\n", " \n", " X_simulado, _ = tribunal_boruta_shap_automl(\n", " X=X_train, \n", " y=y_train, \n", " rutas=rutas_simulacion, \n", " percentil_ruido=percentil_ruido, \n", " random_state=semilla,\n", " verbose=False,\n", " modo_produccion=True # Forzamos ejecución interna para la simulación\n", " )\n", " \n", " skf = StratifiedKFold(n_splits=5, shuffle=True, random_state=semilla)\n", " scores_cv = []\n", " \n", " # 🚀 FIX: Construimos los parámetros base del evaluador e inyectamos la equidad\n", " param_evaluador = {\n", " 'n_estimators': 500, \n", " 'random_state': semilla, \n", " 'n_jobs': nucleos_disponibles,\n", " 'verbosity': -1\n", " }\n", " \n", " if config_equidad:\n", " if es_multiclase:\n", " for k in ['pos_bagging_fraction', 'neg_bagging_fraction', 'bagging_freq', 'bagging_seed', 'scale_pos_weight']:\n", " config_equidad.pop(k, None)\n", " if not es_multiclase:\n", " config_equidad.pop('class_weight', None)\n", " config_equidad.pop('scale_pos_weight', None)\n", " param_evaluador.update(config_equidad)\n", " \n", " clf = lgb.LGBMClassifier(**param_evaluador)\n", " \n", " for train_idx, val_idx in skf.split(X_simulado, y_train):\n", " X_tr, X_va = X_simulado.iloc[train_idx], X_simulado.iloc[val_idx]\n", " y_tr, y_va = y_train.iloc[train_idx], y_train.iloc[val_idx]\n", " \n", " clf.fit(\n", " X_tr, y_tr, \n", " eval_set=[(X_va, y_va)], \n", " callbacks=[lgb.early_stopping(30, verbose=False)]\n", " )\n", " \n", " # 🚀 FIX: Soporte estricto Binario/Multiclase (Solo if)\n", " if es_multiclase:\n", " preds = clf.predict(X_va)\n", " score_macro = float(f1_score(y_va, preds, average='macro'))\n", " score_weighted = float(f1_score(y_va, preds, average='weighted'))\n", " score_actual = float((0.7 * score_macro) + (0.3 * score_weighted))\n", " scores_cv.append(score_actual)\n", "\n", " if not es_multiclase:\n", " preds = clf.predict_proba(X_va)[:, 1]\n", " scores_cv.append(average_precision_score(y_va, preds))\n", " \n", " score_promedio = float(np.mean(scores_cv))\n", " \n", " if score_promedio > mejor_score:\n", " mejor_score = score_promedio\n", " mejor_semilla = int(semilla)\n", " logger.info(f\" ↳ [NUEVA MEJOR SEMILLA] Progreso: {idx}/{total_semillas}. Semilla [{semilla}] -> Max Score: {mejor_score:.4f}\")\n", " \n", " # Reportar progreso cada 10 iteraciones para no inundar el log de Producción\n", " elif idx % 10 == 0:\n", " logger.debug(f\" ↳ Progreso: {idx}/{total_semillas}. Semilla actual [{semilla}] (No superó máximo).\")\n", "\n", " # 🛡️ PROTECCIÓN RAM: Limpieza profunda y agresiva\n", " del X_simulado, clf, skf, X_tr, X_va, y_tr, y_va\n", " gc.collect()\n", " \n", " # 🛡️ PROTECCIÓN TÉRMICA: Micro-pausa para permitir disipación de calor del procesador\n", " time.sleep(1.5)\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 👑 SEMILLA MAESTRA ENCONTRADA: {mejor_semilla} (Potencial Score: {mejor_score:.4f})\")\n", " logger.info(f\"\\n⏱️ Búsqueda de Entropía completada en {time.time() - inicio_timer:.3f}s\")\n", " \n", " return mejor_semilla\n", "\n", "# ==========================================\n", "# 2. LA GUILLOTINA MEJORADA (Con Modo Silencioso y Soporte Categórico)\n", "# ==========================================\n", "def tribunal_boruta_shap_automl(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " rutas: Dict = None,\n", " muestras_shap: int = 5000, \n", " percentil_ruido: int = 75, \n", " random_state: int = 42,\n", " verbose: bool = True,\n", " modo_produccion: bool = True \n", ") -> Tuple[pd.DataFrame, Dict]:\n", " \"\"\"\n", " [FASE 6 - Paso 17.3] El Juez Final: Boruta-SHAP & Null Importance.\n", " - 🚀 FIX MLOps: Ahora escanea Números, Categorías (GGPL) y Booleanos simultáneamente.\n", " \"\"\"\n", " if not modo_produccion:\n", " if verbose: logger.info(\" ⏭️ [BYPASS] MODO_PRODUCCION es False. Boruta-SHAP desactivado. Matriz devuelta intacta.\")\n", " return X.copy(), (rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': [], 'date_vars': []})\n", "\n", " if X is None or X.empty:\n", " if verbose: logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", " \n", " if verbose: logger.info(f\"=== ⚖️ FASE 17.3: Tribunal Boruta-SHAP (Filtro contra el Ruido) ===\")\n", " inicio_timer = time.time()\n", " \n", " X_clean = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': [], 'date_vars': []}\n", "\n", " if y is not None:\n", " patron_troya = re.compile(r'(^cf_|^gbdt_|_prob_|^prob_)', re.IGNORECASE)\n", " meta_features = [col for col in X_clean.columns if patron_troya.search(col)]\n", " \n", " if meta_features:\n", " if verbose: logger.warning(f\" 🔪 [CIRUGÍA] Extirpando {len(meta_features)} 'Caballos de Troya'...\")\n", " X_clean.drop(columns=meta_features, inplace=True)\n", " rutas['meta_features_purgadas'] = meta_features\n", " \n", " if not meta_features:\n", " rutas['meta_features_purgadas'] = []\n", "\n", " if verbose: logger.info(f\" 🧠 Preparando el Torneo Predictivo para las variables reales...\")\n", " \n", " # 🚀 FIX: Mapeo de Numeros, Categorías y Booleanos.\n", " cols_a_evaluar = X_clean.select_dtypes(include=[np.number, 'category', 'bool']).columns.tolist()\n", " if len(cols_a_evaluar) == 0:\n", " if verbose: logger.info(\" ✅ [BYPASS] No hay variables evaluables. Operación omitida.\")\n", " rutas['basura_boruta'] = []\n", " return X_clean, rutas\n", "\n", " np.random.seed(random_state)\n", "\n", " n_muestras = min(len(X_clean), muestras_shap)\n", " idx_sample = np.random.choice(X_clean.index, n_muestras, replace=False)\n", " \n", " # 🚀 FIX: NO usamos fillna(0) para proteger el dtype 'category'\n", " X_sample = X_clean.loc[idx_sample, cols_a_evaluar]\n", " y_sample = y.loc[idx_sample]\n", "\n", " if verbose: logger.info(\" ↳ Generando Clones de Sombra (Ruido Aleatorio Determinista)...\")\n", " \n", " # 🚀 FIX: Creación de matriz sombra respetando dtypes\n", " X_shadow = pd.DataFrame({col: np.random.permutation(X_sample[col].values) for col in X_sample.columns}, index=X_sample.index)\n", " for col in X_sample.columns:\n", " X_shadow[col] = X_shadow[col].astype(X_sample[col].dtype)\n", " \n", " shadow_cols = [f\"shadow_{c}\" for c in X_sample.columns]\n", " X_shadow.columns = shadow_cols\n", " \n", " X_torneo = pd.concat([X_sample, X_shadow], axis=1)\n", "\n", " if verbose: logger.info(\" ↳ Entrenando Oráculo Juez (FULL POWER)...\")\n", " \n", " es_regresion = False\n", " if pd.api.types.is_float_dtype(y_sample) and y_sample.nunique() > 20:\n", " es_regresion = True\n", " \n", " es_multiclase = False\n", " if y_sample.nunique() > 2:\n", " es_multiclase = True\n", " \n", " config_bagging = rutas.get('asymmetric_bagging', {}).copy()\n", " nucleos_juez = max(1, os.cpu_count() - 1) if os.cpu_count() else -1\n", "\n", " param_juez = {\n", " 'n_estimators': 500, \n", " 'random_state': random_state, \n", " 'n_jobs': nucleos_juez, \n", " 'verbose': -1\n", " }\n", " \n", " if config_bagging:\n", " if es_multiclase:\n", " for k in ['pos_bagging_fraction', 'neg_bagging_fraction', 'bagging_freq', 'bagging_seed', 'scale_pos_weight']:\n", " config_bagging.pop(k, None)\n", " if not es_multiclase:\n", " config_bagging.pop('class_weight', None)\n", " config_bagging.pop('scale_pos_weight', None)\n", " \n", " param_juez.update(config_bagging)\n", "\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", " if es_regresion:\n", " juez = lgb.LGBMRegressor(**param_juez)\n", " if not es_regresion:\n", " juez = lgb.LGBMClassifier(**param_juez)\n", " \n", " juez.fit(X_torneo, y_sample)\n", "\n", " if verbose: logger.info(\" ↳ Calculando Magnitudes SHAP para emitir sentencias...\")\n", " explainer = shap.TreeExplainer(juez)\n", " shap_values = explainer.shap_values(X_torneo)\n", " \n", " if isinstance(shap_values, list):\n", " shap_imp = np.zeros(X_torneo.shape[1])\n", " for class_vals in shap_values:\n", " shap_imp += np.abs(class_vals).mean(axis=0)\n", " \n", " if not isinstance(shap_values, list):\n", " if len(shap_values.shape) == 3:\n", " shap_imp = np.abs(shap_values).mean(axis=0).sum(axis=1)\n", " if len(shap_values.shape) != 3:\n", " shap_imp = np.abs(shap_values).mean(axis=0)\n", "\n", " imp_reales = pd.Series(shap_imp[:len(cols_a_evaluar)], index=cols_a_evaluar)\n", " imp_sombras = pd.Series(shap_imp[len(cols_a_evaluar):], index=shadow_cols)\n", "\n", " umbral_basura = np.percentile(imp_sombras, percentil_ruido)\n", " columnas_a_eliminar = imp_reales[imp_reales <= umbral_basura].index.tolist()\n", "\n", " if len(cols_a_evaluar) - len(columnas_a_eliminar) < 5 or len(columnas_a_eliminar) > len(cols_a_evaluar) * 0.8:\n", " if verbose: logger.warning(f\" ⚠️ [ALERTA AutoML] Juez demasiado estricto. Dejó solo {len(cols_a_evaluar) - len(columnas_a_eliminar)} variables vivas. Riesgo de Feature Starvation.\")\n", " if verbose: logger.info(\" ↳ Activando Protocolo de Indulto: Bajando exigencia a la Mediana del Ruido...\")\n", " \n", " umbral_basura = np.median(imp_sombras) \n", " columnas_a_eliminar = imp_reales[imp_reales <= umbral_basura].index.tolist()\n", " \n", " if len(cols_a_evaluar) - len(columnas_a_eliminar) < 5:\n", " if verbose: logger.warning(\" ↳ 🚨 [INDULTO TOTAL] La señal es muy débil. Se anula la guillotina para proteger el poder predictivo.\")\n", " columnas_a_eliminar = []\n", "\n", " del X_sample, X_shadow, X_torneo, juez, explainer, shap_values\n", " gc.collect()\n", "\n", " if columnas_a_eliminar:\n", " if verbose: logger.warning(f\" 🚨 [SENTENCIA] A la Guillotina: {len(columnas_a_eliminar)} variables reales aportaban menos que el ruido puro.\")\n", " X_clean.drop(columns=columnas_a_eliminar, inplace=True)\n", " rutas['basura_boruta'] = columnas_a_eliminar\n", " \n", " if not columnas_a_eliminar:\n", " if verbose: logger.info(\" ✅ [JUSTO] Todas las variables sobrevivieron al protocolo. Son estadísticamente útiles.\")\n", " rutas['basura_boruta'] = []\n", "\n", " if y is None:\n", " meta_heredadas = rutas.get('meta_features_purgadas', [])\n", " meta_presentes = [col for col in meta_heredadas if col in X_clean.columns]\n", " \n", " if meta_presentes:\n", " X_clean.drop(columns=meta_presentes, inplace=True)\n", " if verbose: logger.info(f\" 🔒 [TEST] Cirugía aplicada. {len(meta_presentes)} 'Caballos de Troya' eliminados.\")\n", "\n", " basura_heredada = rutas.get('basura_boruta', [])\n", " basura_presente = [col for col in basura_heredada if col in X_clean.columns]\n", " \n", " if basura_presente:\n", " X_clean.drop(columns=basura_presente, inplace=True)\n", " if verbose: logger.info(f\" 🔒 [TEST] Guillotina aplicada. {len(basura_presente)} variables decapitadas.\")\n", " \n", " if not basura_presente:\n", " if verbose: logger.info(\" ✅ [TEST] Matriz evaluada. Sin variables inútiles que purgar.\")\n", "\n", " for key in ['num_vars', 'cat_vars', 'bool_vars', 'date_vars']:\n", " if key in rutas:\n", " rutas[key] = [c for c in rutas[key] if c in X_clean.columns]\n", "\n", " if verbose:\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: Matriz Real Libre de Ruido. Columnas finales (Élite Predictiva): {X_clean.shape[1]}\")\n", " logger.info(f\"\\n⏱️ Tribunal Boruta-SHAP completado en {time.time() - inicio_timer:.3f}s\")\n", " \n", " return X_clean, rutas\n", "\n", "# ==========================================\n", "# Celda de Ejecución Maestra en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train', 'y_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " # Definimos nuestro punto de exigencia (85 o 90)\n", " EXIGENCIA = 90\n", "\n", " # 1. 🎲 ENCONTRAR LA SEMILLA MAESTRA (Bucle Full Power Dinámico)\n", " semilla_ganadora = explorador_entropia_guillotina(\n", " X_train=manager.X_train, \n", " y_train=manager.y_train, \n", " rutas=manager.rutas,\n", " max_semillas_a_probar=5, # <-- Ajusta este valor. 50 es un buen balance para empezar.\n", " percentil_ruido=EXIGENCIA,\n", " modo_produccion=MODO_PRODUCCION # 🛡️ Conectado a la bandera global\n", " )\n", " \n", " # 2. ⚖️ EJECUTAR EL JUICIO OFICIAL EN TRAIN CON LA MEJOR SEMILLA\n", " logger.info(f\"\\n>>> 🚂 EJECUTANDO GUILLOTINA OFICIAL CON SEMILLA {semilla_ganadora} <<<\")\n", " X_train_elite, rutas_actualizadas = tribunal_boruta_shap_automl(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " rutas=manager.rutas,\n", " percentil_ruido=EXIGENCIA,\n", " random_state=semilla_ganadora,\n", " verbose=True,\n", " modo_produccion=MODO_PRODUCCION # 🛡️ Conectado a la bandera global\n", " )\n", " \n", " # 3. 🔒 REPLICAR EN TEST\n", " logger.info(\"\\n>>> 🔒 EJECUTANDO SENTENCIA EN TEST <<<\")\n", " X_test_elite, _ = tribunal_boruta_shap_automl(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas,\n", " verbose=True,\n", " modo_produccion=MODO_PRODUCCION # 🛡️ Conectado a la bandera global\n", " )\n", " \n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos finales en el Manager\n", " manager.X_train = X_train_elite\n", " manager.X_test = X_test_elite\n", " manager.rutas = rutas_actualizadas\n", " \n", " logger.info(\"\\n📦 [MLOps] Matrices y rutas actualizadas de forma segura en el PipelineManager.\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " y_train = manager.y_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", " gc.collect()\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en Tribunal Boruta-SHAP: {e}\")\n" ] }, { "cell_type": "code", "execution_count": 143, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 36 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null float64 \n", " 1 workclass 26029 non-null float64 \n", " 2 education_num 26029 non-null float64 \n", " 3 marital_status 26029 non-null float64 \n", " 4 occupation 26029 non-null float64 \n", " 5 relationship 26029 non-null float64 \n", " 6 race 26029 non-null float64 \n", " 7 sex 26029 non-null float64 \n", " 8 capital_gain 26029 non-null float64 \n", " 9 capital_loss 26029 non-null float64 \n", " 10 hours_per_week 26029 non-null float64 \n", " 11 native_country 26029 non-null float64 \n", " 12 is_missing_workclass 26029 non-null float64 \n", " 13 is_missing_capital_gain 26029 non-null float64 \n", " 14 is_missing_native_country 26029 non-null float64 \n", " 15 total_nulos_en_fila 26029 non-null float64 \n", " 16 capital_neto 26029 non-null float64 \n", " 17 is_anomaly_isoforest 26029 non-null int8 \n", " 18 llm_age_*_education_num 26029 non-null float64 \n", " 19 gbdt_emb_0 26029 non-null category\n", " 20 gbdt_emb_1 26029 non-null category\n", " 21 gbdt_emb_2 26029 non-null category\n", " 22 gbdt_emb_3 26029 non-null category\n", " 23 gbdt_emb_4 26029 non-null category\n", " 24 gbdt_emb_5 26029 non-null category\n", " 25 gbdt_emb_6 26029 non-null category\n", " 26 gbdt_emb_7 26029 non-null category\n", " 27 gbdt_emb_8 26029 non-null category\n", " 28 gbdt_emb_9 26029 non-null category\n", " 29 gbdt_emb_10 26029 non-null category\n", " 30 gbdt_emb_11 26029 non-null category\n", " 31 gbdt_emb_12 26029 non-null category\n", " 32 gbdt_emb_13 26029 non-null category\n", " 33 gbdt_emb_14 26029 non-null category\n", " 34 cf_distancia_frontera 26029 non-null float64 \n", " 35 cf_fuerza_logit 26029 non-null float64 \n", "dtypes: category(15), float64(20), int8(1)\n", "memory usage: 4.4 MB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 144, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "🛑 MLOps Warning: Las librerías 'lightgbm' y 'shap' son requeridas para el Tribunal Final.\n", " Ejecuta: !pip install lightgbm shap\n", ">>> 🚂 JUZGANDO VARIABLES CONTRA EL RUIDO EN TRAIN (BORUTA-SHAP) <<<\n", "=== ⚖️ FASE 17.3: Tribunal Boruta-SHAP (Filtro contra el Ruido) ===\n", " 🔪 [CIRUGÍA] Extirpando 17 'Caballos de Troya'...\n", " 🧠 Preparando el Torneo Predictivo para las variables reales...\n", " 🧠 Tribunal conformado por 19 variables (Numéricas y Categóricas)...\n", " ↳ Generando Clones de Sombra (Ruido Aleatorio Determinista)...\n", " ↳ Entrenando Oráculo Juez (Con Asymmetric Bagging PURO y FULL POWER)...\n", " ↳ Calculando Magnitudes SHAP para emitir sentencias...\n", "🛑 Error en Tribunal Boruta-SHAP: name 'shap' is not defined\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import time\n", "import gc\n", "import re\n", "import warnings\n", "from typing import Tuple, Dict\n", "\n", "try:\n", " import lightgbm as lgb\n", " import shap\n", "except ImportError:\n", " # Este print se mantiene porque es un error pre-ejecución críitico para el usuario del Notebook\n", " logger.error(\"🛑 MLOps Warning: Las librerías 'lightgbm' y 'shap' son requeridas para el Tribunal Final.\")\n", " logger.error(\" Ejecuta: !pip install lightgbm shap\")\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# ==========================================\n", "# 1. LA GUILLOTINA MLOPS (FULL POWER)\n", "# ==========================================\n", "def tribunal_boruta_shap_automl(\n", " X: pd.DataFrame, \n", " y: pd.Series = None, \n", " rutas: Dict = None,\n", " muestras_shap: int = 5000, \n", " percentil_ruido: int = 75, \n", " random_state: int = 42,\n", " verbose: bool = True \n", ") -> Tuple[pd.DataFrame, Dict]:\n", " \"\"\"\n", " [FASE 6 - Paso 17.3] El Juez Final: Boruta-SHAP & Null Importance.\n", " - 🚀 FIX MLOps: Ahora escanea Números, Categorías (GGPL) y Booleanos simultáneamente.\n", " - El Juez interno usa 500 estimadores para máxima precisión.\n", " - Inyecta Asymmetric Bagging o Pesos Suavizados dinámicamente según el Target.\n", " - Elimina 'Caballos de Troya' (Target Leakage).\n", " \"\"\"\n", " if X is None or X.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz (X) está vacía.\")\n", " raise ValueError(\"La matriz (X) está vacía.\")\n", " \n", " if verbose: logger.info(f\"=== ⚖️ FASE 17.3: Tribunal Boruta-SHAP (Filtro contra el Ruido) ===\")\n", " inicio_timer = time.time()\n", " \n", " X_clean = X.copy()\n", " rutas = rutas or {'num_vars': [], 'cat_vars': [], 'bool_vars': [], 'date_vars': []}\n", "\n", " # ==========================================\n", " # MODO TRAIN: El Torneo contra las Sombras\n", " # ==========================================\n", " if y is not None:\n", " patron_troya = re.compile(r'(^cf_|^gbdt_|_prob_|^prob_)', re.IGNORECASE)\n", " meta_features = [col for col in X_clean.columns if patron_troya.search(col)]\n", " \n", " if meta_features:\n", " if verbose: logger.warning(f\" 🔪 [CIRUGÍA] Extirpando {len(meta_features)} 'Caballos de Troya'...\")\n", " X_clean.drop(columns=meta_features, inplace=True)\n", " rutas['meta_features_purgadas'] = meta_features\n", " else:\n", " rutas['meta_features_purgadas'] = []\n", "\n", " if verbose: logger.info(f\" 🧠 Preparando el Torneo Predictivo para las variables reales...\")\n", " \n", " # 🚀 FIX: Ampliamos el radar para incluir categorías (Embeddings GGPL) y booleanos\n", " cols_a_evaluar = X_clean.select_dtypes(include=[np.number, 'category', 'bool']).columns.tolist()\n", " \n", " if len(cols_a_evaluar) == 0:\n", " if verbose: logger.info(\" ✅ [BYPASS] No hay variables evaluables. Operación omitida.\")\n", " rutas['basura_boruta'] = []\n", " return X_clean, rutas\n", "\n", " if verbose: logger.info(f\" 🧠 Tribunal conformado por {len(cols_a_evaluar)} variables (Numéricas y Categóricas)...\")\n", "\n", " np.random.seed(random_state)\n", "\n", " n_muestras = min(len(X_clean), muestras_shap)\n", " idx_sample = np.random.choice(X_clean.index, n_muestras, replace=False)\n", " \n", " # 🚀 FIX: Extraemos la muestra. NO usamos fillna(0) porque destruiría el dtype 'category'\n", " # LightGBM maneja los NaNs de forma nativa.\n", " X_sample = X_clean.loc[idx_sample, cols_a_evaluar]\n", " y_sample = y.loc[idx_sample]\n", "\n", " if verbose: logger.info(\" ↳ Generando Clones de Sombra (Ruido Aleatorio Determinista)...\")\n", " \n", " # 🚀 FIX MLOps: Creación segura de sombras respetando el dtype 'category'\n", " X_shadow = pd.DataFrame({col: np.random.permutation(X_sample[col].values) for col in X_sample.columns}, index=X_sample.index)\n", " for col in X_sample.columns:\n", " X_shadow[col] = X_shadow[col].astype(X_sample[col].dtype) # Restaura la naturaleza exacta (category/float)\n", " \n", " shadow_cols = [f\"shadow_{c}\" for c in X_sample.columns]\n", " X_shadow.columns = shadow_cols\n", " \n", " X_torneo = pd.concat([X_sample, X_shadow], axis=1)\n", "\n", " es_regresion = pd.api.types.is_float_dtype(y_sample) and y_sample.nunique() > 20\n", " es_multiclase = y_sample.nunique() > 2\n", " \n", " if verbose: \n", " if es_multiclase:\n", " logger.info(\" ↳ Entrenando Oráculo Juez (Con Pesos Suavizados Multiclase y FULL POWER)...\")\n", " elif es_regresion:\n", " logger.info(\" ↳ Entrenando Oráculo Juez Regresor (FULL POWER)...\")\n", " else:\n", " logger.info(\" ↳ Entrenando Oráculo Juez (Con Asymmetric Bagging PURO y FULL POWER)...\")\n", " \n", " config_bagging = rutas.get('asymmetric_bagging', {}).copy()\n", " \n", " param_juez = {\n", " 'n_estimators': 500, \n", " 'random_state': random_state, \n", " 'n_jobs': -1,\n", " 'verbose': -1\n", " }\n", " \n", " if config_bagging:\n", " if es_multiclase:\n", " for k in ['pos_bagging_fraction', 'neg_bagging_fraction', 'bagging_freq', 'bagging_seed', 'scale_pos_weight']:\n", " config_bagging.pop(k, None)\n", " else:\n", " for k in ['class_weight', 'scale_pos_weight']:\n", " config_bagging.pop(k, None)\n", " \n", " param_juez.update(config_bagging)\n", "\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", " if es_regresion:\n", " juez = lgb.LGBMRegressor(**param_juez)\n", " else:\n", " juez = lgb.LGBMClassifier(**param_juez)\n", " \n", " # LightGBM detecta automáticamente los dtypes 'category' al hacer .fit()\n", " juez.fit(X_torneo, y_sample)\n", "\n", " if verbose: logger.info(\" ↳ Calculando Magnitudes SHAP para emitir sentencias...\")\n", " explainer = shap.TreeExplainer(juez)\n", " shap_values = explainer.shap_values(X_torneo)\n", " \n", " if isinstance(shap_values, list):\n", " shap_imp = np.zeros(X_torneo.shape[1])\n", " for class_vals in shap_values:\n", " shap_imp += np.abs(class_vals).mean(axis=0)\n", " else:\n", " if len(shap_values.shape) == 3:\n", " shap_imp = np.abs(shap_values).mean(axis=0).sum(axis=1)\n", " else:\n", " shap_imp = np.abs(shap_values).mean(axis=0)\n", "\n", " imp_reales = pd.Series(shap_imp[:len(cols_a_evaluar)], index=cols_a_evaluar)\n", " imp_sombras = pd.Series(shap_imp[len(cols_a_evaluar):], index=shadow_cols)\n", "\n", " umbral_basura = np.percentile(imp_sombras, percentil_ruido)\n", " columnas_a_eliminar = imp_reales[imp_reales <= umbral_basura].index.tolist()\n", "\n", " if len(cols_a_evaluar) - len(columnas_a_eliminar) < 5 or len(columnas_a_eliminar) > len(cols_a_evaluar) * 0.8:\n", " if verbose: logger.warning(f\" ⚠️ [ALERTA AutoML] Juez demasiado estricto. Dejó solo {len(cols_a_evaluar) - len(columnas_a_eliminar)} variables vivas. Riesgo de Feature Starvation.\")\n", " if verbose: logger.info(\" ↳ Activando Protocolo de Indulto: Bajando exigencia a la Mediana del Ruido...\")\n", " \n", " umbral_basura = np.median(imp_sombras) \n", " columnas_a_eliminar = imp_reales[imp_reales <= umbral_basura].index.tolist()\n", " \n", " if len(cols_a_evaluar) - len(columnas_a_eliminar) < 5:\n", " if verbose: logger.warning(\" ↳ 🚨 [INDULTO TOTAL] La señal es muy débil. Se anula la guillotina para proteger el poder predictivo.\")\n", " columnas_a_eliminar = []\n", "\n", " del X_sample, X_shadow, X_torneo, juez, explainer, shap_values\n", " gc.collect()\n", "\n", " if columnas_a_eliminar:\n", " if verbose: logger.warning(f\" 🚨 [SENTENCIA] A la Guillotina: {len(columnas_a_eliminar)} variables reales aportaban menos que el ruido puro.\")\n", " X_clean.drop(columns=columnas_a_eliminar, inplace=True)\n", " rutas['basura_boruta'] = columnas_a_eliminar\n", " else:\n", " if verbose: logger.info(\" ✅ [JUSTO] Todas las variables sobrevivieron al protocolo. Son estadísticamente útiles.\")\n", " rutas['basura_boruta'] = []\n", "\n", " # ==========================================\n", " # MODO TEST: La Ejecución Silenciosa\n", " # ==========================================\n", " else:\n", " meta_heredadas = rutas.get('meta_features_purgadas', [])\n", " meta_presentes = [col for col in meta_heredadas if col in X_clean.columns]\n", " \n", " if meta_presentes:\n", " X_clean.drop(columns=meta_presentes, inplace=True)\n", " if verbose: logger.info(f\" 🔒 [TEST] Cirugía aplicada. {len(meta_presentes)} 'Caballos de Troya' eliminados.\")\n", "\n", " basura_heredada = rutas.get('basura_boruta', [])\n", " basura_presente = [col for col in basura_heredada if col in X_clean.columns]\n", " \n", " if basura_presente:\n", " X_clean.drop(columns=basura_presente, inplace=True)\n", " if verbose: logger.info(f\" 🔒 [TEST] Guillotina aplicada. {len(basura_presente)} variables decapitadas.\")\n", " else:\n", " if verbose: logger.info(\" ✅ [TEST] Matriz evaluada. Sin variables inútiles que purgar.\")\n", "\n", " for key in ['num_vars', 'cat_vars', 'bool_vars', 'date_vars']:\n", " if key in rutas:\n", " rutas[key] = [c for c in rutas[key] if c in X_clean.columns]\n", "\n", " if verbose:\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: Matriz Real Libre de Ruido. Columnas finales (Élite Predictiva): {X_clean.shape[1]}\")\n", " logger.info(f\"\\n⏱️ Tribunal Boruta-SHAP completado en {time.time() - inicio_timer:.3f}s\")\n", " \n", " return X_clean, rutas\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None or getattr(manager, 'X_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train', 'y_train' o 'X_test'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if getattr(manager, 'rutas', None) is None or not manager.rutas:\n", " raise ValueError(\"El Manager no tiene el ruteo de variables cargado en 'rutas'. Ejecuta el Enrutamiento (Fase 3.2).\")\n", "\n", " logger.info(\">>> 🚂 JUZGANDO VARIABLES CONTRA EL RUIDO EN TRAIN (BORUTA-SHAP) <<<\")\n", " # ⚙️ MLOps: Inicializamos con percentil 90 para dar margen de maniobra y Random State fijo\n", " X_train_elite, rutas_actualizadas = tribunal_boruta_shap_automl(\n", " X=manager.X_train, \n", " y=manager.y_train, \n", " rutas=manager.rutas,\n", " percentil_ruido=90,\n", " random_state=9693 , # <-- Garantiza que siempre decapite las mismas variables (Semilla Manual)\n", " verbose=True\n", " )\n", " \n", " logger.info(\"\\n>>> 🔒 EJECUTANDO SENTENCIA EN TEST <<<\")\n", " X_test_elite, _ = tribunal_boruta_shap_automl(\n", " X=manager.X_test, \n", " y=None, \n", " rutas=manager.rutas,\n", " verbose=True\n", " )\n", " \n", " # 🚀 FIX ARQUITECTÓNICO: Guardamos los activos finales en el Manager\n", " manager.X_train = X_train_elite\n", " manager.X_test = X_test_elite\n", " manager.rutas = rutas_actualizadas\n", " \n", " logger.info(\"\\n📦 [MLOps] Matrices y rutas actualizadas de forma segura en el PipelineManager (Boruta-SHAP Manual aplicado).\")\n", "\n", " # (Transición) Reflejamos temporalmente en globales si el código viejo las requiere\n", " X_train = manager.X_train\n", " y_train = manager.y_train\n", " X_test = manager.X_test\n", " rutas_variables = manager.rutas\n", "\n", " gc.collect()\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en Tribunal Boruta-SHAP: {e}\")" ] }, { "cell_type": "code", "execution_count": 145, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 26029 entries, 0 to 26028\n", "Data columns (total 36 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 26029 non-null float64 \n", " 1 workclass 26029 non-null float64 \n", " 2 education_num 26029 non-null float64 \n", " 3 marital_status 26029 non-null float64 \n", " 4 occupation 26029 non-null float64 \n", " 5 relationship 26029 non-null float64 \n", " 6 race 26029 non-null float64 \n", " 7 sex 26029 non-null float64 \n", " 8 capital_gain 26029 non-null float64 \n", " 9 capital_loss 26029 non-null float64 \n", " 10 hours_per_week 26029 non-null float64 \n", " 11 native_country 26029 non-null float64 \n", " 12 is_missing_workclass 26029 non-null float64 \n", " 13 is_missing_capital_gain 26029 non-null float64 \n", " 14 is_missing_native_country 26029 non-null float64 \n", " 15 total_nulos_en_fila 26029 non-null float64 \n", " 16 capital_neto 26029 non-null float64 \n", " 17 is_anomaly_isoforest 26029 non-null int8 \n", " 18 llm_age_*_education_num 26029 non-null float64 \n", " 19 gbdt_emb_0 26029 non-null category\n", " 20 gbdt_emb_1 26029 non-null category\n", " 21 gbdt_emb_2 26029 non-null category\n", " 22 gbdt_emb_3 26029 non-null category\n", " 23 gbdt_emb_4 26029 non-null category\n", " 24 gbdt_emb_5 26029 non-null category\n", " 25 gbdt_emb_6 26029 non-null category\n", " 26 gbdt_emb_7 26029 non-null category\n", " 27 gbdt_emb_8 26029 non-null category\n", " 28 gbdt_emb_9 26029 non-null category\n", " 29 gbdt_emb_10 26029 non-null category\n", " 30 gbdt_emb_11 26029 non-null category\n", " 31 gbdt_emb_12 26029 non-null category\n", " 32 gbdt_emb_13 26029 non-null category\n", " 33 gbdt_emb_14 26029 non-null category\n", " 34 cf_distancia_frontera 26029 non-null float64 \n", " 35 cf_fuerza_logit 26029 non-null float64 \n", "dtypes: category(15), float64(20), int8(1)\n", "memory usage: 4.4 MB\n" ] } ], "source": [ "\n", "\n", "X_train.info()\n" ] }, { "cell_type": "code", "execution_count": 146, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 6508 entries, 0 to 6507\n", "Data columns (total 36 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 age 6508 non-null float64 \n", " 1 workclass 6508 non-null float64 \n", " 2 education_num 6508 non-null float64 \n", " 3 marital_status 6508 non-null float64 \n", " 4 occupation 6508 non-null float64 \n", " 5 relationship 6508 non-null float64 \n", " 6 race 6508 non-null float64 \n", " 7 sex 6508 non-null float64 \n", " 8 capital_gain 6508 non-null float64 \n", " 9 capital_loss 6508 non-null float64 \n", " 10 hours_per_week 6508 non-null float64 \n", " 11 native_country 6508 non-null float64 \n", " 12 is_missing_workclass 6508 non-null float64 \n", " 13 is_missing_capital_gain 6508 non-null float64 \n", " 14 is_missing_native_country 6508 non-null float64 \n", " 15 total_nulos_en_fila 6508 non-null float64 \n", " 16 capital_neto 6508 non-null float64 \n", " 17 is_anomaly_isoforest 6508 non-null int8 \n", " 18 llm_age_*_education_num 6508 non-null float64 \n", " 19 gbdt_emb_0 6508 non-null category\n", " 20 gbdt_emb_1 6508 non-null category\n", " 21 gbdt_emb_2 6508 non-null category\n", " 22 gbdt_emb_3 6508 non-null category\n", " 23 gbdt_emb_4 6508 non-null category\n", " 24 gbdt_emb_5 6508 non-null category\n", " 25 gbdt_emb_6 6508 non-null category\n", " 26 gbdt_emb_7 6508 non-null category\n", " 27 gbdt_emb_8 6508 non-null category\n", " 28 gbdt_emb_9 6508 non-null category\n", " 29 gbdt_emb_10 6508 non-null category\n", " 30 gbdt_emb_11 6508 non-null category\n", " 31 gbdt_emb_12 6508 non-null category\n", " 32 gbdt_emb_13 6508 non-null category\n", " 33 gbdt_emb_14 6508 non-null category\n", " 34 cf_distancia_frontera 6508 non-null float64 \n", " 35 cf_fuerza_logit 6508 non-null float64 \n", "dtypes: category(15), float64(20), int8(1)\n", "memory usage: 1.1 MB\n" ] } ], "source": [ "\n", "\n", "X_test.info()\n", "\n", "\n", "# # FASE 7: MLOps: Exportación y Calibración\n", "# El modelo sale del laboratorio al mundo real." ] }, { "cell_type": "code", "execution_count": 147, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "=== 💾 FASE 18.1: Exportación Binaria Integral (PyArrow v23.0.1) ===\n", " ✅ Matrices X e y exportadas exitosamente a Parquet.\n", " ⚖️ Escudo de Equidad (Pesos) blindado en Parquet.\n", " 🗺️ Metadata de Rutas exportada a JSON de forma segura.\n", "--------------------------------------------------------------------------------\n", " 🛡️ ESTATUS: Activos 100% blindados (Datos + Modelos Previos). Listo para Producción y Optuna.\n", "\n", "⏱️ I/O completado en 1.908s\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import os\n", "import time\n", "import json\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import joblib\n", "from typing import Dict, Optional, Any\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "try:\n", " import pyarrow as pa\n", " MOTOR_PARQUET = f\"PyArrow v{pa.__version__}\"\n", "except ImportError:\n", " MOTOR_PARQUET = \"Motor No Detectado\"\n", " # Este print se mantiene como warning crítico pre-ejecución si el entorno no tiene la librería\n", " logger.warning(\"🛑 MLOps Warning: El motor binario 'pyarrow' es requerido para escribir archivos Parquet.\")\n", "\n", "# ==========================================\n", "# 🔧 NUEVO: Traductor Universal de Tipos Numpy -> JSON\n", "# ==========================================\n", "class NumpyEncoder(json.JSONEncoder):\n", " \"\"\" Escudo de Serialización: Convierte tipos Numpy/Pandas a Python nativo \"\"\"\n", " def default(self, obj):\n", " if isinstance(obj, np.integer):\n", " return int(obj)\n", " if isinstance(obj, np.floating):\n", " return float(obj)\n", " if isinstance(obj, np.ndarray):\n", " return obj.tolist()\n", " if isinstance(obj, np.bool_):\n", " return bool(obj)\n", " if pd.isna(obj): # 🚀 FIX MLOps: Tolerancia a NaNs o NaTs huérfanos\n", " return None\n", " return super(NumpyEncoder, self).default(obj)\n", "\n", "def exportar_activos_mlops_integral(\n", " X_train: pd.DataFrame, \n", " y_train: pd.Series, \n", " X_test: pd.DataFrame, \n", " y_test: Optional[pd.Series], \n", " rutas: Dict,\n", " modelos_preprocesamiento: Optional[Dict[str, Any]] = None, # 🚀 FIX MLOps: Ahora es opcional y seguro\n", " pesos_equidad: Optional[pd.Series] = None, \n", " grupos_validacion: Optional[np.ndarray] = None, \n", " directorio_salida: str = \"mlops_activos\"\n", ") -> None:\n", " \"\"\"\n", " [FASE 7 - Paso 18.1] Exportación Serializada Integral.\n", " - Guarda X, y, Metadatos.\n", " - Serializa los pesos de justicia algorítmica (sample_weights).\n", " - Serializa el mapa topológico de Folds (grupos_cv).\n", " - 🧠 NUEVO: Serializa TODOS los cerebros de preprocesamiento (KNN, Escala, GBDT, etc.) con Joblib.\n", " \"\"\"\n", " logger.info(f\"=== 💾 FASE 18.1: Exportación Binaria Integral ({MOTOR_PARQUET}) ===\")\n", " inicio_timer = time.time()\n", "\n", " if not os.path.exists(directorio_salida):\n", " os.makedirs(directorio_salida)\n", "\n", " dir_artefactos = os.path.join(directorio_salida, \"artefactos_preprocesamiento\")\n", " if not os.path.exists(dir_artefactos):\n", " os.makedirs(dir_artefactos)\n", "\n", " try:\n", " # 1. Matrices y Vectores Base\n", " X_train.to_parquet(os.path.join(directorio_salida, \"X_train_opt.parquet\"), engine='pyarrow', index=False)\n", " X_test.to_parquet(os.path.join(directorio_salida, \"X_test_opt.parquet\"), engine='pyarrow', index=False)\n", " y_train.to_frame(name='Target').to_parquet(os.path.join(directorio_salida, \"y_train_opt.parquet\"), engine='pyarrow', index=False)\n", " logger.info(\" ✅ Matrices X e y exportadas exitosamente a Parquet.\")\n", "\n", " if y_test is not None:\n", " y_test.to_frame(name='Target').to_parquet(os.path.join(directorio_salida, \"y_test_opt.parquet\"), engine='pyarrow', index=False)\n", "\n", " # 2. Escudo de Equidad Algorítmica (Pesos)\n", " if pesos_equidad is not None:\n", " df_pesos = pd.DataFrame({'sample_weight': pesos_equidad}).reset_index(drop=True)\n", " df_pesos.to_parquet(os.path.join(directorio_salida, \"pesos_train.parquet\"), engine='pyarrow', index=False)\n", " logger.info(\" ⚖️ Escudo de Equidad (Pesos) blindado en Parquet.\")\n", "\n", " # 3. Mapa de Validación Cruzada (Grupos)\n", " if grupos_validacion is not None:\n", " df_grupos = pd.DataFrame({'grupos_cv': grupos_validacion}).reset_index(drop=True)\n", " df_grupos.to_parquet(os.path.join(directorio_salida, \"grupos_cv.parquet\"), engine='pyarrow', index=False)\n", " logger.info(\" 🗺️ Mapa de Validación Cruzada blindado en Parquet.\")\n", "\n", " # 4. 🧠 Serialización de Cerebros (Imputadores, Escaladores, Encoders)\n", " if modelos_preprocesamiento:\n", " logger.info(f\" 🧠 Detectados {len(modelos_preprocesamiento)} artefactos de preprocesamiento. Serializando...\")\n", " for nombre_artefacto, objeto_artefacto in modelos_preprocesamiento.items():\n", " if objeto_artefacto is not None:\n", " ruta_artefacto = os.path.join(dir_artefactos, f\"{nombre_artefacto}.joblib\")\n", " joblib.dump(objeto_artefacto, ruta_artefacto)\n", " logger.info(\" 📦 Todos los cerebros de preprocesamiento han sido congelados criogénicamente (Joblib).\")\n", "\n", " # 5. Diccionario de Rutas (JSON con NumpyEncoder)\n", " with open(os.path.join(directorio_salida, \"pipeline_metadata.json\"), 'w', encoding='utf-8') as f:\n", " # 🚀 FIX: Usamos cls=NumpyEncoder para que no explote con los int8 o booleanos de numpy\n", " json.dump(rutas, f, indent=4, ensure_ascii=False, cls=NumpyEncoder)\n", " logger.info(\" 🗺️ Metadata de Rutas exportada a JSON de forma segura.\")\n", "\n", " except Exception as e:\n", " logger.error(f\"🛑 Error crítico en I/O: {e}\")\n", " raise RuntimeError(f\"Error crítico en I/O: {e}\")\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" 🛡️ ESTATUS: Activos 100% blindados (Datos + Modelos Previos). Listo para Producción y Optuna.\")\n", " logger.info(f\"\\n⏱️ I/O completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", "# ==========================================\n", "# Celda de Ejecución Maestra en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices de entrenamiento. Ejecuta el Split (Fase 3.3).\")\n", "\n", " # 🚀 FIX MLOps: Se implementa 'getattr' para extraer los artefactos de manera ultra-segura\n", " exportar_activos_mlops_integral(\n", " X_train=manager.X_train, \n", " y_train=manager.y_train, \n", " X_test=manager.X_test, \n", " y_test=getattr(manager, 'y_test', None), \n", " rutas=getattr(manager, 'rutas', {}),\n", " modelos_preprocesamiento=getattr(manager, 'modelos_preprocesamiento', {}),\n", " pesos_equidad=getattr(manager, 'pesos_train', None),\n", " grupos_validacion=getattr(manager, 'grupos_cv', None),\n", " directorio_salida=\"mlops_activos\"\n", " )\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Fase de Exportación: {e}\")" ] }, { "cell_type": "code", "execution_count": 148, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 INICIANDO EL TORNEO RELÁMPAGO DE MODELOS <<<\n", "=== ⚔️ FASE 18.1: Torneo Relámpago MLOps (Evaluación Extensiva) ===\n", " 🛡️ [RAM SHIELD] Comprimiendo matriz en memoria (Uso actual: 4.37 MB)...\n", " ↳ Matriz comprimida a 2.39 MB (Reducción del 45.4% de RAM). Resultados al 100%.\n", " 📊 Escaneando terreno completo: 26,029 filas x 36 features\n", " 🎯 Target Multiclase: False\n", " 🏟️ Invocando a 15 gladiadores de todas las familias matemáticas...\n", " ↳ Progreso: [ 1/15 | 6.7% ] Evaluando: Regresión Logística (Lineal)\n", " ↳ Progreso: [ 2/15 | 13.3% ] Evaluando: Ridge Classifier (Lineal-L2)\n", " ↳ Progreso: [ 3/15 | 20.0% ] Evaluando: SGD Classifier (Gradiente Lineal)\n", " ↳ Progreso: [ 4/15 | 26.7% ] Evaluando: Naive Bayes (Probabilístico)\n", " ↳ Progreso: [ 5/15 | 33.3% ] Evaluando: K-Nearest Neighbors (Distancia)\n", " ↳ Progreso: [ 6/15 | 40.0% ] Evaluando: Linear SVM (Hiperplano)\n", " ↳ Progreso: [ 7/15 | 46.7% ] Evaluando: Multi-Layer Perceptron (Neural Net)\n", " ↳ Progreso: [ 8/15 | 53.3% ] Evaluando: Random Forest (Bagging)\n", " ↳ Progreso: [ 9/15 | 60.0% ] Evaluando: Extra Trees (Bagging)\n", " ↳ Progreso: [ 10/15 | 66.7% ] Evaluando: AdaBoost (Boosting Clásico)\n", " ↳ Progreso: [ 11/15 | 73.3% ] Evaluando: Gradient Boosting (Sklearn)\n", " ↳ Progreso: [ 12/15 | 80.0% ] Evaluando: SK HistGradient (Boosting Moderno)\n", " ↳ Progreso: [ 13/15 | 86.7% ] Evaluando: LightGBM (Boosting Supremo)\n", " ↳ Progreso: [ 14/15 | 93.3% ] Evaluando: XGBoost (Boosting Supremo)\n", " ↳ Progreso: [ 15/15 | 100.0% ] Evaluando: CatBoost (Boosting Supremo)\n" ] }, { "data": { "text/markdown": [ "### 🏆 Ranking Oficial del Torneo Relámpago" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AlgoritmoF1-ScoreF1 Std (±)ExactitudTiempo (s)Error
1AdaBoost (Boosting Clásico)0.7395± 0.01050.87696.86 sNaN
2Regresión Logística (Lineal)0.7311± 0.01080.87981.13 sNaN
3Gradient Boosting (Sklearn)0.7297± 0.01030.877725.86 sNaN
4SK HistGradient (Boosting Moderno)0.7290± 0.00930.87762.34 sNaN
5LightGBM (Boosting Supremo)0.7279± 0.00810.87690.90 sNaN
6Linear SVM (Hiperplano)0.7260± 0.01220.88001.92 sNaN
7Multi-Layer Perceptron (Neural Net)0.7240± 0.01750.878123.02 sNaN
8SGD Classifier (Gradiente Lineal)0.7191± 0.02010.87781.73 sNaN
9Ridge Classifier (Lineal-L2)0.7185± 0.01290.87560.65 sNaN
10Random Forest (Bagging)0.7059± 0.00700.86624.31 sNaN
11Extra Trees (Bagging)0.6979± 0.00860.86162.89 sNaN
12K-Nearest Neighbors (Distancia)0.6896± 0.00750.85765.24 sNaN
13Naive Bayes (Probabilístico)0.6855± 0.00420.82920.46 sNaN
14XGBoost (Boosting Supremo)0.0000± 0.00000.00001.62 s\\nAll the 5 fits failed.\\nIt is
15CatBoost (Boosting Supremo)0.0000± 0.00000.00000.06 s\\nAll the 5 fits failed.\\nIt is
\n", "
" ], "text/plain": [ " Algoritmo F1-Score F1 Std (±) Exactitud \\\n", "1 AdaBoost (Boosting Clásico) 0.7395 ± 0.0105 0.8769 \n", "2 Regresión Logística (Lineal) 0.7311 ± 0.0108 0.8798 \n", "3 Gradient Boosting (Sklearn) 0.7297 ± 0.0103 0.8777 \n", "4 SK HistGradient (Boosting Moderno) 0.7290 ± 0.0093 0.8776 \n", "5 LightGBM (Boosting Supremo) 0.7279 ± 0.0081 0.8769 \n", "6 Linear SVM (Hiperplano) 0.7260 ± 0.0122 0.8800 \n", "7 Multi-Layer Perceptron (Neural Net) 0.7240 ± 0.0175 0.8781 \n", "8 SGD Classifier (Gradiente Lineal) 0.7191 ± 0.0201 0.8778 \n", "9 Ridge Classifier (Lineal-L2) 0.7185 ± 0.0129 0.8756 \n", "10 Random Forest (Bagging) 0.7059 ± 0.0070 0.8662 \n", "11 Extra Trees (Bagging) 0.6979 ± 0.0086 0.8616 \n", "12 K-Nearest Neighbors (Distancia) 0.6896 ± 0.0075 0.8576 \n", "13 Naive Bayes (Probabilístico) 0.6855 ± 0.0042 0.8292 \n", "14 XGBoost (Boosting Supremo) 0.0000 ± 0.0000 0.0000 \n", "15 CatBoost (Boosting Supremo) 0.0000 ± 0.0000 0.0000 \n", "\n", " Tiempo (s) Error \n", "1 6.86 s NaN \n", "2 1.13 s NaN \n", "3 25.86 s NaN \n", "4 2.34 s NaN \n", "5 0.90 s NaN \n", "6 1.92 s NaN \n", "7 23.02 s NaN \n", "8 1.73 s NaN \n", "9 0.65 s NaN \n", "10 4.31 s NaN \n", "11 2.89 s NaN \n", "12 5.24 s NaN \n", "13 0.46 s NaN \n", "14 1.62 s \\nAll the 5 fits failed.\\nIt is \n", "15 0.06 s \\nAll the 5 fits failed.\\nIt is " ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "--------------------------------------------------------------------------------\n", " 🧠 DIAGNÓSTICO DEL ARQUITECTO:\n", " 🥇 Campeón Baseline: 'AdaBoost (Boosting Clásico)'\n", " 🥈 Subcampeón: 'Regresión Logística (Lineal)'\n", "\n", " ↳ ACCIÓN RECOMENDADA: Toma al Campeón (o al Subcampeón si prefieres velocidad)\n", " y pásalo por la Fase de 'Evolución Bayesiana (Optuna)' para llevarlo\n", " a su máximo esplendor matemático.\n", "⏱️ Torneo finalizado en 82.750s\n", "\n", "📦 [MLOps] Ranking de Baseline guardado en el PipelineManager de forma segura.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import os\n", "import time\n", "import logging\n", "import warnings\n", "import gc # 🚀 Añadido para protección de RAM\n", "import pandas as pd\n", "import numpy as np\n", "from IPython.display import display, Markdown\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_PRODUCCION = True # True = Ejecuta la Fase / False = Desactiva la función (Bypass rápido)\n", "\n", "# Librerías Core de Scikit-Learn (Familias Clásicas y Extendidas)\n", "from sklearn.model_selection import cross_validate, StratifiedKFold\n", "from sklearn.pipeline import make_pipeline\n", "from sklearn.impute import SimpleImputer\n", "from sklearn.preprocessing import StandardScaler, MinMaxScaler, LabelEncoder\n", "from sklearn.linear_model import LogisticRegression, RidgeClassifier, SGDClassifier\n", "from sklearn.ensemble import (\n", " RandomForestClassifier, ExtraTreesClassifier, HistGradientBoostingClassifier, \n", " AdaBoostClassifier, GradientBoostingClassifier\n", ")\n", "from sklearn.neighbors import KNeighborsClassifier\n", "from sklearn.naive_bayes import GaussianNB\n", "from sklearn.svm import LinearSVC\n", "from sklearn.neural_network import MLPClassifier\n", "from sklearn.utils.multiclass import type_of_target\n", "\n", "# Librerías de Boosting Avanzado (La Nueva Guardia)\n", "try:\n", " import lightgbm as lgb\n", "except ImportError:\n", " lgb = None\n", "\n", "try:\n", " import xgboost as xgb\n", "except ImportError:\n", " xgb = None\n", "\n", "try:\n", " import catboost as cb\n", "except ImportError:\n", " cb = None\n", "\n", "\n", "# ==========================================\n", "# 1. FASE 18.1: EL TORNEO RELÁMPAGO (BASELINE EXPANDIDO)\n", "# ==========================================\n", "def torneo_relampago_automl(\n", " X_train: pd.DataFrame, \n", " y_train: pd.Series, \n", " n_splits: int = 5,\n", " seed: int = 42,\n", " modo_produccion: bool = True\n", ") -> pd.DataFrame:\n", " \"\"\"\n", " [FASE 7 - Paso 18.2] Torneo Relámpago Extendido (14 Gladiadores).\n", " - Escanea todas las familias matemáticas no obsoletas (Lineales, Árboles, Distancia, Redes, Boosting).\n", " - 🛡️ RAM SHIELD V2: Downcasting automático (Compresión de bits) para evaluar el 100% de los datos sin saturar RAM.\n", " \"\"\"\n", " if not modo_produccion:\n", " logger.info(\" ⏭️ [BYPASS] MODO_PRODUCCION es False. Torneo Relámpago desactivado.\")\n", " # Retornamos un DataFrame dummy para no romper la cadena del PipelineManager\n", " df_dummy = pd.DataFrame([{\n", " \"Algoritmo\": \"BYPASS_MODE\", \"F1-Score\": 0.0, \"F1 Std (±)\": 0.0, \"Exactitud\": 0.0, \"Tiempo (s)\": 0.0\n", " }])\n", " return df_dummy\n", "\n", " if X_train is None or X_train.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz está vacía. No hay datos para el torneo.\")\n", " raise ValueError(\"La matriz está vacía. No hay datos para el torneo.\")\n", "\n", " logger.info(f\"=== ⚔️ FASE 18.1: Torneo Relámpago MLOps (Evaluación Extensiva) ===\")\n", " inicio_timer = time.time()\n", "\n", " serie_target = pd.Series(y_train).dropna()\n", " tipo_target = type_of_target(serie_target if pd.api.types.is_numeric_dtype(serie_target) else serie_target.astype(str))\n", " es_multiclase = tipo_target == 'multiclass'\n", " metrica_f1 = 'f1_macro' if es_multiclase else 'f1'\n", "\n", " # 🛡️ FIX MLOps: Codificación de Target para XGBoost y Neural Nets\n", " encoder = LabelEncoder()\n", " y_codificado = encoder.fit_transform(y_train)\n", "\n", " # ==========================================\n", " # 🛡️ RAM SHIELD V2: Compresión de Tipos de Datos (Downcasting)\n", " # ==========================================\n", " memoria_antes = X_train.memory_usage().sum() / 1024**2\n", " logger.info(f\" 🛡️ [RAM SHIELD] Comprimiendo matriz en memoria (Uso actual: {memoria_antes:.2f} MB)...\")\n", "\n", " X_torneo = X_train.copy()\n", " for col in X_torneo.columns:\n", " col_type = X_torneo[col].dtype\n", " if col_type != object and not isinstance(col_type, pd.CategoricalDtype): # Respetamos categóricas\n", " c_min = X_torneo[col].min()\n", " c_max = X_torneo[col].max()\n", " if str(col_type)[:3] == 'int':\n", " if c_min > np.iinfo(np.int8).min and c_max < np.iinfo(np.int8).max:\n", " X_torneo[col] = X_torneo[col].astype(np.int8)\n", " elif c_min > np.iinfo(np.int16).min and c_max < np.iinfo(np.int16).max:\n", " X_torneo[col] = X_torneo[col].astype(np.int16)\n", " elif c_min > np.iinfo(np.int32).min and c_max < np.iinfo(np.int32).max:\n", " X_torneo[col] = X_torneo[col].astype(np.int32)\n", " else:\n", " # Usamos float32, evita float16 porque algunos algoritmos pierden precisión\n", " if c_min > np.finfo(np.float32).min and c_max < np.finfo(np.float32).max:\n", " X_torneo[col] = X_torneo[col].astype(np.float32)\n", "\n", " memoria_despues = X_torneo.memory_usage().sum() / 1024**2\n", " reduccion = 100 * (memoria_antes - memoria_despues) / memoria_antes\n", " logger.info(f\" ↳ Matriz comprimida a {memoria_despues:.2f} MB (Reducción del {reduccion:.1f}% de RAM). Resultados al 100%.\")\n", "\n", " y_torneo = y_codificado\n", " logger.info(f\" 📊 Escaneando terreno completo: {X_torneo.shape[0]:,} filas x {X_torneo.shape[1]} features\")\n", " logger.info(f\" 🎯 Target Multiclase: {es_multiclase}\")\n", "\n", " # ==========================================\n", " # 2. EL ARSENAL EXPANDIDO (14 Algoritmos)\n", " # ==========================================\n", " pipe_lineal = make_pipeline(SimpleImputer(strategy='median'), StandardScaler(), LogisticRegression(random_state=seed, max_iter=1000, n_jobs=-1))\n", " pipe_ridge = make_pipeline(SimpleImputer(strategy='median'), StandardScaler(), RidgeClassifier(random_state=seed))\n", " pipe_sgd = make_pipeline(SimpleImputer(strategy='median'), StandardScaler(), SGDClassifier(random_state=seed, max_iter=1000, n_jobs=-1))\n", " pipe_bayes = make_pipeline(SimpleImputer(strategy='median'), StandardScaler(), GaussianNB())\n", "\n", " pipe_knn = make_pipeline(SimpleImputer(strategy='median'), StandardScaler(), KNeighborsClassifier(n_jobs=-1))\n", " pipe_svm = make_pipeline(SimpleImputer(strategy='median'), StandardScaler(), LinearSVC(random_state=seed, dual=False, max_iter=1000))\n", "\n", " pipe_mlp = make_pipeline(SimpleImputer(strategy='median'), MinMaxScaler(), MLPClassifier(random_state=seed, max_iter=300, early_stopping=True))\n", "\n", " pipe_rf = make_pipeline(SimpleImputer(strategy='median'), RandomForestClassifier(random_state=seed, n_jobs=-1))\n", " pipe_et = make_pipeline(SimpleImputer(strategy='median'), ExtraTreesClassifier(random_state=seed, n_jobs=-1))\n", "\n", " pipe_ada = make_pipeline(SimpleImputer(strategy='median'), AdaBoostClassifier(random_state=seed))\n", " pipe_gbc = make_pipeline(SimpleImputer(strategy='median'), GradientBoostingClassifier(random_state=seed))\n", "\n", " modelos = {\n", " \"Regresión Logística (Lineal)\": pipe_lineal,\n", " \"Ridge Classifier (Lineal-L2)\": pipe_ridge,\n", " \"SGD Classifier (Gradiente Lineal)\": pipe_sgd,\n", " \"Naive Bayes (Probabilístico)\": pipe_bayes,\n", " \"K-Nearest Neighbors (Distancia)\": pipe_knn,\n", " \"Linear SVM (Hiperplano)\": pipe_svm,\n", " \"Multi-Layer Perceptron (Neural Net)\": pipe_mlp,\n", " \"Random Forest (Bagging)\": pipe_rf,\n", " \"Extra Trees (Bagging)\": pipe_et,\n", " \"AdaBoost (Boosting Clásico)\": pipe_ada,\n", " \"Gradient Boosting (Sklearn)\": pipe_gbc,\n", " \"SK HistGradient (Boosting Moderno)\": HistGradientBoostingClassifier(random_state=seed)\n", " }\n", "\n", " if lgb is not None:\n", " modelos[\"LightGBM (Boosting Supremo)\"] = lgb.LGBMClassifier(random_state=seed, verbosity=-1, n_jobs=-1)\n", " if xgb is not None:\n", " modelos[\"XGBoost (Boosting Supremo)\"] = xgb.XGBClassifier(random_state=seed, use_label_encoder=False, eval_metric='logloss', n_jobs=-1)\n", " if cb is not None:\n", " modelos[\"CatBoost (Boosting Supremo)\"] = cb.CatBoostClassifier(random_state=seed, verbose=0, thread_count=-1)\n", "\n", " total_modelos = len(modelos)\n", " logger.info(f\" 🏟️ Invocando a {total_modelos} gladiadores de todas las familias matemáticas...\")\n", "\n", " # ==========================================\n", " # 3. LA ARENA (Validación Cruzada)\n", " # ==========================================\n", " resultados = []\n", " cv_strat = StratifiedKFold(n_splits=n_splits, shuffle=True, random_state=seed)\n", "\n", " with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", "\n", " for idx, (nombre_modelo, estimador) in enumerate(modelos.items(), 1):\n", " porcentaje = (idx / total_modelos) * 100\n", " # 🚀 FIX MLOps: Reemplazamos el print interactivo \\r por un logger puro y robusto\n", " logger.info(f\" ↳ Progreso: [ {idx:>2}/{total_modelos} | {porcentaje:>5.1f}% ] Evaluando: {nombre_modelo}\")\n", "\n", " # ⏱️ Micro-cronómetro iniciado\n", " tiempo_inicio_modelo = time.time()\n", "\n", " try:\n", " # Evaluación multidimensional\n", " scores = cross_validate(\n", " estimador, \n", " X_torneo, # 🛡️ Matriz comprimida (Downcasted)\n", " y_torneo, \n", " cv=cv_strat, \n", " scoring={'acc': 'accuracy', 'f1': metrica_f1},\n", " n_jobs=1, \n", " return_train_score=False\n", " )\n", "\n", " tiempo_total_modelo = time.time() - tiempo_inicio_modelo\n", "\n", " resultados.append({\n", " \"Algoritmo\": nombre_modelo,\n", " \"F1-Score\": np.mean(scores['test_f1']),\n", " \"F1 Std (±)\": np.std(scores['test_f1']),\n", " \"Exactitud\": np.mean(scores['test_acc']),\n", " \"Tiempo (s)\": tiempo_total_modelo \n", " })\n", " except Exception as e:\n", " tiempo_total_modelo = time.time() - tiempo_inicio_modelo\n", " resultados.append({\n", " \"Algoritmo\": nombre_modelo,\n", " \"F1-Score\": 0.0,\n", " \"F1 Std (±)\": 0.0,\n", " \"Exactitud\": 0.0,\n", " \"Tiempo (s)\": tiempo_total_modelo,\n", " \"Error\": str(e)[:30] \n", " })\n", "\n", " # 🧹 Limpieza agresiva de memoria por cada modelo evaluado\n", " gc.collect()\n", "\n", " # ==========================================\n", " # 4. EL PODIO (Renderizado de Resultados)\n", " # ==========================================\n", " df_resultados = pd.DataFrame(resultados)\n", "\n", " df_resultados = df_resultados.sort_values(by=\"F1-Score\", ascending=False).reset_index(drop=True)\n", " df_resultados.index = df_resultados.index + 1 \n", "\n", " df_visual = df_resultados.copy()\n", " df_visual['F1-Score'] = df_visual['F1-Score'].apply(lambda x: f\"{x:.4f}\")\n", " df_visual['F1 Std (±)'] = df_visual['F1 Std (±)'].apply(lambda x: f\"± {x:.4f}\")\n", " df_visual['Exactitud'] = df_visual['Exactitud'].apply(lambda x: f\"{x:.4f}\")\n", "\n", " if 'Tiempo (s)' in df_visual.columns:\n", " df_visual['Tiempo (s)'] = df_visual['Tiempo (s)'].apply(lambda x: f\"{x:.2f} s\")\n", "\n", " # Mantenemos el display visual para entornos de experimentación (Jupyter)\n", " try:\n", " display(Markdown(\"### 🏆 Ranking Oficial del Torneo Relámpago\"))\n", " display(df_visual)\n", " except NameError:\n", " pass # Si corre en puro script, ignora el display visual de IPython\n", "\n", " top_1 = df_resultados.iloc[0]['Algoritmo']\n", " top_2 = df_resultados.iloc[1]['Algoritmo'] if total_modelos > 1 else \"N/A\"\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(\" 🧠 DIAGNÓSTICO DEL ARQUITECTO:\")\n", " logger.info(f\" 🥇 Campeón Baseline: '{top_1}'\")\n", " logger.info(f\" 🥈 Subcampeón: '{top_2}'\")\n", " logger.info(\"\\n ↳ ACCIÓN RECOMENDADA: Toma al Campeón (o al Subcampeón si prefieres velocidad)\")\n", " logger.info(\" y pásalo por la Fase de 'Evolución Bayesiana (Optuna)' para llevarlo\")\n", " logger.info(\" a su máximo esplendor matemático.\")\n", " logger.info(f\"⏱️ Torneo finalizado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return df_resultados\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta la Ingesta (Fase 1.1) primero.\")\n", "\n", " if getattr(manager, 'X_train', None) is None or getattr(manager, 'y_train', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'y_train'. Ejecuta el Split (Fase 3.3).\")\n", "\n", " logger.info(\">>> 🚂 INICIANDO EL TORNEO RELÁMPAGO DE MODELOS <<<\")\n", "\n", " # Ejecutamos el Torneo Relámpago y guardamos los resultados en el Manager\n", " df_ranking_modelos = torneo_relampago_automl(\n", " X_train=manager.X_train,\n", " y_train=manager.y_train,\n", " n_splits=5,\n", " seed=42,\n", " modo_produccion=MODO_PRODUCCION # 🛡️ Conectado a la bandera global\n", " )\n", "\n", " # Aseguramos que el almacén de artefactos exista\n", " if not hasattr(manager, 'artefactos'):\n", " manager.artefactos = {}\n", " \n", " manager.artefactos['ranking_baseline'] = df_ranking_modelos\n", " \n", " if MODO_PRODUCCION:\n", " logger.info(\"\\n📦 [MLOps] Ranking de Baseline guardado en el PipelineManager de forma segura.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error crítico en la ejecución del Torneo: {e}\")\n" ] }, { "cell_type": "code", "execution_count": 149, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🧠 DESATANDO PIPELINE: BÚSQUEDA DE SEMILLA, FORJA, CALIBRACIÓN Y UMBRAL <<<\n", "--------------------------------------------------------------------------------\n", "=== 🎲 MOTOR DE ENTROPÍA: Buscando Semilla por Score Compuesto + Exactitud ===\n", " 🔭 Explorando 3 realidades estocásticas (Full Power: 40 trials)...\n", " 🏆 [NUEVA MEJOR SEMILLA] Progreso: 1/3. Semilla [42] -> F1: 0.7215 | Acc: 0.8617\n", "--------------------------------------------------------------------------------\n", " 👑 SEMILLA MAESTRA ENCONTRADA: 42 (F1: 0.7215 | Exactitud: 0.8617)\n", "\n", "⏱️ Búsqueda de Entropía completada en 876.680s\n", "\n", ">>> 🏆 INICIANDO ENTRENAMIENTO FINAL CON SEMILLA: 42 <<<\n", " 🔪 [CIRUGÍA] Extirpando 17 variables con Target Leakage...\n", "=== 🧬 FASE 18.3: Evolución del Oráculo (Optuna - 40 Mutaciones) ===\n", " ⚙️ Iniciando simulaciones bayesianas (200 entrenamientos totales)...\n", " ⚖️ Umbral Óptimo de Entrenamiento: 0.7078\n", " 💾 Oráculo guardado en Caja Fuerte MLOps: mlops_activos\\oraculo_lightgbm.pkl\n", "=== 📊 FASE 19.3: Escáner Vectorizado y Comparativa Táctica ===\n", " 🔍 Extrayendo probabilidades calibradas del Test Set...\n", " ⚙️ Calculando la frontera de Pareto para máxima detección (F1-Score)...\n", " 🏆 Punto de Corte Encontrado. El Umbral de Oro es: 0.3688\n" ] }, { "data": { "image/png": "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3jx7+OGH3bkrV66c3X333fbbb79Fuf39+/dbpUqV3HZ+//33815/9913o/zcXbt2XdbxAHD1SBrfOwAAfrV7927XGJ87d667CBydTZs22WuvvWZHjx61L774wvxEk/JpojLv4v/OnTvto48+co3Z/v37R/teTXYd3Fg/duyYjR071hYuXOguWqdKlcot37Ztm2u8BjeQFWA8+OCD9t1337kJAiPScf3hhx8i/dyXXnrJRo8eHXi+ceNGe/PNN23Dhg3Wu3dviy+a9E3nOTaoQa5ATI16z8SJE23ZsmXuGIeEhEQb/CnBEBxMrFmzxh23s2fPWsuWLd0ynSMFXVomCoq+/vprmz9/vn377beBzzh+/LgLunScPQowFi9ebOPGjbOsWbO6ZXrf/fffHy5AXb58uT333HPuezzwwAOxcmwAAACuNsQWcRdbKAExYMCASzovSZIkibbdfS3EFheSOnVqd//zzz9b586dA7GFFx+0a9fOHf+bb7453Pu0Xp8+fezw4cNRbjsuOgACuPpQgQEg3pQsWdL11ojspt728e311193DengBpqMHDnS7WPPnj0Dy9Rz6NdffzU/UpJCyQv1kNLFaCUzRI918TkqSnR4CQb1rPrpp5+sR48e7rkudI8ZMyaw7htvvOECjEyZMrnKCV0cz549u7tgrmRJRKdOnXLHL+KxFQUwXvJCPcO0n7feemvg2F+oqiM2f4dp06YNrKfv3LZtW5coiA0ffvihCzDSpUtnX375pQ0ZMsSSJUvmPkffMzo6vkpeJE6c2CUtdG6qVavmXtN2vKRE37593TFWMKF1unXr5l7TeVfvN48+T5+rz9f7tT/ar3379rn99LzzzjsueZEtWzb77LPPXABaqlQp95qCliNHjsTKsQEAALhYxBbXZmyhDjfqYBNVb33FERHb+BMmTHBtXVGVQpYsWexajS1UrRFxP1VhkzdvXve6EkmqiBd1KFNsUaRIEVfx8tVXX1nu3LndMr0WTEmLp59+2p3n6HgV3+oQFXE/MmfOHAtHBsDVgAoMAPFGDaocOXL49gxEdnFdvN7oMVk3vm3evDkQSKjHftGiRa1gwYKuUaseP7/88ouVKFEi0vdu3bo18L3UsFdDVTcFEBpGyNuuGspehcrjjz9uN954o3v81FNPuWSE3hORElRRNda9RFCuXLmsffv27rF6Jqki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AAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvpM0vncAuBq1/eR9q/7AvdGu89Mrfa3JKy/YrrXrrVepqnb6xInAa6+tX2yZ8+ezF/OXtj0bN12BPQYARKdeo9ts6/btkb7Womljy50rpw0e/lFgWaJEiSx58uSWM3s2e6RtG7vr9uYcYADAJfmg133Wplm1aNd5ddgEe6l9I1u3eZdVvPM1O3HydOC1FeN7Wb5cma1Yox62aftezgIAxLOmt9S37du2Rfpak2bNLWeu3PbhsCHnxRbZc+Sw+x942JrfcdcV3Fsg/pHAAOLApnkLLWWG9O5xprx5LG/F8nZ4z15b88fM89bNWqiANXrpWRv7ch/OBQD4XIVyZS1TxgzhlpUsXtwOHDzgHufIns1KlShuZ86csY2bt9j6DRvtpT6vW5q0aezWmxrE014DABKyBSs2W4a0Kd3jPDkyWYUS19me/Uds5vw1561b8Lqs9vwjt1ivoT/Fw54CAC5G2fIVLGPGTOGWFS9R0g4cCIstsmfPYcVLlrIzZ07b5k2bbOOG9fZqrx6WJm1aa9DwFg42rhkkMIA4MH3QMHeT6m1bW9tPh1no8pU2rEXrwDpNer4QeHzTM51s9pff2o6VqzkfAOBjndo/ZjWqVT1v+aBhH7j7KpUqWv/XervHZ8+etQ7dnrUp03+zb0d9TwIDAHBJhn7zm7vJfU2vtw97t7GV60Ot5VMfBtZ5sV2jwOOubevbNxPm2KoNOzjiAOBj7Z7oYNdXq3He8uFDB7v7ipWrWJ++/QKxxTNdO9qv06ba6O9GksDANYU5MIB49u+ZM5YsRQpr/f678b0rAIBYpFLvWtXDhvzYsXMXxxYAEOfOnPnXUiRPZgO7t+JoA8BVFltUq1HLPd65kwQ1ri0kMIB4NvuLb+3EkSNWrO4Ndn2be+J7dwAAseTUqdM29dff3eNcOXJwXAEAce7r8X/bkWMn7MYqRa11k/MrBgEACdPpU6fs9+nT3OMcOXPG9+4AVxRDSAHxbM+GTTa+1xt2e78+dkf/V23xuInxvUsAgCg8+HiHcM9z58xp0yaMCTyf8888e6Lr03by5Clbt2GDbd223fWWur81PWEBAHFv47a99vrwifZal+bWt2sLm/DbYg47APjUk489HO55zly5bNykqYHn8+bOsW6dO9ipkydtw/p1tm3bVhdb3HNvm3jYWyD+kMAAfGDKO4Ot6n2tLE/Z0tbizV7xvTsAgBhO4p05U/hJ90J37HS3xIkTW8qUKa1MqZLW7qG2Vqd2WLk3AABxbcCX0+zuRlWsTNHc9mrn5hxwAEggk3hnihBb7NgR6m5ebFGydBl78OFHrdYNdeJhb4H4QwID8Mk8GF+372JPz5hsNR9pa2dOnozvXQIAXMQk3p6mjW4JTOINAEB8zYPR6fVvbeqIrvZgi+p28tQZTgQAJKBJvD23Nm4amMQbuJYxBwbgE+tm/W0zPvzUZdaThYTE9+4AAAAASKD+WrjeRnw/08UWISmSxffuAAAAXDISGICP/Pj8K3Zwx8743g0AAAAACdzLA8fYjj0H43s3AAAALgsJDMBHju7fb6Oe6h7fuwEAAAAggdt/6Jg9//b38b0bAAAAlyXR2bNnz5rPJEqUyN23s7TxvSsAgMsw3A4FHp89sp9jCQAJWKLUGcyHoUOMY4uQ8k/G964AAC7D8QVDAo8PHmduFwBIyNKFJIlxbEEFBgAAAAAAAAAA8B0SGAAAAAAAAAAAwHdIYAAAAAAAAAAAAN8hgQEAAAAAAAAAAHyHBAZwmSrc3syGnT1oT00fH/UfWpIk1uSV7vb6xqU28EioPTNjsuWrXDHcOu8e2OK2E3x7+JtPAq/nKF7UukwdZ4OO7bQ3tq60Ri89y7kDgDi0d99+6/FqX7vh5iZWocaNdud9D9hvf/wZeH3cxEnWtGVrK1e9tjW+o5VN/GVKuPefOnXaXu//jlWr29Ct075zN9uxcyfnDAAQpeb1y9ux+YPt5w87x+govfPcXW79F9s1ivT1vDkz2Y4/3nLrBCtdJJeNHtDeNk97w7ZMf9O+H9jeiubPzpkBgCtg6i+TrXLZEvbYQ/cHlk0a/5PdfcdtVrNqBWvZoolNmTwp3Hv27tljPV983m6uV9turF7ZHrq/tc2bO4fzhWsCCQzgMqTNmsVaD3vvguvd+8FAa9LzeUuSPLltnr/ICtWsZh0mjLLUmTK517MVKWwp06WzA9tDbcGPPwVuG+f8415PljKldZw42orXu9G2LVlmyUJCrFmfl6xe5yc4fwAQRzp2e9ZGjv7BkiZNYqVLlrAly5Zb+y7d7O+582zshEn2dPcetnPnTitbqpSt27DRuj73ok2Z/mvg/e8MHmqfffWte3/ePHls+u9/2ONdnrZ///2XcwYAOE/WjGls4IutYnxk6lQtau1a1o52nQ963Wfp0qQMtyx75rQ2flhHa3RDadu4fa9t27nfbq1d2iVNsmRMw5kBgDikRETfV18Jt2zi+HH20gvP2K6dO6xU6TK2Yf16e+GZp+zXaec6SD3/TFcbP26MpUiewooULW6LFsy3Tk+0s82bNnK+cNUjgQFchnuHD3BJjOhkL1bEaj7Uxo4dPGivla9pb9Vq6JITp44ft3xVwqow8lYs5+7nfz/OhrVoHbhNeWdwoMojc/58tnzKdOtbpY4NaXKXW16vc3vOHwDEgdVr19rc+QssY4YMNn7USPvio2H2YJt7XfLhux9+tI8+/dyt9/HQQe6157p2srNnz9qA9z9wy0+cOGHfjvreEidObN99/omNGfmVFcifz5YuX2Fz5s3nnAEAzjP4pXssa8a0MToyaVOH2PBX7nP/z0SlQ+s6dmOVouctb16/gmXLlNYm/rHEat3bz6q26mtzl2ywHFnSWZM6ZTgzABCHXu/T0/bv2xdu2eeffOzuBw//2D4Y8bl17vaMiy2GDRnklh86eNBVW6RMmcq+GT3GPvrsS2vc9DY7fvyY/fnH75wvXPVIYACX6Po291j5Fk1t4z/RX4gq2bC+u1//11w7uCNs6BAlJ7rnLWnLfg7Lpl9Xoay7z3hdbnvwiw/tnqHvWN6K5QPbKFTzene/6tcZ7n7drL/t5LFjlqVAfkufMwfnEABiWaaMGe3dN16zHi88YylThrhl2f9LWO/du882bd7iHhctXMjd165RPezf6dVr3NBTK1attqNHj1qe3LksV84c7gJT1UphSev5CxdxvgAA4bRuUtWa1Stn85ZtitGReevpO9zwUFGtXyRfNuvVoVmkr/82d5U9/PLn1n/E5MCy7bsPuvuYJlAAABfvp7E/2q/TplrxEiXDLd+8Kezf6kKFi7j7GjXDquvWrF7lkh0pQkIsVapU4d6jBIekScu/27j6Jb2YlU+fPm2TJ0+2OXPm2Pbt2+3kyZOWMmVKy549u1WpUsUaNmxoSZIkibu9BXwiQ+5c1mrgm7Zz9Vob9/JrbjioqGQtXNDd/3v6tHWYMNqK3FDDti5aaiM7PWsb584LV4FRrtm5sWtrPNTGBjZsbqt//9MyXpfHLTuyZ2/g9aP79lvylCndaxp6CgAQezJnymSNbr4p8PzYseM28vsf3eMK5crYttBQW79hoy1ettwqlS9nK1evCay7bft22x66wz3OkD59YLn32HsNuNYRWwBhcmfLYG8/e6et2bTTer//k/04KPphYjX0U9vm1W3kxLm2euNOq1gyb7jXEydOZB/3ud+SJElkj/b4wv4Z9WK411esC3U3j+a+aFijhHv818L1nBYAiAM7QkOt/5uv23V581r7Dp2sy5PnRtTIniOHbdyw3pYtXWLlK1S01atWBl7bvn2blShZyrr36G19+/S01nc2t2zZs9v8ef9Y1eurWcNbIp8DCbgmKzC2bNlijRs3tu7du9vKlSstJCTEsmbNasmSJbMVK1bYCy+8YE2bNrVt27bF7R4DPtDm4yEWkjatffbg43by6NFo102eKmzM2dKNGlrOksVsy8IlVrB6VesyZUygeiJ0xWpb/cdMG9z4LuuSLrdNGzjMkqVIYa0G9gvbxn+9f8+cOhXYrvfY2z4AIG4cP37cnuj6tK1bv8EyZEhv97a8y+656w732mMdu9gD7Z6053v2Prf+iRPuJkmTnusr4j3W9oBrHbEFcM77Pe+1tKlCrF3PL+3osXPt/chkSp/aDTW1fdcB6/rGd5Gu8/SDDa1Kmfz22vCJtmzt9mi3lz93Zvtp6JOWInky+33uavvjn9WcGgCIA31eecmOHjliPXu/biEh4a/j3Nnybnff+cl29sSjD1qvl7sHXjvxX+xw+nTY/w9bt25xyQvJnjMX8+vhmhDjCozevXtbnjx5bNSoUZY2kvKkgwcPWteuXd16w4YNi+39BHzjhvYPW6mb67v5Kdb++ZcVvbFWtOufPh52EevQrt3Wu3Q1O3H4sN0/YqjVePA+u77N3Ta533s2stMz4d4zvvcbVq9Te8tTroylSJPGTv23jcRBF8KSJEvm7k8ePRYH3xIAIEeOHrV2Hbu6eStSpEhh7735umXKlNHa3N3SThw/YV//b5StWbfeuj7Z3t54Z4B7T6qUKS1FiuTu8ZkzZ879f3D6tLtXJxDgWkdsAYR59K5adlONEjbwy2k2c8E6q10pbPiQqAx4oaXlzJre7uwy3PYdPL8jVZmiua37Y7e4OS3e/vSXaLelyouJwztarmwZbMPW3fZg9085LQAQB0aN/Mb+mvmntW7T1spXrGRz5/wd7vVWre9zc+j9b+Q3tm7dWnu8Yxd7r/+b7rWQlCktNHS79en5kiVKlNiGj/jMihYtbr17vmjjfvzejYzz7Asvcd5wVYtxBYaGjXr22WcjTV5IunTp7JlnnnHrAVezyq1ud/cNnupgw84etKd+neCeF61T2z3PnC98CfeejWFjGe5et8ElL2T97LnuPtN1eSxR4sSWtVBBK3B9lcB7Tp84GS5RsX9rWGVT6kwZA8tTZczg7vf9Nw47ACB2KYjwkhcpQ0Ls/ff6W/WqYf9Wa06Lxx5qa79OHGczfpkQbrip63LntuxZs7nHBw4cCCzf/9/jnDmyc6pwzSO2AMLc2bCSu+90Xz07Nn+wTf6os3t+Q+Ui7rnmuQh2581h6496r517/aX2YUOH6H7F+F7WrG45V01RuXR+O/LPILeOR4/va3p9oPJi0gedXPJi7aZd1vCRAbZt17n/swAAsWfyzxPd/ddffGaVy5aw9g+3dc81Mbeeh27fbg88/KiNnzzNJk393RrefGvgvXnyXGeLFy5wHaOKFi9ulSpXtbTp0tltt9/pXp89ayanCle9GFdgKHGxY8cOK1asWJTraPgoehXiardmxl92dP+5xn2aLJmtcK3qdnj3HlszY9Z5Q0qtnPa7u9fwUelyZLeDoTssd+mwCZt2rV3v5rHoseQvSxYSYq9VrG2b5y+0Mo1vdq+HrlxtR/fts/V/zbHajz1oxerWtkl937b8VSu79+1at575LwAgjvTq288lL5InT24fDHrPqlYOm4Rberza16ZM/816v/S8Nahbx36Z9qtbXr5MaUubNo0VL1bEVWxs2rLVtm0PtRzZs9k/8xe4dTRnBnCtI7YAwsycv9YOHDoXP2TOkMZqVChku/cdtlkL1tqx4+c6Nsm46QvPq6IoViCHrVwfajPmrbVVG3act07TumH/72j55tB9liJ5UpcAUSXH+i277aZH3nNDUgEA4obmtUibNl3g+f79+2zh/HmWPkMGK1+hkn04bIj9+cfv1r3HK1anXgObPm2KW69M2XJuku50/82lt2XTJjtwYL+lT5/BVi5f7pZly0bnKFz9Ep31pq2/gIEDB9q3335rnTt3tmrVqlnOnDldQK+JvJXY+Pvvv61///525513Wrdu3S5vpxIlcvftLPJqD8BPNISUqjBW/fqHvVO3sVVudYdVvvsOW/XrDJs2YKhb5/Ex37oJug/u2GmhK1a59+hxr5JV7cjevXbXO32tftcn7djBg7ZxzjwrVKu6mwNj2O332oIfxrlhpHqtmOsmD9fE35kL5Lc0mTO5icCnD2LINvjXcDsUeHz2yP543RfgYmhS7mYtW7vHWbNksbL/JZ6lcMGClitnDuv52huWJk1qK1WieCA58fHQQVatSmX3+NU3+9sX335nWbNktowZMtiqNWvduqO+/NRVcAAJTaLUGSyGoYMvY4uQ8k/Gyr4DcUlDSKkKQ/NR3PzoALvr5kp2180V3fPBX4cly4O92K6Rq754ddgEe214WGV4RF4VRsoKHdx9+1Y32LvPt3SPF6/a6oaP8oyePN9GTgqrFgf85viCIYHHB4+fG6YTSGg0hJSqMCpWrmIfjPjcRv9vpPXt84qlTpPGSpQoZfPnh81xMWTYR1a56vV2+tQpa3PPXW5y76zZslnefPld9YbaZf0HDLY6devH91cCLlq6kCQxji1iXIHRsWNHF2z369fPjkYyaXHq1Knt3nvvdUEIcC3LUbyolW/exI4fChsuSj66+0G7/c3eVuWeOy132VK2ZMJk+1/X513yQkY/+7Id3rPXzYtRqGY127l6rU3o088lL0RDT71bv6ndPbi/q/Y4um+/je3xGskLAIgjv0ybHni8a/dum/prWDWd7Nt/wL4e8YHt3rPHvvt+jM1fuNhKlShhXZ5oH0heyHNPdXETd//40wTbtGWL1b2hlr3S/TmSFwCxBRBjqrBQBcWhI2Fz4sWG5vXLh5szQzfP0jXRT/oNAIh9t9/Z0vbs3m0/jv6fLVo430qUKGmPd+zskheSNFkye//DT2z40EH2+6/TbenixVaseAl78JF2JC9wTYhxBYbn1KlTtnz5ctcz6tixY27IqBw5cljx4sVdr6lY2SkqMJDAtXwvbLKl77o8F9+7AsQrKjAA4OoRmxUY8RFbUIGBhKr/M3e4+6ffGh3fuwLEKyowAODqEScVGJ5kyZJZ2bJlL2W/gGtC1dYtrUrru+y9+k3je1cAAAB8jdgCiN7dt1a2lrdWtkbtBnGoAADANemiExgAord25mzrU7a6m6wbAAAAAC7VrIXrrWrLvha6+yAHEQAAXJNIYACxbM+GjRxTAAAAAJdt47Y9HEUAAHBNSxzfOwAAAAAAAAAAABARCQwkePmrVLKhp/dZ+RZhc068tn6xDTt7MHAbcmqvvbt/s3We/KPlLFHsorZdvW1rt42n//jZ/OKp6ePdPtV8+P4o1yl6Yy23Tt/Ny2P1s+t3fdLeO7TNMl6XJ1a3CwCXa9GSpVaiUjWbPHV6YNnJU6esWt2GVqxCVbu77cORvq9eo9vc6zP/+jtBnoSly1e4/f95yrT43hUAuCpULpXPDs8daLfVK+eerxjfy47NHxy4HZozwEJ/f8t+er+DFS+Y46K2fV/T6902po7oan7x84ed3T490KJ6lOvUrlTErbNmUp9Y/exO99WzXX++bdflyBir2wWAy7Vk8SKrWr6UTZsyObDs1KmT1uDGGla5bAl7qM09kb6v6S313euz/5qZIE/CimVL3f5P/eXc9wb8gAQGErx7hr5t+7dus4VjxodbvvbPv9yyFVN/c7Pal7ipnnWZ9pOlSJ3arnaHd++xBT/+ZEsnTYnV7c765CtLnDix3fVu31jdLgBcrldef9OyZ8tq9evcEFg27dffbd/+/e7x/EWLbdWatVfdgS5VoriVL1PaXu//jh0/fjy+dwcAErz3ureybTv327hfF4VbPmvBWrds+t+r7KydtfrVitvE4Z0sdcrkdrXbs/+wjZu+0CbPjN3OUZ+PmWWJEyWyfk/fEavbBYDL9eZrvS1rtux2Y936gWW/TZ9u+/ftc48XLVxga1avuuoOdPGSpaxM2XL2Tr++xBbwFRIYSNBKNqxv+SpXtNlfjrSz//4b7rVxPV+395vfY4NuaWF9ylS344cOWfoc2QOVGlezbUuX27AWre3LRzvG6naP7t9vC8dOdMcwW+FCsbptALhUf8yc5SoRmjW61ZIkSRJYPurHse4+efKwi0vfjf7hqjzIzZs2ttAdO23chEnxvSsAkKA1qF7CKpXMa99MmGP//ns23Gt9hk2wll0/sGZPDrEqd71uh44ctxxZ0lmz/yo1rmbL1m63lk99aE/0/jpWt7v/0DEb//tia1a3rBXKmzVWtw0Al2rWnzNs+bKl1qhx03CxxdgfRoeLLX4Y/b+r8iA3btbcduwItUnjx8X3rgABJDCQoFV/4F53v+CHn6Jdb9+WrbZt6Qr3OEPunOGGWuoydZy9e2CLuz350/8sT7kykW7j1u5PW78da+29g1vt4a9HWOpMmQKvecNV1enQzt7auc76rF1oyVOlspTp01ubj4dY/90bbOCRUOs67SfLW6lC4H2pMma0+z4Y6IZ6GnR8l72xZYW1fv/dGFWJpM+Zw54YO9IGHt1hr21Y4j47uiGkLrQv3nBZbT953+p3edJe37TMbVvHJF2O7IH1VNWiKoyaj0Q9hBUAXEk/jA2rwGtQr05g2fbQHfbnX7MtUaJE1uXJ9m7Z2AmT7MSJE9Fu6+TJk/bqm/3thpubWOkqNax6vZvt2Zd62oGDB93rs+f+44Zsav3Qo/ZCz95WsVZd69jtOft+7E9u+Quv9LEBQ4e791W5ob69M2io7di50x7v8rSVq17bGjRtYRN/OVcdp+1q+zUb3OI+r3bDxtbnjbfcfnj78+Y7A9xQV2Wur+XWe+r5l2znrt2BbdS7Mazq5LsfxsTqcQWAa02bZte7+7HTFka73pYd+2352u3uce5sGcINtTRxeEfb8cdb7vb9wPZWtmjuSLfx7MM328apfW3njP72Wd8HLFP6c+1/b7iqx+++0TZN62vLxr1iqUKSW/o0KW1Yz3tty/Q3bc/Md2zSB52sYsm8gfdlTJfKhrx8jxvqaf/sd23tz6/awBfvjlGVSI4s6W3Ue+1s76x3bOWE3u6zoxtC6kL74g2X9UGv+6zjvXVt9cQ+bts6Jkr8eH76dZGLLR5sXuOC+wgAV8K4MWGdnurUbxBYFhq63f6a9aeLLR7v0Nktm/jTuBjFFm+98Zo1alDHqlUsazfdWNN6dH/ODh484F6fO+dvN2TTI23vs14vd7cbq1e2Z7p2cvug5b16vGjDhgx076tb83obMuBd27ljhz3V6UmrWbWC3daooU2ZfK4Tk7ar7d9ct7b7vFsb3Gj9+r4aLrZ4r38/N9RVjcrl3Hrdn+1mu3ftDGzjxjr13P0Po0fF6nEFLgcJDCRY+o+jRMN6durECds8P/ogI3uxIpardAn3eO+mLYHqDSUvite70UKXr7I96zdamcY32zN/TrbrKoTvSVWgWhVr+Gxn27Z4qav0qHLPnfbgFx+c9zm39+ttWxYsso1z5tnJo0et48TRVvOhNnZ07z5bN+tvK1y7hj3163jLUrCAW/+eIW9brUcfsFPHT9iKKb+6ZTe0f9ju+3DQBb9/457PW7aihW3z/EWWOV9eu3vQW1bprhZRrn+hffGUva2RNXr5Wdu1Zp0lSpzYHZPmr/cMvL7+rznuXsceAOLbv//+a3/+9ZclS5bMShYrGliuhIJe0/BK97a801KnTu2SBRMnRz+03lsDBtsX335nSRInturXV3VDEI4ZP9GGfPBRuPXmLVhkv/7xZ9gQTkGJ7wk/T7b//TDGCuTPawcPHbLhIz61pne1to2bNlueXLls85at9uxLr9jefWFDWykJou2nTZvWqlWtYoePHLEvR/7Pvhn1vXt90LAPbcQXX9mp06etetUqljJlShv/82Tr2O3ZwGdq6KxcOXLYkmXLA4kWAMDFxxb1q5WwEydP2YKVYfFCVIrmz24lC+dyjzdv3xeo3lDyok7VYrZy/Q7bsG2P3Vq7tE379CkrXzz8/HFVy+S3p9o2sKWrt7lKj5a3VLaPXz2/c9BrnW+zRSu32j9LN9rR4ydtzJAnrG3z6rbv4BGbvWi91axQyM1hUSBPFrf+ey+0tIdur2nHT5y2abNXumWP3lnLhvZofcHv/+Jjt1qRfNls4cotljdnJnvnubvsjpvOdXaK6EL74mlSp6w9/+gttnbzLkucOJE7Jr06NAu8PnvRBndfv3rxC+4jAMQ1xQ+zZ/3pYotixcOuIclPY35wr2l4pbvubu1iCyULfvl5YrTbG/Rufxv59ZeWOEliq1qtmhuCcMJPY+3DYUPDrbdwwTyb8ftvbginsuXKB5ZPnjTBfvx+lOXLX8AOHTpon3z8gd19x222edNGy507t23dstklLLyhrXq9/KLbfpq0aa3q9dXsyOHD9t03X9no7751r3/w/mD78vNP7PTp01bl+moWkjKl+wwlTTxZs2WzHDlz2vJlSwKJFiC+JY3vHQAuVYY8uS1N5ky2fflK+/fMmfNeb9qru9Xt2M5SpE1j+atWspA0aWz3+g2BuTLuePs1S5wkiY15sbdNfL2/W3bP0Hfsxscfsdvf7GUDGjYPbEtJizeq1rUdq9a4icBfWjjTSjdqaDmKF7XQFefGPRzX4zX7pf9A97h4/TpWsHpV27Joib1WoZbbhpITqrCo3+UJG9npGctWNGwYpvG93rC/v/7OVVVUbnW7bV209ILff/Xvf9qAm25z273ttR6uQqRBt472z//OHyIlJvviSZ4ypfUoWtH2bd5iDZ/pbLf36+MSOJ49GzbayWPHLE/Z0i7BEXHoLgC4kjR00v4DB61ggfyWNGlYs0ZJh+/HhpU833rzTRYSEmIN6tzgEgXf/fCjG3IpKkoSpEoZYve3vtsyZ8pkk36Zap2ffcHWrd8Ybj19xvBB71rZUiUDCRNJZInsu89HWK6cOez+xx632XP+cY9HffmpnTlzxqrWaWDHj5+wdRs2WKaM5e2WmxpYkUIF7cnHHnHl6B9//qX1e3egrVsfdkFnw8ZN7v7eVnfaQ/ff53pNfTvqeyuQL5/bnlfWXrBgftsWGmorVq226ytXipNjDQBXszzZM1jmDKltxbpQO3Pm/Pbty+0buaqEtKlSWOXS+S1NqhS2YevuwFwZbzzVwpIkSWw9B4+zfh//7JYN6N7KHrurtr3aubk1eXxwYFv/nj1rtdu8Zas37nQTgf/97Qt2S61SVqxAdpf88PR5f7y9+/lU97ju9cXs+rIFbPGqrVbtnjdc4uPRu2rZwO53uwqHp978nxXOm82t+9oHE2zkxLmWM0t6u/PmirZ41bYLfv8Z89ZY48cHu+326tDUVYh0blPfRv8y/7x1Y7IvnpQpklnZ5r1tc+g+l7R5rUtzl8DxbNy2x44dP2lliuR2CY6IQ3cBwJW0c0eoHThwwPIXKBguthj3Y9h1lptuvtXFFpobQ4mCH0ePsibNzl07iqjK9dUtJGUqu+feNpYpc2abMvlne/7pLrZx/fpw6+kz3hsyzEqVLhOuCkSxxadffms5cuay9g8/YHPnzLYcuXLZ519/52KBerWr2Ynjx23D+nVWPmMla9DwZitYqLA92v4JF1t88ekIG/DOW+512bghLMa4q1Vra/PAg3by5CmX3FCCJDi2KFCgkIVu326rVq60ylWqxsmxBi4GCQwkWOmyhzXQj+2PPCNcqGY1d3/65Ek7snefLZ0w2UY/87KrjNDQTblLh110mvHhp4H3zPjwM5fAKFSrerhtbV+2wiUv3OPlKy105Wr3flV2BCcwVv/2Z+Bx3ophVRy60P/+mbCeth4vIfBL/0GukkO3uwe/ZWtm/OUm3laFxIUsGjsxkDyY//04l8DIXqxwpOvGZF88+j5KXsjWxcvcfbKQFOHWOXbgoJtPRAmkQ0HDmADAlbZ77153ny5NmsCyv/6eY1u2bnNDUtx6U1jpd+NbbnYJjH/mL7S169ZboQjVZ546tWu6+/c/+sQWLVlqS5eHDcV34r+ya09ISIpA8iKYEilKWEiObGH/T1WtXNEFQLplzJDBDW918kTY9m65qb5NmZbEXu33tvs8JSDEK/Nuc08r+33mTHt38Ps27KNPrGyZUlarWjWrUK5suDF506VJ6+73/Hc8AAAXJ1umsH9HDxw+Funr1cuHdTw6eeq07T1w1H6esdS6v/eDq4zQ0E2l/qvI+OT7c/GAHiuBUaN8wXDbWr4u1CUvRAmTVRt3uPcXzRc+gfHHP2Hxh1Qofp27L1M0tx35J3y1tpcQGPDFVPu4z/024tW29u5zLW3mgrX2y8zlNntR2IWr6Iz/bXEgeTBm2kKXwCiSP+z/sYhisi+elRt2uOSFLFkTlkgJSRH+MsSBw2HziWROn9p27Tt8wX0FgLiyZ88ed6/qaM+c2X/Z1q1bXGxx0823uGU339rYJTAWzP/H1q9bawUKRj5HaK0bwobjG/HhcFuyeKEtXx52jeXEyfBDT6UICQkkL4LlL1DAJS8kW/awob0rVa4SiC0yZMhoO0K3B7anBMb0qVOs/5uv25LFi2z1yhXhYou7773PZv75hw0d9J7bp9Jlylq1GjWtXPkK4WKLNOnCvv++vWHHA4hvJDCQ4KmKIjLvNWhmK6aGDcsU0QWrBs6G7/mT+L/Me8T3nzl1OtzyYwfOJVNOnzzl7vdv3WYb5swLt97B0LDAZO63o9yQTBXvaGZF6tR2VRIasqlep/bWp1wNO3Us8gBKkiRNcsH9uZh98Zw8cjTw+MypU4GS+sj8G0nvNACID2eC/l33Ju9WmXftho3OW3fk9z9Y96efinQ7XZ9/0VVdKJHRuuWdrrz6xV6vnvf/QtqghEmwFCnOJXwV5IiGfQosS3Ru9E71cmrzcDtbsHiJNWt8qz32UFvbtHmLS1aoF5aX/Jgy7gebPHW6/fX3XJu/aJGr6vj4iy9t3HffWLas4YfqSJI48v8TAQAxkyRx5O3eRu0H2fT/hmWK6EJVAxH+C7GkSRJH+v5Tp8NXlQcnU5Q4kW0797shpYKF7jnk7r+b9I8bkqlF/fJWu3IRVyWhIZueuOdGq9qqrx07Hta2j0zSoJhK/39Gtj8Xsy+eo8fOXaTzthdVbHGG6gsAPowtxvw3ebf+bbyl/rn5gTzfj/rOuj37QqTb0fwSmqNCiQwNPaXYok/PlwJtfU+aqGKLkJDoY4ug/7MUWzz24P22eNFCu7VJU3vw4Udt86ZNLlnhfV6lylVtzITJNm3KZJsze7YtWjjfVXV88dkIGzl6jGXJGj5xnZjYAj7BHBhIsLwL72mzZ73o9yrRoCoK0RwUnlqPtnX3q/+YFW79nCWLW77KFd3j7EULu6GjJHT5yigv6G9dHDYM1Mmjx+yjux+0YS1a2+wvvrUdK1fb/NFjLWny5HbXO33t7sH9bc63o21o05b2XM4idvzQIctWpJDlKFYk2u9QqdUdlvS/C2XlmzcJVIpE5kL7Eizif6SRSZUxg506ftyO/jfOIgDEl6yZM7v7PXvCKg80B8Qv039zj/Pny2vFixYJ3HLnzOmWj/lpQqAXUjDNS6HkhfR5+UVr3qRRlHNKxEZjftmKlS55kSpVKnu958vWqOFN4SbnFpWSv9ynr5UtXcoGvf2m/TF5ghXIn8/27z9gCxcvDqzn7WeWLGHHAwBwcXbsCft3NFvmcxNMx5QSDas2hMUmD94eVskX/PjP+WvDrV+iYA6r9N+E15p3QkNHyYr1oVFeQPOqF1Tx0eb5T6zlUx/a1+Pn2KoNO+3HKQssebKk1q/b7fbu83fZ/37+x+7oPMwK3NTdDh057oaWUnVHdDTUVIrkYZ22mtYtF6gOicyF9iVYDEILy5gupR0/ccr2HTzXkQoA4kPmLGGdg/buCWuTaw6IX6eFzaGXN19+K1qseOCWM1dYZcSEcWMijS00L4U3wfZLPXtb46a32cGgTq+x3Qlp5YrlLnmh2KJnr9fccFe7gibnlvcHD7DXevW00mXK2VvvDrRJU393w0cd2L/fvdfj7ad3PID4RgUGEqx9W7bage2hbigpVUj8ezry6oOojOneyx793+du/oiyzRq5YZLylCtjxw8fth+e6xFu3eMHD7oJr9fPnmvXVSjrkg9KOmhOjaisnPabq3bIX6Wi9V41z3av3+gqLLSva//8yw1tlSFPLldx8eL8GW7i78z581pI2rTuuwUPTRWZbEUKWq8Vc23flm1W+L8hr35+491L2peLkTl/PkuWIoUb5iomyQ4AiEs5c2S3rFkyu6GkTp06beMmTLITJ05Yhgzpbdx3X7uxXz2hO3ZY/SbN3ZwZk6ZMs2aNwkrAPenTpbX06dK5ZMA9Dz5i2bJmtfkLw8Y2P3I09i+q5MiezZIlTWpHjx61Fvfc5/Z16fKwRPTRo8cCQ1dN//0Pmz33H6tYvqzt27ff1m/YaGnSpHZJDY+Wqey7RNBE5gCAmNuyY79t33XADSWVNGliO3364iqNNffFV/0ecvNHNLmxjKVIkdTKFs1jh4+esJcG/Bhu3YNHjtvPH3W2OYs3WLni17nkg5IOG7ZGPVTHr3+vctUOlUrls8U/9nCThKvCQtUcsxauc1URubNncBUXs759zv5Zusny5cpkaVOH2NYd+9xQTtEplDerLfzhZdu6Y7/VqBA2FEr/T365pH25GPlyZbYUyZO5icCJLQDEtxw5crqL9nv37LHTp07ZxPE/udgifYYM9u3oMeFiix2hodas0U1uzoypv/xstzZuGm5badOls3Tp0rskyMP332tZsmWzRQvC5hU6FgexhYaYSpo0mYstWre83VWGL18W1plVy0TD2P7x23T7Z85sK1e+ou3bt9c2blhvqdOksVKlywa2pWWKLYoVKx7r+wlcCiowkKAtn/KrJQsJsQJVL37C0vnfj7WBDZvbimm/Wc6SxSxLwfy2ePzP9laNm2zLwnO9WmXhj+PdRNuawDtJ0qQ267Ov7avHOl3wM4Y0vtNmffqVJUuZ0k0krgqJj1o9YIvGTXSvf9LmMZvU9207fvCQFat3g6ts0CTc79Zr6iocovNVuy62ad5CN7+FJtb+4pEOtnTSL5e8LzGVr1J5d79s8rSLeh8AxJXq11d1vZ4WLV0aGD7q9qZNwgUYkiN7dmtYr557/N3osInxgqmRPuCtvla0SGHbtXuPq+p4pktHS506ta1eu84OHgo/LMblypoli/V7tZflu+4627x1q506dcpe6NbFDa0xb+EiVwb+TOcO9nTnDi7ZMXfefNu2PdRq1ahmnwwbYtn/m2Nj7959bgLviuXKWqqgknIAwMXREFEhKZJZlVLh53GIiR+nLrAmTwyxX/9e6SbmLpA7i038Y4nVfeBtW7Rqa7h1x01fZK8Pn2jFCuRwF/2/HDfbnuzzzQU/o0XH9+2LsX9ZSEgyq1wqn5tLo81zn7j5K+Shlz63t0ZMtkOHj1udKkUtQ9pU9v0v8+yWxwa5CofodHz1W1uwfLOVL36dm1j78d5f2eQ/l13yvsRUxZJh82lMmRU25xQAxLeq1aq72GLJksWB4aOaNmtxXmyRPUcOq9fgJvf4h1HfRRpbvPn2e1a4SFHbvXuXq+ro1PVpF1usXbPaDkVR6X2psmTJar1ff8Ouy5vXzdmh79D1medcbKGhohRbdOzazTp26WbZsuewefPmWmjodqteo5YN/WBEYI6NfXv3ugm8NS9GylSpYnUfgUuV6KwPuzl4Y2K2s3OT5gCRKXJDTev220Qb2+M1m9DnTQ7SFdDmo8FW/cH77OVCYYkTIDrD7dwF37NHwk8gD8SWv+fOszaPtreO7R+zDu0eueYO7I8/TbDnXn7F+vbqYbc3CxtSEIgLiVJnSJA9pL3YIqT8k/G9K/C5WpUK2y8fdbHe7/9kfT8IG/YDcev9nq3t/mbVrGTTXi5xAkTn+IIhgccHj0c+Rwtwuf6Z+7e1e6ittXuigz3a/tprO4wfN8Z6vvi89ezzujW9rUV87w6uYulCksQ4tqACAwna6t//tA1//2NV7rkzvnflmqBql3LNm9j8UT+SvADgG5roukypkjb+58l2LRo/abLlypHDGt8c1gMMAHBpZvyzxuYu2WAtb67MIbwCVO3StE45+2HKApIXAHxDE12XLF3Gfp44wa5FP08cbzly5rSGtzSK710BAkhgIMEb2elZy16siJW6hQs3ca36A/daitSp7Ptnw88RAgDx7aVnu7l5IH6bMdOuJWvWrrM/Zs5yw0xpnFsAwOXp1m+UFc2fzRrWLMmhjGNtml1vqVMmt+7vhZ8jBADi2zPPdXfzQPz5x+92LVm3do3N+nOGG2aK2AJ+whBSAIA4wxBSAHD1YAgpAEB8YggpALh6MIQUAAAAAAAAAABI0BhCCgAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA7yQ6e/bsWfOZRIkSxfcuAAAAAIjAh6HDBRFbAAAAAAk3tqACAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DtJzcf+3bkhvncBAHAZEmfLH3h8ZvlMjiUAJGBJStSwhOzYqYQ3/BUA4JyUyc4NN75o8yEODQAkYGWvSxvjdanAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA75DAAAAAAAAAAAAAvkMCAwAAAAAAAAAA+A4JDAAAAAAAAAAA4DskMAAAAAAAAAAAgO+QwAAAAAAAAAAAAL5DAgMAAAAAAAAAAPgOCQwAAAAAAAAAAOA7JDAAAAAAAAAAAIDvkMAAAAAAAAAAAAC+QwIDAAAAAAAAAAD4TtL43gEAAAAAAAAAuNoNfrOn/Tr5p2jXuev+x+x/n38QeJ4oUSJLliy5Zc6a3W5rdb81aNziCuwp4B8kMIA4Uu/ONrYtdEekrzW/9SbLnSO7DfnkS7suV0776YsPLUWK5Oe9d8r/Prc8OXNwjgAgHr0w4EP7cdqf0a7z5N232ZBvx4QLMpInS2o5smSyh1s0srsa3ngF9hQAcLW69aZ6tm3b1khfa3ZbC8uVO7cNGzrY8lx3nX0/ZrylSJHivPdOmDzVcufOcwX3GgAQUYEixe3I4UPu8e6dobZ+zUpLkza9lShT/rx1lbAoWKS4nTlzxkK3bbZtmzfasHdetVRp0liNG2/i4OKaQQIDiGMVypS0TBnSh1tWsmhhO3Aw7D+szdu22/uffWVdHnuQcwEAPlSyYH47dOSoe7xt115bvm6jpU+b2iqXLHreujkyZ7JShfPZ6TP/2qbtO2z91lDrMeQTS5s6pd1Ss2o87D0A4GpSvnwFy5gpU7hlxUuWtIMHDrjHWzZvtg+HDbUOnbvG0x4CAKLT+PZ73E2mTxprQ97qZXny5bfn+rwTWGfkZ8PdfcmyFa1z91fd47Nnz9pbPZ+2v//81SaPG00CA9cUEhhAHOv40P1Wo0rF85YP+vjzwOOPvxllzW6ubwXz5eV8AIDPtGl6k7vJD1P/sO4DP7ZCeXLZ4O6dA+sM/uYHd1+ldDHr91S7QJDRse8gmzp7no2cNJ0EBgDgsj3eoZNVq17jvOXvDxkUePzpJx9b46bNrEDBQhxxALhKqMK7XJXqLoGxd/fO+N4d4IpiEm8gniVOnNhOnTplr/Q/F3QAAK6OIKNWhdLu8Y49++J7dwAA11Bs8WrvV+J7VwAAsej06VM258/f3OMs2RhqHNcWEhhAPFPlRcqQFPb3/IX248Rf4nt3AACx5NTp0zbt7/nucc6smTmuAIA416TpbRaSMqXNnfO3jRvzI0ccABKwZYvm2ZsvP2WvPt/ROrW93RbMmek6SXlDUAHXCoaQAuLYQ12fD/c8V47sNm3UF4Hnmsz7yQfbWP/3P7J+Qz6wujWrcU4AIIGas2SldXh9gJ08ddrWbdluW3fudkGGNwQVAACXo90j4efNy5Urt038Zdq557lzW/vHn7T33ulvb/d/026sU5cDDgAJ1J5dO9xN1XUpQlJa4WKlrEXrB6xStdrxvWvAFUUCA7jCk3hnypDhvHUeaHWHjZ081VatXe8SGQCAhCl0z153S5w4kaVMkcLKFClgj97RxOpULh/fuwYAuAon8c6U6fwKvzZtH7TxP4211atWuUQGACBhql3/1sAk3sC1jAQGEE+TeIf7Q0yaxF55upPd+8RTNuqnSZYsGX+aAJAQNb2xemASbwAArtQk3sGSJk1qL/XoZQ+0aW3fj/6fJUuWjBMBAAASLObAAHyiYplSdlfTW+3s2bN28uSp+N4dAAAAAAlU+QoV7fY7W/4XW5yM790BAAC4ZCQwAB/p1v5hy5zx/CGmAAAAAOBidOnazTJlPn+IKQAAgISEBAbgI+nTpbXnOzL0CAAAAIDLky59env62ec5jADgU3VvaWajpv5jrw4YEW55q7bt3HLmvwDCJDqrmlKfSZQokbv/d+eG+N4VAMBlSJwtf+DxmeUzOZYAkIAlKVHDDUeT0HixxbFTCW/fAQDnpEwW9u+5LNp8iEMDAAlY2evSxji2oAIDAAAAAAAAAAD4DgkMAAAAAAAAAADgOyQwAAAAAAAAAACA7ySN7x0AAAAAAAAAgKvFkcOH7Mn7brPDhw7YyMmzLUmS6C/BLls0z3p0fdSKly533qTe61Ytt88/GGCrli2y1GnS2g0NGlvrh5+0JEmSuNePHTtqX3882Gb9OsWOHz/mtvFwh2ctZ568cfodgSuFCgwAAAAAAAAAiKXkxZs9urnkRUxs3rDO3nu1e6Svbdm43iU2lsyfYwWLFLczZ87YmJGf2fdffexe1yTI/Xp0s4k/jLRkyZNbztzX2YI5s+z17p3tzJnTnE9cFajAAGLZ3n37rUbTluctf/TeVtbt8Ydt4tTfbPgX39jGLVstY/r01rBObev8aFtLGRLi1jt85Ii9M2yETZ0xyw4dPmzVKlWw7p0ftzw5c3CuAOAK2rVvv/Ub8a3NWrjMTp4+ZXWrVLDnH25tGdOlsfqPdrNtO/dE+r7PXn3OqpYpYRu2hdqbI76x+cvXWOLEia1x7eutW9uWFpIiOecRAHBRpkz+2bp17WSVq1S1jz/9wi1bMH+e9ev7mq1atdKyZstmDz/Szu5s2Srwnq1bt9jAd9+xOX/PthMnjlvxEiWtc9duVrZceY4+AMSRmb9Ots+HD7DdO0MvuK6SEUpE/DjyMztx/Hik6/zviw9dVUWzlm3s/nZdbM3KZdb7mfa2avkS9/rCubNs8by/LVuOXPb2RyMtJCSlPfdEGzt0YL9t3rDe8hcqEuvfEbjSSGAAsWzZ6jXu/rpcOa1oofyB5YUL5LO/5i2wp1553RInTmRVype1Nes32qcjR9uRo0etz3Nd3XqdXupjM+fMs6KFCliqlCE2bcYsW7F6rY39fLilSZ2a8wUAV8DJU6ftoR5v2ZpNW61skYIumTH215m2bst2+6bfS1azfGnbe+BgYP2DR47anCUrLU2qlJYnRzbbf+iwtXnhddu9/6BVLlXM1m3ZZl+On2Lbd++1wd07cQ4BADG2Z88ee7V3z3DLdu3aaU+2f9SOHDliZcqWs9WrVlmfXj0sU+bMVq9+Azt+/Lg90e4R27B+vRUsWMhSp8ltc+f8bY8+1NZGjvrB8hcoyBkAgDjw/def2KGD+61V23Y28rPh0a57/NhRt46SDxWvr2WTxnx33jpKUEjVWnXdfeFiJe3zsb8HXl8w5y93X7bS9ZYyZSr3uN/7X8bqdwLiG0NIAbFs2cqwBMbdzRvbkL69Arfbbmlg0/6Y5cr72rW5xz4d0M++HfaeW3fyrzPC3rtqjUteFCtU0H785H0b+/kHVqpYEdu2Y6f9b9xEzhUAXCG/zV3okhd1qpSzkf172LhBr1n2zBltyZr1Nu3v+db7yQdtcPfOgVvubFnc+3o98YDlyprZfpz2p0te3Nu4vn3x+gs2+p1eliokhU2dPc+Wrt3AeQQAxJgSE/v27Qu37IfRo+zw4cPW/PY77IuvR1qPV3q75V998Zm7/3v2Xy55UbhIURs95if78pvv7KaGN7vExk9jx3D0ASCO3NzsLhv46Q92Y8MmF1w3adKk9nDHZ+2dj76zQkVLnPf6oYMH7PChsE5TC+f+ZY/c2dAebXmzffHBQDt16pRbHrpts7tXBUf3jg/afU1qW+9nn7DtWzbF+ncD4gsJDCCWLV+9NnDf7ZW+9vqA991wUZIpQ/qwlRIlcndnz4Y9TZsmrLJi05Zt7r5Q/rxuuJFkSZNa9UoV3LK/5i3kXAHAFbJp+w53XyRvHnefOlVKq1A8rPx69qLl4dbVEFNKWNQoX8oa1b4+0vfnyJLJCl+XO9L3AwAQlXFjfrTpU6dYiZKlwi3X8FGiIaWkyvVh//8sXrTQ/v33XytUuLD1fbO/de32tIsrRMNMyd69ezngABBHbmpyu2XOGvbv7YWkCElptzZvZSEpU0b6+skT54aVGv3lR5Y7b347c/q0mwPjmxFD3HINESh/TJ1oRw4ftBy58tiif2a7JMbxY8di5TsB8Y0hpIBYtmzVanf/0y/TA8u+n/CzfffhILvvztts1j/zbfjnX9v8RUttzYaNljIkhb3Qqb1bL0e2rO5+xZq1dvr0GUuaNImtXLvOLdsWGnYxDAAQ95RwkCVrwqolzpz519ZsDktGb9u1O9y6Q7790d13an17YFnOwPvXWyura0eOHbfNO3ZF+n4AACKzIzTU3uz7quXNm8+e7NjZOjz+WOC10NCwsdUzZMgQdp8+7P7EiRO2b+9ey507j7t59uzebRMnjHePy5UP6yAFAPA3TcrtueehJ6zFPQ/ajm1brGPbFvbz2P9Zm8c6W7JkYetcl7+Q9f/ga0ucOIn1erq9LVkw1/756w+rWbdhPH4DIHaQwABikXo7acgnJSI6P/qAFcqX115681375bcZ1n/oR9a3+9Ou6kIXwpTIkJzZslpISAr3uGzJYu79S1eutqb3P2qpUqZ0j+XEiZOcKwC4QupUKe+SELMWLrXbu/a0kydP2dr/quSOnwgr15Ylq9fbP8tWWfliha1csUKB5U3r1LBh//vJRv3yu63dvM127t1v+w4eOu/9AABEpefLL7o5LgYOGeYmeg3m9bhNmjRZ2H2ysHs5djx8j9t9+/ba44897BIb+fLnt1sbX3hYEwBA/EubLoOFpEzl5srIV7CoW5Y9Vx5Llz6j7d+3x821kTV7Trf8uvwFLUmSsMu8hYuXcgmM3bsuPJE4kBAwhBQQm39QiRPbO71etM8GvmUVy5Sy9OnS2mNt7navzVu81Pq//5H9PX+h3XRjLZsz6Qf7dGA/271vvz3xXE8L3bnLvf/9N3vbTTfUtN1791miRIns/rtauPenDAnhXAHAFZI6ZYh93OsZq1a2pBsOKmum9Na8Xk33muay8PwwLWwOo8Y3hA3dEVzB8XHvp90E4Ks3bbWShfLZjZXLnfd+AAAi8923X9usmTOs9X33W8VKlc97PXnysP9LNJSInP5vLHRJGXJuKJLdu3bZQ23b2MqVKyx9+gz29nuDLHlQj14AgH/pmlCpcpXc48XzZrv7fXt3u8RFqtRpXCKjTIUqbvmqZYsDQ0ZtWh82tLmGkwKuuQqMNm3auD+emPj8888vdZ+ABOvkyZO2JXSHHTt23FVSSPL/ekOdOnXaJTHkzia3uHkvqlUsb8ULF7TFy1faP4uWWOMGdS1blsw26PWegW0O++xrd583d1hWHQBwZRTIk9M+6fNs4PnLg0e4++tynBvTdsb8Je6+bpXy571fVRmaANzzUI+3zns/cC0jtgCi9vOkie7+y88/dTfP3Dl/W7lSxaxajZq2bu0aO3DggFu+/8B+d58iRQrLmClsGMP9+/fZow+1tXXr1rplwz/8xIoUCevBCwC48mZM+9n+nP6zlSpf2Zrc0TpG77njvodt4dxZNm7UV7Z6xRLbGbrdVeU1a9nGvV6l5o1WsEhxW7d6hXV9+C7LkCmzrV6+xPLkK2gVr68dx98I8GECo1atWjZgwAArUKCAlS1bNu72Ckigtu/cZY1aP+zmtZj49Qg3lNRvM8Oy5OVLl3CJDVm0bIXdWL2qHT5yxDZv2+6WZc+axfbu22/3dejmhiqZ8NVHbuzC6f+9v2bVsKw7ACDurVi/yTq/OcQypktj3/Z72c1hMXNhWBK6VoXS7j50915XnZE5fTrLnT1sDiPP7/8ssj7Dv7BShfLZe891sF379tvClWvDvR+41hFbAFGrUKGipU2bNvB83759buJuzXlRoWIly5o1m/1lf9qcv2dboyZN7Z+5c916ZcuVd1XdZ8+eteeefsolL1R58dEnn1vhwmEdrAAA8WPr5g02Z+ZvljJV6hi/p2iJMta97yD78sOBtnblcsuSLYfd366LNbnzXve6ho168Y3B9unQt+2fv353QwzWqNPQHnj8KUsWNLwgkJAlOquWzUX46quv7O2337axY8danjxxU4rkVXn8uzNs4kwgIenwwis25Y+ZljFDeiucP5/NXbjYkiZJYl8Oedu2hu6wp3q+7n7jlcqVtq3bQl3So0yJYvbN+++5SbtbtetsC5cut0L581oiS+Qm+tZ2Rn88xFKkoNwbCUvibPkDj88snxmv+wJcjJOnTtstjz9n23ftsVKF8tuBw0dsy45dbkipEb2fcf+Oz1260tp072vXlylhn776XLj379l/0G594jk7dOSYVSxRxDaF7rTd+w7Y7Q1q22sdH+ZkIEFKUqKGuygam65kbHHsVOzuO3AlKVHxyIP3W+UqVe3jT7+w7du2WYtmje348WNWpmw5W71qlR07dtQGDBpqderVt99+nW6dnmzv3nvddXmtcJFzyQtt4777H+AEIsFJmezciCCLNofNLQYkNCMGh1VlP9ThmfjeFSBelb0ubYxji4ueA+Pee++1qlWrWr9+/S5l34Cr3psvP2dtW91uIcmT28Jly6108aL2Qf/XrFypEtaofh0b0vcVK1uimC1bucbO/Puv3dH4Zhver49LXsi7vV60ujWrWejO3bZrz1677ZYG9tmgfiQvAOAKSp4sqQ17qYtVKV3M1m3ZZsdPnLD7Gjewwd07BS6GKkkhGdOd6yHryZwhnQ15sYuVLlzAlq7dYMmSJLEnWt1mvZ7gghEQjNgCuDQ5c+Wy4R+NsFKly9jyZUstY8aM9lLPXi55IVN+mRxYd/PmTTZ92tTAbenSsOEPAQBX1u9TJtiMaZOs3q3NOfRAXFZgyM6dO23p0qVWt27duNkpKjAA4KpABQYAXD3iogLjSsYWVGAAQMJGBQYSuh3bt1ry5MktY+bww88C16KyF1GBcVFzYHiyZcvmbgAAAABwOYgtAADAtSB7ztzxvQtAgnTRQ0gBAAAAAAAAAADENRIYAAAAAAAAAADAd0hgAAAAAAAAAMBl+OWn7+3O+pVsYN+X7eTJExxLIJaQwMBVadGyFVbyhlts8m8z3PN6d7ax4rUahrtVaNDUbr77AXv7/Y/t1OnTgfd6686cM8/i2/pNW+yex7tY2XqN7fpGd9iYSVOu2Gfv2rPXytRpZCO+GXXFPhNAwrdo1Tor1eJBmzxrrnte/9FuVuK2B8LdKrZ8zG5u/5y9/dl34f799daduWCpJQS79u23r8ZfuX+XL8XG7TsCxz02fTpmklVq1c627doTq9sFAD9avGiRVShTwqb8Mtk9v/WmelauVLFwt+srl7emtza0997pb6dOnQq811v3r1kzLb5t2LDe2t57t1WpUMZuqHG9jRv74xX77N27dlmlcqXts09HXLHPBIAr6cyZM7Z6+RJ74Ilu1umFPpY8eQpOABBLLmkSb8Dver09yLJnyWz1a1UPt7xCmZKWKUN69/jI0WM2Z8Ei+/CrkZY4cWLr2u5Bt7xmlYq2d/9+y5wxg8W3IZ98YfMXL7OsmTNZ8cIFLWf2bFfss/WZN91YywaP+MKa3FTXsmXJfMU+G0DC1XvY55Y9U0arX7ViuOUVihe2TOnTusdHjh23OUtW2kffT7AkiRNblzZ3uuU1y5e2vQcOWuYM6czv5ixdae17v2vFC1xn9zZuYNeaFvVr24Avv7c3Pv7aBj7fMb53BwDi1OuvvmLZsmW3uvXqh1tevnwFy5gpk3t85MgR+2fuHPvk4w8tSZIk1rFzV7e8eo2atnfvHsv033rxafjQwbZgwXzLkiWrFSte3HLmzHXFPjtL1qzW4KaGNmzIIGvUuIllzXrl4hoAuBL0b/8Tz/TgYANxgAQGrjp/zJ5rS1eutsfa3O3+AwnW8aH7rUaVcxfVPv76O3tr6Ef2w8TJgQRGn+fCgg0/UBWEPPHAvXZPi6ZX/PNb3HqTTZj6q339/Vjr8ljY8QGAqMyYt9iWrt1gj93ZxJIkCV/k2eGeFlajfKnA84+/n2D9P/vOfpg2I5DA6P1kwvl3ZkvoTjt6/Lhdq9KnSW11q5a3SX/OsQ3bQi1/rhzxvUsAECf+nPGHLVu61B5+tN15scXjHTpZteo1As8/HfGRvfv2Wzbmx+8DCYwevfr45szs2rXL3bd7/AlreXfrK/75zW5rbpMmjreRX39lHf47PgCQEK1escRe7PigPdXjTfvs/Xds147tUa77ytvDLWv2nPbUIy3txPHjds9DT9gd9z7sXjt79qx17/iAq9woXaGKvdJ/mA1+s6f9Ovknt079Rs3tiXujvxZ01/2PWau27dzjtauW25iRn9myRfPs8MEDljpNOitWupw1a9nGipcqF3jPU4+0smw5ctnzr74ba8cEiEskMHDV+WFCWGn3TTfUvOC6+fLkdveHjxwNN4TUttAdNuLdNwLJjmkzZtnQT7+yVevWW5pUqez6iuXt2ScfDVREnD59xkZ88z/7fsJk2xq6w7JkzGC31LvROj1yv6UMCXHrrFyzzt4e9rEtXrHKjh495t57V9Nb7eHWd0W6b95+eBUluq2YMTnS/Wv9eFebt3ipvd79abu9UUO3bPqff9k7w0fYxi1brWjBAta90+PW+omulitHdps26gu3zl//b+9O4K+a8/+Bvw3tyRapkK09CSUZa4jIli37nrJkH0S2xh6lwYgpRtaxG0TGOmNLUamUVi1UpLK0afg/zuf2/epb38jPfzjV8/l49Ljf773nnnvuvdz7Ped13u/3+4Ojx133xuhxE1K5Y/Z6dDzhqNhn913S7c23axKVKlaMx597Mc4+9YRYbbXV/s/vC7Dyy8KIzJ47lKy+KE2tGtXS5Tdz5pVoIfXp9BnR+6oLi8OOV979IP76j2fi408mReWKFWL7RvXjTyceEdXXL1SFLfzvf+OeJ/vFEy//J6ZM/yKqrl0l9tlp+zjrqIOjQrlC2faoCZPi5vsejWGjx6fQoXrV9eKwVrvGSQe3Xub2jRw/MW6855EYPmZ8zFuwIGpuUDWOabNXHLXvHvHky/+Ozj17p+Xe/2h0as/0r7tuSs//9oefjiP23i3GTPo0reOMdgfGCQfuE3c88nQ8+fJ/YvqXs6Ji+XLRtGGd6HzqMVFj/fViyrTPY8/2F0aNDdaLi05sF937Ph6ffv5FNKm7ZVze4bjYYuPCGbKzv/k2rr37gXhr8LD08zpV1oy9WmwXfzqxXZQtUyYt8/aQEXHTvY/E2ElTYouNasTxB+5d6vP7x4uvxYPPvxzjp3wWVSpVjN2aNYnzjjssrTOTvZbd7n0kBg4fFV99OyeqrrNW7LtT8zj7mENijUUH8PZovm30+8+AeOylN+KC4w9fjv9CAFY8zzz1ZLpsucfPV9ttUmvTdPntN9+UaCH16adTotff7ikOO1575eW46847YvToj6NS5crRbPvmcf4FF8WG1aun2xcuXBh/v6dPPP3U4/HplCmx3npVo9U+reP0MztFhQoV0jIfjxoZt3a/OYYP+zDmzJmT7nvIoYfH8ScWDootqWg7Mtd0vSr9GzJ8VKnbd/wxR8bgD96Pq/98XRx4cNt03euvvRo9e9wSEz+ZELVr14kLL+4cJxx7VNSoUTP6vfRKWmbAu+/EbT17xJjRH6d9i002qRXtO5wee+29T7p9++Y7RKVKleLJJx6PMzqdY98CWGHdfev1sW7V9aPZjrumACNTt+HWUWWtpTt5ZNdVq14z2p14elr28Qd6x0677x3VamyUZmZk4UXWbuq0cy9d6r7lypVPj1FkyKB3YsH8+SUeq+bGhe+ed/79SvT48yXpO2TtddeL+o23jWmfTYkB/3k1Br71epzc6aLYe//CiWP7HHh43NXj2hj41hvRdMfC8R/IMwEGK5Xvv/8+3nxvUJQpUybq197yJ5ebOXt2PPzUc+n3rRvUW+ayr731bpxxyZUpGd+ucaN0v36vvB4jx4yNf953d6yxxupx8TU3xrMvvRoVK1SI7Ro3jFFjx8c9Dz8WQ4Z/FPf9pVv84Q+rxakXXBrTv5gRW9WvG2utuWYMGvph3HTH3VGpYoVod1CbpR43a2X10htvxqzZX0X92ltEjQ2Xv8w6C0vO7Hxl/Pe/30edLTZLOwftLyz5ZTjtixnR4cIuseC776JZk61i3rz5MWTEyLjgyutSQLPOWlXSAbH6dbaIgYM/TOusV3uL5d4GYBX8/B08LMqssUbU37zWTy4386tv4pEXXk2/N66z+TKXfW3g4Djzup6Fz98GdWLmV1/HC28OiFETJsYzf7kmHUi/pMfd8ewb70TF8uVjuwa1Y9SEyXHPUy/EkFFj4+/XXBx/yD7/rro5BQdb1d4sVQ4MGvFxOshfqUL5OGKf3Zd63PkLFsSpV90cX8ycnVpfZZ/z2X269uqbfs/Ck+w5fjTuk1hrzUrRtEGdKL8oLMn8o//rsWmNarFJ9Wqxbf06cd8/+8dtDz2VWmjtsHWDGD1hcrz87gcRsVrc1rlT8f1mzPoqLrj5zti67pZpGwYMG5m24/nbr4vy5crGpT3/lu63Wc0N0+MPGjE6Hnju5fQ4x+3fKs2j6Pjn7jF/wXcpICpXNrtPIWhZXI++j0Wvx55N71X2fCZ+Nj2FEAOHfxyP3nxFCorO7/bX9BrWrrVR1N9i0xg6amxq+ZV9n2RBR2bruoXvhLc+GBYhwABWQtl31ttvvZn2LerVb/CTy82cOTMefeSh9PtWjX88y3VJb7z+WpzT6Yz03bbNttvFrFkzo/8L/VIg8fhTz8Yaa6wRXTpfFM8/92xUrFgxLTP641Fx3719YuiQwdH73r6p/e3pHU6Nz6dPj4aNtoq11lor3n9/UNzS7caoWKlSHHZ4u6UeN2tl9fK/+sesWbOibr36UaPG8rePyrbt3E5npFCidp06EautFmd2bF9imenTp8VZp58WCxYsiO2aNot58+bFh0OHxMV/Oj+aNW8ea6+9TpQpWza9jlmrrY9HjUptrABWNIPfeyvGffxRHHzkiSUq87IqiMbbNV/m/fZre2S8+eqLMWbk8Li75w1x1sVXx4O9b0+3HXrsKVG95sZL3WetddaNi7oWApJMx6PapGqPJR9r5ozPU+VGFl60PviIOKHjebH66oVDvv989P74+53do3fPG6N+oyaxyWZbxk4t944+t98UTz1yrwCDFYIAg5XK1OlfxOyvvo7Na22cDjgt6aRzL17qumrrV41Lzu6wzHXeed9DaQcja6HU4bgjU7XFGZ2vjLXWrBzTvvgivpw1O4UXFcqXiyf63BGbblwzZs7+Kg46oUOqiuj3ymux+x93SO2gsmWuveT8qL35pjFoyLBU0dGkYf1SHzdrZTVh0pQ0p+Ootgekao3l1fuhR1N4se8eu8XNV16SDjjdePtdJQdy//BDnNfhpKhSuXIc1HqvdNX+x7VP1RgTJ09JAUZmi1qbpABjxOixAgxgmabOmBmzv/42Nt+oevEZ+os7+Yqblrqu2nrrxCWnLLuFRa9/PFv4/D3mkDjtsP1TtcWZ1/aMKpUrxrQZM2Pm7K9TeFGhXNl4vPuVqY1RFo4cfE6XVBnR79/vxu7bbxOfz5ydlrmm0ylRe5OaKYz4+JPJxQfglzRvwXdx+hEHpgHjWTCQ6dC1e7w+cEiMnzI19t25eRzbZs9UhZFVOdzW+ewS9197zcrxRPerU+iQmf/dd6kSo/VOzVM1RVYJctgFV6Xqh8VlwcOVHY9PocqcefPjoLMvi0lTP49n33g7Dt1r19h7x2ax5cY14/R2B6aAuc+T/VIQM25yYT0PPf9yWkezRnWjz9V/Su9D976PxV2PPVti8HjvJ/ul74U+V18YTRvWjbnz58fRF1+bApn7n30pOhx+QGoLlbms/THRrGHdGD1xSrw79KNotGXhDK9MVpVSrmyZGPXJpPSds2TbMIAV3bSpU2P27Fmx2eabp2BhSaedsnTrww2qVUvVCcvyt7vuTN9tWYupU9p3SAebskCjSpUqKQSY+eWXKbwoX6FCPPzYk1Gr1qYp5Dis7YGpKuLFF56PXXdrmYZiZ8tcfc11seWWteP9QQNT5UPjxk1KfdysldUnn0yIge8NiHZHHh1tDy29Crw0997TO4UX+7TeL66/6eb0HXJLtxtSlUiRH36I6HTu+VFlzSqx/4EHpesOOWj/tE0TJ05MAUYmey2zAGPkRyMEGMAK6dUXC39bN99p6ROhfkoWPnc8v0tc1PGYFIJcdcFp8c3Xs1OgkLV4+jXeeLlfzJs7JzaoXjOO73BucXiR2f+wY2LAm6/FRx9+EP3/+Xic0umiqFipcjTcersYMvCdmPzJ+Nio1ma/6vHhf82eJiuVGTNnpss1K1cu9fZsiHdWRVHUCumQ/faO5x/onVosLcvI0WPT5W4ttk+XWTDS68aucWOXi6LmhtVi4OCh6fpmTRqn8CKTHfzfa9dCC6uBQ4ZF5UqV4siD2sTcefNTSLDrwUfFQ0/9M9ZZe61UIfFr/RA/lPh9zPhP0uU+LXcpfq5t9mq5VHCTtdnKApizOl8VOx/YLoUXmewAWJEs4Mh8OXPWr95OYOU1Y9bsdLlmpYql3p6d6Z9VURR9JrXdc+d47vbrok6tjZa5zqwFU2bXpoUzWbMD8nd2OTduPPe0dPB84IhR6fqmjeoVz2BYp0rl2GuH7dLPWVCRVRO022f3mDt/QRxw1qWx20nnxsP9Xol1q6y5zMfOqjT2+WOz9HhZRcSep16QwotMVrX2cxrV3qw4vMhs36heNGtYL554+d9xzCXXxjGdr13qs7ZI650K3zVZm6ldtmucfh4z8dN0ufcft486m26c2ki1PefyNEMkbdOi9WThSlFrp6IQqei1KPLByDEpCNq8ZvUUXmSyVlsH7Nai+DXLnNJ2v3R5/KXXxx+P6xS3PfRkqlhpuOWP31nZe7lmxQrx/fc/xKyvf2yXArCymDHji3S55pqFE3uWlA3xziokir7bDmp7SDz9z36pxdKyjBr5UbrceZfd0mUWjNx2R6+49vqbUjumQQMHpuubNm2WwotMdvB/jz0LgXoWVFSuXDkOP+LImDd3bhxyYJvYq+UuqfpjnXXWLVRI/FpZGrGYcWML+0NZK6ii59p6v5I92atVqxZ77LFXfDnzyzj37DNjz912SuFFJmt3UqTotcwGmwOsaLKKu+yg/xplysRmtQt/Sxd55O+94oYu55X4d88dN5dYptbmteOgdieknyeOH5tCjQ7nXxZrrFFoB/t/NXbUiHTZYKttSl1XNl8jk1V/FKlTf6t0OWTg27/qseG3IMBgpf1SKU02xPuBO26J2669In1RZDMr/vFMoY3Uz8kO+BSZt9gf4dl6fkrRH/mXn39WPHznrWm4+EbVN4yXXn8zzuny5/hT1xvi/+K/iz3H+fMXlLztv4XbsrO7ltyOItksjtZHnRx33f9wqqy46YqLi1tpLX6/5X2eAD/1+ZsN8b7/us7xl0vOSm31snkQj/Z/bbletKLPtMy8xT7vfnYuT9Hnb4fj4qEbL0vDxTeqtn689M6gOOfG2+Oi7neVerds/sN+Z3SOm+55JM2ouKLjcWnWxLI+H5eUHdRfXFYlcUKXG2LwyDFxwO47xq0XnVlq+Jz5buGP3zVFstcrew2Ou/S61Nppzvz5ceqhbeLso9uWWE+23JLbuNqi64rX9TOvWdFrekrbfePpnn9Os0TqbbZJvPnB8Lj0L73jhMuuL/V+viOAlVlWfVCabIj3vX0fjO49b0ufg08/+UQ89ug/lnOdC4t/ztotFSn6LP+5z+nOXa6Ivg8+koaL16y5Ubz8r5figvPOjksvvnA5n9Wyn2PWxrDEbQsXbevi3y9RcjuzWRwHttkn+tzdK+rWrRfX3tCtuJVWqfsWpVRrAuTdjM+npaqJbKbF4lUOmVHDh8R7b71e4t/wwYVQenHb7rBT8c/VN9okatdr9Ku365uvv0qX2eyL0hRd/803heUyNTcpnJg0fkzhpDDIM0ckWalUXbdQmjzjy0IlxrLssfOOcerRR6Q/pm+642+pndOy1N1y8+JZGEV/3B/R/uxo3vqQePf9IdF40UH/rNVT1vIpk7WQygKKTNOtt4pxEydFlxu6x4NPPhOdTj4+hSj39ryxxHqXV9aGKvPZtOnp8quvv4mJUwpn5xaps0XhbK0XX31jqeHmi/+eBTGtdt0pzjjxmGhUr058umidi5v1VeELbv31Cq8tQGmqrr1Wuvxi1o9/FJcmqw44te1+hc/fex8pPuO/NHU327h4FkYmO4jf7k9dY4ejz4gBH34UjesUWkANHDayuOVR1kIqCygyWeuj8ZM/i8tvvycNrM4Oxmchyj1dL1q03kJVxZJefPO9NG8jqxjJ5j3s0LhBTJ5WOAu3yGqrFf6EyqoPlrT6EoFvVvGRueCEI+LwVruVCGGW9Mxrhe+ObJn/ZLMlIlLbqKy9UzaTIpv1cc1ZJ6dKjWyux+Ky5TIvvT0otb/KvPCfASWWabTlZung2Lgpn6UB3UWP9cxrhTOvsqqMbBbH1XfeFz0feDyOP2Dv1Gqq31+vL67gyAaIZ7L3cPY3c6JsmTVircqlV94ArMiqVl0/XX4546erBXZvuWecdEr79LnY/eYbU5XEstSpW694FkbRvsWxRx4eO7fYPt4b8G7xQf+BA99LLZ8yWQupbH5FZrvtmsWE8ePi6iu6xMMPPZAGe2chyt19/l5ivcurfPny6XLqZ4V2hF999VVMmlio5i6y5aKqjv79Xyi+7pmnniixzNNPPZmCmD322js6nH5mNGzUKKZ+VnIfJa1/dqFis2rVqr9oOwHyYPbML9NlpUprLnXb5TfeEY+9PKjEv253FWYjLR5e393juuLfp0ycEM8/+fCv3q4KFSuly5mLKgeXNPOLz9Nl5co/VhRWqlx4DrNn/fTxM8gDMzBYqVSvtkGsv9668cXMmengTTagdFnOOvm4eHvg+zH0o1FxybXd4um/3xkVFv0Bv7jTjm0Xp198RdzWp2+89d77KTAYM+GTqLVRzdimUf0oW7ZstNypRbzyn7ej7UmnpyqGUWPHpdZMTZtsFa1b7pLOYnrzvffj06nT0mDv7L4fLWpN1aLptr/oOWZBw9gJE+Pmv/aOQUOHxeBhI5as8o7jD28bz7/8Wjz/8usxdsKk1Jd83CeTSiyz8aJ2K48/90JMmvJZjB4/Ib5YFPzMmTu3eLnxkyany4b1/j+UowMrrWywddV11kqtpH7u8/fMow6Ot4eMiKGjx0XnW/8WT/XsmtoYLem0Q9vE6dfcmgZgvzV4eDpwPnbSp2lAdZN6W6Y5EC233yZeGfBBHHLulWkg+MefTIovZ3+dDsTv88ft0/yJbLj4p9NnxJBR49J9szAg02Lr0geybrRh4YBVdr+s5dPUL75MVRmZbDZFZr21C3/wDx87Pk647Ia4ouPxy3y+WdVHNnOj0/V/STMzikKbOXN/rOYrcst9j6VB3UWPmbXKarPrDum5l1lj9Zgzb160PfeKKFemTAwfO6HEeo7eb8/o++xLaf5HmzMvTe20Rn8yOZ2tW3T264ZV142j9y0sd9LlN8W29WvHJ59Oi6kzvkzzS47ed4+oWKF8DBszPj4cPT7anNE5am+6UYybVDgI1WCLWqnFVibbvuy9zmaJqMAAVkYbVq+eQoysldR3332XhnkvS8czzop33n4rhn04NC6/9JJ49MlnokKFkhV5maxi4uwzO8Zfb/9LGhCeBQbjxo6JTWptGls32SbtW+y2e8t47dVXot2hB6dA4+OPR6XZGNlw7Fb7tI758+en+3766ZT4cMiQ2KRWrRj5UaE1VfMddvxFzzEbAj5u3NjocUu3+OD9QTFk8AdLVUwce9wJ8WK/59O/8WPHpuqJLERZ3EYbFU46eOqJx2LypIkxZvTo4hZcc+bMKV5uwoTxhcdt+OvPOAbIW9X5z3n6kftSxUPWgmrnlvvEqy/+Mx7qfXs03WHnqFZj2a11f84WderHu/9+JYYPGVTq99XQQYUTZ7eou/T+j7/jWRGowGCl06LpNqkf+IeLeqMvSzbLImubVLFChVTB0OOue0pdLgsn/nLN5dGgzpap7dKXs2bFvnvsGn16XJ92MDI9ul4W55x6QmxQdb0YOHRYlC1bJk468tC4u9s1sfrqq6fH6Htbt9i/VcuYM3devPP+4LTM8YcfHNd1Pv8XPb8LOp4Su7bYPlVPDHh/SBy2/74pJFky5Li1a5c0zDyr/ihXrmxcf1mhnDw74Jc5+pAD02DwbD7H8FGj0/M74sBCz/OBQz4sPiNs1JhxUWPDarHZxv/3L1Ng1ZAFAgu+W5gOfP+UbD7DjeeflqoJJk6dHj36Pl7qctkA7p4Xn5UOmmfrzKoissqD3lddWPxZ1v1PZ6RWShusu3YKBsquUSZOOmifuOuK81J4m82SuO+aS2L/XVukOUTvDh2RDv5nw7mv7XRKqY/bqkXT1G5qvbWqpDkcWThzctt9021FVQvNt2qQlsuCmrGTP02DsJflhnPbp4P833w7Nz3fbF1ZkJLNjcgCmcX1vOSsVAGRDdtuvlX9uPuK89NzXX+dteP6c9rHJtWrxeSpn8eChQvjopOOTOFEVhWRVaest3aVuPvK81OVxWefz0jhwl1XnL9U26hscHqX045NgcUHI0en5Q5rtWvcf92lUalihbTOXpefH+1at0xduN4ZMiKtv+0eO8dfLzu3eD3DxxQClD82cRAKWHk1b9EiFixYkIKJn5LNsrjuhm5RsWLFmDRpYtx2a/dSl8vCiVtuvS3qN2iY2i7NnPll7N163+j1tz7F+xbdbrk1zux0Tqy/wQapmiO7/vgTT4rb77y7sG9RsWL0/nvf2LfN/jF37pwY8O47UbZc2Tjm2OPTUO9f4pzzLoidd9k15s+flypAsuHeWUiyuAYNG0W37j3TAO7x48dF+XLl4s/XFtrglilb+D4+8qijo+0hh0XlymvGiBHDo36DBnHo4Uek294f+F7xvsXHo0amWR+1NjUwFljxFLVimjXzl8/xmTJpQjzW92/p50OOOilOO+/S2HjTLWLevLnx15u7Ller2mXZfe/9o2y5cvHF9KnR57abYuHCwoy8bJ2PP9AnPv7ow/jDH1aPVvsfUnyfrBXW4s8J8my1H37N/yH/I0V9Pb+fXtgxhl9iwAdD47izLkgVFllrpFVR/9f/ExMmTk7BQ5u9dk/Xvf72gDjtwstSVcj9t5UcJLUsWZBxzBnnp9cxez3hl/rDBoV2Zpn/fvSWF3AlN2DYyDT0OZt3cUa7A3/vzVlhTJn2eezZvhAyf/hE7+IB3HmXzcTIZpn073VjqjJh5bd6/R1/1c71771vMfe7FW/b+f0NfG9AnHzCsanCImuNtCr610v945MJE6JGjRrRer826bp/v/F6nNmxfaoK6fP3+5drPVkYc+JxR6fXMXs94ZeqUObHkzKGTvraC8jv4pTDWsW3X38dfZ99Iw3M7nhUm/h82mdRt+HWUWWttZdafo/WB8V2LXaOLuecHCOHDUmhxU29Hkj3HTl8SHQ5++T099WpZ18cex9wWNx2wxXxWv9n45CjT44jTzq9xLqKHitrV9V4u+Ylbnvz1f7xl+u7xMKFC2PtddaLjTfbIqZOmZSWz/4WOunMP0Xrgw4vXv6Re++MR/veHe3P6Vwi2IDfSuON11zufQstpFjpbL9N49iqft147l+vrrIBxpw5c+OWXn3Sz/c//nRqB5K1msrstcsfl3s9z730alSqWDGOPHj//9m2AiuP7RvVi61qbxbP//sdAcZKLpub8fK778feOzYVXgArtabNtk9tll7o99wqG2DMnTMnevYonAD10IP3R4WKFWPIBx+k31vusedyr6ffc89GpUqV4vAjjvyfbSvA/1rjbZvHG/96PsaMHB71GjUpMcS7NA2bNI1+Tz2SwousXVPH87uk8CJTr+HW0Wr/Q+PFZx6Nvnf1jG2b/zjg+5f64+6t0lDwrE3ViKGDYsSQQWnORdMdd40DDjs2GjTepsTyYz/+KAUbWy8RhEAeqcBgpTR42EdxZMdzoteNXWOXFtvHqqhX34fiqX4vxeTPpmV1g1Fjww3i4Natov2x7Zarx2E2iLzlIUdHx+OPTveB/wsVGKuewaPGxFEXXRN3djk3dtmu8e+9OSuEFbEC46F+r8T1vR+M52+/LmqqvlhlqMBgVTV0yOA47uh2cdtfe8VOO+8aq6Led/eKZ55+MqZMnpzm72XVGAccdHCa6bE8+xbZIPK999w92p92epx8avvfZJtZ+ajAIA+yORNXnNc+jjj+tDjsuBXz82zBgvlx4sEtY4u6DePqW+76vTeHVVTjX1CBIcAA4H9GgAGw8hBgAPB7EmCQFxefflzMnftt3HpP6bP88u6t1/rHLV0vic7X3vqrqj7gtwowDPEGAAAAAFgOJ515YXw66ZN4/903V8jX65+PPRBNmrUQXrDCUIEBwP+MCgyAlYcKDAB+TyowAFYeKjAAAAAAAIAVmhZSAAAAAABA7ggwAAAAAACA3BFgAAAAAAAAuSPAAAAAAAAAckeAAQAAAAAA5I4AAwAAAAAAyB0BBgAAAAAAkDsCDAAAAAAAIHcEGAAAAAAAQO4IMAAAAAAAgNwRYAAAAAAAALkjwAAAAAAAAHJHgAEAAAAAAOSOAAMAAAAAAMgdAQYAAAAAAJA7AgwAAAAAACB3BBgAAAAAAEDuCDAAAAAAAIDcEWAAAAAAAAC5I8AAAAAAAAByR4ABAAAAAADkjgADAAAAAADIHQEGAAAAAACQOwIMAAAAAAAgdwQYAAAAAABA7ggwAAAAAACA3BFgAAAAAAAAuSPAAAAAAAAAckeAAQAAAAAA5I4AAwAAAAAAyB0BBgAAAAAAkDsCDAAAAAAAIHcEGAAAAAAAQO4IMAAAAAAAgNwRYAAAAAAAALkjwAAAAAAAAHJHgAEAAAAAAOSOAAMAAAAAAMgdAQYAAAAAAJA7AgwAAAAAACB3BBgAAAAAAEDuCDAAAAAAAIDcEWAAAAAAAAC5I8AAAAAAAAByR4ABAAAAAADkjgADAAAAAADIHQEGAAAAAACQOwIMAAAAAAAgdwQYAAAAAABA7ggwAAAAAACA3BFgAAAAAAAAuSPAAAAAAAAAckeAAQAAAAAA5I4AAwAAAAAAyB0BBgAAAAAAkDsCDAAAAAAAIHcEGAAAAAAAQO4IMAAAAAAAgNwRYAAAAAAAALkjwAAAAAAAAHJHgAEAAAAAAOSOAAMAAAAAAMgdAQYAAAAAAJA7AgwAAAAAACB3BBgAAAAAAEDuCDAAAAAAAIDcEWAAAAAAAAC5I8AAAAAAAAByR4ABAAAAAADkjgADAAAAAADIHQEGAAAAAACQOwIMAAAAAAAgdwQYAAAAAABA7ggwAAAAAACA3BFgAAAAAAAAuSPAAAAAAAAAckeAAQAAAAAA5I4AAwAAAAAAyB0BBgAAAAAAkDsCDAAAAAAAIHcEGAAAAAAAQO4IMAAAAAAAgNwRYAAAAAAAALkjwAAAAAAAAHJHgAEAAAAAAOSOAAMAAAAAAMgdAQYAAAAAAJA7AgwAAAAAACB3BBgAAAAAAEDuCDAAAAAAAIDcEWAAAAAAAAC5I8AAAAAAAAByR4ABAAAAAADkjgADAAAAAADIHQEGAAAAAACQOwIMAAAAAAAgdwQYAAAAAABA7ggwAAAAAACA3BFgAAAAAAAAuSPAAAAAAAAAckeAAQAAAAAA5I4AAwAAAAAAyB0BBgAAAAAAkDsCDAAAAAAAIHcEGAAAAAAAQO4IMAAAAAAAgNwRYAAAAAAAALkjwAAAAAAAAHJHgAEAAAAAAOSOAAMAAAAAAMgdAQYAAAAAAJA7AgwAAAAAACB3BBgAAAAAAEDuCDAAAAAAAIDcEWAAAAAAAAC5I8AAAAAAAAByR4ABAAAAAADkzmo//PDDD5Ezq6222u+9CQAAwBJyuOvws+xbAADAirtvkcsAAwAAAAAAWLVpIQUAAAAAAOSOAAMAAAAAAMgdAQYAAAAAAJA7AgwAAAAAACB3BBgAAAAAAEDuCDAAAAAAAIDcEWAAAAAAAAC5I8AAAAAAAAByR4ABAAAAAADkjgADAAAAAADIHQEGAAAAAACQOwIMAAAAAAAgdwQY8Bv7/vvvo2fPnrHzzjtHkyZN4tRTT41JkyZ5HwBWcL169Ypjjz32994MAFYh9i0AVk72LeBHAgz4jd1xxx3x4IMPRteuXePhhx9OOx2nnHJKLFiwwHsBsIJ64IEHokePHr/3ZgCwirFvAbDysW8BJQkw4DeUhRR9+vSJTp06xW677Rb16tWL7t27x9SpU6N///7eC4AVzLRp06JDhw7RrVu32HTTTX/vzQFgFWLfAmDlYt8CSifAgN/QyJEj49tvv40WLVoUX1elSpVo0KBBvPfee94LgBXM8OHDo0yZMvHMM8/E1ltv/XtvDgCrEPsWACsX+xZQujWWcT3wP5BVWmSqV69e4voNNtig+DYAVhwtW7ZM/wDgt2bfAmDlYt8CSqcCA35Dc+fOTZdly5YtcX25cuVi/vz53gsAAMC+BQDAIgIM+A2VL18+XS45sDsLLypUqOC9AAAA7FsAACwiwIDfUFHrqOnTp5e4Pvu9WrVq3gsAAMC+BQDAIgIM+A3Vq1cvKleuHO+++27xdV999VWMGDEimjVr5r0AAADsWwAALGKIN/yGstkXxxxzTHTr1i3WXXfdqFmzZtx0002x4YYbRqtWrbwXAACAfQsAgEUEGPAb69SpUyxcuDAuu+yymDdvXqq86N27d5QpU8Z7AQAA2LcAAFhktR9++OGHol8AAAAAAADywAwMAAAAAAAgdwQYAAAAAABA7ggwAAAAAACA3BFgAAAAAAAAuSPAAAAAAAAAckeAAQAAAAAA5I4AAwAAAAAAyB0BBgAAAAAAkDsCDAAAAAAAIHcEGAAAAAAAQO4IMAAAAAAAgNwRYAAAAAAAAJE3/w8SQkPJHj0KOAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "### ⚔️ Impacto de la Guillotina Dinámica" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " ANTES (Umbral 0.50): Exactitud = 0.8649 | F1-Score = 0.6902\n", " AHORA (Umbral 0.3688): Exactitud = 0.8617 | F1-Score = 0.7215\n", "\n", " Reporte Final de Clasificación (Listo para Producción):\n", " precision recall f1-score support\n", "\n", " 0 0.92 0.90 0.91 4940\n", " 1 0.70 0.74 0.72 1568\n", "\n", " accuracy 0.86 6508\n", " macro avg 0.81 0.82 0.81 6508\n", "weighted avg 0.86 0.86 0.86 6508\n", "\n", "\n", "⏱️ Análisis completado en 0.761s\n", "\n", " 💾 Artefacto Guardado: 'umbral_decision' = 0.3688\n", "\n", "📦 [MLOps] Oráculo crudo, oráculo calibrado y umbral final almacenados correctamente.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import os\n", "import time\n", "import gc\n", "import re\n", "import warnings\n", "import logging\n", "from typing import Tuple, Dict, Any, Optional\n", "\n", "import joblib\n", "import optuna\n", "import lightgbm as lgb\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns\n", "\n", "from IPython.display import display, Markdown\n", "from sklearn.calibration import CalibratedClassifierCV, calibration_curve\n", "from sklearn.metrics import (\n", " f1_score,\n", " classification_report,\n", " average_precision_score,\n", " precision_recall_curve,\n", " confusion_matrix,\n", " accuracy_score,\n", " brier_score_loss,\n", " log_loss,\n", " balanced_accuracy_score,\n", ")\n", "from sklearn.model_selection import StratifiedKFold, GroupKFold\n", "from sklearn.utils.multiclass import type_of_target\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # False en Producción / Docker / Headless\n", "MODO_PRODUCCION = True # True = Ejecuta la fase | False = Bypass rápido\n", "\n", "\n", "# ==========================================\n", "# 1. Blindajes Auxiliares de Naturaleza del Target\n", "# ==========================================\n", "if 'detectar_naturaleza_target_mlops' not in globals():\n", " def detectar_naturaleza_target_mlops(y: pd.Series) -> Dict[str, Any]:\n", " \"\"\"\n", " [FASE 19 - Núcleo de Inteligencia del Target]\n", " - Detecta si el problema es binario, multiclase o regresión.\n", " - Genera un dict estándar para que el resto del pipeline no adivine.\n", " \"\"\"\n", " serie = pd.Series(y).dropna()\n", "\n", " if serie.empty:\n", " return {\n", " 'tipo': 'desconocido',\n", " 'es_regresion': False,\n", " 'es_binario': False,\n", " 'es_multiclase': False,\n", " 'num_clases': 0,\n", " }\n", "\n", " serie_tipada = serie if pd.api.types.is_numeric_dtype(serie) else serie.astype(str)\n", "\n", " try:\n", " tipo_detectado = type_of_target(serie_tipada)\n", " except Exception:\n", " tipo_detectado = 'desconocido'\n", "\n", " es_regresion = tipo_detectado in ('continuous', 'continuous-multioutput')\n", " num_clases = int(serie.nunique()) if not es_regresion else 0\n", " es_multiclase = (not es_regresion) and num_clases > 2\n", " es_binario = (not es_regresion) and num_clases == 2\n", "\n", " if es_regresion:\n", " tipo = 'regression'\n", " elif es_multiclase:\n", " tipo = 'multiclass'\n", " elif es_binario:\n", " tipo = 'binary'\n", " else:\n", " tipo = 'desconocido'\n", "\n", " return {\n", " 'tipo': tipo,\n", " 'es_regresion': es_regresion,\n", " 'es_binario': es_binario,\n", " 'es_multiclase': es_multiclase,\n", " 'num_clases': num_clases,\n", " }\n", "\n", "\n", "if 'resolver_etiquetas_target_mlops' not in globals():\n", " def resolver_etiquetas_target_mlops(y: pd.Series, manager_ref=None) -> Tuple[list, list]:\n", " \"\"\"\n", " Resuelve las etiquetas reales del target y, si existe un diccionario maestro,\n", " intenta devolver también sus nombres humanos.\n", " \"\"\"\n", " serie = pd.Series(y).dropna()\n", " etiquetas = sorted(serie.unique().tolist())\n", " nombres = [str(etiqueta) for etiqueta in etiquetas]\n", "\n", " artefactos = getattr(manager_ref, 'artefactos', {}) if manager_ref is not None else {}\n", " diccionario = artefactos.get('diccionario_target_maestro') if isinstance(artefactos, dict) else None\n", "\n", " if isinstance(diccionario, dict) and diccionario:\n", " diccionario_inverso = {valor: clave for clave, valor in diccionario.items()}\n", " if all(etiqueta in diccionario_inverso for etiqueta in etiquetas):\n", " nombres = [str(diccionario_inverso[etiqueta]) for etiqueta in etiquetas]\n", "\n", " return etiquetas, nombres\n", "\n", "\n", "if 'predecir_argmax_multiclase_mlops' not in globals():\n", " def predecir_argmax_multiclase_mlops(modelo, X: pd.DataFrame) -> Tuple[np.ndarray, Optional[np.ndarray]]:\n", " \"\"\"\n", " Ejecuta inferencia multiclase segura:\n", " - si hay predict_proba, usa argmax;\n", " - si no, cae en predict tradicional.\n", " \"\"\"\n", " if hasattr(modelo, \"predict_proba\"):\n", " probabilidades = np.asarray(modelo.predict_proba(X))\n", " if probabilidades.ndim == 2 and probabilidades.shape[1] > 1:\n", " clases = np.asarray(getattr(modelo, 'classes_', np.arange(probabilidades.shape[1])))\n", " predicciones = clases[np.argmax(probabilidades, axis=1)]\n", " return predicciones, probabilidades\n", "\n", " return np.asarray(modelo.predict(X)), None\n", "\n", "\n", "if 'alinear_features_oraculo_mlops' not in globals():\n", " def alinear_features_oraculo_mlops(modelo, X: pd.DataFrame) -> pd.DataFrame:\n", " \"\"\"\n", " Alinea el DataFrame con las features esperadas por el modelo:\n", " - elimina columnas extra\n", " - crea faltantes en cero\n", " - reordena en el mismo orden de entrenamiento\n", " \"\"\"\n", " nombres = None\n", "\n", " if hasattr(modelo, 'feature_names_in_'):\n", " nombres = list(modelo.feature_names_in_)\n", " elif hasattr(modelo, 'feature_name_'):\n", " try:\n", " nombres = list(modelo.feature_name_)\n", " except Exception:\n", " nombres = None\n", " elif hasattr(modelo, 'feature_name'):\n", " try:\n", " nombres = list(modelo.feature_name())\n", " except Exception:\n", " nombres = None\n", "\n", " if not nombres:\n", " return X\n", "\n", " X_alineada = X.copy()\n", "\n", " extras = [col for col in X_alineada.columns if col not in nombres]\n", " if extras:\n", " X_alineada = X_alineada.drop(columns=extras, errors='ignore')\n", "\n", " faltantes = [col for col in nombres if col not in X_alineada.columns]\n", " for col in faltantes:\n", " X_alineada[col] = 0\n", "\n", " return X_alineada[nombres]\n", "\n", "\n", "if 'calcular_metricas_multiclase_mlops' not in globals():\n", " def calcular_metricas_multiclase_mlops(y_true, y_pred) -> Dict[str, float]:\n", " \"\"\"\n", " Calcula un paquete ejecutivo de métricas multiclase.\n", " \"\"\"\n", " macro_f1 = float(f1_score(y_true, y_pred, average='macro', zero_division=0))\n", " weighted_f1 = float(f1_score(y_true, y_pred, average='weighted', zero_division=0))\n", " exactitud = float(accuracy_score(y_true, y_pred))\n", " balanced_acc = float(balanced_accuracy_score(y_true, y_pred))\n", " score_compuesto = float((0.7 * macro_f1) + (0.3 * weighted_f1))\n", "\n", " return {\n", " 'macro_f1': macro_f1,\n", " 'weighted_f1': weighted_f1,\n", " 'exactitud': exactitud,\n", " 'balanced_accuracy': balanced_acc,\n", " 'score_compuesto': score_compuesto,\n", " }\n", "\n", "\n", "# ==========================================\n", "# 2. FASE 19.2: CALIBRACIÓN ISOTÓNICA / PLATT\n", "# ==========================================\n", "def calibrar_oraculo_mlops(\n", " modelo_base,\n", " X_train: pd.DataFrame,\n", " y_train: pd.Series,\n", " X_test: pd.DataFrame,\n", " y_test: pd.Series,\n", " cv: int = 5,\n", " modo_silencioso: bool = False,\n", " modo_produccion: bool = True,\n", "):\n", " \"\"\"\n", " [FASE 7 - Paso 19.2] Motor MLOps de Calibración de Probabilidades.\n", " - 💉 Repara la honestidad probabilística del modelo.\n", " - 🧠 Selecciona isotonic o sigmoid según el volumen de datos.\n", " - 🔒 Alinea features para evitar quiebres entre train y test.\n", " - 📊 Reporta mejora en Brier Score o Log Loss.\n", " \"\"\"\n", " if not modo_produccion:\n", " logger.info(\" ⏭️ [BYPASS] MODO_PRODUCCION es False. Calibración omitida, retornando modelo base.\")\n", " return modelo_base\n", "\n", " if not modo_silencioso:\n", " logger.info(\"=== 💉 FASE 19.2: Calibración de Probabilidades (Cirugía de Honestidad) ===\")\n", "\n", " inicio_timer = time.time()\n", " info_target = detectar_naturaleza_target_mlops(y_train)\n", " es_multiclase = info_target['es_multiclase']\n", "\n", " if es_multiclase and not modo_silencioso:\n", " logger.info(\" ⚠️ [INFO] Target Multiclase detectado. Se aplicará calibración One-vs-Rest implícita.\")\n", "\n", " n_muestras = len(X_train)\n", " metodo_optimo = 'isotonic' if n_muestras >= 1000 else 'sigmoid'\n", "\n", " if not modo_silencioso:\n", " logger.info(f\" 🧠 Motor Seleccionado: '{metodo_optimo.upper()}' (Basado en {n_muestras:,} registros).\")\n", " logger.info(\" ⚙️ Calculando línea base probabilística del modelo...\")\n", "\n", " if not hasattr(modelo_base, \"predict_proba\"):\n", " logger.error(\"🛑 Error Crítico: El modelo base no soporta probabilidades.\")\n", " raise ValueError(\"El modelo base no soporta probabilidades.\")\n", "\n", " X_train_modelo = alinear_features_oraculo_mlops(modelo_base, X_train)\n", " X_test_modelo = alinear_features_oraculo_mlops(modelo_base, X_test)\n", "\n", " brier_antes = 0.0\n", " brier_despues = 0.0\n", " logloss_antes = 0.0\n", " logloss_despues = 0.0\n", " mejora = 0.0\n", "\n", " if not es_multiclase:\n", " proba_test_antes = modelo_base.predict_proba(X_test_modelo)[:, 1]\n", " brier_antes = brier_score_loss(y_test, proba_test_antes)\n", " else:\n", " proba_test_antes = np.asarray(modelo_base.predict_proba(X_test_modelo))\n", " etiquetas_logloss = list(\n", " getattr(modelo_base, 'classes_', sorted(pd.Series(y_test).dropna().unique().tolist()))\n", " )\n", " logloss_antes = log_loss(y_test, proba_test_antes, labels=etiquetas_logloss)\n", "\n", " if not modo_silencioso:\n", " logger.info(f\" 🔬 Entrenando calibrador con validación cruzada de {cv} folds...\")\n", "\n", " oraculo_calibrado = CalibratedClassifierCV(\n", " estimator=modelo_base,\n", " method=metodo_optimo,\n", " cv=cv,\n", " n_jobs=-1,\n", " )\n", " oraculo_calibrado.fit(X_train_modelo, y_train)\n", "\n", " X_test_calibrado = alinear_features_oraculo_mlops(oraculo_calibrado, X_test)\n", "\n", " if not es_multiclase:\n", " proba_test_despues = oraculo_calibrado.predict_proba(X_test_calibrado)[:, 1]\n", " brier_despues = brier_score_loss(y_test, proba_test_despues)\n", " mejora = brier_antes - brier_despues\n", " else:\n", " proba_test_despues = np.asarray(oraculo_calibrado.predict_proba(X_test_calibrado))\n", " etiquetas_logloss = list(\n", " getattr(oraculo_calibrado, 'classes_', sorted(pd.Series(y_test).dropna().unique().tolist()))\n", " )\n", " logloss_despues = log_loss(y_test, proba_test_despues, labels=etiquetas_logloss)\n", " mejora = logloss_antes - logloss_despues\n", "\n", " if not modo_silencioso:\n", " if MODO_VISUAL:\n", " display(Markdown(\"### 🩺 Reporte Médico de Calibración\"))\n", " else:\n", " logger.info(\"### 🩺 Reporte Médico de Calibración\")\n", "\n", " if not es_multiclase:\n", " logger.info(f\" • Brier Score PRE-Calibración: {brier_antes:.4f}\")\n", " logger.info(f\" • Brier Score POST-Calibración: {brier_despues:.4f}\")\n", "\n", " if mejora > 0.01:\n", " logger.info(f\" 🟢 ÉXITO ROTUNDO: La mentira matemática se redujo en {mejora:.4f} puntos de Brier.\")\n", " elif mejora > 0:\n", " logger.info(f\" 🟡 ÉXITO LEVE: El modelo ya era bastante honesto. Mejora de {mejora:.4f} puntos.\")\n", " else:\n", " logger.warning(\" 🔴 ALERTA: La calibración no mejoró el Brier Score.\")\n", " else:\n", " logger.info(f\" • Log Loss PRE-Calibración: {logloss_antes:.4f}\")\n", " logger.info(f\" • Log Loss POST-Calibración: {logloss_despues:.4f}\")\n", "\n", " if mejora > 0.01:\n", " logger.info(f\" 🟢 ÉXITO ROTUNDO: La incertidumbre multiclase se redujo en {mejora:.4f} puntos de Log Loss.\")\n", " elif mejora > 0:\n", " logger.info(f\" 🟡 ÉXITO LEVE: El modelo ya venía razonablemente calibrado. Mejora de {mejora:.4f} puntos.\")\n", " else:\n", " logger.warning(\" 🔴 ALERTA: La calibración no mejoró el Log Loss multiclase.\")\n", "\n", " logger.info(f\"\\n⏱️ Cirugía completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " del proba_test_antes, proba_test_despues\n", " gc.collect()\n", "\n", " return oraculo_calibrado\n", "\n", "\n", "# ==========================================\n", "# 3. FASE 18.3: FORJA DEL ORÁCULO LIGHTGBM\n", "# ==========================================\n", "def forjar_oraculo_lightgbm(\n", " X_train: pd.DataFrame,\n", " y_train: pd.Series,\n", " X_test: Optional[pd.DataFrame] = None,\n", " y_test: Optional[pd.Series] = None,\n", " rutas: Optional[Dict] = None,\n", " pesos_train: Optional[pd.Series] = None,\n", " grupos_cv: Optional[pd.Series] = None,\n", " n_trials: int = 40,\n", " n_splits: int = 5,\n", " seed_estatica: int = 42,\n", " directorio_salida: str = \"mlops_activos\",\n", " modo_silencioso: bool = False,\n", " modo_produccion: bool = True,\n", ") -> Tuple[Optional[lgb.LGBMClassifier], Optional[float], Dict[str, Any]]:\n", " \"\"\"\n", " [FASE 7 - Paso 18.3] Forja del Oráculo: Optimización Bayesiana + CV.\n", " - 🧬 Usa Optuna para evolucionar hiperparámetros.\n", " - 🔪 Purga columnas con posible target leakage.\n", " - ⚖️ Optimiza con lógica distinta para binario y multiclase.\n", " - 💾 Guarda el oráculo final en la caja fuerte MLOps.\n", " \"\"\"\n", " if not modo_produccion:\n", " if not modo_silencioso:\n", " logger.info(\" ⏭️ [BYPASS] MODO_PRODUCCION es False. Entrenando LightGBM base rápido.\")\n", "\n", " modelo_base = lgb.LGBMClassifier(\n", " random_state=seed_estatica,\n", " n_estimators=50,\n", " verbosity=-1,\n", " )\n", "\n", " X_tr_copy = X_train.copy()\n", " patron_troya = re.compile(r'(^cf_|^gbdt_|_prob_|^prob_)', re.IGNORECASE)\n", " cols_trampa = [col for col in X_tr_copy.columns if patron_troya.search(col)]\n", "\n", " if cols_trampa:\n", " X_tr_copy.drop(columns=cols_trampa, inplace=True)\n", "\n", " cat_features = [c for c in (rutas or {}).get('cat_vars', []) if c in X_tr_copy.columns]\n", " modelo_base.fit(X_tr_copy, y_train, categorical_feature=cat_features if cat_features else 'auto')\n", " return modelo_base, 0.50, {}\n", "\n", " if X_train is None or X_train.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz está vacía.\")\n", " raise ValueError(\"La matriz está vacía.\")\n", "\n", " X_tr_copy = X_train.copy()\n", " X_te_copy = X_test.copy() if X_test is not None else None\n", "\n", " patron_troya = re.compile(r'(^cf_|^gbdt_|_prob_|^prob_)', re.IGNORECASE)\n", " cols_trampa = [col for col in X_tr_copy.columns if patron_troya.search(col)]\n", "\n", " if cols_trampa:\n", " if not modo_silencioso:\n", " logger.warning(f\" 🔪 [CIRUGÍA] Extirpando {len(cols_trampa)} variables con Target Leakage...\")\n", " X_tr_copy.drop(columns=cols_trampa, inplace=True)\n", " if X_te_copy is not None:\n", " X_te_copy.drop(columns=[c for c in cols_trampa if c in X_te_copy.columns], inplace=True)\n", "\n", " if not modo_silencioso:\n", " logger.info(f\"=== 🧬 FASE 18.3: Evolución del Oráculo (Optuna - {n_trials} Mutaciones) ===\")\n", "\n", " rutas = rutas or {}\n", " warnings.filterwarnings(\"ignore\")\n", "\n", " info_target = detectar_naturaleza_target_mlops(y_train)\n", " num_clases = info_target['num_clases']\n", " es_multiclase = info_target['es_multiclase']\n", "\n", " cat_features = [c for c in rutas.get('cat_vars', []) if c in X_tr_copy.columns] if 'cat_vars' in rutas else []\n", "\n", " config_bagging = rutas.get('asymmetric_bagging', {}).copy() if 'asymmetric_bagging' in rutas else {}\n", "\n", " pesos_train_norm = None\n", " if pesos_train is not None:\n", " if isinstance(pesos_train, pd.Series):\n", " pesos_train_norm = pesos_train.reset_index(drop=True)\n", " else:\n", " pesos_train_norm = pd.Series(np.asarray(pesos_train).reshape(-1))\n", "\n", " estrategias_pesos_multiclase = ['base']\n", " if es_multiclase:\n", " if config_bagging and 'class_weight' in config_bagging:\n", " estrategias_pesos_multiclase.append('class_weight')\n", " if pesos_train_norm is not None:\n", " estrategias_pesos_multiclase.append('sample_weight')\n", "\n", " clase_minoritaria = None\n", " if not es_multiclase:\n", " conteo = y_train.value_counts()\n", " clase_minoritaria = conteo.idxmin()\n", "\n", " optuna.logging.set_verbosity(optuna.logging.WARNING)\n", "\n", " nucleos_disponibles = -1\n", " if os.cpu_count():\n", " nucleos_disponibles = max(1, os.cpu_count() - 1)\n", "\n", " def objective(trial):\n", " param = {\n", " 'random_state': seed_estatica,\n", " 'verbosity': -1,\n", " 'boosting_type': 'gbdt',\n", " 'n_estimators': 800,\n", " 'learning_rate': trial.suggest_float('learning_rate', 0.01, 0.1, log=True),\n", " 'num_leaves': trial.suggest_int('num_leaves', 20, 100),\n", " 'max_depth': trial.suggest_int('max_depth', 3, 10),\n", " 'min_child_samples': trial.suggest_int('min_child_samples', 20, 120),\n", " 'colsample_bytree': trial.suggest_float('colsample_bytree', 0.5, 1.0),\n", " 'reg_alpha': trial.suggest_float('reg_alpha', 1e-4, 10.0, log=True),\n", " 'reg_lambda': trial.suggest_float('reg_lambda', 1e-4, 10.0, log=True),\n", " 'n_jobs': nucleos_disponibles,\n", " }\n", "\n", " if es_multiclase:\n", " param['objective'] = 'multiclass'\n", " param['metric'] = 'multi_logloss'\n", " param['num_class'] = num_clases\n", " param['subsample'] = trial.suggest_float('subsample', 0.5, 1.0)\n", " else:\n", " param['objective'] = 'binary'\n", " param['metric'] = 'binary_logloss'\n", "\n", " estrategia_pesos_multiclase = 'base'\n", " if es_multiclase:\n", " estrategia_pesos_multiclase = trial.suggest_categorical(\n", " 'estrategia_pesos_multiclase',\n", " estrategias_pesos_multiclase,\n", " )\n", " if estrategia_pesos_multiclase == 'class_weight' and config_bagging and 'class_weight' in config_bagging:\n", " param['class_weight'] = config_bagging['class_weight']\n", "\n", " if not es_multiclase:\n", " if config_bagging:\n", " if clase_minoritaria == 1:\n", " param['pos_bagging_fraction'] = 1.0\n", " param['neg_bagging_fraction'] = trial.suggest_float('neg_bagging_fraction', 0.01, 1.0)\n", " else:\n", " param['pos_bagging_fraction'] = trial.suggest_float('pos_bagging_fraction', 0.01, 1.0)\n", " param['neg_bagging_fraction'] = 1.0\n", "\n", " param['bagging_freq'] = trial.suggest_int('bagging_freq', 1, 7)\n", " else:\n", " param['subsample'] = trial.suggest_float('subsample', 0.5, 1.0)\n", "\n", " if grupos_cv is not None:\n", " cv = GroupKFold(n_splits=n_splits)\n", " splits = list(cv.split(X_tr_copy, y_train, groups=grupos_cv))\n", " else:\n", " cv = StratifiedKFold(n_splits=n_splits, shuffle=True, random_state=seed_estatica)\n", " splits = list(cv.split(X_tr_copy, y_train))\n", "\n", " metricas_fold = []\n", "\n", " for train_idx, val_idx in splits:\n", " X_tr_fold = X_tr_copy.iloc[train_idx]\n", " y_tr_fold = y_train.iloc[train_idx]\n", " X_va_fold = X_tr_copy.iloc[val_idx]\n", " y_va_fold = y_train.iloc[val_idx]\n", "\n", " w_tr = None\n", " if pesos_train_norm is not None and (not es_multiclase or estrategia_pesos_multiclase == 'sample_weight'):\n", " w_tr = pesos_train_norm.iloc[train_idx].to_numpy()\n", "\n", " cat_feat_param = cat_features if cat_features else 'auto'\n", "\n", " modelo = lgb.LGBMClassifier(**param)\n", " modelo.fit(\n", " X_tr_fold,\n", " y_tr_fold,\n", " sample_weight=w_tr,\n", " eval_set=[(X_va_fold, y_va_fold)],\n", " callbacks=[lgb.early_stopping(30, verbose=False)],\n", " categorical_feature=cat_feat_param,\n", " )\n", "\n", " if es_multiclase:\n", " preds_fold = modelo.predict(X_va_fold)\n", " metricas_multiclase = calcular_metricas_multiclase_mlops(y_va_fold, preds_fold)\n", " score = metricas_multiclase['score_compuesto']\n", " else:\n", " probas = modelo.predict_proba(X_va_fold)[:, 1]\n", " score = float(average_precision_score(y_va_fold, probas))\n", "\n", " metricas_fold.append(score)\n", "\n", " del X_tr_fold, y_tr_fold, X_va_fold, y_va_fold, modelo\n", " gc.collect()\n", "\n", " return float(np.mean(metricas_fold))\n", "\n", " if not modo_silencioso:\n", " logger.info(f\" ⚙️ Iniciando simulaciones bayesianas ({n_trials * n_splits} entrenamientos totales)...\")\n", "\n", " sampler_determinista = optuna.samplers.TPESampler(seed=seed_estatica)\n", " estudio = optuna.create_study(\n", " direction='maximize',\n", " study_name=\"Oraculo_LGBM_CV\",\n", " sampler=sampler_determinista,\n", " )\n", " estudio.optimize(objective, n_trials=n_trials, n_jobs=1, callbacks=[lambda s, t: gc.collect()])\n", "\n", " mejores_params = estudio.best_params\n", " parametros_finales = mejores_params.copy()\n", "\n", " estrategia_pesos_multiclase_optima = 'base'\n", " if es_multiclase:\n", " estrategia_pesos_multiclase_optima = parametros_finales.pop('estrategia_pesos_multiclase', 'base')\n", "\n", " parametros_finales.update({\n", " 'n_estimators': 500,\n", " 'random_state': seed_estatica,\n", " 'verbosity': -1,\n", " 'n_jobs': nucleos_disponibles,\n", " })\n", "\n", " if es_multiclase:\n", " parametros_finales['num_class'] = num_clases\n", " if estrategia_pesos_multiclase_optima == 'class_weight' and config_bagging and 'class_weight' in config_bagging:\n", " parametros_finales['class_weight'] = config_bagging['class_weight']\n", " else:\n", " for k in ['subsample', 'class_weight', 'scale_pos_weight']:\n", " if config_bagging:\n", " parametros_finales.pop(k, None)\n", "\n", " cat_feat_param_final = cat_features if cat_features else 'auto'\n", "\n", " oraculo_final = lgb.LGBMClassifier(**parametros_finales)\n", " pesos_finales = (\n", " pesos_train_norm.to_numpy()\n", " if (pesos_train_norm is not None and (not es_multiclase or estrategia_pesos_multiclase_optima == 'sample_weight'))\n", " else None\n", " )\n", "\n", " oraculo_final.fit(\n", " X_tr_copy,\n", " y_train,\n", " sample_weight=pesos_finales,\n", " categorical_feature=cat_feat_param_final,\n", " )\n", "\n", " umbral_final = None\n", " if not es_multiclase:\n", " probas_train = oraculo_final.predict_proba(X_tr_copy)[:, 1]\n", " precisiones, recalls, thresholds = precision_recall_curve(y_train, probas_train)\n", "\n", " P = y_train.sum()\n", " N_neg = len(y_train) - P\n", " total = len(y_train)\n", "\n", " prec_safe = np.where(precisiones[:-1] == 0, 1e-10, precisiones[:-1])\n", " TP = recalls[:-1] * P\n", " FP = (TP / prec_safe) - TP\n", " TN = N_neg - FP\n", " accuracies = (TP + TN) / total\n", "\n", " ix = np.argmax(accuracies)\n", " umbral_final = float(thresholds[ix]) if ix < len(thresholds) else 0.50\n", "\n", " modo_decision_optimo = 'multiclass_argmax' if es_multiclase else 'binary_threshold'\n", "\n", " if not modo_silencioso:\n", " if es_multiclase:\n", " logger.info(\" 🧠 Estrategia Óptima de Decisión: Argmax Multiclase (sin umbral global).\")\n", " logger.info(f\" ⚖️ Estrategia Óptima de Pesos Multiclase: {estrategia_pesos_multiclase_optima}\")\n", " else:\n", " logger.info(f\" ⚖️ Umbral Óptimo de Entrenamiento: {umbral_final:.4f}\")\n", "\n", " os.makedirs(directorio_salida, exist_ok=True)\n", " ruta_modelo = os.path.join(directorio_salida, \"oraculo_lightgbm.pkl\")\n", " joblib.dump(oraculo_final, ruta_modelo)\n", "\n", " rutas['umbral_decision_optimo'] = float(umbral_final) if umbral_final is not None else None\n", " rutas['modo_decision_optimo'] = modo_decision_optimo\n", " if es_multiclase:\n", " rutas['estrategia_pesos_multiclase_optima'] = estrategia_pesos_multiclase_optima\n", "\n", " if not modo_silencioso:\n", " logger.info(f\" 💾 Oráculo guardado en Caja Fuerte MLOps: {ruta_modelo}\")\n", "\n", " del estudio\n", " gc.collect()\n", "\n", " return oraculo_final, float(umbral_final) if umbral_final is not None else None, mejores_params\n", "\n", "\n", "# ==========================================\n", "# 4. MOTOR DE ENTROPÍA: BÚSQUEDA DE SEMILLA\n", "# ==========================================\n", "def explorador_entropia_oraculo(\n", " X_train: pd.DataFrame,\n", " y_train: pd.Series,\n", " X_test: pd.DataFrame,\n", " y_test: pd.Series,\n", " rutas: Dict,\n", " pesos_train: Optional[pd.Series] = None,\n", " grupos_cv: Optional[pd.Series] = None,\n", " max_semillas_a_probar: int = 12,\n", " trials_por_semilla: int = 40,\n", " modo_produccion: bool = True,\n", ") -> int:\n", " \"\"\"\n", " [FASE 7 - Paso 18.4] Explorador de Entropía.\n", " - 🎲 Busca la mejor semilla aleatoria.\n", " - 🏆 Desempata usando score compuesto y exactitud.\n", " - 🔬 Repite forja + calibración para medir estabilidad real.\n", " \"\"\"\n", " if not modo_produccion:\n", " logger.info(\" ⏭️ [BYPASS] MODO_PRODUCCION es False. Explorador de Entropía desactivado. Retornando 42.\")\n", " return 42\n", "\n", " logger.info(\"=== 🎲 MOTOR DE ENTROPÍA: Buscando Semilla por Score Compuesto + Exactitud ===\")\n", " inicio_timer = time.time()\n", "\n", " mejor_semilla = 42\n", " mejor_score = -1.0\n", " mejor_acc = -1.0\n", "\n", " np.random.seed(42)\n", " arsenal_semillas = [42] + list(np.random.randint(1, 99999, size=max_semillas_a_probar - 1))\n", " total_semillas = len(arsenal_semillas)\n", "\n", " logger.info(f\" 🔭 Explorando {total_semillas} realidades estocásticas (Full Power: {trials_por_semilla} trials)...\")\n", "\n", " optuna.logging.set_verbosity(optuna.logging.ERROR)\n", " warnings.filterwarnings(\"ignore\")\n", "\n", " es_multiclase = detectar_naturaleza_target_mlops(y_test)['es_multiclase']\n", "\n", " for idx, semilla in enumerate(arsenal_semillas, 1):\n", " try:\n", " modelo_crudo, _, _ = forjar_oraculo_lightgbm(\n", " X_train=X_train,\n", " y_train=y_train,\n", " X_test=None,\n", " y_test=None,\n", " rutas=rutas,\n", " pesos_train=pesos_train,\n", " grupos_cv=grupos_cv,\n", " n_trials=trials_por_semilla,\n", " n_splits=5,\n", " seed_estatica=semilla,\n", " modo_silencioso=True,\n", " modo_produccion=True,\n", " )\n", "\n", " modelo_temp = calibrar_oraculo_mlops(\n", " modelo_base=modelo_crudo,\n", " X_train=X_train,\n", " y_train=y_train,\n", " X_test=X_test,\n", " y_test=y_test,\n", " cv=5,\n", " modo_silencioso=True,\n", " modo_produccion=True,\n", " )\n", "\n", " X_test_modelo = alinear_features_oraculo_mlops(modelo_temp, X_test)\n", "\n", " if es_multiclase:\n", " preds, _ = predecir_argmax_multiclase_mlops(modelo_temp, X_test_modelo)\n", " metricas = calcular_metricas_multiclase_mlops(y_test, preds)\n", " score_actual = metricas['score_compuesto']\n", " acc_actual = metricas['exactitud']\n", " else:\n", " proba_test = modelo_temp.predict_proba(X_test_modelo)[:, 1]\n", " precisiones, recalls, _ = precision_recall_curve(y_test, proba_test)\n", " f1_scores = 2 * (precisiones[:-1] * recalls[:-1]) / (precisiones[:-1] + recalls[:-1] + 1e-10)\n", " indice_optimo = np.argmax(f1_scores)\n", " score_actual = float(f1_scores[indice_optimo])\n", "\n", " P = y_test.sum()\n", " N_neg = len(y_test) - P\n", " total = len(y_test)\n", "\n", " prec_safe = np.where(precisiones[:-1] == 0, 1e-10, precisiones[:-1])\n", " TP = recalls[:-1] * P\n", " FP = (TP / prec_safe) - TP\n", " TN = N_neg - FP\n", " accuracies = (TP + TN) / total\n", " acc_actual = float(accuracies[indice_optimo])\n", "\n", " margen_empate = 1e-5\n", " es_mejor = False\n", "\n", " if score_actual > mejor_score + margen_empate:\n", " es_mejor = True\n", " elif abs(score_actual - mejor_score) <= margen_empate and acc_actual > mejor_acc:\n", " es_mejor = True\n", "\n", " if es_mejor:\n", " mejor_score = score_actual\n", " mejor_acc = acc_actual\n", " mejor_semilla = int(semilla)\n", "\n", " if es_multiclase:\n", " logger.info(\n", " f\" 🏆 [NUEVA MEJOR SEMILLA] Progreso: {idx}/{total_semillas}. \"\n", " f\"Semilla [{semilla}] -> Score 70/30: {score_actual:.4f} | Acc: {acc_actual:.4f}\"\n", " )\n", " else:\n", " logger.info(\n", " f\" 🏆 [NUEVA MEJOR SEMILLA] Progreso: {idx}/{total_semillas}. \"\n", " f\"Semilla [{semilla}] -> F1: {score_actual:.4f} | Acc: {acc_actual:.4f}\"\n", " )\n", "\n", " elif idx % 10 == 0:\n", " logger.debug(f\" ↳ Progreso: {idx}/{total_semillas}. Semilla actual [{semilla}] (Sin superar el máximo).\")\n", "\n", " except Exception as e:\n", " logger.error(f\" 🛑 Error evaluando semilla {semilla}: {e}\")\n", "\n", " gc.collect()\n", " time.sleep(1.5)\n", "\n", " logger.info(\"-\" * 80)\n", " if es_multiclase:\n", " logger.info(f\" 👑 SEMILLA MAESTRA ENCONTRADA: {mejor_semilla} (Score 70/30: {mejor_score:.4f} | Exactitud: {mejor_acc:.4f})\")\n", " else:\n", " logger.info(f\" 👑 SEMILLA MAESTRA ENCONTRADA: {mejor_semilla} (F1: {mejor_score:.4f} | Exactitud: {mejor_acc:.4f})\")\n", "\n", " logger.info(f\"\\n⏱️ Búsqueda de Entropía completada en {time.time() - inicio_timer:.3f}s\")\n", " optuna.logging.set_verbosity(optuna.logging.WARNING)\n", "\n", " return mejor_semilla\n", "\n", "\n", "# ==========================================\n", "# 5. FASE 19.3: OPTIMIZADOR VISUAL DE UMBRAL\n", "# ==========================================\n", "def optimizador_visual_umbral_matrices(\n", " modelo_calibrado,\n", " X_test: pd.DataFrame,\n", " y_test: pd.Series,\n", " modo_produccion: bool = True,\n", "):\n", " \"\"\"\n", " [FASE 7 - Paso 19.3] Escáner Vectorizado y Comparativa Táctica.\n", " - 📊 Compara el modelo base vs el optimizado.\n", " - ⚖️ En binario, encuentra el Umbral de Oro.\n", " - 🧠 En multiclase, activa modo Argmax.\n", " - 🧾 Emite matriz de confusión y reporte final.\n", " \"\"\"\n", " if not modo_produccion:\n", " info_target = detectar_naturaleza_target_mlops(y_test)\n", " logger.info(\" ⏭️ [BYPASS] MODO_PRODUCCION es False. Optimizador Visual desactivado.\")\n", " return None if info_target['es_multiclase'] else 0.50\n", "\n", " logger.info(\"=== 📊 FASE 19.3: Escáner Vectorizado y Comparativa Táctica ===\")\n", " inicio_timer = time.time()\n", "\n", " if not hasattr(modelo_calibrado, \"predict_proba\"):\n", " logger.error(\"🛑 Error Crítico: El modelo no soporta probabilidades.\")\n", " raise ValueError(\"El modelo no soporta probabilidades.\")\n", "\n", " info_target = detectar_naturaleza_target_mlops(y_test)\n", " es_multiclase = info_target['es_multiclase']\n", "\n", " manager_ref = globals().get('manager', None)\n", " etiquetas_target, nombres_target = resolver_etiquetas_target_mlops(y_test, manager_ref=manager_ref)\n", "\n", " X_test_modelo = alinear_features_oraculo_mlops(modelo_calibrado, X_test)\n", "\n", " if es_multiclase:\n", " logger.info(\" 🧠 [INFO] Target Multiclase detectado. Threshold tuning sustituido por decisión Argmax.\")\n", "\n", " preds_nuevas, _ = predecir_argmax_multiclase_mlops(modelo_calibrado, X_test_modelo)\n", " metricas = calcular_metricas_multiclase_mlops(y_test, preds_nuevas)\n", " cm_nueva = confusion_matrix(y_test, preds_nuevas, labels=etiquetas_target)\n", " etiquetas_nueva = cm_nueva.astype(str)\n", "\n", " sns.set_theme(style=\"white\")\n", " fig2, ax = plt.subplots(1, 1, figsize=(9, 7))\n", " sns.heatmap(\n", " cm_nueva,\n", " annot=etiquetas_nueva,\n", " fmt=\"\",\n", " cmap=\"Blues\",\n", " cbar=False,\n", " annot_kws={\"size\": 11, \"weight\": \"bold\"},\n", " linewidths=2,\n", " linecolor='black',\n", " ax=ax,\n", " )\n", " ax.set_title(\n", " f\"Producción Multiclase (Argmax)\\nExactitud: {metricas['exactitud']:.4f} | F1 macro: {metricas['macro_f1']:.4f}\",\n", " fontsize=13,\n", " pad=15,\n", " fontweight='bold',\n", " )\n", " ax.set_xlabel('Predicción del Oráculo', fontsize=11, fontweight='bold')\n", " ax.set_ylabel('Realidad', fontsize=11, fontweight='bold')\n", " ax.set_xticklabels(nombres_target, rotation=25, ha='right')\n", " ax.set_yticklabels(nombres_target, rotation=0)\n", " plt.tight_layout()\n", "\n", " if MODO_VISUAL:\n", " plt.show()\n", " display(Markdown(\"### 🎯 Impacto de la Decisión Multiclase\"))\n", " else:\n", " plt.close(fig2)\n", " logger.info(\"### 🎯 Impacto de la Decisión Multiclase\")\n", "\n", " logger.info(\" 🔒 MODO ACTIVO: multiclass_argmax. No existe un umbral global operativo.\")\n", " logger.info(\n", " f\" Producción (argmax): Exactitud = {metricas['exactitud']:.4f} | \"\n", " f\"F1 weighted = {metricas['weighted_f1']:.4f} | \"\n", " f\"F1 macro = {metricas['macro_f1']:.4f} | \"\n", " f\"Balanced Accuracy = {metricas['balanced_accuracy']:.4f}\"\n", " )\n", " logger.info(\n", " \"\\n Reporte Final de Clasificación (Listo para Producción):\\n\"\n", " + classification_report(\n", " y_test,\n", " preds_nuevas,\n", " labels=etiquetas_target,\n", " target_names=nombres_target,\n", " zero_division=0,\n", " )\n", " )\n", " logger.info(f\"\\n⏱️ Análisis completado en {time.time() - inicio_timer:.3f}s\")\n", " gc.collect()\n", " return None\n", "\n", " logger.info(\" 🔍 Extrayendo probabilidades calibradas del Test Set...\")\n", " proba_test = modelo_calibrado.predict_proba(X_test_modelo)[:, 1]\n", "\n", " logger.info(\" ⚙️ Calculando la frontera de Pareto para máxima detección (F1-Score)...\")\n", " precisiones, recalls, umbrales = precision_recall_curve(y_test, proba_test)\n", " f1_scores = 2 * (precisiones[:-1] * recalls[:-1]) / (precisiones[:-1] + recalls[:-1] + 1e-10)\n", " indice_optimo = np.argmax(f1_scores)\n", " umbral_oro = float(umbrales[indice_optimo])\n", "\n", " logger.info(f\" 🏆 Punto de Corte Encontrado. El Umbral de Oro es: {umbral_oro:.4f}\")\n", "\n", " preds_viejas = (proba_test >= 0.50).astype(int)\n", " preds_nuevas = (proba_test >= umbral_oro).astype(int)\n", "\n", " f1_viejo = f1_score(y_test, preds_viejas)\n", " f1_nuevo = f1_score(y_test, preds_nuevas)\n", " acc_vieja = accuracy_score(y_test, preds_viejas)\n", " acc_nueva = accuracy_score(y_test, preds_nuevas)\n", "\n", " cm_vieja = confusion_matrix(y_test, preds_viejas)\n", " cm_nueva = confusion_matrix(y_test, preds_nuevas)\n", "\n", " tn1, fp1, fn1, tp1 = cm_vieja.ravel()\n", " etiquetas_vieja = np.array([\n", " [f\"TN\\n{tn1:,}\\n(Pobres bien)\", f\"FP\\n{fp1:,}\\n(Alarmas)\"],\n", " [f\"FN\\n{fn1:,}\\n(Ricos fuga)\", f\"TP\\n{tp1:,}\\n(Ricos atrapados)\"],\n", " ])\n", "\n", " tn2, fp2, fn2, tp2 = cm_nueva.ravel()\n", " etiquetas_nueva = np.array([\n", " [f\"TN\\n{tn2:,}\\n(Pobres bien)\", f\"FP\\n{fp2:,}\\n(Alarmas)\"],\n", " [f\"FN\\n{fn2:,}\\n(Ricos fuga)\", f\"TP\\n{tp2:,}\\n(ÉXITO)\"],\n", " ])\n", "\n", " sns.set_theme(style=\"white\")\n", " fig2, axes = plt.subplots(1, 2, figsize=(16, 7))\n", "\n", " sns.heatmap(\n", " cm_vieja,\n", " annot=etiquetas_vieja,\n", " fmt=\"\",\n", " cmap=\"Reds\",\n", " cbar=False,\n", " annot_kws={\"size\": 11, \"weight\": \"bold\"},\n", " linewidths=2,\n", " linecolor='black',\n", " ax=axes[0],\n", " )\n", " axes[0].set_title(\n", " f\"Base (Umbral ciego 0.5000)\\nExactitud: {acc_vieja:.4f} | F1: {f1_viejo:.4f}\",\n", " fontsize=13,\n", " pad=15,\n", " fontweight='bold',\n", " )\n", "\n", " sns.heatmap(\n", " cm_nueva,\n", " annot=etiquetas_nueva,\n", " fmt=\"\",\n", " cmap=\"Blues\",\n", " cbar=False,\n", " annot_kws={\"size\": 11, \"weight\": \"bold\"},\n", " linewidths=2,\n", " linecolor='black',\n", " ax=axes[1],\n", " )\n", " axes[1].set_title(\n", " f\"Optimizada (Umbral exacto {umbral_oro:.4f})\\nExactitud: {acc_nueva:.4f} | F1: {f1_nuevo:.4f}\",\n", " fontsize=13,\n", " pad=15,\n", " fontweight='bold',\n", " )\n", " plt.tight_layout()\n", "\n", " if MODO_VISUAL:\n", " plt.show()\n", " display(Markdown(\"### ⚔️ Impacto de la Guillotina Dinámica\"))\n", " else:\n", " plt.close(fig2)\n", " logger.info(\"### ⚔️ Impacto de la Guillotina Dinámica\")\n", "\n", " logger.info(f\" ANTES (Umbral 0.50): Exactitud = {acc_vieja:.4f} | F1-Score = {f1_viejo:.4f}\")\n", " logger.info(f\" AHORA (Umbral {umbral_oro:.4f}): Exactitud = {acc_nueva:.4f} | F1-Score = {f1_nuevo:.4f}\")\n", "\n", " mejora_acc = acc_nueva - acc_vieja\n", " if mejora_acc > 0.001:\n", " logger.info(f\" 🟢 Incremento garantizado de +{mejora_acc:.4f} puntos en Exactitud Global.\")\n", "\n", " logger.info(\"\\n Reporte Final de Clasificación (Listo para Producción):\\n\" + classification_report(y_test, preds_nuevas))\n", " logger.info(f\"\\n⏱️ Análisis completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " del proba_test, precisiones, recalls, umbrales\n", " gc.collect()\n", "\n", " return umbral_oro\n", "\n", "\n", "# ==========================================\n", "# 6. Celda de Ejecución Maestra\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError as exc:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado.\") from exc\n", "\n", " if (\n", " getattr(manager, 'X_train', None) is None\n", " or getattr(manager, 'y_train', None) is None\n", " or getattr(manager, 'X_test', None) is None\n", " or getattr(manager, 'y_test', None) is None\n", " ):\n", " raise ValueError(\n", " \"El Manager no tiene cargadas las matrices 'X_train', 'y_train', 'X_test' o 'y_test'. \"\n", " \"Ejecuta el Split (Fase 3.3).\"\n", " )\n", "\n", " if MODO_PRODUCCION:\n", " logger.info(\">>> 🧠 DESATANDO PIPELINE: BÚSQUEDA DE SEMILLA, FORJA, CALIBRACIÓN Y UMBRAL <<<\")\n", " logger.info(\"-\" * 80)\n", "\n", " # ==========================================\n", " # 6.1 Búsqueda de Semilla Maestra\n", " # ==========================================\n", " semilla_ganadora_optuna = explorador_entropia_oraculo(\n", " X_train=manager.X_train,\n", " y_train=manager.y_train,\n", " X_test=manager.X_test,\n", " y_test=manager.y_test,\n", " rutas=getattr(manager, 'rutas', {}),\n", " pesos_train=getattr(manager, 'pesos_train', None),\n", " grupos_cv=getattr(manager, 'grupos_cv', None),\n", " max_semillas_a_probar=3,\n", " trials_por_semilla=40,\n", " modo_produccion=MODO_PRODUCCION,\n", " )\n", "\n", " logger.info(f\"\\n>>> 🏆 INICIANDO ENTRENAMIENTO FINAL CON SEMILLA: {semilla_ganadora_optuna} <<<\")\n", "\n", " # ==========================================\n", " # 6.2 Forja Final del Oráculo\n", " # ==========================================\n", " modelo_crudo, umbral_base, adn_campeon = forjar_oraculo_lightgbm(\n", " X_train=manager.X_train,\n", " y_train=manager.y_train,\n", " X_test=manager.X_test,\n", " y_test=manager.y_test,\n", " rutas=getattr(manager, 'rutas', {}),\n", " pesos_train=getattr(manager, 'pesos_train', None),\n", " grupos_cv=getattr(manager, 'grupos_cv', None),\n", " n_trials=40,\n", " n_splits=5,\n", " seed_estatica=semilla_ganadora_optuna,\n", " modo_produccion=MODO_PRODUCCION,\n", " )\n", "\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", "\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('oraculo_lightgbm', modelo_crudo)\n", " else:\n", " manager.modelos_preprocesamiento['oraculo_lightgbm'] = modelo_crudo\n", "\n", " # ==========================================\n", " # 6.3 Calibración Definitiva\n", " # ==========================================\n", " oraculo_calibrado_definitivo = calibrar_oraculo_mlops(\n", " modelo_base=modelo_crudo,\n", " X_train=manager.X_train,\n", " y_train=manager.y_train,\n", " X_test=manager.X_test,\n", " y_test=manager.y_test,\n", " cv=5,\n", " modo_silencioso=True,\n", " modo_produccion=MODO_PRODUCCION,\n", " )\n", "\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('oraculo_calibrado', oraculo_calibrado_definitivo)\n", " else:\n", " manager.modelos_preprocesamiento['oraculo_calibrado'] = oraculo_calibrado_definitivo\n", "\n", " # ==========================================\n", " # 6.4 Optimización Visual / Umbral Final\n", " # ==========================================\n", " umbral_definitivo = optimizador_visual_umbral_matrices(\n", " modelo_calibrado=oraculo_calibrado_definitivo,\n", " X_test=manager.X_test,\n", " y_test=manager.y_test,\n", " modo_produccion=MODO_PRODUCCION,\n", " )\n", "\n", " if not hasattr(manager, 'artefactos'):\n", " manager.artefactos = {}\n", "\n", " manager.artefactos['umbral_decision'] = umbral_definitivo\n", " info_target_final = detectar_naturaleza_target_mlops(manager.y_test)\n", "\n", " if umbral_definitivo is None:\n", " logger.info(\"\\n 💾 Artefacto Guardado: 'umbral_decision' = None (modo multiclass_argmax)\")\n", " else:\n", " logger.info(f\"\\n 💾 Artefacto Guardado: 'umbral_decision' = {umbral_definitivo:.4f}\")\n", "\n", " logger.info(\"\\n📦 [MLOps] Oráculo crudo, oráculo calibrado y umbral final almacenados correctamente.\")\n", "\n", " else:\n", " logger.info(\">>> ⏭️ [BYPASS GLOBAL] MODO_PRODUCCION es False. Fases pesadas omitidas. <<<\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error Crítico en la ejecución maestra: {e}\")" ] }, { "cell_type": "code", "execution_count": 150, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🧠 DESATANDO OPTUNA CON VALIDACIÓN CRUZADA (SEMILLA MANUAL: 87499) <<<\n", "--------------------------------------------------------------------------------\n", " 🔪 [CIRUGÍA] Extirpando 17 variables con Target Leakage...\n", "=== 🧬 FASE 18.3: Evolución del Oráculo (Optuna - 40 Mutaciones) ===\n", " ⚙️ Iniciando simulaciones bayesianas (200 entrenamientos totales)...\n", " 🏆 Umbral Óptimo de Entrenamiento: 0.6657\n", " 💾 Oráculo guardado en Caja Fuerte MLOps: mlops_activos\\oraculo_lightgbm.pkl\n", " 💾 Artefacto Guardado: 'umbral_decision' = 0.6657\n", "--------------------------------------------------------------------------------\n", "\n", "=== 🎯 FASE 19.4: Matriz de Confusión Táctica ===\n", " ⚖️ Extrayendo probabilidades y aplicando Umbral de Oro (0.6657)...\n", " 🖼️ Procesando Matriz para Presentación a Negocio...\n" ] }, { "data": { "image/png": "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EFIEdAAAAAAQUgR0AAAAABBSBHQAAAAAEFIEdAAAAAAQUgR0AAAAABBSBHQAAAAAEFIEdAAAAAAQUgR0AAAAABBSBHQAAAAAEFIEdAAAAAAQUgR0AAAAABBSBHQAAAAAEFIEdAAAAAAQUgR0AAAAABBSmY/1AgCpIUOGDGxYAAAAhNaBAwcSNR0ZOgAAAAAIKTJ0SNeyV779WC8CAKQ7O6e8Frm/fOOuY7osAJAelcifLdHTkqEDAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQIqADAAAAgJAioAMAAACAkCKgAwAAAICQynysFwAA0rP+Pdpauya1E5zmyTeH2yO3NrQFS9ZY1RZP2a7deyPPzR7Ww0qVKGhnNnzUFq9YfxSWGADCp/WVl9uqFctjPnf5FU2sWPGS9u5bb0Qey5Ahg2XJmtWKFClmbdq1t0ZNrzqKSwukLAI6AEhFU2Yvsfx5crj7JxYrYFXOOsnWbdxmf06ed8i0p55U2B64ub71eH0o+wQAkqFCxcqWL/8JcR4rU7acbd60yd0vXKSo+3/fvn22bOliW7JooT339OOWO3duq1PvcrY5QomADgBS0esfj3Y3adu4lg3o2c7m/LvSWt09IDLNwx0bRu7fdX1d+3j4eJu7cBX7BQCS6IZbOln1mucc8vig/q+7v5WqVrdHevZ29w8cOGDd7+tqv48eZd9+9TkBHUKLPnQAkEbs27ffsmXNYi8/1PpYLwoApHsqu6xR+zx3f80aTqIhvAjoACCN+GjYX7Ztxy67qEYZu6ZRzWO9OACQru3du8f++HWUu1+0WPFjvThAslFyCQBpxKLl6+3pfiPsqa5NrdddzWz46OnHepEAIFTu6XxLnP+LFi9hn37zfeT/qZMm2MP3dLE9e3bb4oULbeWKZS5Td1XrtsdgaYGUQUAHAGlI3w9GWZuGNezsMiXtyTubHuvFAYBQD4pyQoECcZ5fs3qVu2XMmNGy58hhZctVsGuvv9nOOf/CY7C0QMogoAOANNaPrsvTn9hPA++y9s3Osd179h3rRQKA0A+K4tWrf0VkUBQgvaAPHQCkMWOn/msDv/rz4BnkbFmO9eIAAIA0jIAOANKg7i9/Y6vWbT7WiwEAANI4AjoASIM2btlhDzz/1bFeDAAAkMZlOKCrKgLpjEaskuyVbz/WiwIA6c7OKa9F7i/fuOuYLgsApEcl8mezxIZpZOgAAAAAIKQI6AAAAAAgpAjoAAAAACCkCOgAAAAAIKRCHdC1a9fOzjzzzDi3ChUqWJ06daxnz562Y8eOFH2/Sy65xF555RU7lrZv324ffvihpQX79u2zihUrHrIPgtto6dKl1rFjR6tataqdf/759tJLL7nXBffhAw88cMi8Bw4c6Ob1+uuvH7X1AQAA4TFi6GCrU/PsmLc7b23vphk6+Eu78ZrmVv/CmnZ10/o24PW+tmvXfwP5rFi21B69/y674uJzrFn9i+yJR+6z9evWHsO1ApIus4VcgwYN7OGHH44T8Pz+++/Wq1cv279/vz3++OOWnijQ+eqrr+zaa6891otiCxcudAfFb775xgoWLBh5PGfOnO7vnj177KabbrLSpUvbJ598YosXL3b7ShdL7tKlS7zzHTRokD3zzDN277332s0333xU1gVICU3rVraPn7vZfp3wj13eoW/MaSqcUcJ6dG5iNc8u7UZj/Wv6v/bAC1/b3IWrDpl2+Jt32MW1zrSGt75iP4+b4x7r36OttWtSO+a8n3xzuD3Vbzg7E8BxoWjR4nbehRfHeWzm39Nsw/p1dkaZsjb826/tuacft2zZsluFSpXtnzmz7cN33rIN69bZfd172t69e6zbHbfY8qVL7Iwzz7KdO3bYTyNH2MIF863fe59a5syhbybjOBH6T2r27NmtcOHCcR4rVaqU/f333zZ8+PB0F9Cl1lUmxo0b5zJ/119/vVWrVi1Rr5kzZ47lzp3bypYtG/P577//3pYvX26fffaZ5cuXz8qUKWPr1q2zPn362K233mpZs2Y95DXvvPOOC+YU+F133XVHvF7A0VL4hNz28sOtE5ymaME8NuzNO6xIgTw2ceZiy5o5kzW4oIJVOetkq9HqaVu7YaubToFer7uaumAu2pTZSyx/nhxxHqt/fgXLkiWTTZuzNIXXCgDSrqo1armbt3jRv3bTtS3stDPOtI533G2db27nHn/wsSetTr3L7d/586z91c3s++FD7M77HrZ5c2a5bFylKtWsb7933Enq5vXr2Px5c23BvLlWpmy5Y7h2wHFScpmQbNmyxTmzsnv3bnv22WftggsusCpVqlirVq1cJi/o888/t8aNG7sywsqVK9s111xj06dPjzl/ZckuvfRSl3lSiWelSpVc1mnVqlV2zz33uPe48MIL7YsvvogTjA0YMMDq1q3rpr/yyivt22+/jRNUlStXzkaPHm2NGjVy5aP169e3H3/80T2vUsZXX33Vli1b5soRVc4oX375pctUarn1991333XZycPZunWrC+KuuOIKlwnLkiWLnXTSSe656DLK4E3L6QO60047Ld75T5gwwcqXL++COa927drufWfNmnXI9FpuBXOPPfYYwRxC59VHrrbCJ+RJcJqmdau4YG7Eb3/b+df2sZqte9mEvxdasUJ5rVGds900VcudbD++3dXubFc35jxe/3i0tbp7QOT27c/TXDDX//PfbMgv01Jl3QAgDJ5/uoft2b3but73sGvTtL+lk911f3erWuNgVUOh/ycA9u3ba1s2b7LyFSvbiF/GWa8XDl5XUY/t3r3LnVTLk/e/tguQ1oU+Qxdt7969LlBTGWCbNm0ijz/44IM2f/58e+6556xo0aL2888/uyyRAiQFZD/88IPrd/fkk09a9erVbc2aNfbEE0/YI4884uYVi7JP3333nfXv399WrFhhnTp1srFjx9ptt93m7qs8UhlCBXAnnHCCvfjiizZ06FB79NFH7dRTT7Xx48e757ds2RIpoVT/MgWeylAVL17cXnjhBbv//vvt119/tRtvvNGVlCrzqECxQIEC9umnn7ppNE8FdDNnznTLrcDyvvvui7nc8+bNs48++sgGDx5shQoVcsFt8+bN3fy86GA3yAdoc+fOddtbZZWzZ89221UZPgWqsnLlSitWrFic1xYpUsT91fZSUOu999579vTTT7vXXn311Yna10BacU2jmtbkkko2aeZiF5DFZ/SEuXZT9/ds4dL/+mesWLvZ/fXB4NUNa9i5VU6z1z762ZVwlix6QrzzK3RCbut9d3NbvX6LPfryfyeHAOB4M/GvsTZ18kSrec55dnalKu6x2uddGGeazz9+3/0tWryEFSp8sD2i4C1nrlyuFPPTD95x7RoFgsVLlDwGawEcpwHdkCFDXGmft3PnTitRooQLMhSwyaJFi1wgpQDmrLPOco+1b9/eBSFvv/22C+jy589vTz31lDVp0sQ9X7JkSWvRooUL8uKjL3337t1dlkrlhCo9dGeE2h/siKu/yvqpr5kyhionVPCl95OTTz7ZZdu0DME+cV27drVzzjnH3VdgqPVT8KSsn/qnZcqUKVJmqkFDFEAqyybKsCkD1qNHD7vzzjvd+0bTtHq9AkxlEXUwixZdxhrLP//84zKBykwqcFNmUYGz+s5p22lf5M2bN85r/PIEOyQreFSmUtk7Batt27Z1wSkQBiWL5Lfn72th8xavtp5vDLXBr3SK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ACFFQAcAAAAAIUVABwAAAAAhlTk5L9qyZYtNmDDBVqxYYVu3brV8+fJZqVKlrFKlSpYjR46UX0oAAAAAwJEFdD/++KO99957NmnSJNu3b98hz2fKlMkuuOACa926tdWpUycpswYAAAAApEZAN3v2bHvooYds1qxZduDAAfdYoUKF3C1nzpwuS7d27Vpbv369/fzzz/bLL79YxYoVrXv37lahQoWkLhMAAAAAIKUCuhYtWljGjBmtQYMGVq9ePatdu7YVKFDgkOnWrFljU6ZMsVGjRtkPP/xgrVq1spkzZybmLQAAAAAASZThgE+5JaBfv37WsmXLmEFcfLZv326ff/65XX/99UldJuCIZciQwf3NXvl2tiYApLCdU16L3F++cRfbFwBSWIn82SKVkSkS0MVn9+7dtmnTJsufP79lyZIlubMBUhwBHQCkHgI6AEg7AV2yRrlcunSpPf300/bbb7/Z3r17XTCnQVDUz65YsWLJmSUAAAAAIIkSFdDt37/f9aETXaqgTZs2tm7dukjUqEyd+sxNnTrVPvvsMytatGhSlwMAAAAAkBoXFu/Ro0fk/ksvveRGtDzppJPsqaeesnfffdeefPJJ9//q1autb9++SV0GAAAAAEBqZeg+/fRTO+WUU+yGG26w33//3WXrBg0aZCVLlnTP16pVy90uu+wyGz16dHKWAwAAAACQGhm6xo0buwuKi645p2vP+WDOU4bOX5MOAAAAAJBGArpnn33WXbpATj75ZNu2bZsNHz48zjRDhw51j5cqVSp1lhQAAAAAkLxRLs844wz3t1mzZtanTx/r1q2bffzxx3biiSe6US8nTJjghopv2rRpYmcJAAAAADgCSb5sgfrRTZo0yX788UcbP368C+T8aJcXXnihex4AAAAAkAYDOg2I8uqrr7qATjeNeFm4cGG76KKL7PLLL49c0BkAAAAAkLqSdWFxqVevnrsBAAAAANLwoCjR/v33X1duKUuWLLGOHTtaixYt3OUNAAAAAABpNEOnPnM333yz1a1b12rUqGF33323TZ8+3T03Y8YMy507t11xxRWpsawAAAAAgCPJ0L3yyiu2c+dOd3/BggUumNOlCtq0aeMGR3n33XeTOksAAAAAwNEI6ObMmWPZs2e3p556ysaOHeseU7nlY4895i4svmjRouQsBwAAAAAgtQM6ZecUuCmoUz86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u+xAiiCgA4DUQ0AHACEO6IAwIKADgNRDQAcAaSegS9SgKAAAAACAtIeADgAAAABCioAOAAAAAEKKgA4AAAAAQoqADgAAAADS84XFO3TokKTRBfv3738kywQAAAAASKmA7rfffnOBmh86M3hRcT3m/w/eBwAAAACkgYCuadOmcQK17777znbu3GlVq1a1YsWK2cqVK92FxosWLWrXXXddai4vAAAAACApAV3v3r0j91VOqWBuwIABdv7550ceHzVqlHXq1Mn27t2bmFkCAAAAAI5QhgOJvQT5/ymI27Vrl40fP/6Q56pVq2a5c+e20aNHH+lyAUfEZ5R37EnSxxsAkAg5svxXtTNp4Wa2GQCksKql80a6u6X4KJfbtm2zrVu3HhLQjRkzxj23eTMHdgAAAABIMyWXQTVr1nQZuPbt29t5551nhQsXdn3oxo0b57IiF154YeosKQAAAADgyEoulyxZYtdee62tXr364AwCo1+ecsop9t5777kgDziWKLkEgNRDySUApJ2SyyQHdKKyys8//9ymTp1qW7Zssfz587vMXbNmzSx79uzJWWYgRRHQAUDqIaADgJAHdEBaR0AHAKmHgA4A0k5Al+Q+dDJt2jSbPHmyGwRl//797jG94aZNm2zs2LE2dOjQ5MwWAAAAAJAESQ7oBg8ebA8++GDM5xTUBS9ADgAAAABIPUm+bMG7777rArfixYtbnjx5rGDBglapUiXLkiWLC+Zuu+221FlSAAAAAMCRBXQLFy60bNmy2bBhw6x58+Z24okn2ieffGIDBw50gd6iRYuSOksAAAAAwNEI6CRnzpyWI0cOq1atms2cOdP27Nlj1atXt3z58tlff/2VnFkCAAAAAFK7D50ycvPmzXPXm2vYsKHt3r3b3njjDVd6qUFRFOwBAAAAANJghq5169autFKDoxQqVMgqVKjgAronn3zS9aGrWLFi6iwpAAAAAODIMnRt27a1rFmz2tq1a93/jz/+uHXq1MlWr15tpUqVsu7duyd1lgAAAACAZEiRC4vrWnQbN260AgUKHOmsgBTBhcUBIPVwYXEACNmFxXUh8cRYunSp+0vZJQAAAACkvkQFdK1atUr0BcM1nUa+BAAAAACkkT50iUn5Zc6c2V1gHAAAAACQRgK6n376KXJ/wYIF1qVLF6tSpYp16NDBihUrZitXrrTXX3/dPafL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h2/bF+/3t62bN9mZ5SrZ6pXL7a2+T9vvo75zz5c8qbRVP+eiOLccOXO550qffmYKrhWQMo6LDF2DBg3s4YcfjhPw/P7779arVy/bv3+/Pf54+jrTomDoq6++smuvvTZV32fhwoW2a9cu++abb6xgwYKRx3PmzOn+7tmzx2666SYrXbq0ffLJJ7Z48WK3HzJmzGhdunSJd76DBg2yZ555xu699167+eabU3UdgNTUrWsXmzhhvJU+5RTLli27/Tb6F5s9c4Z9PWSEzZo5w+6/5273fahWvYbNnzfP3n93kG3fts0e7fFEZB66sPgjD91vixYuZGcBOC6NGf2DfTigr61dvfKw0+7ft8++/nigffvpu7Zr186Y00z4c7T7e/ejz1qFKjXsl++/tTef72njfvvJzr+kvp178eXu5s2YMsEmjBltlWucaw2atknBNQNSRrrP0En27NmtcOHCkVupUqVcsNO4cWMbPny4pTcpcSWKNm3a2JAhQ1xjMj5z5syx3LlzW9myZeNs31y5Dp7F+v7772358uXWp08fK1OmjNWrV8/uvvtue/fdd+Od7zvvvOOCOQV+BHMIs5UrVtjcObPtpJNOti++HmKffvG1C+zWrFlj48aOsV9G/eS+qzd16GgDBr5r7330iXvdDyO/j8xj7Jg/rU3L5vb9iPR3nAKAxBr88SDbsmljoi4KvmPHdlcymTd/AbusScuY0+TNlz/OJY58uylX7tyHTLtn924b0Pdpy5Ilq7XvfF/kNUBaclwEdPHJli2bZc78X5JSQcazzz5rF1xwgVWpUsVatWrlMnlBn3/+uQsEVWpYuXJlu+aaa2z69Okx568s2aWXXuqyUyrxrFSpkstMrVq1yu655x73HhdeeKF98cUXkdfooDJgwACrW7eum/7KK6+0b7/9NvL8uHHjrFy5cjZ69Ghr1KiRKx+tX7++/fjjj+55lTu++uqrtmzZMleyqJJH+fLLL12mUsutvwqqlJ2Mj5btySefdMv94osv2ooVK2IGdKeddlq885gwYYKVL1/e8uXLF3msdu3atnXrVps1a9Yh02uZFMw99thjdt1118U7XyAMihUvbr+PnWAff/6VZcmSxXZs325bt2x1z+XPn99OKFDA3Y80Dv5/HiZP3jyReXzy0Qe2aOG/1qVrt2OwBgCQNlzauIW9OOgru6DeFYedNnPmLHbD7ffas/0/tVPLlIs5Tbtb77YixUraCz3vtaceuN0GvdbHChUpZk2vvumQaX/7abitXLbYLrq8sRUtfmKKrA+Q0o7LgE79UX755RdXKqiAyXvwwQftjz/+sOeee86+/vprF/jceuutblr54YcfXL87ZY5GjBjhskkqOXzkkUfifS9lqL777jvr37+/vfzyy/bTTz+5gFCBjoIsBXQq+dywYYObXsHTxx9/bN27d3cZMgU2ej7YJ0590BR4Kos1dOhQl/26//77bdu2bXbjjTe6W7FixVwwWrx4cfv0009dlqxz5842bNgw69q1qwsatZ7x0fx+++0393f8+PEuwNTrx4wZE5lm7ty5bluqrPK8886z5s2bu23qrVy50i1HUJEiRdzf6ADxvffes6efftptm6uvvjpR+xEIgzx58tjgr7+0Jo3q29q1a6z5VS2teo2advW17axGzVr2Vv837ZabbrDr215t2XPksHvvfzDy2ksvr29ffjPUbupwyzFdBwA4ljRYSYFCB9sPh5Mte3arf2VrdzyNz769eyODrEyfNM5279rl5h8r+Tbi64/d34bNr0nu4gOp7rjoQ6fASOV/3s6dO61EiRIuEFHAJosWLXLB0eDBg+2ss85yj7Vv395mz55tb7/9tstU6az6U089ZU2aNHHPlyxZ0lq0aOGCvPgo4FFwpkyWAi+VJ+psvebt30NZP/VHU8ZQQeILL7zg3k9OPvlkl23TMgT7xCkoO+ecc9z9Tp06ufVTgKXMmvqwZcqUyZU/igYWue222+yKKw6e2TrppJNclqxHjx525513uveNJWvWrC7g1e2ff/5x63HDDTfY+++/bzVr1nSPKcunrKMCN2UNFRSr75y2i7Zz3rx548zTv5cCYU+Bp7KQyt6pBLZt27YukwikF3+NG2trVq92FQFZsmZ13w3181BGXidoVIIpxYoVt+zZ/2uEXNHo4LEGAJByXu71kK1eucyuvbmLy/59/+1n9vHbr9rzj99jz7z5caRyYv7cmbZk4Xw75fSyVuLEUuwCpFnHRUCnkSdV4qjG07Rp01xQdu6557pgzpdczpw50/1VCWWQghMflNSoUcPmz59vr732mi1YsMAFgSo7TKh00QdlnoItZc2iAxyVe86bN88FOt26dXMDJQSDQj2vRqB36qmnRu6rH5tf1mjr1693mTIFiX37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BwAAAAAhRUAHAAAAACFFQAcAAAAAIUVABwAAAAAhRUAHAEhX2rVrZ2eeeWbkVrZsWatQoYKdf/759vDDD9umTZtS9f2/+uor975nn332Icv06KOPpvj7vfLKK27e9evXj/n8mDFj3POXX365LVq0yI72uqfEOgRt377d3nzzTWvevLlVrVrVKlas6NatV69etmrVqmQt94MPPuje/5FHHrE9e/ZYavGfyWHDhqXaewA4/mQ+1gsAAEBqyJkzp+XJk8f279/vgrg1a9bYF198YXPnzrXPPvvMMmTIcNQ2/AknnGBFixa1fPnypfi8c+fO7eZduHDhQ547cOCAvfXWW3bBBRfY888/nyrvfzStXbvWrr/+eps3b577P0eOHJY9e3ZbuHChvfPOOzZ48GDr16+fVa5cOdHz1LwU9N5333120003peLSA0DqIKADAKRLjRs3tp49e7r7u3fvtmeffdbee+89mzZtmk2ePNlld46Wl19+OdXm3b59e3eLRUHr22+/bemFgi4FYArWn3zySZfRy5Qpk82YMcPuueceW7Bggd1+++323XffuWA+MU4//XT75ZdfUn3ZASC1UHIJAEj3smbNaq1bt478v2LFijilkAq4dF+ZHQUGfpq77rrLqlevbpUqVbI2bdrY77//fkj53+OPP261atWyKlWquNK9rVu3HvL+sUoulTlU9kzlgioJVRZNr1+9enWc144aNcotu0oL9T7KIikoPVy54oQJE+zmm2+2GjVquPXS8mtesZbr/fffd8tSp04d9z433HCDy3olJLHrrvXs37+/1a1b162n/mp7J7W0UUHbH3/84e7fe++9dsUVV7hgTsqXL2+vvvqqC2CVxVMGNlgCqvJMPa/l1DqqNHPHjh321FNP2cUXX+yWS9tJ6z116tQ476vPgT4TtWvXdp8Dva+2lzdu3LhIKaWywJ72kx574IEHElyvnTt32ksvvWSXXXaZW44LL7zQnYjYuHFjkrYPgOMXGToAQLqnDN2gQYMi/5900klxnlfAIZkzZ7azzjrLNmzYYFdffbVrzGfJksWV9imr16FDB9d/66KLLnLT33nnnfbrr7+6+8oaff311zZixIhELZOCoU8//TRSNrlu3ToXgChY03wUhA4ZMiQSYKq0UEGIgspJkybZ559/7rJLsYwcOdK6du1q+/btc8uvwEfLf9tt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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "### 📌 Resumen Ejecutivo para Stakeholders" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " ✅ ACIERTOS TOTALES: 5,404 registros clasificados correctamente.\n", " ⚠️ ERRORES TOTALES: 1,104 registros clasificados incorrectamente.\n", "\n", " 🎯 F1-Score: 0.6826\n", "\n", " Reporte de Clasificación Final (Listo para Producción):\n", " precision recall f1-score support\n", "\n", " 0 0.92 0.85 0.88 4940\n", " 1 0.62 0.76 0.68 1568\n", "\n", " accuracy 0.83 6508\n", " macro avg 0.77 0.81 0.78 6508\n", "weighted avg 0.85 0.83 0.84 6508\n", "\n", "\n", "⏱️ Análisis completado en 0.508s\n", "\n", "📦 [MLOps] Oráculo final, modo de decisión y matriz táctica consolidados correctamente.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import os\n", "import time\n", "import gc\n", "import re\n", "import warnings\n", "import logging\n", "from typing import Tuple, Dict, Any, Optional\n", "\n", "import joblib\n", "import optuna\n", "import lightgbm as lgb\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns\n", "\n", "from IPython.display import display, Markdown\n", "from sklearn.metrics import (\n", " f1_score,\n", " classification_report,\n", " average_precision_score,\n", " precision_recall_curve,\n", " confusion_matrix,\n", " balanced_accuracy_score,\n", ")\n", "from sklearn.model_selection import StratifiedKFold, GroupKFold\n", "from sklearn.utils.multiclass import type_of_target\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "\n", "# ==========================================\n", "# 1. Blindajes Auxiliares del Target y Features\n", "# ==========================================\n", "if 'detectar_naturaleza_target_mlops' not in globals():\n", " def detectar_naturaleza_target_mlops(y: pd.Series) -> Dict[str, object]:\n", " \"\"\"\n", " [FASE 18-19] Escáner de Naturaleza del Target.\n", " - Detecta si el problema es binario, multiclase o regresión.\n", " - Devuelve una ficha técnica estándar para el resto del pipeline.\n", " \"\"\"\n", " serie = pd.Series(y).dropna()\n", "\n", " if serie.empty:\n", " return {\n", " 'tipo': 'desconocido',\n", " 'es_regresion': False,\n", " 'es_binario': False,\n", " 'es_multiclase': False,\n", " 'num_clases': 0,\n", " }\n", "\n", " serie_tipada = serie if pd.api.types.is_numeric_dtype(serie) else serie.astype(str)\n", "\n", " try:\n", " tipo_detectado = type_of_target(serie_tipada)\n", " except Exception:\n", " tipo_detectado = 'desconocido'\n", "\n", " es_regresion = tipo_detectado in ('continuous', 'continuous-multioutput')\n", " num_clases = int(serie.nunique()) if not es_regresion else 0\n", " es_multiclase = (not es_regresion) and num_clases > 2\n", " es_binario = (not es_regresion) and num_clases == 2\n", "\n", " if es_regresion:\n", " tipo = 'regression'\n", " elif es_multiclase:\n", " tipo = 'multiclass'\n", " elif es_binario:\n", " tipo = 'binary'\n", " else:\n", " tipo = 'desconocido'\n", "\n", " return {\n", " 'tipo': tipo,\n", " 'es_regresion': es_regresion,\n", " 'es_binario': es_binario,\n", " 'es_multiclase': es_multiclase,\n", " 'num_clases': num_clases,\n", " }\n", "\n", "\n", "if 'resolver_etiquetas_target_mlops' not in globals():\n", " def resolver_etiquetas_target_mlops(y: pd.Series, manager_ref=None):\n", " \"\"\"\n", " Resuelve etiquetas crudas y nombres humanos del target.\n", " Si existe un diccionario maestro en artefactos, lo usa.\n", " \"\"\"\n", " serie = pd.Series(y).dropna()\n", " etiquetas = sorted(serie.unique().tolist())\n", " nombres = [str(etiqueta) for etiqueta in etiquetas]\n", "\n", " artefactos = getattr(manager_ref, 'artefactos', {}) if manager_ref is not None else {}\n", " diccionario = artefactos.get('diccionario_target_maestro') if isinstance(artefactos, dict) else None\n", "\n", " if isinstance(diccionario, dict) and diccionario:\n", " diccionario_inverso = {valor: clave for clave, valor in diccionario.items()}\n", " if all(etiqueta in diccionario_inverso for etiqueta in etiquetas):\n", " nombres = [str(diccionario_inverso[etiqueta]) for etiqueta in etiquetas]\n", "\n", " return etiquetas, nombres\n", "\n", "\n", "if 'predecir_argmax_multiclase_mlops' not in globals():\n", " def predecir_argmax_multiclase_mlops(modelo, X: pd.DataFrame):\n", " \"\"\"\n", " Ejecuta predicción robusta para problemas multiclase.\n", " - Si hay predict_proba, usa Argmax.\n", " - Si no, cae elegantemente en predict().\n", " \"\"\"\n", " if hasattr(modelo, \"predict_proba\"):\n", " probabilidades = np.asarray(modelo.predict_proba(X))\n", " if probabilidades.ndim == 2 and probabilidades.shape[1] > 1:\n", " clases = np.asarray(getattr(modelo, 'classes_', np.arange(probabilidades.shape[1])))\n", " predicciones = clases[np.argmax(probabilidades, axis=1)]\n", " return predicciones, probabilidades\n", "\n", " return np.asarray(modelo.predict(X)), None\n", "\n", "\n", "if 'alinear_features_oraculo_mlops' not in globals():\n", " def alinear_features_oraculo_mlops(modelo, X: pd.DataFrame) -> pd.DataFrame:\n", " \"\"\"\n", " Alinea el espacio vectorial del DataFrame contra las features esperadas por el modelo:\n", " - elimina columnas extra,\n", " - crea faltantes en cero,\n", " - respeta el orden exacto de entrenamiento.\n", " \"\"\"\n", " nombres = None\n", "\n", " if hasattr(modelo, 'feature_names_in_'):\n", " nombres = list(modelo.feature_names_in_)\n", " elif hasattr(modelo, 'feature_name_'):\n", " try:\n", " nombres = list(modelo.feature_name_)\n", " except Exception:\n", " nombres = None\n", " elif hasattr(modelo, 'feature_name'):\n", " try:\n", " nombres = list(modelo.feature_name())\n", " except Exception:\n", " nombres = None\n", "\n", " if not nombres:\n", " return X\n", "\n", " X_alineada = X.copy()\n", "\n", " extras = [col for col in X_alineada.columns if col not in nombres]\n", " if extras:\n", " X_alineada = X_alineada.drop(columns=extras, errors='ignore')\n", "\n", " faltantes = [col for col in nombres if col not in X_alineada.columns]\n", " for col in faltantes:\n", " X_alineada[col] = 0\n", "\n", " return X_alineada[nombres]\n", "\n", "\n", "if 'calcular_metricas_multiclase_mlops' not in globals():\n", " def calcular_metricas_multiclase_mlops(y_true, y_pred) -> Dict[str, float]:\n", " \"\"\"\n", " Calcula el paquete ejecutivo de métricas multiclase:\n", " - F1 macro\n", " - F1 weighted\n", " - exactitud\n", " - balanced accuracy\n", " - score compuesto 70/30\n", " \"\"\"\n", " macro_f1 = float(f1_score(y_true, y_pred, average='macro'))\n", " weighted_f1 = float(f1_score(y_true, y_pred, average='weighted'))\n", " exactitud = float((np.asarray(y_true) == np.asarray(y_pred)).mean())\n", " balanced_acc = float(balanced_accuracy_score(y_true, y_pred))\n", " score_compuesto = float((0.7 * macro_f1) + (0.3 * weighted_f1))\n", "\n", " return {\n", " 'macro_f1': macro_f1,\n", " 'weighted_f1': weighted_f1,\n", " 'exactitud': exactitud,\n", " 'balanced_accuracy': balanced_acc,\n", " 'score_compuesto': score_compuesto,\n", " }\n", "\n", "\n", "# ==========================================\n", "# 2. FASE 19.4: MATRIZ DE CONFUSIÓN TÁCTICA\n", "# ==========================================\n", "def renderizar_matriz_confusion_mlops(\n", " modelo_calibrado,\n", " umbral_oro: Optional[float],\n", " X_test: pd.DataFrame,\n", " y_test: pd.Series\n", "):\n", " \"\"\"\n", " [FASE 19 - Paso 19.4] Matriz de Confusión Táctica (UI/UX para Negocio).\n", " - 🧠 Binario: aplica el Umbral de Oro real.\n", " - 🎯 Multiclase: usa decisión Argmax sin umbral global operativo.\n", " - 📊 Entrega una radiografía visual lista para stakeholders.\n", " \"\"\"\n", " logger.info(\"\\n=== 🎯 FASE 19.4: Matriz de Confusión Táctica ===\")\n", " inicio_timer = time.time()\n", "\n", " info_target = detectar_naturaleza_target_mlops(y_test)\n", " es_multiclase = info_target['es_multiclase']\n", " manager_ref = globals().get('manager', None)\n", " etiquetas_target, nombres_target = resolver_etiquetas_target_mlops(y_test, manager_ref=manager_ref)\n", " X_test_modelo = alinear_features_oraculo_mlops(modelo_calibrado, X_test)\n", "\n", " if es_multiclase:\n", " logger.info(\" 🧠 Extrayendo predicciones finales en modo Argmax Multiclase...\")\n", " preds_finales, _ = predecir_argmax_multiclase_mlops(modelo_calibrado, X_test_modelo)\n", " metricas = calcular_metricas_multiclase_mlops(y_test, preds_finales)\n", " cm = confusion_matrix(y_test, preds_finales, labels=etiquetas_target)\n", " tasa_acierto = metricas['exactitud']\n", " etiquetas = cm.astype(str)\n", "\n", " reporte = classification_report(\n", " y_test,\n", " preds_finales,\n", " labels=etiquetas_target,\n", " target_names=nombres_target,\n", " zero_division=0,\n", " )\n", " else:\n", " umbral_operativo = float(umbral_oro) if umbral_oro is not None else 0.50\n", " logger.info(f\" ⚖️ Extrayendo probabilidades y aplicando Umbral de Oro ({umbral_operativo:.4f})...\")\n", " proba_test = modelo_calibrado.predict_proba(X_test_modelo)[:, 1]\n", " preds_finales = (proba_test >= umbral_operativo).astype(int)\n", " f1_actual = float(f1_score(y_test, preds_finales, zero_division=0))\n", " cm = confusion_matrix(y_test, preds_finales)\n", "\n", " tn, fp, fn, tp = cm.ravel()\n", " total = np.sum(cm)\n", " tasa_acierto = (tp + tn) / total if total else 0.0\n", "\n", " etiquetas = np.array([\n", " [f\"TN\\n{tn:,}\\n(Pobres bien)\", f\"FP\\n{fp:,}\\n(Alarmas)\"],\n", " [f\"FN\\n{fn:,}\\n(Ricos fuga)\", f\"TP\\n{tp:,}\\n(ÉXITO)\"],\n", " ])\n", "\n", " reporte = classification_report(y_test, preds_finales, zero_division=0)\n", "\n", " logger.info(\" 🖼️ Procesando Matriz para Presentación a Negocio...\")\n", " sns.set_theme(style=\"white\")\n", " fig, ax = plt.subplots(figsize=(9, 7))\n", "\n", " sns.heatmap(\n", " cm,\n", " annot=etiquetas,\n", " fmt=\"\",\n", " cmap=\"Blues\",\n", " cbar=False,\n", " annot_kws={\"size\": 11, \"weight\": \"bold\"},\n", " linewidths=2,\n", " linecolor='black',\n", " ax=ax,\n", " )\n", "\n", " if es_multiclase:\n", " ax.set_title(\n", " f\"Radiografía del Modelo Multiclase\\n(Modo: Argmax | Exactitud Global: {tasa_acierto:.2%})\",\n", " fontsize=14,\n", " pad=20,\n", " fontweight='bold',\n", " )\n", " ax.set_xticklabels(nombres_target, fontsize=11, rotation=25, ha='right')\n", " ax.set_yticklabels(nombres_target, fontsize=11, rotation=0)\n", " else:\n", " umbral_operativo = float(umbral_oro) if umbral_oro is not None else 0.50\n", " ax.set_title(\n", " f\"Radiografía del Modelo en el Mundo Real\\n(Umbral de Decisión: {umbral_operativo:.4f} | Exactitud Global: {tasa_acierto:.2%})\",\n", " fontsize=14,\n", " pad=20,\n", " fontweight='bold',\n", " )\n", " ax.set_xticklabels(['Predijo <=50K (Pobre)', 'Predijo >50K (Rico)'], fontsize=11)\n", " ax.set_yticklabels(['Realmente <=50K', 'Realmente >50K'], fontsize=11, rotation=0)\n", "\n", " ax.set_xlabel('Predicción del Oráculo', fontsize=12, fontweight='bold', labelpad=15)\n", " ax.set_ylabel('Realidad (Lo que pasó)', fontsize=12, fontweight='bold', labelpad=15)\n", " plt.tight_layout()\n", "\n", " if MODO_VISUAL:\n", " plt.show()\n", " display(Markdown(\"### 📌 Resumen Ejecutivo para Stakeholders\"))\n", " else:\n", " plt.close(fig)\n", " logger.info(\"\\n### 📌 Resumen Ejecutivo para Stakeholders\")\n", "\n", " aciertos = int(np.trace(cm))\n", " errores = int(np.sum(cm) - aciertos)\n", "\n", " logger.info(f\" ✅ ACIERTOS TOTALES: {aciertos:,} registros clasificados correctamente.\")\n", " logger.warning(f\" ⚠️ ERRORES TOTALES: {errores:,} registros clasificados incorrectamente.\")\n", "\n", " if es_multiclase:\n", " logger.info(\" 🔒 MODO ACTIVO: multiclass_argmax. No existe un umbral global operativo.\")\n", " logger.info(\n", " \" Exactitud = \"\n", " f\"{metricas['exactitud']:.4f} | F1 weighted = {metricas['weighted_f1']:.4f} | \"\n", " f\"F1 macro = {metricas['macro_f1']:.4f} | Balanced Accuracy = {metricas['balanced_accuracy']:.4f}\"\n", " )\n", " else:\n", " logger.info(f\"\\n 🎯 F1-Score: {f1_actual:.4f}\")\n", "\n", " logger.info(\"\\n Reporte de Clasificación Final (Listo para Producción):\\n\" + reporte)\n", " logger.info(f\"\\n⏱️ Análisis completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return cm, tasa_acierto\n", "\n", "\n", "# ==========================================\n", "# 3. FASE 18.3: FORJA DEL ORÁCULO (OPTUNA + CV)\n", "# ==========================================\n", "def forjar_oraculo_lightgbm(\n", " X_train: pd.DataFrame,\n", " y_train: pd.Series,\n", " X_test: Optional[pd.DataFrame] = None,\n", " y_test: Optional[pd.Series] = None,\n", " rutas: Optional[Dict] = None,\n", " pesos_train: Optional[pd.Series] = None,\n", " grupos_cv: Optional[pd.Series] = None,\n", " n_trials: int = 40,\n", " n_splits: int = 5,\n", " seed_estatica: int = 42,\n", " directorio_salida: str = \"mlops_activos\",\n", " modo_silencioso: bool = False\n", ") -> Tuple[Optional[lgb.LGBMClassifier], Optional[float], Dict[str, Any]]:\n", " \"\"\"\n", " [FASE 18 - Paso 18.3] Forja del Oráculo con Optuna + CV.\n", " - 🧬 Binario: mantiene threshold tuning real.\n", " - 🎯 Multiclase: usa score compuesto 70/30 y decisión final por Argmax.\n", " - 🔪 Extirpa columnas sospechosas de Target Leakage.\n", " - 💾 Guarda el campeón en la Caja Fuerte MLOps.\n", " \"\"\"\n", " if X_train is None or X_train.empty:\n", " logger.error(\"🛑 Error Crítico: La matriz está vacía.\")\n", " raise ValueError(\"La matriz está vacía.\")\n", "\n", " X_tr_copy = X_train.copy()\n", " X_te_copy = X_test.copy() if X_test is not None else None\n", "\n", " patron_troya = re.compile(r'(^cf_|^gbdt_|_prob_|^prob_)', re.IGNORECASE)\n", " cols_trampa = [col for col in X_tr_copy.columns if patron_troya.search(col)]\n", "\n", " if cols_trampa:\n", " if not modo_silencioso:\n", " logger.warning(f\" 🔪 [CIRUGÍA] Extirpando {len(cols_trampa)} variables con Target Leakage...\")\n", " X_tr_copy.drop(columns=cols_trampa, inplace=True)\n", " if X_te_copy is not None:\n", " X_te_copy.drop(columns=[c for c in cols_trampa if c in X_te_copy.columns], inplace=True)\n", "\n", " if not modo_silencioso:\n", " logger.info(f\"=== 🧬 FASE 18.3: Evolución del Oráculo (Optuna - {n_trials} Mutaciones) ===\")\n", "\n", " rutas = rutas or {}\n", " warnings.filterwarnings(\"ignore\")\n", "\n", " info_target = detectar_naturaleza_target_mlops(y_train)\n", " num_clases = info_target['num_clases']\n", " es_multiclase = info_target['es_multiclase']\n", " cat_features = [c for c in rutas.get('cat_vars', []) if c in X_tr_copy.columns]\n", " config_bagging = rutas.get('asymmetric_bagging', {}).copy()\n", " clase_minoritaria = y_train.value_counts().idxmin() if not es_multiclase else None\n", "\n", " pesos_train_norm = None\n", " if pesos_train is not None:\n", " if isinstance(pesos_train, pd.Series):\n", " pesos_train_norm = pesos_train.reset_index(drop=True)\n", " else:\n", " pesos_train_norm = pd.Series(np.asarray(pesos_train).reshape(-1))\n", "\n", " estrategias_pesos_multiclase = ['base']\n", " if es_multiclase:\n", " if config_bagging and 'class_weight' in config_bagging:\n", " estrategias_pesos_multiclase.append('class_weight')\n", " if pesos_train_norm is not None:\n", " estrategias_pesos_multiclase.append('sample_weight')\n", "\n", " optuna.logging.set_verbosity(optuna.logging.WARNING)\n", "\n", " def objective(trial):\n", " param = {\n", " 'objective': 'multiclass' if es_multiclase else 'binary',\n", " 'metric': 'multi_logloss' if es_multiclase else 'binary_logloss',\n", " 'random_state': seed_estatica,\n", " 'verbosity': -1,\n", " 'boosting_type': 'gbdt',\n", " 'n_estimators': 800,\n", " 'learning_rate': trial.suggest_float('learning_rate', 0.01, 0.1, log=True),\n", " 'num_leaves': trial.suggest_int('num_leaves', 20, 100),\n", " 'max_depth': trial.suggest_int('max_depth', 3, 10),\n", " 'min_child_samples': trial.suggest_int('min_child_samples', 20, 120),\n", " 'colsample_bytree': trial.suggest_float('colsample_bytree', 0.5, 1.0),\n", " 'reg_alpha': trial.suggest_float('reg_alpha', 1e-4, 10.0, log=True),\n", " 'reg_lambda': trial.suggest_float('reg_lambda', 1e-4, 10.0, log=True),\n", " }\n", "\n", " estrategia_pesos_multiclase = 'base'\n", "\n", " if es_multiclase:\n", " param['num_class'] = num_clases\n", " param['subsample'] = trial.suggest_float('subsample', 0.5, 1.0)\n", " estrategia_pesos_multiclase = trial.suggest_categorical(\n", " 'estrategia_pesos_multiclase',\n", " estrategias_pesos_multiclase,\n", " )\n", " if estrategia_pesos_multiclase == 'class_weight' and config_bagging and 'class_weight' in config_bagging:\n", " param['class_weight'] = config_bagging['class_weight']\n", " else:\n", " if config_bagging:\n", " if clase_minoritaria == 1:\n", " param['pos_bagging_fraction'] = 1.0\n", " param['neg_bagging_fraction'] = trial.suggest_float('neg_bagging_fraction', 0.01, 1.0)\n", " else:\n", " param['pos_bagging_fraction'] = trial.suggest_float('pos_bagging_fraction', 0.01, 1.0)\n", " param['neg_bagging_fraction'] = 1.0\n", "\n", " param['bagging_freq'] = trial.suggest_int('bagging_freq', 1, 7)\n", " else:\n", " param['subsample'] = trial.suggest_float('subsample', 0.5, 1.0)\n", "\n", " cv = GroupKFold(n_splits=n_splits) if grupos_cv is not None else StratifiedKFold(\n", " n_splits=n_splits,\n", " shuffle=True,\n", " random_state=seed_estatica,\n", " )\n", "\n", " splits = (\n", " list(cv.split(X_tr_copy, y_train, groups=grupos_cv))\n", " if grupos_cv is not None\n", " else list(cv.split(X_tr_copy, y_train))\n", " )\n", "\n", " metricas_fold = []\n", "\n", " for train_idx, val_idx in splits:\n", " X_tr_fold = X_tr_copy.iloc[train_idx]\n", " y_tr_fold = y_train.iloc[train_idx]\n", " X_va_fold = X_tr_copy.iloc[val_idx]\n", " y_va_fold = y_train.iloc[val_idx]\n", "\n", " w_tr = None\n", " if pesos_train_norm is not None and (not es_multiclase or estrategia_pesos_multiclase == 'sample_weight'):\n", " w_tr = pesos_train_norm.iloc[train_idx].to_numpy()\n", "\n", " modelo = lgb.LGBMClassifier(**param)\n", " modelo.fit(\n", " X_tr_fold,\n", " y_tr_fold,\n", " sample_weight=w_tr,\n", " eval_set=[(X_va_fold, y_va_fold)],\n", " callbacks=[lgb.early_stopping(30, verbose=False)],\n", " categorical_feature=cat_features if cat_features else 'auto',\n", " )\n", "\n", " if es_multiclase:\n", " preds_fold = modelo.predict(X_va_fold)\n", " metricas_multiclase = calcular_metricas_multiclase_mlops(y_va_fold, preds_fold)\n", " score = metricas_multiclase['score_compuesto']\n", " else:\n", " score = float(average_precision_score(y_va_fold, modelo.predict_proba(X_va_fold)[:, 1]))\n", "\n", " metricas_fold.append(score)\n", "\n", " del X_tr_fold, y_tr_fold, X_va_fold, y_va_fold, modelo\n", " gc.collect()\n", "\n", " return float(np.mean(metricas_fold))\n", "\n", " if not modo_silencioso:\n", " logger.info(f\" ⚙️ Iniciando simulaciones bayesianas ({n_trials * n_splits} entrenamientos totales)...\")\n", "\n", " sampler_determinista = optuna.samplers.TPESampler(seed=seed_estatica)\n", " estudio = optuna.create_study(\n", " direction='maximize',\n", " study_name=\"Oraculo_LGBM_CV\",\n", " sampler=sampler_determinista,\n", " )\n", " estudio.optimize(objective, n_trials=n_trials, n_jobs=1, callbacks=[lambda s, t: gc.collect()])\n", "\n", " mejores_params = estudio.best_params\n", " parametros_finales = mejores_params.copy()\n", " estrategia_pesos_multiclase_optima = 'base'\n", "\n", " if es_multiclase:\n", " estrategia_pesos_multiclase_optima = parametros_finales.pop('estrategia_pesos_multiclase', 'base')\n", "\n", " parametros_finales.update({\n", " 'n_estimators': 500,\n", " 'random_state': seed_estatica,\n", " 'verbosity': -1,\n", " 'n_jobs': -1,\n", " })\n", "\n", " if es_multiclase:\n", " parametros_finales['num_class'] = num_clases\n", " if estrategia_pesos_multiclase_optima == 'class_weight' and config_bagging and 'class_weight' in config_bagging:\n", " parametros_finales['class_weight'] = config_bagging['class_weight']\n", " else:\n", " if config_bagging:\n", " for k in ['subsample', 'class_weight', 'scale_pos_weight']:\n", " parametros_finales.pop(k, None)\n", "\n", " oraculo_final = lgb.LGBMClassifier(**parametros_finales)\n", "\n", " pesos_finales = (\n", " pesos_train_norm.to_numpy()\n", " if (pesos_train_norm is not None and (not es_multiclase or estrategia_pesos_multiclase_optima == 'sample_weight'))\n", " else None\n", " )\n", "\n", " oraculo_final.fit(\n", " X_tr_copy,\n", " y_train,\n", " sample_weight=pesos_finales,\n", " categorical_feature=cat_features if cat_features else 'auto',\n", " )\n", "\n", " umbral_final = None\n", " if not es_multiclase:\n", " probas_train = oraculo_final.predict_proba(X_tr_copy)[:, 1]\n", " precision, recall, thresholds = precision_recall_curve(y_train, probas_train)\n", "\n", " if len(thresholds) > 0:\n", " fscore = (2 * precision[:-1] * recall[:-1]) / (precision[:-1] + recall[:-1] + 1e-8)\n", " ix = int(np.argmax(fscore))\n", " umbral_final = float(thresholds[ix])\n", " else:\n", " umbral_final = 0.50\n", "\n", " modo_decision_optimo = 'multiclass_argmax' if es_multiclase else 'binary_threshold'\n", "\n", " if not modo_silencioso:\n", " if es_multiclase:\n", " logger.info(\" 🧠 Estrategia Óptima de Entrenamiento: Argmax Multiclase (sin umbral global).\")\n", " logger.info(f\" ⚖️ Estrategia Óptima de Pesos Multiclase: {estrategia_pesos_multiclase_optima}\")\n", " else:\n", " logger.info(f\" 🏆 Umbral Óptimo de Entrenamiento: {umbral_final:.4f}\")\n", "\n", " if not os.path.exists(directorio_salida):\n", " os.makedirs(directorio_salida)\n", "\n", " ruta_modelo = os.path.join(directorio_salida, \"oraculo_lightgbm.pkl\")\n", " joblib.dump(oraculo_final, ruta_modelo)\n", "\n", " rutas['umbral_decision_optimo'] = float(umbral_final) if umbral_final is not None else None\n", " rutas['modo_decision_optimo'] = modo_decision_optimo\n", "\n", " if es_multiclase:\n", " rutas['estrategia_pesos_multiclase_optima'] = estrategia_pesos_multiclase_optima\n", "\n", " if not modo_silencioso:\n", " logger.info(f\" 💾 Oráculo guardado en Caja Fuerte MLOps: {ruta_modelo}\")\n", "\n", " del estudio\n", " gc.collect()\n", "\n", " return oraculo_final, (float(umbral_final) if umbral_final is not None else None), mejores_params\n", "\n", "\n", "# ==========================================\n", "# 4. Celda Maestra de Ejecución del Bloque 18.3\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError as exc:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado.\") from exc\n", "\n", " if not hasattr(manager, 'X_train') or manager.X_train is None or getattr(manager, 'y_train', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_train' o 'y_train'.\")\n", "\n", " if getattr(manager, 'X_test', None) is None or getattr(manager, 'y_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices 'X_test' o 'y_test'.\")\n", "\n", " # 🎛️ Punto de Control del Arquitecto\n", " SEMILLA_MANUAL = 87499 # Reemplazar por la semilla que quieras fijar manualmente\n", "\n", " logger.info(f\">>> 🧠 DESATANDO OPTUNA CON VALIDACIÓN CRUZADA (SEMILLA MANUAL: {SEMILLA_MANUAL}) <<<\")\n", " logger.info(\"-\" * 80)\n", "\n", " # ==========================================\n", " # 4.1 Forja del Campeón\n", " # ==========================================\n", " modelo_campeon, umbral_entrenamiento, adn_campeon = forjar_oraculo_lightgbm(\n", " X_train=manager.X_train,\n", " y_train=manager.y_train,\n", " X_test=manager.X_test,\n", " y_test=manager.y_test,\n", " rutas=getattr(manager, 'rutas', {}),\n", " pesos_train=getattr(manager, 'pesos_train', None),\n", " grupos_cv=getattr(manager, 'grupos_cv', None),\n", " n_trials=40,\n", " n_splits=5,\n", " seed_estatica=SEMILLA_MANUAL,\n", " modo_silencioso=False,\n", " )\n", "\n", " # ==========================================\n", " # 4.2 Blindaje de Artefactos y Modelos\n", " # ==========================================\n", " if not hasattr(manager, 'modelos_preprocesamiento') or manager.modelos_preprocesamiento is None:\n", " manager.modelos_preprocesamiento = {}\n", "\n", " manager.modelos_preprocesamiento['oraculo_lightgbm'] = modelo_campeon\n", "\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('oraculo_lightgbm', modelo_campeon)\n", "\n", " if not hasattr(manager, 'artefactos') or manager.artefactos is None:\n", " manager.artefactos = {}\n", "\n", " info_target_final = detectar_naturaleza_target_mlops(manager.y_test)\n", " manager.artefactos['umbral_decision'] = umbral_entrenamiento\n", " manager.artefactos['modo_decision'] = (\n", " 'multiclass_argmax' if info_target_final['es_multiclase'] else 'binary_threshold'\n", " )\n", "\n", " if umbral_entrenamiento is None:\n", " logger.info(\" 💾 Artefacto Guardado: 'umbral_decision' = None (modo multiclass_argmax)\")\n", " else:\n", " logger.info(f\" 💾 Artefacto Guardado: 'umbral_decision' = {umbral_entrenamiento:.4f}\")\n", "\n", " logger.info(\"-\" * 80)\n", "\n", " # ==========================================\n", " # 4.3 Radiografía Final del Modelo\n", " # ==========================================\n", " matriz_final, exactitud_final = renderizar_matriz_confusion_mlops(\n", " modelo_calibrado=modelo_campeon,\n", " umbral_oro=umbral_entrenamiento,\n", " X_test=manager.X_test,\n", " y_test=manager.y_test,\n", " )\n", "\n", " logger.info(\"\\n📦 [MLOps] Oráculo final, modo de decisión y matriz táctica consolidados correctamente.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error Crítico en la forja del modelo: {e}\")" ] }, { "cell_type": "code", "execution_count": 151, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🧠 INICIANDO DIAGNÓSTICO DE CERTEZA <<<\n", "--------------------------------------------------------------------------------\n", "=== 🩺 FASE 19.1: Diagnóstico de Certeza Matemática (Reliability) ===\n", " 🔎 Extrayendo logits y probabilidades del Oráculo...\n" ] }, { "data": { "image/png": "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5eeR2WUJPmU9u/ZEyNtIhXJ5PeX4SrAos6Qy2yoBolSylj7Rsj4+Llk7L7PVMr41a9aokyLyc8raeukLnlbp4boeY2mhJSnbCxYsUMX0ZBZeeo1LQJwa8v6XomUyFjkZIc8rvwvS/kveo3HTv+V9JsdUgmrJyJCTUZJVIa+dHH8JoLVr4eX3QY7v9OnT1VdZjy2z2l988YWqwk9ERBmXRUxyc/iIiIgSkDW1EmwmDBQlcJHCUDJrK+nQRERERBkB12ATEZHOpHewVP2O2xtbaNcLv20mmIiIiCi9YYo4ERHpTNK7Je1W0sFltlrWKEsauaTjSnEufaR1ExEREZkLpogTEVGqSJGzJUuWqGrisn5W1gxLdXEpfCbrv4mIiIgyCgbYRERERERERHrANdhEREREREREesAAm4iIiIiIiEgPGGATERERERER6QEDbCIiIiIiIiI9YIBNREREREREpAcMsImIiIiIiIj0gAE2ERERERERkR4wwCYiIiIiIiLSAwbYRERERERERHrAAJuIiIiIiIgovQXYCxYswCeffPLWx7x48QLDhg1D5cqVUaVKFYwfPx4hISEGGyMRERERERFRYqxhIv744w/MmDEDlSpVeuvjBg0apALqpUuXwt/fH19//TWCg4Px008/GWysRERERERERCYXYD958gTffvstjh49inz58r31sadPn8axY8ewadMmFCxYUG2bMGECevbsiaFDh8LDw8NAoyYiIiIiIiIysRTxixcvwsbGBuvXr0fZsmXf+tgTJ04gW7ZsscG1kDRxCwsLnDx50gCjJSIiIiIiIjLRGez69eurS3Jnu3PkyBFvm62tLVxdXfHo0aM0GiERERERERGRGQTYKSFrryWgTsjOzg5hYWFJfl+DBg2SvE/WbssMOBEREREREb1WsWJFHg5zSxFPCXt7e4SHh7+xXYJrR0dHo4yJiIiIiIgoPYiKikJkZCRiYmKMPRSzZVYz2J6entixY0e8bRJw+/n5IXv27El+386dO5O8T7t2WwqsOTg46HG0RPrJ2rhz5w7fn2Sy+B4lU8b3J5kyvj/JFB06dEgVj168eLGxh2K2zCrAlt7XU6dOxd27d5E3b161TaqK6yN9QYJrzoKTqeL7k0wd36Nkyvj+JFPG9ycZi6+vr4qtqlatihYtWqhtDRs2VN2dLl26xBcmPaaIS4rC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D4S3R8PDdF0kPDNAExEROWnANplMWLRoEb788ks1fZBUNH7iiScQGxtb6/oHDx7ESy+9hJ07d6rWOVn/kUceQVRUVItvO5Ez0Gq1WL9+PXJycrBs2TI88MADjt4kImqsre/DUFqgxk2fzCvBydxSpOaVIrOwFKYK8yoyC7Ua9KEFgn3c0T7Q23wL8kL7QC942bZMp1Te2qry2i9CEBERuWzAfuONN/Dpp5/i+eefV9MHSXieOXMmvv/+e3h4VB3DJQFCphk699xzsXTpUjW+VF4n63/99deqiBNRW7B7925069ZNTT0jBcyefvppJCUl4corr3T0phFRA+iNJhxMKzR38U7JQ+eDe1BckAOTFOmxISMLfT11iAjwQkSAZ+W9F7zdbVumTYCxGDDyEFi4VduPRERELh2wJSAvWbIEs2fPxogRI9SyV155BRdccIGas1eKM9n69ddfUVxcjBdffBFeXuYJyCWQy2u3b9/OsabUJsydOxdvv/22CtVycUn07NlT3YjI2eealjB9ety0dPu2LRh2k7YE/m4V8HTXITAwGFGqVdobUUHeasosapgKTTmMumJUNHaqGSIiogZy6F/r/fv3o6ioqEowDggIQI8ePbBly5YaAVvWkxZvS7gW0k1c5Ofnt+CWEzlOfHy8uj927BgPA1ErmWtaxk5LmK5rrule0YGqkveE4hhEeRsQEBQMt2F3O2TbXYmhuBjpiYkI7d7d0ZtCRERthEMD9qlTp9R9+/btqywPDw+3PmcrJiZG3Wy98847KnDLWGwiVyO9GyVIl7t5omPlsilTpqBv377o1auXg7eOiOw+1/SGVUBZgXRu5s4lIiJqhXSOnlZIVB9rLWOp8/Lyzvp6GYf98ccf47HHHkNISEid640ePbrO55577jmpEwO9Xq+udBM5k43r12PHxvXw238EU68otPbY6Ny5sxouQeRolt/jlntnJYXCagu8FkE+7ogKPN076kyyi8qxJ7UAe1LzsfdkAXanFiCzsOa0VTqNG7pF+qFXlD96tg9A7yh/dG7nA13lz7FFaenpfafTl8NNr1ddm/k3qe2cn9Q28fwkck0ODdiWrt4yFtu223dZWZl1Pt+6WgsWLFiAN998E7fffjumT5/e5G3Jzs5R3ciInElMTDQSvbzQvn0k9uzZo4qaETmjo0ePwlllFBtx94oM6E8Pda7B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hAHbieazfv7553HzzTejV69eatkNN9yAadOmwdvbtaePkqJghzKKrN2796bkY29qHorKjTXW9dBq0DXSH72iA9AzKlCF6W6R/vBy1zpk29siqbYu05pxbnEiIiIioqoYsJ3ECy+8gK+++koF7S+++EItk67hcnMl5QYTDqQVWMO0jJ1OPJlfa2uol7tGtUT3igpE7+hA9IwOQJdwf3joNPX+fmxtbb6QzXnDiYiIiIiqYsB24HhivV4PDw9zN9oHH3xQhes5c+bAVZTqjSo8W8ZKS6D++1RBrdNU+Xnq0EO6d6tWaXM3bxlDLQXFmoKtrURERERE1FIYsB1gz549eOyxxzBo0CD861//Usuio6NVxfDWqrDMYA7Taqy0+T4po1DN+1xdoLe7OURHSau0edx0x1DfWqto2wNbW4mIiIiIqCUwYDuAtFRv2bIFBw8exD333ANfX1+0JnklejVG2hqmU/NwJLMIFTWzNEJ9PczFx6IDzN28owJVZW83KfNNRERERETkQhiwW2g+65SUFCQkJKjHF198MR599FFMmDDB6cN1VmGZ6uJtruZtDtTHsotrXTcywMsaps1dvQMREeDJME1ERERERG0CA3Yz27dvH2bMmAGdTofVq1fD09McOO+44w4425jw9IKyKq3SMm46Na+01vVjQ7ytIbpnlLmidzt/zxbfbiIiIiIiImfBgN3M4uLiVDEzo9GIo0ePomvXrnCGMJ2SW6KCtLRK764M1ZmFZbWuL8XGLGOlpZu3FCML8uEcx0RERERERLYYsO0sLS0NK1asUHNYC+kC/tFHHyE+Pt4h81mbTBVIzi6uMse03OcW62usKzXGEsL9zN28K1unu7f3h7+Xa00VRkRERERE1BwYsO0oLy8PI0eOVPfSUj106FC1vFevXmgJUrH7cEahdX5pCdX7UvNRUGaosa671g3nRPhbp8WSFurukQHw9tC2yLYSERERERG5GgZsOwoMDMT48eOxe/du+Pn5oTnpjSYcTCu0jpWWbt6JJwtQojfWWNdDp0H39lJ4zDy/tHTz7hLhB08dwzQREREREZG9MGA3cT7rF198ES+//DLatWunlj3xxBOqkJlGo7HXMUKp3ogDaQXWsdIybnr/yQKUG0011vXx0FqLjlkqese384O71n7bQ0RERERERDUxYDehUNgjjzyCHTt2YP78+bjr4SeQU1Re+azl/rRgXw9EB519DHZxuQGJJ/OtXbxliqyDaQUwmGpOMu3vpbN28TZX8w5EpzBfaGUwNREREREREbUoBuwGKCsrU9NtabVaNdWWtFZ/+OGHmHT9LRg173eUGWq2KFt46jRYPXtElZCdX6pXY6TNc0yb7w9lFKKWLI0QXw/VMm3p4i3BWqbKku0gIiIiIiIix2PArqeVK1eqQD1r1ixcc801atmgQYPUTYLxmcK1kOdXJ6ahsMxoHTd9NKu41nXD/T1ViLZMjSWhun2gF8M0ERERERGRE2PArqfDhw/j2LFjqsV6ypQpjQq7j3+7t8YyadFWXbwrx0xLK3V4gFeD35uIiIiIiIjaeMA2mUxYtGgRvvzySxQUFOC8885TLcWxsbG1rp+Tk4Nnn30Wf/zxhwq5l112GR566CG7zzGdkZGB4uJixMXFqcczZsxQ466nT5/e6JZkaYU+Ny749LjpqEA1NpuIiIiIiMhlmEzAmueB7R8BpXlA3HDgsnlAcEe4OoeXln7jjTfw6aef4plnnsGyZctU4J45cybKy2sWChPSRTs5ORkffPABFixYgDVr1uCpp56y6zb98ssvOP/88zF79mwVqoWHhwduu+02+Pr6Nvp9371uIF6/9lzcPiIeF3Rpx3BNRERERESu548XgS3vAVcsAG76BagwAksnAobaM54rcWjAlhC9ZMkSFZpHjBiBbt264ZVXXsGpU6dUyK1OKnZv3rwZL7zwAnr27ImhQ4di7ty5+Pbbb5GWlma37erevTv0ej2KioqQm5trt/clIiIiIiJyaYZyYMMiYOS/gHMuASJ7A5PeB/JTgcTv4OocGrD379+vQqwEZYuAgAD06NEDW7ZsqbH+1q1b1XzT8fHx1mVSZEy6bG/btq1J27Jr1y7r19I9/bvvvsMPP/yA4ODgJr0vERERERFRm3FqN1BeAHQacXqZdxDQvi+QvB6uzqFjsKWlWrRv377K8vDwcOtztqSVuvq60nU7KCgIJ0+erPP7jB49us7npDXc6O4LzcAbaoR0aTGvD+lE/sX/RZx1vdJTSdhW82MRnVViYiL3Ejk1nqPkzHh+kjPj+UlOSeetevSeKUetWrWq9ifyU8z3gdFVl/tHAnmVz7kwh7Zgl5SUWEOyLU9PTzXndG3rV1/3TOvXm5sGFR7+jX+5TdCu62a7HhERERERkdNy08BgMDTutXpzxoPWs+pynRdgKIWrc2gLtpeXl3UstuVrIWG5tqrgsk5txc9kfR8fn4ZfXSEiIiIiIiL75Sj3ylxnLAM0NplOwrVH4wtGtxYObcG2dPdOT0+vslweR0TU7HIdGRlZY10J3FKITLqVExERERERkQMFxJjvC6oN4S04BfhXHe7rihwasKVquJ+fHzZt2mRdlp+fj3379qn5sKuTZTI2W6bpspCq4mLAgAEttNVERERERERUq8hegGcAcHTd6WUlucDJnUDcMJffaQ7tIi7jqadNm4Z58+YhJCQE0dHReOmll1RL9dixY2E0GpGdnQ1/f3/VPbxv374499xzcd9996m5r4uLi/HEE09gwoQJtbZ4ExERERERUQvSeQKDbgZWPgn4hAFBHYCVj5uLnvUY7/KHwq2iosJSg8shJETPnz8fy5cvR2lpqWqlltAcExODEydOqMp1zz33HCZOnKjWz8rKwtNPP421a9eq4mbjxo3DnDlz1NdERERERETkYCYjsOppYMcn5rHX0nL9j3lAcBxcncMDNhEREREREZErcOgYbCIiIiIiIiJXwYBNREREREREZAcM2ERERERERER2wIBNREREREREZAcM2ERERERERER2wIBNREREREREZAcuH7BNJhNee+01XHDBBejXrx9uvvlmHD9+vM71c3Jy8MADD6j5uAcNGqTm3C4pKWnRbaa2o6Hn58GDB3HLLbdg8ODBGDp0KGbNmoXU1NQW3WZqWxp6jtr67rvv0LVrV5w4caLZt5Papoaen3q9Hi+//LJ1/WnTpiExMbFFt5najoaen1lZWep/0CFDhqi/8/fddx/S0tJadJupbXr77bcxffr0M67DjFR/Lh+w33jjDXz66ad45plnsGzZMvXLbubMmSgvL691fQksycnJ+OCDD7BgwQKsWbMGTz31VItvN7UNDTk/5RfbjBkz4OXlhaVLl+Ldd99Fdna2Wr+srMwh20+ur6G/Qy1SUlIwd+7cFttOapsaen7K3/Ply5fjP//5D/773/8iJCREhZ6CgoIW33ZyfQ09P++991510fz9999XN/n6zjvvbPHtprblk08+wauvvnrW9ZiRGqDChZWVlVX079+/4pNPPrEuy8vLq+jTp0/F999/X2P97du3V5xzzjkVSUlJ1mVr166t6Nq1a8WpU6dabLupbWjo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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "### 📊 Resultado del Diagnóstico MLOps" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " • Brier Score: 0.1457\n", " 🟡 Diagnóstico: Ligera descalibración detectada. Sugerido: Platt Scaling.\n", "\n", "⏱️ Diagnóstico completado en 0.672s\n", " 💾 Telemetría guardada: brier_score_pre_calibracion = 0.1457\n", "📦 [MLOps] Diagnóstico de certeza consolidado correctamente en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import logging\n", "import time\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns\n", "\n", "from IPython.display import display, Markdown\n", "from sklearn.calibration import calibration_curve\n", "from sklearn.metrics import brier_score_loss, log_loss\n", "from sklearn.utils.multiclass import type_of_target\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# 🛡️ Bandera de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker / Headless)\n", "\n", "\n", "# ==========================================\n", "# 1. Blindajes Auxiliares del Espacio Vectorial\n", "# ==========================================\n", "if 'alinear_features_oraculo_mlops' not in globals():\n", " def alinear_features_oraculo_mlops(modelo, X: pd.DataFrame) -> pd.DataFrame:\n", " \"\"\"\n", " [FASE 19 - Blindaje de Compatibilidad]\n", " - Alinea las features del request contra las features esperadas por el modelo.\n", " - Elimina columnas extra.\n", " - Crea columnas faltantes en cero.\n", " - Respeta el orden exacto del entrenamiento.\n", " \"\"\"\n", " nombres = None\n", "\n", " if hasattr(modelo, 'feature_names_in_'):\n", " nombres = list(modelo.feature_names_in_)\n", " elif hasattr(modelo, 'feature_name_'):\n", " try:\n", " nombres = list(modelo.feature_name_)\n", " except Exception:\n", " nombres = None\n", " elif hasattr(modelo, 'feature_name'):\n", " try:\n", " nombres = list(modelo.feature_name())\n", " except Exception:\n", " nombres = None\n", "\n", " if not nombres:\n", " return X\n", "\n", " X_alineada = X.copy()\n", "\n", " extras = [col for col in X_alineada.columns if col not in nombres]\n", " if extras:\n", " X_alineada = X_alineada.drop(columns=extras, errors='ignore')\n", "\n", " faltantes = [col for col in nombres if col not in X_alineada.columns]\n", " for col in faltantes:\n", " X_alineada[col] = 0\n", "\n", " return X_alineada[nombres]\n", "\n", "\n", "# ==========================================\n", "# 2. FASE 19.1: DIAGNÓSTICO DE CERTEZA MATEMÁTICA\n", "# ==========================================\n", "def evaluar_certeza_oraculo(\n", " modelo,\n", " X_test: pd.DataFrame,\n", " y_test: pd.Series,\n", " n_bins: int = 10\n", "):\n", " \"\"\"\n", " [FASE 7 - Paso 19.1] Diagnóstico de Certeza Matemática (Reliability).\n", " - 🔍 Inspecciona la honestidad probabilística del Oráculo.\n", " - 🎯 En binario usa Brier Score.\n", " - 🧠 En multiclase usa Log Loss + curvas OVR.\n", " - 📊 Genera una radiografía visual del nivel de confianza del modelo.\n", " \"\"\"\n", " logger.info(\"=== 🩺 FASE 19.1: Diagnóstico de Certeza Matemática (Reliability) ===\")\n", " inicio_timer = time.time()\n", "\n", " if not hasattr(modelo, \"predict_proba\"):\n", " logger.error(\"🛑 Error Crítico: El modelo no soporta 'predict_proba'.\")\n", " raise ValueError(\"El modelo no soporta 'predict_proba'.\")\n", "\n", " serie_target = pd.Series(y_test).dropna()\n", " tipo_target = type_of_target(\n", " serie_target if pd.api.types.is_numeric_dtype(serie_target) else serie_target.astype(str)\n", " )\n", " es_multiclase = tipo_target == 'multiclass'\n", "\n", " logger.info(\" 🔎 Extrayendo logits y probabilidades del Oráculo...\")\n", " X_test_modelo = alinear_features_oraculo_mlops(modelo, X_test)\n", " probabilidades = modelo.predict_proba(X_test_modelo)\n", "\n", " # ==========================================\n", " # 2A. MODO MULTICLASE\n", " # ==========================================\n", " if es_multiclase:\n", " clases = list(getattr(modelo, 'classes_', np.sort(serie_target.unique())))\n", " score_logloss = float(log_loss(y_test, probabilidades, labels=clases))\n", "\n", " manager_ref = globals().get('manager', None)\n", " etiquetas_target, nombres_target = resolver_etiquetas_target_mlops(y_test, manager_ref=manager_ref)\n", " mapa_nombres = {etiqueta: str(nombre) for etiqueta, nombre in zip(etiquetas_target, nombres_target)}\n", " nombres_clases = [mapa_nombres.get(clase, str(clase)) for clase in clases]\n", "\n", " if MODO_VISUAL:\n", " sns.set_theme(style=\"whitegrid\")\n", " fig, ax = plt.subplots(figsize=(10, 6))\n", " ax.plot([0, 1], [0, 1], \"k:\", linewidth=2, label=\"Calibración Perfecta\")\n", "\n", " paleta = sns.color_palette(\"tab10\", n_colors=max(len(clases), 3))\n", " y_array = pd.Series(y_test).to_numpy()\n", "\n", " for idx, (clase, nombre, color) in enumerate(zip(clases, nombres_clases, paleta)):\n", " y_binario = (y_array == clase).astype(int)\n", " if y_binario.sum() == 0:\n", " continue\n", "\n", " fraccion_positivos, valor_medio_predicho = calibration_curve(\n", " y_binario,\n", " probabilidades[:, idx],\n", " n_bins=n_bins,\n", " strategy='uniform'\n", " )\n", "\n", " ax.plot(\n", " valor_medio_predicho,\n", " fraccion_positivos,\n", " \"o-\",\n", " color=color,\n", " linewidth=2.5,\n", " label=f\"{nombre} (OVR)\"\n", " )\n", "\n", " ax.set_title(\n", " f\"Radiografía Base del Oráculo Multiclase (Sin Calibrar)\\n(Log Loss: {score_logloss:.4f})\",\n", " fontsize=14,\n", " pad=15\n", " )\n", " ax.set_xlabel(\"Probabilidad Media Predicha\", fontsize=12)\n", " ax.set_ylabel(\"Frecuencia Real Observada\", fontsize=12)\n", " ax.set_xlim([0.0, 1.0])\n", " ax.set_ylim([0.0, 1.0])\n", " ax.legend(loc=\"lower right\", fontsize=9)\n", " plt.tight_layout()\n", " plt.show()\n", " display(Markdown(\"### 🧠 Radiografía Base del Oráculo Multiclase\"))\n", " else:\n", " logger.info(f\" 📴 [HEADLESS] Log Loss multiclase calculado: {score_logloss:.4f}. Gráficos omitidos.\")\n", " logger.info(\"### 🧠 Radiografía Base del Oráculo Multiclase\")\n", "\n", " logger.info(f\" • Log Loss Multiclase: {score_logloss:.4f}\")\n", " logger.info(f\" • Confianza Máxima Media: {np.mean(np.max(probabilidades, axis=1)):.4f}\")\n", " logger.info(f\"\\n⏱️ Diagnóstico completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return score_logloss\n", "\n", " # ==========================================\n", " # 2B. MODO BINARIO\n", " # ==========================================\n", " probabilidades = probabilidades[:, 1]\n", " brier_score = brier_score_loss(y_test, probabilidades)\n", " fraccion_positivos, valor_medio_predicho = calibration_curve(\n", " y_test,\n", " probabilidades,\n", " n_bins=n_bins,\n", " strategy='uniform'\n", " )\n", "\n", " if MODO_VISUAL:\n", " sns.set_theme(style=\"whitegrid\")\n", " fig, ax1 = plt.subplots(figsize=(10, 6))\n", "\n", " ax1.plot([0, 1], [0, 1], \"k:\", label=\"Calibración Perfecta\")\n", " ax1.plot(\n", " valor_medio_predicho,\n", " fraccion_positivos,\n", " \"s-\",\n", " color=\"#1f77b4\",\n", " label=f\"Modelo (Brier: {brier_score:.4f})\"\n", " )\n", " ax1.set_ylabel(\"Fracción de Positivos Reales\", fontsize=12)\n", " ax1.set_xlabel(\"Probabilidad Predicha por el Modelo\", fontsize=12)\n", " ax1.set_title(\"Diagrama de Confiabilidad\", fontsize=14, pad=15)\n", " ax1.set_xlim([0.0, 1.0])\n", " ax1.set_ylim([0.0, 1.0])\n", " ax1.legend(loc=\"upper left\")\n", "\n", " ax2 = ax1.twinx()\n", " ax2.hist(\n", " probabilidades,\n", " range=(0, 1),\n", " bins=n_bins,\n", " histtype=\"step\",\n", " lw=2,\n", " color=\"#ff7f0e\",\n", " alpha=0.5\n", " )\n", " ax2.set_ylabel(\"Densidad de Predicciones\", color=\"#ff7f0e\", fontsize=12)\n", " ax2.tick_params(axis='y', labelcolor=\"#ff7f0e\")\n", "\n", " plt.tight_layout()\n", " plt.show()\n", " display(Markdown(\"### 📊 Resultado del Diagnóstico MLOps\"))\n", " else:\n", " logger.info(f\" 📴 [HEADLESS] Brier Score calculado: {brier_score:.4f}. Gráficos omitidos.\")\n", " logger.info(\"### 📊 Resultado del Diagnóstico MLOps\")\n", "\n", " logger.info(f\" • Brier Score: {brier_score:.4f}\")\n", "\n", " if brier_score < 0.10:\n", " logger.info(\" 🟢 Diagnóstico: El modelo es extremadamente honesto.\")\n", " elif brier_score < 0.20:\n", " logger.warning(\" 🟡 Diagnóstico: Ligera descalibración detectada. Sugerido: Platt Scaling.\")\n", " else:\n", " logger.warning(\" 🔴 Diagnóstico: Modelo sobreconfiado o mentiroso. Calibración obligatoria.\")\n", "\n", " logger.info(f\"\\n⏱️ Diagnóstico completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return brier_score\n", "\n", "\n", "# ==========================================\n", "# 3. Celda de Ejecución Maestra\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError as exc:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Ejecuta las fases previas.\") from exc\n", "\n", " if getattr(manager, 'modelos_preprocesamiento', None) is None or 'oraculo_lightgbm' not in manager.modelos_preprocesamiento:\n", " raise ValueError(\n", " \"El modelo 'oraculo_lightgbm' no existe en la caja fuerte del Manager. Ejecuta la Fase 18.3.\"\n", " )\n", "\n", " if getattr(manager, 'X_test', None) is None or getattr(manager, 'y_test', None) is None:\n", " raise ValueError(\n", " \"El Manager no tiene cargadas las matrices de Test ('X_test' o 'y_test').\"\n", " )\n", "\n", " modelo_campeon = manager.modelos_preprocesamiento['oraculo_lightgbm']\n", "\n", " logger.info(\">>> 🧠 INICIANDO DIAGNÓSTICO DE CERTEZA <<<\")\n", " logger.info(\"-\" * 80)\n", "\n", " score_brier_actual = evaluar_certeza_oraculo(\n", " modelo=modelo_campeon,\n", " X_test=manager.X_test,\n", " y_test=manager.y_test,\n", " n_bins=10\n", " )\n", "\n", " # ==========================================\n", " # 3.1 Blindaje de Telemetría MLOps\n", " # ==========================================\n", " if score_brier_actual is not None:\n", " info_target_final = type_of_target(pd.Series(manager.y_test).dropna())\n", " nombre_artefacto = (\n", " 'log_loss_pre_calibracion'\n", " if info_target_final == 'multiclass'\n", " else 'brier_score_pre_calibracion'\n", " )\n", "\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto(nombre_artefacto, score_brier_actual)\n", " else:\n", " if not hasattr(manager, 'artefactos'):\n", " manager.artefactos = {}\n", " manager.artefactos[nombre_artefacto] = score_brier_actual\n", "\n", " logger.info(f\" 💾 Telemetría guardada: {nombre_artefacto} = {score_brier_actual:.4f}\")\n", " logger.info(\"📦 [MLOps] Diagnóstico de certeza consolidado correctamente en el PipelineManager.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el Diagnóstico Post-hoc: {e}\")" ] }, { "cell_type": "code", "execution_count": 152, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🧠 INICIANDO FASE DE CALIBRACIÓN Y DECISIÓN <<<\n", "--------------------------------------------------------------------------------\n", "\n", "==================================================\n", "=== 💉 FASE 19.2: Calibración Matemática ===\n", "==================================================\n", " 🧠 Motor de calibración seleccionado: ISOTONIC\n" ] }, { "data": { "image/png": "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0WhU6wJLJU9551gqy3Xv3h2PPvqoWu9MfjlIwYaJEydW2UNI1FDvZ1lf9ZtvvlEhW4ZrpaWlmY9lakNkL/dzxdBhKrQj8/yk+AiRPd3PUgiqX79++L//+z+1prvcw2+99RYcHR0xYcIEvphkV/ez/J384YcfqlFyDz/8sDqGTE2Teas33XQTX01qsGozCzbaHmzTYuGTJk3C008/jalTp6r/vOSXgJRrl2pwMvdJQoiQqofvvPOOqrx85513ql8UsoTGX1pcnKie72fp7RPz589X2y0fpjZE9nI/EzW2+/ntt99Wb34+8MAD6nkyJ/vjjz9mEUqyu/tZhs6uXLlS1XyRv59nzJih2sk2CS5EDVVtZkEHWQy7Fs6ZiIiIiIiI6KrSqHuwiYiIiIiIiOoKAzYRERERERGRDTBgExEREREREdkAAzYRERERERGRDTBgExEREREREdkAAzYRERERERGRDTBgExEREREREdkAAzYRERERERGRDTBgExFRvRk6dCjatWtnfkRHR6N79+6YNm0a9u7de0XH3r17tzrmmTNnavUY06dPxxNPPKE+Xr16tWpv+f29/fbbVT5X9kmbK3GpY8i5yTnde++9mvu//vprtV++jyshX8d0DLlecky5fg3x3qjJa235ul7K5bQlIqLGzam+T4CIiK5uM2fOVA9RVlaGrKwsvPbaa5g1axY2btyIpk2boiGTgOvo6Ki578svv4Srqyvqm7OzM3788Ufk5eXBy8vLat8333wDBwcHm369sLAw/PDDD/D19bXbe6O615WIiKgq7MEmIqJ65eHhgaCgIPUIDg5G27Zt8dxzz6GoqAhbtmxp8K+On58fvL29Nff5+/vD09MT9a1Tp05wc3PDtm3brLZL4N61axd69Ohh068nwVReTxcXF7u9N6p7XYmIiKrCgE1ERA2Ok1P5ACtTQJPhwi+//DLGjBmDa6+9Fnv27IHRaMSyZcswcuRIdO7cWf372WefVTqWhMrhw4erNjKUNyEhwbwvOzsbTz/9NAYMGICOHTuib9++6vPCwsIaH6O64cEVh4j/73//w/XXX48uXbqoIdvy9S0dOXIE99xzD3r16qVC8bBhw7B06VKrNpc6RlU92HKsb7/91mr7d999p4ZFN2/e3Gp7SkoKHn30UfTs2VNdb/k6J0+eNO+X3uSFCxdi4MCB6NatG558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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "### 📊 Radiografía Visual de Calibración Binaria" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " • Brier Score PRE-Calibración: 0.1457\n", " • Brier Score POST-Calibración: 0.0910\n", " 🟢 Mejora detectada: 0.0547 puntos menos de Brier Score.\n", "\n", "⏱️ Calibración completada en 11.338s\n", " 💾 El modelo 'oraculo_calibrado' fue almacenado exitosamente en el Manager.\n", " 💾 El 'umbral_decision' (0.3688) fue almacenado exitosamente en el Manager.\n", "\n", "📦 [MLOps] Calibración y modo de decisión consolidados correctamente en el PipelineManager.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import logging\n", "import time\n", "import gc\n", "import inspect\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns\n", "\n", "from IPython.display import display, Markdown\n", "from sklearn.calibration import CalibratedClassifierCV, calibration_curve\n", "from sklearn.metrics import (\n", " brier_score_loss,\n", " f1_score,\n", " classification_report,\n", " accuracy_score,\n", " log_loss,\n", " balanced_accuracy_score,\n", ")\n", "\n", "from sklearn.utils.multiclass import type_of_target\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# 🛡️ Bandera de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker / Headless)\n", "\n", "\n", "# ==========================================\n", "# 1. Blindajes Auxiliares del Target y Features\n", "# ==========================================\n", "if 'detectar_naturaleza_target_mlops' not in globals():\n", " def detectar_naturaleza_target_mlops(y: pd.Series) -> dict:\n", " \"\"\"\n", " [FASE 19 - Escáner de Naturaleza del Target]\n", " - Detecta si el problema es binario, multiclase o regresión.\n", " - Devuelve una ficha técnica estándar para el resto del pipeline.\n", " \"\"\"\n", " serie = pd.Series(y).dropna()\n", "\n", " if serie.empty:\n", " return {\n", " 'tipo': 'desconocido',\n", " 'es_regresion': False,\n", " 'es_binario': False,\n", " 'es_multiclase': False,\n", " 'num_clases': 0\n", " }\n", "\n", " serie_tipada = serie if pd.api.types.is_numeric_dtype(serie) else serie.astype(str)\n", "\n", " try:\n", " tipo_detectado = type_of_target(serie_tipada)\n", " except Exception:\n", " tipo_detectado = 'desconocido'\n", "\n", " es_regresion = tipo_detectado in ('continuous', 'continuous-multioutput')\n", " num_clases = int(serie.nunique()) if not es_regresion else 0\n", " es_multiclase = (not es_regresion) and num_clases > 2\n", " es_binario = (not es_regresion) and num_clases == 2\n", "\n", " if es_regresion:\n", " tipo = 'regression'\n", " elif es_multiclase:\n", " tipo = 'multiclass'\n", " elif es_binario:\n", " tipo = 'binary'\n", " else:\n", " tipo = 'desconocido'\n", "\n", " return {\n", " 'tipo': tipo,\n", " 'es_regresion': es_regresion,\n", " 'es_binario': es_binario,\n", " 'es_multiclase': es_multiclase,\n", " 'num_clases': num_clases\n", " }\n", "\n", "\n", "if 'resolver_etiquetas_target_mlops' not in globals():\n", " def resolver_etiquetas_target_mlops(y: pd.Series, manager_ref=None):\n", " \"\"\"\n", " Resuelve etiquetas crudas y nombres humanos del target.\n", " Si existe un diccionario maestro en artefactos, lo usa.\n", " \"\"\"\n", " serie = pd.Series(y).dropna()\n", " etiquetas = sorted(serie.unique().tolist())\n", " nombres = [str(etiqueta) for etiqueta in etiquetas]\n", "\n", " artefactos = getattr(manager_ref, 'artefactos', {}) if manager_ref is not None else {}\n", " diccionario = artefactos.get('diccionario_target_maestro') if isinstance(artefactos, dict) else None\n", "\n", " if isinstance(diccionario, dict) and diccionario:\n", " diccionario_inverso = {valor: clave for clave, valor in diccionario.items()}\n", " if all(etiqueta in diccionario_inverso for etiqueta in etiquetas):\n", " nombres = [str(diccionario_inverso[etiqueta]) for etiqueta in etiquetas]\n", "\n", " return etiquetas, nombres\n", "\n", "\n", "if 'predecir_argmax_multiclase_mlops' not in globals():\n", " def predecir_argmax_multiclase_mlops(modelo, X: pd.DataFrame):\n", " \"\"\"\n", " Ejecuta predicción robusta para multiclase.\n", " - Si hay predict_proba, usa Argmax.\n", " - Si no, cae en predict().\n", " \"\"\"\n", " if hasattr(modelo, \"predict_proba\"):\n", " probabilidades = np.asarray(modelo.predict_proba(X))\n", " if probabilidades.ndim == 2 and probabilidades.shape[1] > 1:\n", " clases = np.asarray(getattr(modelo, 'classes_', np.arange(probabilidades.shape[1])))\n", " predicciones = clases[np.argmax(probabilidades, axis=1)]\n", " return predicciones, probabilidades\n", "\n", " return np.asarray(modelo.predict(X)), None\n", "\n", "\n", "if 'alinear_features_oraculo_mlops' not in globals():\n", " def alinear_features_oraculo_mlops(modelo, X: pd.DataFrame) -> pd.DataFrame:\n", " \"\"\"\n", " Alinea el DataFrame con las features esperadas por el modelo:\n", " - elimina columnas extra,\n", " - crea faltantes en cero,\n", " - respeta el orden exacto del entrenamiento.\n", " \"\"\"\n", " nombres = None\n", "\n", " if hasattr(modelo, 'feature_names_in_'):\n", " nombres = list(modelo.feature_names_in_)\n", " elif hasattr(modelo, 'feature_name_'):\n", " try:\n", " nombres = list(modelo.feature_name_)\n", " except Exception:\n", " nombres = None\n", " elif hasattr(modelo, 'feature_name'):\n", " try:\n", " nombres = list(modelo.feature_name())\n", " except Exception:\n", " nombres = None\n", "\n", " if not nombres:\n", " return X\n", "\n", " X_alineada = X.copy()\n", "\n", " extras = [col for col in X_alineada.columns if col not in nombres]\n", " if extras:\n", " X_alineada = X_alineada.drop(columns=extras, errors='ignore')\n", "\n", " faltantes = [col for col in nombres if col not in X_alineada.columns]\n", " for col in faltantes:\n", " X_alineada[col] = 0\n", "\n", " return X_alineada[nombres]\n", "\n", "\n", "if 'calcular_metricas_multiclase_mlops' not in globals():\n", " def calcular_metricas_multiclase_mlops(y_true, y_pred) -> dict:\n", " \"\"\"\n", " Calcula el paquete ejecutivo de métricas multiclase.\n", " \"\"\"\n", " macro_f1 = float(f1_score(y_true, y_pred, average='macro', zero_division=0))\n", " weighted_f1 = float(f1_score(y_true, y_pred, average='weighted', zero_division=0))\n", " exactitud = float(accuracy_score(y_true, y_pred))\n", " balanced_acc = float(balanced_accuracy_score(y_true, y_pred))\n", " score_compuesto = float((0.7 * macro_f1) + (0.3 * weighted_f1))\n", "\n", " return {\n", " 'macro_f1': macro_f1,\n", " 'weighted_f1': weighted_f1,\n", " 'exactitud': exactitud,\n", " 'balanced_accuracy': balanced_acc,\n", " 'score_compuesto': score_compuesto\n", " }\n", "\n", "\n", "# ==========================================\n", "# 2. Renderizadores Visuales de Calibración\n", "# ==========================================\n", "def graficar_calibracion_binaria_mlops(proba_antes, proba_despues, y_true):\n", " \"\"\"\n", " Genera la radiografía PRE vs POST de calibración binaria.\n", " \"\"\"\n", " plt.close('all')\n", " sns.set_theme(style=\"whitegrid\")\n", " fig, ax = plt.subplots(figsize=(10, 6))\n", "\n", " fraccion_antes, media_antes = calibration_curve(y_true, proba_antes, n_bins=10, strategy='uniform')\n", " fraccion_despues, media_despues = calibration_curve(y_true, proba_despues, n_bins=10, strategy='uniform')\n", "\n", " ax.plot([0, 1], [0, 1], 'k:', linewidth=2, label='Calibración ideal')\n", " ax.plot(media_antes, fraccion_antes, 'o--', color='#C44E52', linewidth=2, label='Antes')\n", " ax.plot(media_despues, fraccion_despues, 'o-', color='#4C72B0', linewidth=3, label='Después')\n", "\n", " ax.set_title(\"Radiografía de Calibración Binaria\", fontsize=13, pad=15, fontweight='bold')\n", " ax.set_xlabel(\"Probabilidad Media Predicha\", fontsize=11)\n", " ax.set_ylabel(\"Frecuencia Real\", fontsize=11)\n", " ax.set_xlim([0.0, 1.0])\n", " ax.set_ylim([0.0, 1.0])\n", " ax.legend(loc='upper left', fontsize=10)\n", "\n", " plt.tight_layout()\n", " return fig\n", "\n", "\n", "def graficar_calibracion_multiclase_mlops(\n", " proba_antes,\n", " proba_despues,\n", " y_true,\n", " etiquetas_clase,\n", " nombres_clase,\n", " logloss_antes=None,\n", " logloss_despues=None\n", "):\n", " \"\"\"\n", " Genera la radiografía PRE -> POST de calibración multiclase.\n", " \"\"\"\n", " plt.close('all')\n", " sns.set_theme(style=\"whitegrid\")\n", " fig, ax = plt.subplots(figsize=(10.5, 6))\n", " ax.plot([0, 1], [0, 1], 'k:', linewidth=2, label='Calibración ideal')\n", "\n", " paleta = sns.color_palette(\"tab10\", n_colors=max(len(etiquetas_clase), 3))\n", " y_array = pd.Series(y_true).to_numpy()\n", "\n", " for idx, (etiqueta, nombre, color) in enumerate(zip(etiquetas_clase, nombres_clase, paleta)):\n", " y_binario = (y_array == etiqueta).astype(int)\n", " if y_binario.sum() == 0:\n", " continue\n", "\n", " fraccion_antes, media_antes = calibration_curve(\n", " y_binario,\n", " proba_antes[:, idx],\n", " n_bins=8,\n", " strategy='uniform'\n", " )\n", " fraccion_despues, media_despues = calibration_curve(\n", " y_binario,\n", " proba_despues[:, idx],\n", " n_bins=8,\n", " strategy='uniform'\n", " )\n", "\n", " ax.plot(\n", " media_antes,\n", " fraccion_antes,\n", " 'o--',\n", " color=color,\n", " alpha=0.35,\n", " linewidth=1.8,\n", " markersize=5,\n", " label=f'{nombre} PRE'\n", " )\n", " ax.plot(\n", " media_despues,\n", " fraccion_despues,\n", " 'o-',\n", " color=color,\n", " linewidth=2.8,\n", " markersize=6,\n", " label=f'{nombre} POST'\n", " )\n", "\n", " pares = min(len(media_antes), len(media_despues))\n", " for j in range(pares):\n", " ax.annotate(\n", " '',\n", " xy=(media_despues[j], fraccion_despues[j]),\n", " xytext=(media_antes[j], fraccion_antes[j]),\n", " arrowprops=dict(\n", " arrowstyle='->',\n", " color=color,\n", " lw=1.4,\n", " alpha=0.45,\n", " shrinkA=3,\n", " shrinkB=3\n", " )\n", " )\n", "\n", " titulo = \"Radiografía Calibrada Multiclase (Desplazamiento PRE -> POST)\"\n", " if logloss_antes is not None and logloss_despues is not None:\n", " delta = float(logloss_despues - logloss_antes)\n", " titulo += f\"\\n(Log Loss: {logloss_antes:.4f} -> {logloss_despues:.4f} | Cambio: {delta:+.4f})\"\n", "\n", " ax.set_title(titulo, fontsize=13, pad=15, fontweight='bold')\n", " ax.set_xlabel(\"Probabilidad Media Predicha\", fontsize=11)\n", " ax.set_ylabel(\"Frecuencia Real OVR\", fontsize=11)\n", " ax.set_xlim([0.0, 1.0])\n", " ax.set_ylim([0.0, 1.0])\n", " ax.legend(loc='best', fontsize=8)\n", "\n", " plt.tight_layout()\n", " return fig\n", "\n", "\n", "# ==========================================\n", "# 3. FASE 19.2: CALIBRACIÓN ISOTÓNICA / PLATT\n", "# ==========================================\n", "def calibrar_oraculo_mlops(\n", " modelo_base,\n", " X_train: pd.DataFrame,\n", " y_train: pd.Series,\n", " X_test: pd.DataFrame,\n", " y_test: pd.Series,\n", " cv: int = 5\n", "):\n", " \"\"\"\n", " [FASE 7 - Paso 19.2] Calibración Matemática del Oráculo.\n", " - 💉 Repara la honestidad probabilística del modelo.\n", " - 🎯 Binario: usa isotonic.\n", " - 🧠 Multiclase: usa sigmoid.\n", " - 📊 Emite radiografía PRE vs POST.\n", " \"\"\"\n", " logger.info(\"\\n\" + \"=\" * 50)\n", " logger.info(\"=== 💉 FASE 19.2: Calibración Matemática ===\")\n", " logger.info(\"=\" * 50)\n", "\n", " inicio_timer = time.time()\n", "\n", " info_target = detectar_naturaleza_target_mlops(y_test)\n", " es_multiclase = info_target['es_multiclase']\n", "\n", " X_train_modelo = alinear_features_oraculo_mlops(modelo_base, X_train)\n", " X_test_modelo = alinear_features_oraculo_mlops(modelo_base, X_test)\n", "\n", " metodo = 'sigmoid' if es_multiclase else 'isotonic'\n", " logger.info(f\" 🧠 Motor de calibración seleccionado: {metodo.upper()}\")\n", "\n", " modelo_calibrado = CalibratedClassifierCV(modelo_base, method=metodo, cv=cv)\n", " modelo_calibrado.fit(X_train_modelo, y_train)\n", "\n", " proba_antes = modelo_base.predict_proba(X_test_modelo)\n", " proba_despues = modelo_calibrado.predict_proba(X_test_modelo)\n", "\n", " if es_multiclase:\n", " logloss_antes = float(log_loss(y_test, proba_antes, labels=getattr(modelo_base, 'classes_', None)))\n", " logloss_despues = float(log_loss(y_test, proba_despues, labels=getattr(modelo_calibrado, 'classes_', None)))\n", "\n", " if MODO_VISUAL:\n", " manager_ref = globals().get('manager', None)\n", " etiquetas_visuales, nombres_visuales = resolver_etiquetas_target_mlops(y_test, manager_ref=manager_ref)\n", " etiquetas_modelo = list(\n", " getattr(\n", " modelo_calibrado,\n", " 'classes_',\n", " getattr(modelo_base, 'classes_', etiquetas_visuales)\n", " )\n", " )\n", " mapa_nombres = {etiqueta: str(nombre) for etiqueta, nombre in zip(etiquetas_visuales, nombres_visuales)}\n", " nombres_modelo = [mapa_nombres.get(etiqueta, str(etiqueta)) for etiqueta in etiquetas_modelo]\n", "\n", " parametros_grafico = inspect.signature(graficar_calibracion_multiclase_mlops).parameters\n", " if 'logloss_antes' in parametros_grafico and 'logloss_despues' in parametros_grafico:\n", " fig_cal = graficar_calibracion_multiclase_mlops(\n", " proba_antes,\n", " proba_despues,\n", " y_test,\n", " etiquetas_modelo,\n", " nombres_modelo,\n", " logloss_antes=logloss_antes,\n", " logloss_despues=logloss_despues\n", " )\n", " else:\n", " fig_cal = graficar_calibracion_multiclase_mlops(\n", " proba_antes,\n", " proba_despues,\n", " y_test,\n", " etiquetas_modelo,\n", " nombres_modelo\n", " )\n", "\n", " plt.show()\n", " display(Markdown(\"### 🧠 Radiografía Calibrada Multiclase\"))\n", " plt.close(fig_cal)\n", "\n", " logger.info(f\" • Log Loss PRE-Calibración: {logloss_antes:.4f}\")\n", " logger.info(f\" • Log Loss POST-Calibración: {logloss_despues:.4f}\")\n", "\n", " mejora = logloss_antes - logloss_despues\n", " if mejora > 0:\n", " logger.info(f\" 🟢 Mejora detectada: {mejora:.4f} puntos menos de Log Loss.\")\n", " else:\n", " logger.warning(\" 🔴 La calibración no mejoró el Log Loss multiclase.\")\n", "\n", " else:\n", " brier_antes = brier_score_loss(y_test, proba_antes[:, 1])\n", " brier_despues = brier_score_loss(y_test, proba_despues[:, 1])\n", "\n", " if MODO_VISUAL:\n", " fig_cal = graficar_calibracion_binaria_mlops(\n", " proba_antes[:, 1],\n", " proba_despues[:, 1],\n", " y_test\n", " )\n", " plt.show()\n", " display(Markdown(\"### 📊 Radiografía Visual de Calibración Binaria\"))\n", " plt.close(fig_cal)\n", "\n", " logger.info(f\" • Brier Score PRE-Calibración: {brier_antes:.4f}\")\n", " logger.info(f\" • Brier Score POST-Calibración: {brier_despues:.4f}\")\n", "\n", " mejora = brier_antes - brier_despues\n", " if mejora > 0:\n", " logger.info(f\" 🟢 Mejora detectada: {mejora:.4f} puntos menos de Brier Score.\")\n", " else:\n", " logger.warning(\" 🔴 La calibración no mejoró el Brier Score.\")\n", "\n", " logger.info(f\"\\n⏱️ Calibración completada en {time.time() - inicio_timer:.3f}s\")\n", " return modelo_calibrado\n", "\n", "\n", "# ==========================================\n", "# 4. FASE 19.2.5: OPTIMIZACIÓN DE DECISIÓN\n", "# ==========================================\n", "def optimizar_umbral_mlops(\n", " modelo_calibrado,\n", " X_test: pd.DataFrame,\n", " y_test: pd.Series\n", "):\n", " \"\"\"\n", " [FASE 7 - Paso 19.2.5] Optimización de Decisión.\n", " - 🎯 En multiclase: activa modo Argmax.\n", " - ⚖️ En binario: escanea umbrales y encuentra el Umbral de Oro.\n", " - 📋 Emite comparación antes vs después.\n", " \"\"\"\n", " logger.info(\"\\n\" + \"=\" * 50)\n", " logger.info(\"=== ⚖️ FASE 19.2.5: Optimización de Decisión ===\")\n", " logger.info(\"=\" * 50)\n", "\n", " inicio_timer = time.time()\n", "\n", " info_target = detectar_naturaleza_target_mlops(y_test)\n", " es_multiclase = info_target['es_multiclase']\n", " manager_ref = globals().get('manager', None)\n", " etiquetas_target, nombres_target = resolver_etiquetas_target_mlops(y_test, manager_ref=manager_ref)\n", " X_test_modelo = alinear_features_oraculo_mlops(modelo_calibrado, X_test)\n", "\n", " if es_multiclase:\n", " logger.info(\" 🧠 [INFO] Target Multiclase detectado. Threshold Tuning sustituido por decisión Argmax.\")\n", "\n", " preds_nuevas, _ = predecir_argmax_multiclase_mlops(modelo_calibrado, X_test_modelo)\n", " metricas = calcular_metricas_multiclase_mlops(y_test, preds_nuevas)\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(\" 🔒 MODO ACTIVO: multiclass_argmax. No existe un umbral global operativo.\")\n", " logger.info(\n", " f\" Exactitud = {metricas['exactitud']:.4f} | \"\n", " f\"F1 weighted = {metricas['weighted_f1']:.4f} | \"\n", " f\"F1 macro = {metricas['macro_f1']:.4f} | \"\n", " f\"Balanced Accuracy = {metricas['balanced_accuracy']:.4f}\"\n", " )\n", " logger.info(\n", " \"\\n Reporte Final con Decisión Argmax:\\n\" +\n", " classification_report(\n", " y_test,\n", " preds_nuevas,\n", " labels=etiquetas_target,\n", " target_names=nombres_target,\n", " zero_division=0\n", " )\n", " )\n", " logger.info(f\"\\n⏱️ Optimización completada en {time.time() - inicio_timer:.3f}s\")\n", " return None\n", "\n", " logger.info(\" 🔎 Extrayendo probabilidades calibradas del Test Set...\")\n", " proba_test = modelo_calibrado.predict_proba(X_test_modelo)[:, 1]\n", "\n", " logger.info(\" ⚙️ Escaneando 100 umbrales buscando el F1-Score máximo...\")\n", " umbrales = np.arange(0.01, 1.0, 0.01)\n", " mejores_metricas = {'umbral': 0.5, 'f1': 0.0}\n", "\n", " for umbral in umbrales:\n", " preds_simuladas = (proba_test >= umbral).astype(int)\n", " score_actual = f1_score(y_test, preds_simuladas)\n", " if score_actual > mejores_metricas['f1']:\n", " mejores_metricas['f1'] = score_actual\n", " mejores_metricas['umbral'] = umbral\n", "\n", " umbral_oro = mejores_metricas['umbral']\n", " logger.info(f\" 🏆 Umbral de Oro encontrado. El corte perfecto es: {umbral_oro:.2f}\")\n", "\n", " preds_viejas = (proba_test >= 0.50).astype(int)\n", " preds_nuevas = (proba_test >= umbral_oro).astype(int)\n", "\n", " f1_viejo = f1_score(y_test, preds_viejas)\n", " f1_nuevo = f1_score(y_test, preds_nuevas)\n", " mejora = f1_nuevo - f1_viejo\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" ANTES (Umbral 0.50) -> F1-Score: {f1_viejo:.4f}\")\n", " logger.info(f\" AHORA (Umbral {umbral_oro:.2f}) -> F1-Score: {f1_nuevo:.4f}\")\n", "\n", " if mejora > 0:\n", " logger.info(f\" 🟢 Incremento de +{mejora:.4f} puntos en F1-Score.\")\n", " else:\n", " logger.info(\" 🟡 El umbral 0.50 ya era el óptimo.\")\n", "\n", " logger.info(\"-\" * 80)\n", " logger.info(\"\\n Reporte Final con Umbral Optimizado:\\n\" + classification_report(y_test, preds_nuevas))\n", " logger.info(f\"\\n⏱️ Optimización completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return umbral_oro\n", "\n", "\n", "# ==========================================\n", "# 5. Celda de Ejecución Maestra\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError as exc:\n", " raise EnvironmentError(\n", " \"El PipelineManager no está inicializado. Instáncialo en la línea 1 (Fase 1.1).\"\n", " ) from exc\n", "\n", " if not hasattr(manager, 'modelos_preprocesamiento') or 'oraculo_lightgbm' not in manager.modelos_preprocesamiento:\n", " raise ValueError(\n", " \"El modelo 'oraculo_lightgbm' no existe en la caja fuerte del Manager. Ejecuta la Fase 18.3.\"\n", " )\n", "\n", " if (\n", " getattr(manager, 'X_train', None) is None\n", " or getattr(manager, 'y_train', None) is None\n", " or getattr(manager, 'X_test', None) is None\n", " or getattr(manager, 'y_test', None) is None\n", " ):\n", " raise ValueError(\n", " \"El Manager no tiene cargadas las matrices X_train, y_train, X_test o y_test. \"\n", " \"Ejecuta el Split (Fase 3.3).\"\n", " )\n", "\n", " modelo_crudo = manager.modelos_preprocesamiento['oraculo_lightgbm']\n", "\n", " logger.info(\">>> 🧠 INICIANDO FASE DE CALIBRACIÓN Y DECISIÓN <<<\")\n", " logger.info(\"-\" * 80)\n", "\n", " # ==========================================\n", " # 5.1 Calibración Definitiva\n", " # ==========================================\n", " oraculo_calibrado_definitivo = calibrar_oraculo_mlops(\n", " modelo_base=modelo_crudo,\n", " X_train=manager.X_train,\n", " y_train=manager.y_train,\n", " X_test=manager.X_test,\n", " y_test=manager.y_test,\n", " cv=5\n", " )\n", "\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " manager.modelos_preprocesamiento = {}\n", "\n", " manager.modelos_preprocesamiento['oraculo_calibrado'] = oraculo_calibrado_definitivo\n", " logger.info(\" 💾 El modelo 'oraculo_calibrado' fue almacenado exitosamente en el Manager.\")\n", "\n", " # ==========================================\n", " # 5.2 Optimización de Umbral / Decisión\n", " # ==========================================\n", " # umbral_definitivo = optimizar_umbral_mlops(\n", " # modelo_calibrado=oraculo_calibrado_definitivo,\n", " # X_test=manager.X_test,\n", " # y_test=manager.y_test\n", " # )\n", "\n", " if not hasattr(manager, 'artefactos'):\n", " manager.artefactos = {}\n", "\n", " manager.artefactos['umbral_decision'] = umbral_definitivo\n", " info_target_final = detectar_naturaleza_target_mlops(manager.y_test)\n", " manager.artefactos['modo_decision'] = (\n", " 'multiclass_argmax' if info_target_final['es_multiclase'] else 'binary_threshold'\n", " )\n", "\n", " if umbral_definitivo is None:\n", " logger.info(\" 💾 El 'umbral_decision' se almacenó como None (modo multiclass_argmax).\")\n", " else:\n", " logger.info(f\" 💾 El 'umbral_decision' ({umbral_definitivo:.4f}) fue almacenado exitosamente en el Manager.\")\n", "\n", " logger.info(\"\\n📦 [MLOps] Calibración y modo de decisión consolidados correctamente en el PipelineManager.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error Crítico en la Fase 19: {e}\")" ] }, { "cell_type": "code", "execution_count": 153, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 💉 UTILIZANDO ORÁCULO CALIBRADO (FASE 19.2 DETECTADA) <<<\n", "--------------------------------------------------------------------------------\n", "=== 📊 FASE 19.3: Escáner Vectorizado de Decisión ===\n", " 🔎 Extrayendo probabilidades del Test Set...\n", " ⚙️ Calculando la frontera de Pareto (Precisión vs Recall)...\n" ] }, { "data": { "image/png": "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+fj48IgTERGRQ2IXcSIiIiIiIiITYAabiIjIgQ0ePBjx8fFV1nfr1g1ffPGF/v67776Ls2fPYt68eRd9vdTUVCxYsAC//vorcnNz0bRpU4wZMwZ33XWXWfafiIjInjDAJiIii/rxxx9RUFAAT09PXHfddTz6FvDUU09VOdaurq76n7///nu8/fbbGDly5EVfR8bOT5gwAZGRkfjggw/g5+eHvXv34rnnnkNJSQnuvfdes30GIiIie8AAm4iILOqZZ57RT9PFANsyfH19ERISUmV9aWkp5s6dizVr1iAqKuqSr3Ps2DEcOnQIH330kQquhTwvLi4OX331FQNsIiJq8BhgExERXaZyrRalubkWPX4aHx84ubiY5LXy8/NV0CzBsQTNl+LsXFG65Y8//sC1116rXz927FjccMMN+vvS1fz555/Hnj174O/vrwLvu+++Wz128uRJvPTSSyrz7e3trbqXP/TQQ+q1JYt+5MgRZGVl4fjx41i0aBG6dOmC+fPnY926der5AwYMwKxZsxAQEGCSY0BERGRKDLCJiMiinnjiCX0XcXuW+sdWnHr/A5RkZVn0fV39/dF84n1odEW/er+WZKFXrlxZ6+1bt26NPn364JFHHsGSJUtUsHvFFVegR48e+ox2UVGRCqjbt2+vAvfz58/jscceU5nuzp0744477lDjwr/++mucPn1aBctSWX7cuHHq+Rs3bsScOXNUYB0TE4PXX38dBw8exNKlS+Hu7o6FCxfi4Ycfxscff1zvz09ERGRqDLCJiMiiJGPpCE688y60efkWf18J6OW96xJgP/vss6oruCHJQnt5edX5/SWwXrZsGdauXYv3339fLRI8S+EzCaB///13pKenqyy1BM6tWrVSQbRkqGWst1xYkX3RaDRo0aIFUlJS8M477+gD7EaNGuH2229XP8uFmM8++wyrVq1CmzZt1DrJZvfu3Vtl3nXriIiIbAUDbCIiIgc3depUDBs2rNK6S/Ug+O6771RgriOFzKQImmSRpUu3LOfOncMvv/yC5cuX48EHH1Q/S1ZaMs+G853fdNNN6lZeTzLbElzrdO3aVQXZ2dnZ6n5ERIT+Mcl+S/G02267rdK+lZWV4cyZMwywiYjI5jDAJiIiugwtJz1o1S7idREcHKym06oL6cYtGWnD1/jf//6HtLQ01c1bREdH45577kH//v1VwTrJKhsGz8YkODcmwbLQarVVttGtW7FiRZVsu+wPERGRrWGATUREdBmki3Zwn952XeTsYiQDbZiFFhcuXFDdw0ePHg0PDw/9et3466CgIDRr1kwVOTMcZ//KK6+oTLR0CV+/fr36WTdNmBQ7k+dVV7RMup67uLggMzMT7dq1U+skwH/66acxc+bMKvtHRERkbRXlQImIiCyke/fuqhuw3No7CXQlo2zJxRLBdU1uvPFGlaGWImbbtm1T03Nt3boV06ZNU13QZX5syWbLOOrZs2eriuFStEwKqcl6qTReXFysf2zDhg2qcriMuXZycqryfhJA33LLLaro2fbt23HixAlVJE8CeHkvIiIiW8MMNhEREdWKZJmlu/Ybb7yB6dOnq8yyBNMSOE+aNKnii4VGg8WLF6tpuiQgl8clKB40aJB6/IMPPsCLL76IUaNGqcy1dDGfOHFije85Y8YMlQGXceSS+e7Zs6cqtCaZbSIiIlvjVF5eXo4G7MCBA+pqunQ9u5xqqkS2ROa0lTlk2Z7Jlkm1aOnmK2Noa5p72RbbcmFhob6Al2H3aLI9tnaubLE9E10utmdyFPv371e9pzp27GjS12UGm4iILKqmoJqIiIjI3nEMNhEREREREZEJMMAmIiIiIiIiMgEG2EREREREREQmwDHYRERkUbNmzUJWVhb8/f3xwgsv2N3Rb+C1Qe0CzxEREVkLM9hERGRRP/30E1avXq1u7YluWiiZeYJsv8qxcHV1tfauEBFRA8MMNhERUW3+w9Ro1BRLKSkpKnBzduY1alvMXEtwnZycrObs5lzZRERkaQywiYjIotasWQOtVmt3wY/MlRkeHq7mVz579qy1d4cuQoLrsLAwHiMiIrI4BthERGRR0dHRdnvE3dzc0KpVK3YTt2HSu8DeLt4QEZHjsHqAXVZWhkWLFuHrr79GTk4OevbsidmzZyMqKqra7TMyMlRRnC1btqhswvXXX48nnngCnp6eFt93IiJqeKRruIeHh7V3g4iIiGyQ1QeQLV68GCtWrMDcuXOxcuVKFXDfd999NWYHpk6dqrrmffTRR3jzzTexefNmzJkzx+L7TURERERERGQzAbYE0cuXL1dB86BBg9C2bVssXLgQiYmJWL9+fZXt9+7dix07duCVV15B+/bt0bdvXzz//PNYu3YtkpKSrPIZiIiobrZu3Ypff/1V3RIRERE5EqsG2EePHkVeXp4KlHX8/PwQGxuLnTt3Vtl+165dCAkJQYsWLfTrevXqpbqK796922L7TUREl2/KlCm488471S0RERGRI7HqGGzJVAupymqocePG+scMSZbaeFspOCPVQhMSEi5rH0pKStTt8ePHVaBOZO9T1Ai2Z7JlL774or6K+P79+6vdhm2ZHAnbMzkStmdyFCUlJWaJ/6waYBcUFOiDZEPu7u7IysqqdnvjbXXbFxUVXdY+6A4q5zMlRyDtubrfESJbEhERcclt2JbJkbA9kyNheyZHastOjhZg66qwylhsw4qsEixXVxVctqmu+Jls7+XldVn70LVr18t6HhEREREREZHNjMHWdfdOTk6utF7uh4aGVtk+LCysyrYScGdmZqpu5UREREREREQNMsCWquE+Pj7Yvn27fl12djYOHz6s5sM2JutkbLZM06UjVcVF9+7dLbTXRERERERERDbWRVzGio4dOxavvfYagoKC1Li8V199VWWqhw0bporgpKenw9fXV3UP79y5M7p164Zp06apua/z8/Mxe/ZsjBo1qtqMNxEREREREZGlOJXrSgFaiQTRr7/+OlavXo3CwkKVpZagOTIyEnFxcRgyZAhefvlljB49Wm2flpaG5557Dr/99psqbjZ8+HDMnDlT/UxERERERETUYANsIiIiIiIiIkdg1THYRERERERERI6CATYRERERERGRCTDAJiIiIiIiIjIBBthEREREREREJsAAm4iIiIiIiMgEGGATERERERERmYDDB9hlZWV46623MGDAAHTp0gX3338/zp8/X+P2GRkZeOyxx9R83L169VJzbhcUFFh0n4lM1Z6PHz+OCRMmoHfv3ujbty+mTp2KCxcu8ACT3bVlQ9999x3atGmDuLg4s+8nkTnac0lJCRYsWKDffuzYsThy5AgPNtlle05LS1Pfnfv06aO+b0ybNg1JSUkW3WeiS3n//fdx1113XXQbU8WBDh9gL168GCtWrMDcuXOxcuVK9UfjvvvuQ3FxcbXbSwBy9uxZfPTRR3jzzTexefNmzJkzx+L7TVTf9ix/JMaPHw8PDw98+umnWLp0KdLT09X2RUVFPMBkV3+bdeLj4/H8889bbD+JzNGe5XvF6tWr8dJLL2HVqlUICgpSQUxOTg4PONlde37kkUfUxfsPP/xQLfLzpEmTLL7fRDX5/PPP8cYbb+BSTBYHljuwoqKi8q5du5Z//vnn+nVZWVnlnTp1Kl+3bl2V7ffs2VPeunXr8hMnTujX/fbbb+Vt2rQpT0xMtNh+E5miPX/11Vdq+4KCAv26CxcuqDa+detWHmSym7aso9Vqy2+//fbyu+++W7Xj8+fPW2iPiUzXns+dO6e+V/zyyy+Vtr/qqqv4t5nsrj3LY/L3eOPGjfp1GzZsUOsyMjIstt9E1ZH4beLEieVdunQpHz58ePnYsWPLa2LKONChM9hHjx5FXl6e6hqr4+fnh9jYWOzcubPK9rt27UJISAhatGihXyfdA5ycnLB7926L7TeRKdqzbCdXoSWDrePsXPErn52dzYNMdtOWdd577z3VtXbixIkW2lMi07fnP/74A76+vrjyyisrbb9p06ZKr0FkD+1ZvmN4e3vj22+/RW5urlrWrl2LmJgY9Twiazp06BBcXV3V0LLOnTtfdFtTxoEaOLDExER1Gx4eXml948aN9Y8ZkvEixtu6ubkhICAACQkJZt5bItO258jISLUYWrJkifrPUMaWENlLWxb79+/H8uXL8c0333BsH9l1ez59+jSioqKwfv169TdZvntI8DJjxoxKX+yI7KE9y/fkefPmYfbs2ejRo4cKRmTbzz77TH9Rn8haBg8erJbaMGUc6NAtXzcoXQ6OIXd392rHoMr2xttebHsiW27PxmQctvyH9/jjj6vxfkT20pbz8/NVu5WlWbNmFttPInO0Z8nwyRg/6WH06KOP4t1334VGo8Edd9yhikUR2VN7Li8vVwX6unbtqsa5fvzxx2jSpAkeeugh1daJ7IUp40CHDrB1XWONizLIQfL09Kx2++oKOMj2Xl5eZtxTItO3Z8P//KSwwwsvvIAHH3zwkhUUiWytLUvble6Gt912G08O2X17lmBaAo+FCxeif//+6NSpk/pZrFmzxkJ7TWSa9vzTTz+pi/evvvoqunfvrrrUynAeKUgpPY6I7IUp40CHDrB1af7k5ORK6+V+aGhole3DwsKqbCsHOjMzU3V3IbKn9ixkvOr06dPVf3YzZ85UlT6J7K0tS5XlrVu3qgyJLFJtWYwYMUK1bSJ7+64hQbZhd3D5Yifdxjn1HNlbe5Zxq3IB1MfHR7/O399frZOeGkT2wpRxoEMH2G3btlW/8Nu3b9evk+JOhw8frnYMqqyT8SWGfxB27NihbuWqHJE9tWfxxBNP4L///a+ab3XcuHEW3Fsi07VlGav6/fffqyI6skhGW8j4VWa1yR6/a5SWluLAgQP6dYWFhWqe4aZNm1psv4lM0Z4lKJHvzYZdaGVYj1ws4pAesiemjAMdusiZ9KMfO3YsXnvtNTXmNCIiQnVhkT8Gw4YNg1arVfMCSzVPuXos1eW6deuGadOmqTnP5A+EFG0YNWpUjRlCIlttzzLH6o8//qiCbOmylZKSon8t3TZE9tCWjYMOXaEdGecnxUeI7Kk9SyGofv364cknn1Rzuksbfuutt+Di4oL//Oc/PJlkV+1ZviMvW7ZM9ZB7+OGH1WvIsDQZtzp69GieTbJZ5owDHTqDrZsw/Oabb8asWbNw++23q//A5A+BlGyXinAy/kmCECGVDxctWqQqL99zzz3qj4VMo3FZE4wTWbk9S8ZPzJ8/X603XHTbENlDWyZytPb89ttvqwufkydPVs+TMdmffPIJC1CS3bVn6Tq7YsUKVe9FvjuPHz9ebSfrJHAhslXmjAOdZDJsM+wzERERERERUYPi8BlsIiIiIiIiIktggE1ERERERERkAgywiYiIiIiIiEyAATYRERERERGRCTDAJiIiIiIiIjIBBthEREREREREJsAAm4iIiIiIiMgEGGATERER0WUpLy/nkSMiMsAAm4jIyu666y611GTw4MGYMWNGvd/HVK9j6tdv06YN3n777Xq9d1xcnHodw6VDhw7o168fHnzwQezZswfWOHd12f7VV19V+7xjxw4T7iGwfPlyPP744+rn7du3VzlObdu2Rbdu3XDbbbdh06ZNJnnP1atXq9eW82KJdiWPy3bVtSndZ5Zbc7fD+nx2Ux4zkZSUhPnz52P48OHo3Lkz+vfvjwceeAC7du2CqezevRsTJkyo8/PGjh2LH3/80WT7QURkSzTW3gEiIiJTkWB60KBB6ueioiIkJibi008/xZ133qmCp6uvvtqkB/vZZ581yfZpaWlYsWKFerxXr14m2jvg5MmTeP/99/Hdd99VWj979my0b99en4HMyspSgfhDDz2kth84cCDsiez33XffXe1j8jm//PJLtGzZEg2FBL6TJk1CYGCgOi4xMTHIzMxUx0Eu8Lz88ssYNWpUvd/n66+/Vm2srp566in83//9H3r37o3g4OB67wcRkS1hgE1ERA4jOjoa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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "### ⚔️ Impacto de la Guillotina Dinámica" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " ANTES (Umbral ciego 0.50): F1-Score = 0.7035\n", " AHORA (Umbral exacto 0.3900): F1-Score = 0.7224\n", " 🟢 Incremento garantizado de +0.0190 puntos en F1-Score.\n", "\n", " Reporte de Clasificación Final (Listo para Producción):\n", " precision recall f1-score support\n", "\n", " 0 0.91 0.91 0.91 4940\n", " 1 0.72 0.73 0.72 1568\n", "\n", " accuracy 0.87 6508\n", " macro avg 0.82 0.82 0.82 6508\n", "weighted avg 0.87 0.87 0.87 6508\n", "\n", "\n", "⏱️ Escáner completado en 0.934s\n", " 💾 Artefacto Guardado: 'umbral_decision' (0.3900) asegurado en el PipelineManager.\n", "\n", "📦 [MLOps] Escáner visual de decisión y modo operativo consolidados correctamente.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Estética\n", "# ==========================================\n", "import logging\n", "import time\n", "import gc\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns\n", "\n", "from IPython.display import display, Markdown\n", "from sklearn.metrics import (\n", " f1_score,\n", " precision_recall_curve,\n", " classification_report,\n", " accuracy_score,\n", " balanced_accuracy_score,\n", " confusion_matrix,\n", ")\n", "from sklearn.utils.multiclass import type_of_target\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# 🛡️ Bandera de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker / Headless)\n", "\n", "\n", "# ==========================================\n", "# 1. Blindajes Auxiliares del Target y Features\n", "# ==========================================\n", "if 'detectar_naturaleza_target_mlops' not in globals():\n", " def detectar_naturaleza_target_mlops(y: pd.Series) -> dict:\n", " \"\"\"\n", " [FASE 19 - Escáner de Naturaleza del Target]\n", " - Detecta si el problema es binario, multiclase o regresión.\n", " - Devuelve una ficha técnica estándar para el resto del pipeline.\n", " \"\"\"\n", " serie = pd.Series(y).dropna()\n", "\n", " if serie.empty:\n", " return {\n", " 'tipo': 'desconocido',\n", " 'es_regresion': False,\n", " 'es_binario': False,\n", " 'es_multiclase': False,\n", " 'num_clases': 0,\n", " }\n", "\n", " serie_tipada = serie if pd.api.types.is_numeric_dtype(serie) else serie.astype(str)\n", "\n", " try:\n", " tipo_detectado = type_of_target(serie_tipada)\n", " except Exception:\n", " tipo_detectado = 'desconocido'\n", "\n", " es_regresion = tipo_detectado in ('continuous', 'continuous-multioutput')\n", " num_clases = int(serie.nunique()) if not es_regresion else 0\n", " es_multiclase = (not es_regresion) and num_clases > 2\n", " es_binario = (not es_regresion) and num_clases == 2\n", "\n", " if es_regresion:\n", " tipo = 'regression'\n", " elif es_multiclase:\n", " tipo = 'multiclass'\n", " elif es_binario:\n", " tipo = 'binary'\n", " else:\n", " tipo = 'desconocido'\n", "\n", " return {\n", " 'tipo': tipo,\n", " 'es_regresion': es_regresion,\n", " 'es_binario': es_binario,\n", " 'es_multiclase': es_multiclase,\n", " 'num_clases': num_clases,\n", " }\n", "\n", "\n", "if 'resolver_etiquetas_target_mlops' not in globals():\n", " def resolver_etiquetas_target_mlops(y: pd.Series, manager_ref=None):\n", " \"\"\"\n", " Resuelve etiquetas crudas y nombres humanos del target.\n", " Si existe un diccionario maestro en artefactos, lo usa.\n", " \"\"\"\n", " serie = pd.Series(y).dropna()\n", " etiquetas = sorted(serie.unique().tolist())\n", " nombres = [str(etiqueta) for etiqueta in etiquetas]\n", "\n", " artefactos = getattr(manager_ref, 'artefactos', {}) if manager_ref is not None else {}\n", " diccionario = artefactos.get('diccionario_target_maestro') if isinstance(artefactos, dict) else None\n", "\n", " if isinstance(diccionario, dict) and diccionario:\n", " diccionario_inverso = {valor: clave for clave, valor in diccionario.items()}\n", " if all(etiqueta in diccionario_inverso for etiqueta in etiquetas):\n", " nombres = [str(diccionario_inverso[etiqueta]) for etiqueta in etiquetas]\n", "\n", " return etiquetas, nombres\n", "\n", "\n", "if 'predecir_argmax_multiclase_mlops' not in globals():\n", " def predecir_argmax_multiclase_mlops(modelo, X: pd.DataFrame):\n", " \"\"\"\n", " Ejecuta predicción robusta para multiclase.\n", " - Si hay predict_proba, usa Argmax.\n", " - Si no, cae en predict().\n", " \"\"\"\n", " if hasattr(modelo, \"predict_proba\"):\n", " probabilidades = np.asarray(modelo.predict_proba(X))\n", " if probabilidades.ndim == 2 and probabilidades.shape[1] > 1:\n", " clases = np.asarray(getattr(modelo, 'classes_', np.arange(probabilidades.shape[1])))\n", " predicciones = clases[np.argmax(probabilidades, axis=1)]\n", " return predicciones, probabilidades\n", "\n", " return np.asarray(modelo.predict(X)), None\n", "\n", "\n", "if 'alinear_features_oraculo_mlops' not in globals():\n", " def alinear_features_oraculo_mlops(modelo, X: pd.DataFrame) -> pd.DataFrame:\n", " \"\"\"\n", " Alinea el DataFrame con las features esperadas por el modelo:\n", " - elimina columnas extra,\n", " - crea faltantes en cero,\n", " - respeta el orden exacto del entrenamiento.\n", " \"\"\"\n", " nombres = None\n", "\n", " if hasattr(modelo, 'feature_names_in_'):\n", " nombres = list(modelo.feature_names_in_)\n", " elif hasattr(modelo, 'feature_name_'):\n", " try:\n", " nombres = list(modelo.feature_name_)\n", " except Exception:\n", " nombres = None\n", " elif hasattr(modelo, 'feature_name'):\n", " try:\n", " nombres = list(modelo.feature_name())\n", " except Exception:\n", " nombres = None\n", "\n", " if not nombres:\n", " return X\n", "\n", " X_alineada = X.copy()\n", "\n", " extras = [col for col in X_alineada.columns if col not in nombres]\n", " if extras:\n", " X_alineada = X_alineada.drop(columns=extras, errors='ignore')\n", "\n", " faltantes = [col for col in nombres if col not in X_alineada.columns]\n", " for col in faltantes:\n", " X_alineada[col] = 0\n", "\n", " return X_alineada[nombres]\n", "\n", "\n", "if 'calcular_metricas_multiclase_mlops' not in globals():\n", " def calcular_metricas_multiclase_mlops(y_true, y_pred) -> dict:\n", " \"\"\"\n", " Calcula el paquete ejecutivo de métricas multiclase.\n", " \"\"\"\n", " macro_f1 = float(f1_score(y_true, y_pred, average='macro', zero_division=0))\n", " weighted_f1 = float(f1_score(y_true, y_pred, average='weighted', zero_division=0))\n", " exactitud = float(accuracy_score(y_true, y_pred))\n", " balanced_acc = float(balanced_accuracy_score(y_true, y_pred))\n", " score_compuesto = float((0.7 * macro_f1) + (0.3 * weighted_f1))\n", "\n", " return {\n", " 'macro_f1': macro_f1,\n", " 'weighted_f1': weighted_f1,\n", " 'exactitud': exactitud,\n", " 'balanced_accuracy': balanced_acc,\n", " 'score_compuesto': score_compuesto,\n", " }\n", "\n", "\n", "# ==========================================\n", "# 2. Renderizador Táctico Multiclase\n", "# ==========================================\n", "if 'graficar_escaner_multiclase_mlops' not in globals():\n", " def graficar_escaner_multiclase_mlops(y_true, y_pred, etiquetas_target, nombres_target, metricas):\n", " \"\"\"\n", " Genera el escáner táctico multiclase:\n", " - precision por clase,\n", " - recall por clase,\n", " - F1 por clase,\n", " - soporte por clase,\n", " - métricas globales de referencia.\n", " \"\"\"\n", " reporte = classification_report(\n", " y_true,\n", " y_pred,\n", " labels=etiquetas_target,\n", " target_names=nombres_target,\n", " zero_division=0,\n", " output_dict=True\n", " )\n", "\n", " precision = np.array([reporte[nombre]['precision'] for nombre in nombres_target], dtype=float)\n", " recall = np.array([reporte[nombre]['recall'] for nombre in nombres_target], dtype=float)\n", " f1_clase = np.array([reporte[nombre]['f1-score'] for nombre in nombres_target], dtype=float)\n", " soporte = np.array([reporte[nombre]['support'] for nombre in nombres_target], dtype=float)\n", " posiciones = np.arange(len(nombres_target))\n", "\n", " sns.set_theme(style=\"whitegrid\")\n", " fig, ax1 = plt.subplots(figsize=(11, 5.5))\n", " ax2 = ax1.twinx()\n", "\n", " ax2.bar(posiciones, soporte, alpha=0.18, color='gray', width=0.58, label='Soporte')\n", " ax1.plot(posiciones, precision, 'o--', color='#4C72B0', linewidth=2, label='Precisión')\n", " ax1.plot(posiciones, recall, 's--', color='#55A868', linewidth=2, label='Recall')\n", " ax1.plot(posiciones, f1_clase, 'o-', color='#C44E52', linewidth=3, label='F1 por clase')\n", " ax1.axhline(metricas['macro_f1'], color='#8172B2', linestyle=':', linewidth=2, label=f\"F1 macro = {metricas['macro_f1']:.4f}\")\n", " ax1.axhline(metricas['weighted_f1'], color='#CCB974', linestyle='-.', linewidth=2, label=f\"F1 weighted = {metricas['weighted_f1']:.4f}\")\n", " ax1.axhline(metricas['balanced_accuracy'], color='black', linestyle='--', linewidth=1.8, label=f\"Balanced Acc = {metricas['balanced_accuracy']:.4f}\")\n", "\n", " ax1.set_title(\"Escáner Táctico Multiclase (Decisión Argmax)\", fontsize=14, pad=15, fontweight='bold')\n", " ax1.set_xlabel(\"Clases del Target\", fontsize=11)\n", " ax1.set_ylabel(\"Puntuación (0.0 a 1.0)\", fontsize=11)\n", " ax2.set_ylabel(\"Soporte\", fontsize=11)\n", " ax1.set_ylim([0.0, 1.05])\n", " ax1.set_xticks(posiciones)\n", " ax1.set_xticklabels(nombres_target, rotation=20, ha='right')\n", "\n", " handles1, labels1 = ax1.get_legend_handles_labels()\n", " handles2, labels2 = ax2.get_legend_handles_labels()\n", " ax1.legend(\n", " handles1 + handles2,\n", " labels1 + labels2,\n", " loc='lower center',\n", " bbox_to_anchor=(0.5, -0.33),\n", " ncol=3,\n", " fontsize=9\n", " )\n", "\n", " plt.tight_layout()\n", " return fig\n", "\n", "\n", "# ==========================================\n", "# 3. FASE 19.3: ESCÁNER VECTORIZADO DE DECISIÓN\n", "# ==========================================\n", "def optimizador_visual_umbral(\n", " modelo,\n", " X_test: pd.DataFrame,\n", " y_test: pd.Series\n", "):\n", " \"\"\"\n", " [FASE 7 - Paso 19.3] Escáner Vectorizado de Decisión.\n", " - 🧠 En multiclase: activa modo Argmax y muestra escáner táctico.\n", " - ⚖️ En binario: encuentra el Umbral de Oro con frontera Precision-Recall.\n", " - 📊 Emite el reporte final listo para producción.\n", " \"\"\"\n", " logger.info(\"=== 📊 FASE 19.3: Escáner Vectorizado de Decisión ===\")\n", " inicio_timer = time.time()\n", "\n", " if not hasattr(modelo, \"predict_proba\"):\n", " logger.error(\"🛑 Error Crítico: El modelo no soporta probabilidades (predict_proba).\")\n", " raise ValueError(\"El modelo no soporta probabilidades (predict_proba).\")\n", "\n", " info_target = detectar_naturaleza_target_mlops(y_test)\n", " es_multiclase = info_target['es_multiclase']\n", " manager_ref = globals().get('manager', None)\n", " etiquetas_target, nombres_target = resolver_etiquetas_target_mlops(y_test, manager_ref=manager_ref)\n", " X_test_modelo = alinear_features_oraculo_mlops(modelo, X_test)\n", "\n", " # ==========================================\n", " # 3A. MODO MULTICLASE\n", " # ==========================================\n", " if es_multiclase:\n", " logger.warning(\" 🧠 [INFO] Target Multiclase detectado. Threshold Tuning reemplazado por escáner táctico Argmax.\")\n", " logger.info(\" 📌 [INFO] La Matriz de Confusión queda reservada para la FASE 19.4.\")\n", "\n", " preds_nuevas, _ = predecir_argmax_multiclase_mlops(modelo, X_test_modelo)\n", " metricas = calcular_metricas_multiclase_mlops(y_test, preds_nuevas)\n", "\n", " fig = graficar_escaner_multiclase_mlops(\n", " y_true=y_test,\n", " y_pred=preds_nuevas,\n", " etiquetas_target=etiquetas_target,\n", " nombres_target=nombres_target,\n", " metricas=metricas\n", " )\n", "\n", " if MODO_VISUAL:\n", " plt.show()\n", " display(Markdown(\"### 🧠 Escáner Táctico de la Decisión Multiclase\"))\n", " else:\n", " plt.close(fig)\n", " logger.info(\"### 🧠 Escáner Táctico de la Decisión Multiclase\")\n", "\n", " logger.info(\" 🔒 MODO ACTIVO: multiclass_argmax. No existe un umbral global operativo.\")\n", " logger.info(\n", " f\" Producción (argmax): Exactitud = {metricas['exactitud']:.4f} | \"\n", " f\"F1 weighted = {metricas['weighted_f1']:.4f} | \"\n", " f\"F1 macro = {metricas['macro_f1']:.4f} | \"\n", " f\"Balanced Accuracy = {metricas['balanced_accuracy']:.4f} | \"\n", " f\"Score 70/30 = {metricas['score_compuesto']:.4f}\"\n", " )\n", " logger.info(\n", " \"\\n Reporte de Clasificación Final (Listo para Producción):\\n\" +\n", " classification_report(\n", " y_test,\n", " preds_nuevas,\n", " labels=etiquetas_target,\n", " target_names=nombres_target,\n", " zero_division=0\n", " )\n", " )\n", " logger.info(f\"\\n⏱️ Escáner completado en {time.time() - inicio_timer:.3f}s\")\n", " return None\n", "\n", " # ==========================================\n", " # 3B. MODO BINARIO\n", " # ==========================================\n", " logger.info(\" 🔎 Extrayendo probabilidades del Test Set...\")\n", " proba_test = modelo.predict_proba(X_test_modelo)[:, 1]\n", "\n", " logger.info(\" ⚙️ Calculando la frontera de Pareto (Precisión vs Recall)...\")\n", " precisiones, recalls, umbrales = precision_recall_curve(y_test, proba_test)\n", "\n", " f1_scores = 2 * (precisiones * recalls) / (precisiones + recalls + 1e-10)\n", " indice_optimo = np.argmax(f1_scores[:-1])\n", " umbral_oro = umbrales[indice_optimo]\n", " f1_maximo = f1_scores[indice_optimo]\n", "\n", " sns.set_theme(style=\"whitegrid\")\n", " fig, ax = plt.subplots(figsize=(10, 5))\n", " ax.plot(umbrales, precisiones[:-1], 'b--', label='Precisión', alpha=0.8)\n", " ax.plot(umbrales, recalls[:-1], 'g--', label='Recall', alpha=0.8)\n", " ax.plot(umbrales, f1_scores[:-1], 'r-', linewidth=3, label='F1-Score')\n", " ax.axvline(x=umbral_oro, color='k', linestyle=':', linewidth=2)\n", " ax.scatter([umbral_oro], [f1_maximo], color='red', s=100, zorder=5)\n", " ax.text(\n", " umbral_oro + 0.02,\n", " f1_maximo - 0.05,\n", " f\"Umbral: {umbral_oro:.2f}\\nF1: {f1_maximo:.4f}\",\n", " fontsize=12,\n", " fontweight='bold',\n", " bbox=dict(facecolor='white', alpha=0.8, edgecolor='none')\n", " )\n", " ax.set_xlabel(\"Umbral de Decisión (Probabilidad de Corte)\", fontsize=12)\n", " ax.set_ylabel(\"Puntuación (0.0 a 1.0)\", fontsize=12)\n", " ax.set_title(\"Optimización Dinámica de Umbral (Bypass de SMOTE)\", fontsize=14, pad=15)\n", " ax.set_xlim([0.0, 1.0])\n", " ax.set_ylim([0.0, 1.05])\n", " ax.legend(loc=\"lower center\", fontsize=10)\n", "\n", " plt.tight_layout()\n", "\n", " if MODO_VISUAL:\n", " plt.show()\n", " display(Markdown(\"### ⚔️ Impacto de la Guillotina Dinámica\"))\n", " else:\n", " plt.close(fig)\n", " logger.info(\"### ⚔️ Impacto de la Guillotina Dinámica\")\n", "\n", " preds_viejas = (proba_test >= 0.50).astype(int)\n", " preds_nuevas = (proba_test >= umbral_oro).astype(int)\n", "\n", " f1_viejo = f1_score(y_test, preds_viejas)\n", " mejora = f1_maximo - f1_viejo\n", "\n", " logger.info(f\" ANTES (Umbral ciego 0.50): F1-Score = {f1_viejo:.4f}\")\n", " logger.info(f\" AHORA (Umbral exacto {umbral_oro:.4f}): F1-Score = {f1_maximo:.4f}\")\n", "\n", " if mejora > 0.001:\n", " logger.info(f\" 🟢 Incremento garantizado de +{mejora:.4f} puntos en F1-Score.\")\n", " else:\n", " logger.info(\" 🟡 El umbral 0.50 ya era el matemático ideal.\")\n", "\n", " logger.info(\"\\n Reporte de Clasificación Final (Listo para Producción):\\n\" + classification_report(y_test, preds_nuevas))\n", " logger.info(f\"\\n⏱️ Escáner completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " del proba_test, precisiones, recalls, umbrales, f1_scores\n", " gc.collect()\n", "\n", " return umbral_oro\n", "\n", "\n", "# ==========================================\n", "# 4. Celda de Ejecución Maestra\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError as exc:\n", " raise EnvironmentError(\n", " \"El PipelineManager no está inicializado. Instáncialo en la línea 1 (Fase 1.1).\"\n", " ) from exc\n", "\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " raise ValueError(\"El Manager no tiene la caja fuerte de modelos inicializada.\")\n", "\n", " if getattr(manager, 'X_test', None) is None or getattr(manager, 'y_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices X_test o y_test. Ejecuta el Split (Fase 3.3).\")\n", "\n", " if 'oraculo_calibrado' in manager.modelos_preprocesamiento:\n", " logger.info(\">>> 💉 UTILIZANDO ORÁCULO CALIBRADO (FASE 19.2 DETECTADA) <<<\")\n", " modelo_activo = manager.modelos_preprocesamiento['oraculo_calibrado']\n", " elif 'oraculo_lightgbm' in manager.modelos_preprocesamiento:\n", " logger.warning(\">>> ⚠️ UTILIZANDO ORÁCULO CRUDO (NO SE DETECTÓ CALIBRACIÓN) <<<\")\n", " modelo_activo = manager.modelos_preprocesamiento['oraculo_lightgbm']\n", " else:\n", " raise ValueError(\"No se encontró ningún modelo LightGBM en el Manager.\")\n", "\n", " logger.info(\"-\" * 80)\n", "\n", " # ==========================================\n", " # 4.1 Optimización Visual / Umbral Final\n", " # ==========================================\n", " umbral_definitivo = optimizador_visual_umbral(\n", " modelo=modelo_activo,\n", " X_test=manager.X_test,\n", " y_test=manager.y_test\n", " )\n", "\n", " # ==========================================\n", " # 4.2 Blindaje de Artefactos MLOps\n", " # ==========================================\n", " if hasattr(manager, 'guardar_artefacto'):\n", " manager.guardar_artefacto('umbral_decision', umbral_definitivo)\n", " else:\n", " if not hasattr(manager, 'artefactos'):\n", " manager.artefactos = {}\n", " manager.artefactos['umbral_decision'] = umbral_definitivo\n", "\n", " if not hasattr(manager, 'artefactos'):\n", " manager.artefactos = {}\n", "\n", " info_target_final = detectar_naturaleza_target_mlops(manager.y_test)\n", " manager.artefactos['modo_decision'] = (\n", " 'multiclass_argmax' if info_target_final['es_multiclase'] else 'binary_threshold'\n", " )\n", "\n", " if umbral_definitivo is None:\n", " logger.info(\" 💾 Artefacto Guardado: 'umbral_decision' = None (modo multiclass_argmax) asegurado en el PipelineManager.\")\n", " else:\n", " logger.info(\n", " f\" 💾 Artefacto Guardado: 'umbral_decision' ({umbral_definitivo:.4f}) \"\n", " f\"asegurado en el PipelineManager.\"\n", " )\n", "\n", " logger.info(\"\\n📦 [MLOps] Escáner visual de decisión y modo operativo consolidados correctamente.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en el Optimizador Visual: {e}\")" ] }, { "cell_type": "code", "execution_count": 154, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "--------------------------------------------------------------------------------\n", "=== 🎯 FASE 19.4: Matriz de Confusión Táctica ===\n", " ⚙️ Extrayendo probabilidades y aplicando Umbral de Oro (0.3900)...\n", " 📊 Procesando Matriz para Presentación a Negocio...\n" ] }, { "data": { "image/png": "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7uPzCu8NZ7DNOObI/mIdEVAgO473q09gX+CcREMf7yF8tmDd8LmN7C4CCZyHmLbE+p73DIJDfPbivY9twfsQr4GAG+Wunk3Wjbkq8XlrJtXGRUP0j0OQbuD9hAsLeA4uQuF4I8g0F4GQrcWUKv4FQRKypNgmHCu8Jt4DCCyR0XSc8w4XG3AMECCZ9wvWH+83k1H3Ci4WYD/g+wvlj3g9vCfxnYmA0K8QqOEiLD4jreX/OH/MZw22FRl8nOfWcwndD0xA96nPc/q8gnxwhTGJiSjQQmMPVyLxReOXUjYi+joh0ESgb7JqROSakMHF9zwCdAyoYvrb0ZfHDB0R+YmZVNWxJImIiIi+HqYUF/2VGcwFLgzoiMjPAR1KhzA6l1cjEBIREZFrQp9UZNpRRvqpKWTo82NAR0R+gvp+9EvBwCBmwlgiIiL6eqDvIwYBQx/HwDD3JLnHPnREREREREQuihk6IiIiIiIiF8WAjoiIiIiIyEUxoCMiIiIiInJRDOiIiIiIiIhcFAM6IiIiIiIiF8WAjoiIiIiIyEUxoCMiIiIiInJRDOiIiIiIiIhcFAM6IiIiIiIiF8WAjoiIiIiIyEUxoCMiIiIiInJRDOiIiIiIiIhcFAM6IiIiIiIiF8WAjoiIiIiIyEUxoCMiIiIiInJRDOiIiIiIiIhcFAM6IiIiIiIiF8WAjoiIiIiIyEUxoCMiIiIiInJRDOiIiIiIiIhcFAM6IiIiIiIiF8WAjoiIiIiIyEUxoCMiIiIiInJRwb/0ChAFhCBBgnDHEhEREZHL+vDhg7eexwwdERERERGRi2KGjr5qodM1+9KrQET01Xl5ZIz99+evvXcFmYiIvC9sSO9XmzFDR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BERkQoSJAj3BBGRm/fv33NfkEtgQEf0DTi0qLO8ODxaNvz5q9PHJ/9RSx//d80f/t6oz53xf7ps3GJFi+Dn5a2d1EqXNbJzNXEFNUtntW9/kZw/unssYZyo9sfw+5dUKl9qWTmuubv7zLpVLppRApvU38eTx/tGSMeGxdztY69u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GAgE9u7x+VD2aLg3a9FKYsWKjRo4SZToO+nVp79EjWorf9+72/ky48SJK9NmzdHMHPrnofwtdpw4Ur5CJZk8daaECxdebxj5EiNCYpCQsGHCSqXKVfVmW99d+rNy1eoyaOgIbZgjaHn39q2OYPhbpy7SolUbD6+NwTa2brYNVV+4qPMpVzCXHIIUBGhmJEdHrdt2kFJlymlwheADgXGPXn30MQR6mJohIATUfvEuZL0QIAIGhXE2d2GuPHnt0wigLNcZBPrTZs6RosVKaNkjSn6//yG59B0wWCpUqvzJ9UDWsWLlqvb9j/2CQVi69eitFwXQBxEZzLbtO+pALdZ9A8fcMowYbIUCRpAP/vHtTRTImKtNodO5nwuFbKMQXljXR0vdUpTqwV1C5CBhnChyZtUfGvzm+GkA948TL4+Msf/+/DWbEd6FzFLhArk1S7ZqLefkoq8fRgctUaSABoVzF3jdl5LcCxsyiLcvsjJDR/SNwUAoY+duke/iRddMCBG5Z/rreZUNJfINDIRSvUYtLZs8eMA2FQfR1wyD70DTZh5H5yT/w4CO6Bs0eMp6uXrzgfZfIqKPMOBMo8p5ZNW2f2T1dlt5MpF/wuTTKJucOX0Kdyx91dDHc/7cOVpq7NkIpuQ/WHJJXyWWXBIRBRyWXBIRBSyWXBIREREREX0DWHJJRERERETkohjQERERERERuSgGdERERERERC6KAR0REREREZGLYkBHRERERETkohjQERERERERuSgGdERERERERC6KAR0REREREZGLYkBHRERERETkohjQERERERERuSgGdERERERERC6KAR0REREREZGLYkBHRERERETkohjQERERERERuSgGdERERERERC6KAR0REREREZGLYkBHRERERETkooL75o+ePHkiBw4ckBs3bsjTp08lUqRIkihRIkmbNq2ECRPG/9eSiIiIiIiI/BbQbdiwQWbMmCGHDh2Sd+/eeXg8WLBgkjt3bqlatarky5fPJ4smIiIiIiIiHwry4cOHD5960unTp+X333+XU6dOiXl69OjR9RY2bFjN0t29e1fu379vW2iQIJImTRrp2rWrpEqVyqfrRORnOAchdLpm3JtERP7s5ZEx9t+fv/5kM4KIiHwobMgg9rjLXzJ0lSpVkqBBg0rx4sWlUKFCki1bNokaNaqH5925c0eOHDkimzZtkvXr10uVKlXk5MmTPl1/IiIiIiIi8q8M3YQJE6Ry5cpOgzjPPH/+XBYsWCC1a9f29t8Q+Rdm6IiIAg4zdEREgSdD562AzjOvX7+WR48eSeTIkSVEiBC+XQyRv2NAR0QUcBjQERG5WMmlo6tXr0rfvn1l+/bt8vbtWw3mMAgK+tnFjh3bN4skIiIiIiIiH/JWQPf+/XvtQweYqqBatWpy7949e9SITB36zB09elTmz58vsWLF8ul6EBERERERUUBMLN6zZ0/778OHD9cRLRMkSCB9+vSR6dOnS+/evfX/t2/flhEjRvh0HYiIiIiIiCigMnTz5s2TxIkTS506dWTHjh2arZs6darEixdPH8+aNaveihQpIlu3bvXNehAREREREVFAZOhKly6tE4oD5pzD3HMmmDOQoTNz0hEREREREVEgCegGDRqkUxdAwoQJ5dmzZ7Jq1Sp3z1mxYoXenyhRooBZUyIiIiIiIvLdKJf/+9//9Gf58uVl4MCB0rZtW5kzZ47Ejx9fR708cOCADhVfrlw57y6SiIiIiIiI/MDH89BhxMuWLVvKhg0bbAsI8nGOhDx58sj48ePtI2ISfSmch46IKOBwHjoiIheehw7B2ujRozWgww0jXsaIEUPy5s0rRYsWtTekiYiIiIiIKJBl6IhcATN0REQBhxk6IqLAk6HzVW3kf//9J/v379ffr1y5Io0bN5ZKlSrp9AZERERERET0efi45BKDnzRo0EAKFiwomTNnljZt2sjx48f1sRMnTkj48OGlZMmSAbGuRERERERE5JcM3ahRo+Tly5f6+4ULFzSYw1QF1apV07Tg9OnTfbpIIiIiIiIi+hwB3ZkzZyR06NDSp08f2bNnj96Hcsvu3bvrxOKXLl3yzXoQERERERFRQAd0yM4hcENQh350GHwiQ4YM+hMjYL57986niyQiIiIiIqLPEdDFjh1bHjx4IPPnz5dt27ZJuHDhJHXq1DJx4kR5+vSpJEyY0DfrQURERERERAEd0JUuXVr7yqHE8tmzZzoACv4/bNgwzdKhLx0REREREREFwlEuMUUBArnt27dLihQppEOHDhIqVChJkCCBTixepUqVgFlTIiIiIiIiCpiJxV+8eCFhwoTxj0UR+RknFiciCjicWJyIKPBMLO7jDB28fv1apyxAnznzQu/fv5fHjx/Lrl27tByTiIiIiIiIApaPA7pjx45Jw4YNNXjzDAM6IiIiIiKiQBjQYfCTR48eefp4wYIF/bpOREREREREFBCjXJ44cUKCBw8uK1askPLly0vu3Lk1a9e+fXt9PFmyZD5dJBEREREREX2OgA6Dn0SKFEkDt6xZs8qRI0ckZMiQUr9+fQkfPrysXr3aN+tBREREREREAV1yGSNGDLl165b8888/ki5dOnny5IlOMI4JxxHs3b5926eLJCIiIiIios+RoUMfuXfv3un8c999953EiRNH56YrW7asjnSJ+eiIiIiIiIgoEAZ0bdu2lZIlS+qk4vDrr7/qT0xfgL51rVu39v+1JCIiIiIiIv+bWPzt27cawMH58+fl3LlzkipVKokfP75vFkfkrzixOBFRwOHE4kRELj6xOGBS8aNHj2ofusiRI0vOnDklQoQIvl0cERERERER+ZCPAzpEigMHDpRZs2Zpls7ASJd169a1l2ASERERERFRIOtDN2bMGJk6daq8efNGgzuUtuHnq1evZMKECXojIiIiIiKiQBjQzZ07V4O4ypUr63QFJ0+elO3bt0uNGjU0sJs9e3bArCkRERERERH5bVCU9OnTa0B38OBB+8ATRoYMGTSoO3z4sE8WSeTvOCgKEVHA4aAoRESBZ1AUH2focufOreWVjhOIX7lyRScWL1SokE8XSURERERERJ9jUJSqVavKoUOHtMSyWrVqEj16dLl27ZrMnz9fwoYNK5kzZ5ZVq1bZn1+iRAnfrBcRERERERH5d8mlmVDcu2Vv6GNH9Lmx5JKIKOCw5JKIyIXnofNJ/OfLOcuJiIiIiIgoIAK606dP+/RPiIiIiIiIKAD4eFAUIiIiIiIiChwY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE9K0FdBjtcurUqdKvXz/9/4kTJ/xzvYiIiIiIiMi/py14+/at/Pbbb7Jq1Sr7fZ06dZKmTZtKokSJZNy4cRIuXDifLpaIiIiIiIgCOkOHgG3lypUSOXJkCR7cFg8+f/5c7ty5I/v375cRI0b4dJFERERERET0OQK6ZcuWSbBgwWTRokUSNWpUvS9s2LAyf/58CRIkiKxbt84360FEREREREQBHdDdunVLIkaMKHHjxnV3f6pUqbTU8v79+z5dJBEREREREX2OgC5mzJjy6NEjHRTFavbs2fLkyROJEyeO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dDFixJDXr19Lq1at5Pjx43Lr1i05evSo/Prrr/LmzRuJFSuWb9aDiIiIiIiIAnpi8Vq1akn//v1ly5YterNC5q5x48Y+XSQRERERERF9joCuTp06mombNGmSPH782H5/9OjRNUtXoUIF36wHERERERERBfSgKMbbt291VMsnT55I5MiRJUmSJN6eq44ooHFQFCKigMNBUYiIAs+gKD7O0Nn/MHhw+f77733750RERERERORH3gro0qZNq/PNrV27Vn//VGYEI2ESERERERFRIAjoXr16pTfzu1dYdklERERERBSIArp+/fpJmDBh7L8TERERERGRCw+KQhSYcVAUIqKAw0FRiIhcbFCUY8eO+WgF0qRJ46PnExERERERkc95K6CrUqWKt/vG4XknT570xaoQERERERGRT3h72gLvpvxYwUlERERERBSIArqNGzcG/JoQERERERGR/wd08eLF89lSiYiIiIiIKPCUXDoOknL48GF59uyZvH//3l5q+ejRI9mzZ4+sWLHCv9eTiIiIiIiI/BrQLV26VDp16uT0MQR1nFiciIiIiIjo8wjq0z+YPn26Bm5x4sSRCBEiSLRo0SRt2rQSIkQIDeaaNGkSMGtKREREREREfgvoLl68KKFChZKVK1dKhQoVJH78+DJ37lyZMmWKBnqXLl3y6SKJiIiIiIjocwR0EDZsWAkTJoxkzJhR55x78+aNZMqUSSJFiiT79u3zzSKJiIiIiIgooPvQISP377//yowZM6REiRLy+vVrGTdunJZeYlAUBHtEREREREQUCDN0VatW1dJKDI4SPXp0SZUqlQZ0vXv31j50adKkCZg1JSIiIiIiIr9l6GrWrCkhQ4aUu3fv6v979OghTZs2ldu3b0uiRImka9euPl0kERERERER+UKQD0i3+RHmonv48KFEjRrVr4si8hdm+owXb/x8ehMRkYMwIWyfsXDi2lPuHyIif5YyXnitigywicXh9OnTsnv3brl165Z07NhRbty4wYCOiIiIiIgoMGfo3r59K7/99pusWrXKft+pU6ckb968WnKJ/nThwoULiHUl8jZm6IiIAg4zdEREgSdD5+NBURCwYQ66yJEjS/DgtgTf8+fP5c6dO7J//34ZMWKEz9eYiIiIiIiIfMzHAd2yZcskWLBgsmjRInuJJaYqmD9/vmZF1q1b5/O1ICIiIiIiooAP6NBnLmLEiBI3blx392P6ApRa3r9/3+drQURERERERAEf0MWMGVMnEMegKFazZ8+WJ0+eSJw4cXy+FkRERERERORjwX0zsfjQoUOlcuXK9o56OXLkkAcPHmjJZfny5X2+FkRERERERBTwGbqGDRtKtWrVdLRL3BDUocwSwVylSpWkQYMGPl8LIiIiIiIi+nwTi1+6dEn27NmjE4rHiBFDMmbMqNMWEAUGnLaAiCjgcNoCIqKvYGJxBG+OAdzdu3elb9++WpJJREREREREgaTkctq0aVKoUCHNxNWuXVsnE3ccFKV48eKyevXqgFhPIiIiIiIi8k3JJYK5/v37u7svWrRosnz5cu1H17ZtWzlw4ICmBYMGDSonT5781CKJAhRLLomIAg5LLomIAk/JpbcydJhEXBecMqUOipIgQQIdCGXhwoWarTPBXLx48WTKlCl+W3siIiIiIiLyvwxd+vTp5d27d7J7926dPPzMmTNStmxZCR48uGbokA2pXr26tGvXTsKGDeu9VyYKQMzQEREFHGboiIhcbFCUly9f6kiWCOYgadKk+hNBHu4fOHCgZM+e3S/rTERERERERD7krYDO9I2z/1Hwj382YcIE+fHHH336ukRERERERPS5Jxa3iho1KoM5IiIiIiKiL8Tb89A9fvxYevTo4e6+Fy9eeLgPfZe6d+/uf2tIREREREREvh8UJXny5PZBJgzzZ9b7cR/+7zhHHdHnxkFRiIgCDgdFISJysUFRMmfO7Nd1IiIiIiIioi+RoSNyNczQEREFHGboiIhcbGJxIiIiIiIiCnwY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdERERERGRi2JAR0RERERE5KIY0BEREREREbkoBnREREREREQuigEdEREREVEAev/+PfcvBZjgAbdoIiIiom9PizoV5eql/yRF6nTSd+QUD4+P6NtVtqxfKdGix5SJ81ZJ0KD+d339nyMHpGvrRvr7lEXrJErU6H5aXpdfG8qJowelSOmK0qRNZwnsNq35W0YN6OHuvmDBgkuo0KHlu6T/k+p1m0qqdBkD5LUbVSspd27dkJoNW0jFn+rqfbdvXpdp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JA1z0KBlJ7vwhzZfhFyE8HFDent6jVZXYGhCnxGTpFGbrlqpxMQoCLdo78SsrRgvahvm4OK5M+6uv0g/hxU68pVYofO+Kl3pEkUkSZKkes0x344VOvNW6DBpDsZZtm3fUWrVYaDzaqzQeQ7hBReXxoHzlIXrvHz/+1WeVZLIPFAZRQV61PRFnOHSiyp0vGwBEf1QlW7Ldo+v5+bbYDyeXxctWnQ5fc75+EefDJdlMON6k++ASlGxspVlqdt0bZEzqm9Efh3GP6I9M0vOfAxzXogtl0RERERerGyVOjoFPiaKICILjKNEW6bRAktegy2X5Cux5ZKIyPuw5ZKIyHtxUhQiIiIiIiI/gC2XREREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbFQEdERERERGRSDHREREREREQmxUBHRERERERkUgx0REREREREJsVAR0REREREZFIMdERERERERCbl78uXL19+90oQeTV//vxxpxIRERGRabka0wJ6+5oQ/QY8T0FEREREfgFbLomIiIiIiEyKgY6IiIiIiMikGOiIiIiIiIhMioGOiIiIiIjIpBjoiIiIiIiITIqBjoiIiIiIyKQY6IiIiIiIiEyKgY6IiIiIiMikGOiIiIiIiIhMioGOiIiIiIjIpBjoiIiIiIiITIqBjoiIiIiIyKQY6IjI2+TNm1cSJUpk/UqcOLGkTZtWqlevLkePHvXy5zt8+LA+z+3bt/XfNWrUkM6dO+vtFStW6O98gjVr1tjtF+PLWG/YuHGjFC1aVFKmTCmlS5eWgwcPWn+H++H+2F5br1+/lsqVK0vmzJnl/Pnznq5D06ZNZevWrdb95Pg6pUmTRsqXL2+9z/+z/73K27dvdV/cvXvXS5dL5Jf4xfdjn/Zei+13XJdkyZJJ9uzZpUOHDvL06VPr42z318968OCBFClSRNebfKeAv3sFiMh3q1u3rn7Bly9f5Pnz5zJy5EipX7++fpD++eef3vbc48aNkwABAuhtfGDnyJFDfIKLFy9KxowZdT/YCh8+vH4/dOiQfrh37NhRsmXLJsuWLZOGDRvKqlWrJF68eE6XiQ9q7NNbt26Jm5ubJEiQwMPnX7dunbx69UoKFChg/Rk+7Lt162Z9nd68eSPTp0+Xli1byuLFi/Vg53cJFiyYblv37t1l5syZv209iMzOr70f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0BEREREREZkUAx0REREREZFJMdARERERERGZFAMdERERERGRSTHQERERERERmRQDHRERERERkUkx0BEREREREZkUAx0REREREZFJMdARERERERGZFAMdERERERGRSTHQERERERERmRQDHRERERERkUkx0BEREREREZkUAx0REREREZFJMdARERERERGZFAMdERERERGRSTHQERERERERmRQDHRERERERkUkx0BERka9So0YNSZQokfUrceLEkjx5csmePbt069ZNXrx44a3Pv2LFCn3eFClSuFunnj17evnzjRs3TpdduHBhp78/ePCg/r5QoUJy48YN+dXb7hXbYOvff/+VyZMnS9myZSVt2rSSMmVK3bZBgwbJgwcP/q/17tKliz5/9+7d5ePHj+JdjL/J9evXe9tzEJHfE/B3rwAREZF3CB48uIQKFUo+f/6sIe7Ro0eybNkyuXTpkixZskT8+fP3y3Z8uHDhJEqUKBImTBgvX3bIkCF12ZEiRXL3uy9fvsj06dMlR44cMmLECG95/l/p8ePHUqtWLbly5Yr+O1iwYBI0aFC5fv26zJ49W1atWiVTpkyR1KlTu7xMLAuht2PHjlKvXj1vXHsiIu/BQEdERL5SiRIlpG/fvnr7w4cPMmzYMJk7d6789ddfcvLkSa3u/Cpjx471tmXXqVNHv5xBaJ0xY4b4FghdCGAI6/3799eKXoAAAeTcuXPSvn17uXr1qjRr1kw2bdqkYd4V8ePHl127dnn7uhMReRe2XBIRka8XOHBgqVSpkvXf9+7ds2uFRODCbVR2EAyM+7Rp00bSp08vqVKlksqVK8u+ffvctf/17t1bMmXKJGnSpNHWvdevX7t7fmctl6gconqGdkG0hKKKhsc/fPjQ7rE7duzQdUdrIZ4HVSSE0u+1Kx47dkzq168vGTJk0O3C+mNZztbLzc1N1yV37tz6PLVr19aql2dc3XZs59SpUyVfvny6nfiO/f2jrY0Ibfv379fbHTp0kGLFimmYg2TJksn48eM1wKKKhwqsbQso2jPxe6wnthGtmW/fvpUBAwZInjx5dL2wn7Ddp0+ftnte/B3gbyJz5sz6d4Dnxf4yHD582NpKiSqwAa8Tfta5c2dPt+vdu3cyevRoKViwoK5Hzpw59UTE8+fPf2j/EJHfxQodERH5eqjQzZo1y/rvGDFi2P0egQMC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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "### 📋 Resumen Ejecutivo para Stakeholders" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ " 🟢 ACIERTOS TOTALES: 5,632 registros clasificados correctamente.\n", " 🔴 ERRORES TOTALES: 876 registros clasificados incorrectamente.\n", " ↳ De 1,568 personas ricas reales, el modelo logró atrapar a 1,140 (Recall).\n", " ↳ De 1,588 veces que el modelo gritó '¡Es rico!', acertó 1,140 veces (Precisión).\n", "\n", "⏱️ Matriz generada en 0.796s\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import time\n", "import logging\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from sklearn.metrics import confusion_matrix\n", "from sklearn.utils.multiclass import type_of_target\n", "from IPython.display import display, Markdown\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "if 'detectar_naturaleza_target_mlops' not in globals():\n", " def detectar_naturaleza_target_mlops(y: pd.Series) -> dict:\n", " serie = pd.Series(y).dropna()\n", " if serie.empty:\n", " return {'tipo': 'desconocido', 'es_regresion': False, 'es_binario': False, 'es_multiclase': False, 'num_clases': 0}\n", " serie_tipada = serie if pd.api.types.is_numeric_dtype(serie) else serie.astype(str)\n", " try:\n", " tipo_detectado = type_of_target(serie_tipada)\n", " except Exception:\n", " tipo_detectado = 'desconocido'\n", " es_regresion = tipo_detectado in ('continuous', 'continuous-multioutput')\n", " num_clases = int(serie.nunique()) if not es_regresion else 0\n", " es_multiclase = (not es_regresion) and num_clases > 2\n", " es_binario = (not es_regresion) and num_clases == 2\n", " if es_regresion:\n", " tipo = 'regression'\n", " elif es_multiclase:\n", " tipo = 'multiclass'\n", " elif es_binario:\n", " tipo = 'binary'\n", " else:\n", " tipo = 'desconocido'\n", " return {'tipo': tipo, 'es_regresion': es_regresion, 'es_binario': es_binario, 'es_multiclase': es_multiclase, 'num_clases': num_clases}\n", "\n", "if 'resolver_etiquetas_target_mlops' not in globals():\n", " def resolver_etiquetas_target_mlops(y: pd.Series, manager_ref=None):\n", " serie = pd.Series(y).dropna()\n", " etiquetas = sorted(serie.unique().tolist())\n", " nombres = [str(etiqueta) for etiqueta in etiquetas]\n", " artefactos = getattr(manager_ref, 'artefactos', {}) if manager_ref is not None else {}\n", " diccionario = artefactos.get('diccionario_target_maestro') if isinstance(artefactos, dict) else None\n", " if isinstance(diccionario, dict) and diccionario:\n", " diccionario_inverso = {valor: clave for clave, valor in diccionario.items()}\n", " if all(etiqueta in diccionario_inverso for etiqueta in etiquetas):\n", " nombres = [str(diccionario_inverso[etiqueta]) for etiqueta in etiquetas]\n", " return etiquetas, nombres\n", "\n", "if 'predecir_argmax_multiclase_mlops' not in globals():\n", " def predecir_argmax_multiclase_mlops(modelo, X: pd.DataFrame):\n", " if hasattr(modelo, \"predict_proba\"):\n", " probabilidades = np.asarray(modelo.predict_proba(X))\n", " if probabilidades.ndim == 2 and probabilidades.shape[1] > 1:\n", " clases = np.asarray(getattr(modelo, 'classes_', np.arange(probabilidades.shape[1])))\n", " predicciones = clases[np.argmax(probabilidades, axis=1)]\n", " return predicciones, probabilidades\n", " return np.asarray(modelo.predict(X)), None\n", "\n", "if 'alinear_features_oraculo_mlops' not in globals():\n", " def alinear_features_oraculo_mlops(modelo, X: pd.DataFrame) -> pd.DataFrame:\n", " nombres = None\n", " if hasattr(modelo, 'feature_names_in_'):\n", " nombres = list(modelo.feature_names_in_)\n", " elif hasattr(modelo, 'feature_name_'):\n", " try:\n", " nombres = list(modelo.feature_name_)\n", " except Exception:\n", " nombres = None\n", " elif hasattr(modelo, 'feature_name'):\n", " try:\n", " nombres = list(modelo.feature_name())\n", " except Exception:\n", " nombres = None\n", " if not nombres:\n", " return X\n", " X_alineada = X.copy()\n", " extras = [col for col in X_alineada.columns if col not in nombres]\n", " if extras:\n", " X_alineada = X_alineada.drop(columns=extras, errors='ignore')\n", " faltantes = [col for col in nombres if col not in X_alineada.columns]\n", " for col in faltantes:\n", " X_alineada[col] = 0\n", " return X_alineada[nombres]\n", "\n", "def renderizar_matriz_confusion_mlops(\n", " modelo_calibrado, \n", " umbral_oro: float, \n", " X_test: pd.DataFrame, \n", " y_test: pd.Series\n", "):\n", " \"\"\"\n", " [FASE 7 - Paso 19.4] Matriz de Confusión Táctica (UI/UX para Negocio).\n", " \n", " - Inteligencia de Umbral: Aplica la guillotina exacta (ej. 0.38) en lugar del 0.50 por defecto.\n", " - Renderizado de Negocio: Traduce los cuadrantes matemáticos a impacto real (Aciertos/Errores).\n", " - Blindaje: Funciona dinámicamente según la distribución del Test Set.\n", " \"\"\"\n", " logger.info(\"=== 🎯 FASE 19.4: Matriz de Confusión Táctica ===\")\n", " inicio_timer = time.time()\n", "\n", " info_target = detectar_naturaleza_target_mlops(y_test)\n", " es_multiclase = info_target['es_multiclase']\n", " manager_ref = globals().get('manager', None)\n", " etiquetas_target, nombres_target = resolver_etiquetas_target_mlops(y_test, manager_ref=manager_ref)\n", "\n", " # 1. Extracción de Predicciones Finales\n", " if es_multiclase:\n", " logger.info(\" ⚙️ Generando dictámenes finales en modo Argmax Multiclase...\")\n", " X_test_modelo = alinear_features_oraculo_mlops(modelo_calibrado, X_test)\n", " preds_finales, _ = predecir_argmax_multiclase_mlops(modelo_calibrado, X_test_modelo)\n", " else:\n", " logger.info(f\" ⚙️ Extrayendo probabilidades y aplicando Umbral de Oro ({umbral_oro:.4f})...\")\n", " X_test_modelo = alinear_features_oraculo_mlops(modelo_calibrado, X_test)\n", " proba_test = modelo_calibrado.predict_proba(X_test_modelo)[:, 1]\n", " preds_finales = (proba_test >= umbral_oro).astype(int)\n", "\n", " # 2. Cálculo Matemático\n", " cm = confusion_matrix(y_test, preds_finales, labels=etiquetas_target if es_multiclase else None)\n", "\n", " # 3. Cálculos porcentuales para dar contexto\n", " total = np.sum(cm)\n", " tasa_acierto = np.trace(cm) / total\n", "\n", " # ==========================================\n", " # 4. Renderizado Visual (Nivel Dashboard)\n", " # ==========================================\n", " logger.info(\" 📊 Procesando Matriz para Presentación a Negocio...\")\n", " if es_multiclase:\n", " etiquetas = cm.astype(str)\n", " else:\n", " tn, fp, fn, tp = cm.ravel()\n", " etiquetas = np.array([\n", " [f\"Verdaderos Negativos (TN)\\n{tn:,}\\n(Pobres bien clasificados)\", \n", " f\"Falsos Positivos (FP)\\n{fp:,}\\n(Falsas Alarmas - Alerta)\"],\n", " [f\"Falsos Negativos (FN)\\n{fn:,}\\n(Ricos que escaparon)\", \n", " f\"Verdaderos Positivos (TP)\\n{tp:,}\\n(Ricos atrapados - ÉXITO)\"]\n", " ])\n", "\n", " sns.set_theme(style=\"white\")\n", " fig, ax = plt.subplots(figsize=(9, 7))\n", "\n", " # Mapa de calor usando una paleta profesional (Rojos para errores, Azules para aciertos)\n", " sns.heatmap(\n", " cm, \n", " annot=etiquetas, \n", " fmt=\"\", \n", " cmap=\"Blues\", \n", " cbar=False, \n", " annot_kws={\"size\": 12, \"weight\": \"bold\"}, \n", " linewidths=2, \n", " linecolor='black',\n", " ax=ax\n", " )\n", "\n", " # Estética del gráfico\n", " if es_multiclase:\n", " ax.set_title(\n", " f\"Radiografía del Modelo Multiclase\\n(Modo: Argmax | Exactitud Global: {tasa_acierto:.2%})\",\n", " fontsize=14, pad=20, fontweight='bold'\n", " )\n", " else:\n", " ax.set_title(f\"Radiografía del Modelo en el Mundo Real\\n(Umbral de Decisión: {umbral_oro:.4f} | Exactitud Global: {tasa_acierto:.2%})\", \n", " fontsize=14, pad=20, fontweight='bold')\n", " ax.set_xlabel('Predicción del Oráculo', fontsize=12, fontweight='bold', labelpad=15)\n", " ax.set_ylabel('Realidad (Lo que pasó)', fontsize=12, fontweight='bold', labelpad=15)\n", "\n", " # Etiquetas de los ejes\n", " if es_multiclase:\n", " ax.set_xticklabels(nombres_target, fontsize=11, rotation=25, ha='right')\n", " ax.set_yticklabels(nombres_target, fontsize=11, rotation=0)\n", " else:\n", " ax.set_xticklabels(['Predijo <=50K (Pobre)', 'Predijo >50K (Rico)'], fontsize=11)\n", " ax.set_yticklabels(['Realmente <=50K', 'Realmente >50K'], fontsize=11, rotation=0)\n", "\n", " plt.tight_layout()\n", " \n", " # 🛡️ Cláusula de Seguridad Visual\n", " if MODO_VISUAL:\n", " plt.show()\n", " display(Markdown(\"### 📋 Resumen Ejecutivo para Stakeholders\"))\n", " else:\n", " plt.close(fig)\n", " logger.info(\"\\n### 📋 Resumen Ejecutivo para Stakeholders\")\n", "\n", " # 5. Resumen Ejecutivo (Siempre se loguea)\n", " aciertos = int(np.trace(cm))\n", " errores = int(total - aciertos)\n", " logger.info(f\" 🟢 ACIERTOS TOTALES: {aciertos:,} registros clasificados correctamente.\")\n", " logger.warning(f\" 🔴 ERRORES TOTALES: {errores:,} registros clasificados incorrectamente.\")\n", " if es_multiclase:\n", " resumen_por_clase = pd.DataFrame({\n", " 'Clase': nombres_target,\n", " 'Aciertos': np.diag(cm),\n", " 'Soporte': cm.sum(axis=1)\n", " })\n", " logger.info(\"\\n 📋 Resumen por Clase:\\n\" + resumen_por_clase.to_string(index=False))\n", " else:\n", " logger.info(f\" ↳ De {tp + fn:,} personas ricas reales, el modelo logró atrapar a {tp:,} (Recall).\")\n", " logger.info(f\" ↳ De {tp + fp:,} veces que el modelo gritó '¡Es rico!', acertó {tp:,} veces (Precisión).\")\n", "\n", " logger.info(f\"\\n⏱️ Matriz generada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return cm\n", "\n", "# ==========================================\n", "# Celda de Ejecución Maestra en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta del Manager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Instáncialo en la línea 1 (Fase 1.1).\")\n", "\n", " if not hasattr(manager, 'modelos_preprocesamiento') or 'oraculo_calibrado' not in manager.modelos_preprocesamiento:\n", " raise ValueError(\"El modelo 'oraculo_calibrado' no existe en la caja fuerte. Ejecuta la Fase 19.2.\")\n", "\n", " if not hasattr(manager, 'artefactos') or 'umbral_decision' not in manager.artefactos:\n", " raise ValueError(\"El 'umbral_decision' no existe en los artefactos. Ejecuta la Fase 19.2.5 (o la Fase Unificada).\")\n", "\n", " if getattr(manager, 'X_test', None) is None or getattr(manager, 'y_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices de Test ('X_test' o 'y_test').\")\n", "\n", " modelo_final = manager.modelos_preprocesamiento['oraculo_calibrado']\n", " umbral_final = manager.artefactos['umbral_decision']\n", "\n", " logger.info(\"-\" * 80)\n", "\n", " # Invocamos al renderizador\n", " matriz_final = renderizar_matriz_confusion_mlops(\n", " modelo_calibrado=modelo_final,\n", " umbral_oro=umbral_final,\n", " X_test=manager.X_test,\n", " y_test=manager.y_test\n", " )\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error renderizando la Matriz de Confusión: {e}\")\n" ] }, { "cell_type": "code", "execution_count": 155, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🧠 UTILIZANDO ORÁCULO CALIBRADO <<<\n", "\n", ">>> INICIANDO AUDITORIA LEGAL (Umbral Activo: 0.3900) <<<\n", "--------------------------------------------------------------------------------\n", "=== ⚖️ FASE 19.5: Auditoría de Justicia Algorítmica (Legal MLOps) ===\n", " ⚙️ Extrayendo dictámenes finales usando el Umbral Optimizado (0.3900)...\n", " 🔍 Atributos protegidos detectados para auditoría: ['age', 'race', 'sex', 'llm_age_*_education_num']\n", " ⏭️ Saltando 'age' (Demasiados valores únicos para un reporte categórico claro).\n", " ⏭️ Saltando 'llm_age_*_education_num' (Demasiados valores únicos para un reporte categórico claro).\n", " 📊 Generando Diagnóstico de Equidad...\n" ] }, { "data": { "image/png": "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fAUAAAAAAACACCD4CgAAAAAAAAARQPAVAAAAAAAAACKA4CsAAAAAAAAARADBVwAAAAAAAACIgEyRWCmAtOfQoUN2/PjxlC4GkK5kz57dcufOndLFAAAAAABECMFXAC7w+sYbb9jp06epDSAZZc6c2Tp27EgAFgAAAAAuUARfAbgerwq8Nm3a1PLnz0+NAMlg3759tmjRIvf5o/crAAAAAFyYCL4C8FPgtXDhwtQIAAAAAABAGDDhFgAAAAAAAABEAMFXAAAAAAAAAIgAgq8AEMDn86Xb+kjJbU/P9Q4AAAAAuHARfAUQr3bt2lm5cuX8t/Lly9s111xjrVq1shkzZtiZM2eiLd+gQQN78skn01TN7tixw7p27Wr/+9//krwubbvqIC1ZvXq12/64zJs3L9px4N0qV67stnfQoEF25MiRBL3voUOH7PHHH7dVq1ZFO950i4Q9e/ZY3759rUaNGnbddddZnz59bNeuXfG+7quvvrLWrVvb1VdfbTfeeKONHTvWTp06dd62DBw40GrXru0+H3fffbf98MMPEdkOAAAAAEDawIRbAEJSsWJFe+6559zfZ8+etYMHD9rXX39tQ4cOdYGz0aNHW1TU/7ueM378eMuZM2eaqtnvv//eli1bZunV3LlzbfPmzSEtq/178cUX++/rWPjmm29s5syZtm/fPncshGr9+vX24YcfusCmxzvOwk0XCbp06eICxAqS6v7IkSPtgQcecIHlzJkzx/i6b7/91rp3724tW7Z0gdstW7a41+3evdteeOEF/2dC696+fbv169fPChQo4C5MKKCtutUFCwAAAABA+kPwFUBIFExVr79A6u1YunRpGzx4sH388cd22223+QO1uHBVqFDBLrnkkmiP3XDDDbZ3715bvHixHT161C666KJEr79s2bIWCZ988omtW7fOFi5c6H8PbUuzZs1cub3jN9irr75qlSpVchcapFatWrZ//36bNGmS9e/f33LkyGELFiyw3377zd87WKpXr+7W+d133xF8BQAAAIB0irQDAJLkvvvus8KFC9ucOXNiTTvgBWY1PP3666+3xx57zHbu3Blt+VGjRtmQIUOsWrVqbki4hqIfOHAg2nupB6FSHSgIrHW1aNHCBc08Cnwp8KvlNPRbwa8///zT9UqcMmWKC7LpdXr9PffcYz/++KP/dQqiScOGDaOVXeu69dZb7corr7T69evbuHHj3PoSQq9p0qSJff75564MV111lSv7mjVr7Oeff7Y777zTlUvPBQ5T1+tUN0uXLnWvr1Klit111122fPnyaOvfsGGDPfzww65uFSSsW7euvfjii3bixAn/Mhoirx6p2j7vvebPn++e0/bqb6VcUOBQ9ZEYuXLlsgwZMrhbKPtM29G+fXv3t/73Ug0Epx04efKkTZgwwdWB6q5x48Zuf547d86/jBf0DK6b4B6spUqVihbc1d9lypSJs9ezjsuXX3452mPqJav391JufPrpp+7Y9QKvkjVrVve4etYCAAAAANIner4CSBKlGqhZs6brTahAVKZMmc7LJapA6kMPPeSCU8qtOnz4cDd8e9asWf7lZs+ebSVLlnS9CzV0XcO6//nnHxfUVTDvrbfecgHFRx55xOXq1FD3qVOnukCu8msWKVLErUeB0WnTprneuOqdqMCaAmdvv/22e08FxxT4VTDv0Ucfdbk8FVTVsHL1ZNSQei+Aph6PCgorwKzgrIbIKyD633//uYBcQmi7hw0bZr1793Y9JTVcvWfPni6I9+CDD1rRokX9z6tM2bJlc69TXTzxxBMuuFqiRAm3bQrmKaipXpvKV9q2bVsX3NTrs2TJ4tJBTJ8+3QoVKuTP46p6UoBR26kgrv5W0FXvr32j91GvUG2/3icugUFHTZSlXKcKECuAe9NNN7ntk/j2mQLFAwYMcLli9b+C7sG0ftWPgtSqAw3fV4BVgeStW7f6h/1rH77zzjtx9ppVWoXLLrvsvMe1vX/99Vesr7v00kv9fytlgVJUaD8oKJ87d25/AFyB7TfeeMOlG9AxpuPoqaeesqpVq8ZZnwAAAACACxfBVwBJVrBgQTt9+rTrqaq/g4OvCiQqCKjAoOTNm9fWrl3rAmteL0kFcRUwVO9JyZ8/v/Xo0cPlEq1Xr54LtCnoqEChp3jx4q5Xpd5DgTCPgnUKxnkUoFRQM7A3pXolKii4ceNGF7j0Ao7ekPrDhw/bxIkT3aRJzzzzjHuuTp06ruy636lTJ7v88stDrqPjx4+7XKbaFlGPXAWYFSS+44473GPHjh1zAVkFAlUO73XKT6p8o6LerY0aNXI9PxUY/uOPP9yyY8aM8efZ1bB4DXVXkFL1rmXUA1OBwA4dOrhlFDBXT1cto16wqm/tn+DUEjFRgDWY9nubNm1c+T2h7DMvWKr/YwqcKpCsYOcrr7zi38fq1axjStusHrPaDyq/bnHRPlWAP5hSJChVQnx0HKlXsReQ1THlUfBaaQ3y5MnjLjZkz57d7aP777/f3n33XdIOAAAAAEA6RfAVQJIpiCqBw8096u2qIKECfDfffLPLDaogpv4PpOH1XuDVu69etCtXrnQBSy8VgHpZasIj9Yr1hpgHzzrvBS49CnJ6ATLvteqpGdNrPUoJoGH7KofXy9Mrlyi4mZDgq1x77bX+v70gtXqhehTY9bbRozpQ3XkUdFR9KCgpqkvdFPxWQFfbpmCrttVbnwKdouH6gdSLNzHUQ1gTbuk9Ndz/gw8+cEFXBaoDJWSfxWbFihWuDpRyIJDSWCj4qudD3Q/ecRqTmI7dYKp79WzVRQbVnbZX26+0G6oLBXffe+89fy9s9fZVoFq9fb1jEAAAAACQvhB8BZBkGmKtwJQX7Auk4eXqAaiglXq26m8FHtU7NbAnqgJYgdQTNl++fG6ouvz7779uaLpyomqovCb68maQDw6qecPePepl+/zzz7v/1SNRPSyLFSsW42s9Xr5Zb9h+TL0gE8rrmRpI5YmL6io4lUOBAgX85VMKAPUK1RB/9ZxV+gLlVlXP3uBt0evC4YorrvBPuKWAsoLT2jfavsAeyAnZZ7HR/tdxkDFjxmiPK/grCniGSuWLqYerUgkEBv5joxQD6jEsyj2rHshK/6B0COo9qxQXXuDVez8d/0rnAAAAAABInwi+AkgSBd7Um1FBuOAAmUdDtXXTEHpNcqWcmMoFql6fChSK8rMGUu5WPaah5AowKgiqAJ56FqpnqwKS6un54Ycfxlk+BdY6d+7s8m8qL60CgArsKuephuLHxsvlOWLEiBjzhAanV4iU4EnHZM+ePf5AqhfYVnBZPVu9IKKXyiBwW9QbNjA4qByoWr96aCaF0jCoJ7DSIyhvq+omKfsskIbx6zjQ8RB4fHnBbwVmQ6XJtpS3N5iCxN5xGEzvq+NEx4Amc/Mo+KyyeeVQOoOYevPq8+Hl7wUAAAAApD9RKV0AAGmbJjnavXu33XvvvTE+/9JLL1nr1q1dT0f18rzxxhvdBFKyfft2/3IaRh8YvPryyy9d4Eo9DRV8Ux5UBRTV49DrCeoNvQ+c9T6YhrsrwKjcoOrxqsBrTK/1HvcoMKzAoXr16j29m95bPU23bdtmyUGpD5T3NvC+yu71wFRKAW2X6tgLvKrMSj3gbZsXXF2yZEm0dSuwrJyzMW1/QqiHpyYkU3oBb3h9qPsstoC9p3r16u44UD7VQB999FG0bQuF0jMo4KwAsEd/6zHlkY2JyqdtCk4b8Pvvv7vjypucTWk0FNjVujyqg59++inJwW0AAAAAQNpFz1cAIVEPUs047wXOFFj69ttvXfBV+TeD84l6NEGU0g0o/6eWU27M1157zaUo0HOe//77z7p37+6CpPpbAU71llVPSm+iJg2tV89N9eRUQFI9aEU9auPq7ajg4OTJk10AUDf1ZFRvzMDXer1DP//8c5dTVUPI1WNWeUW17SqHgpq6r/yg3vD55KDAZq9evVxv19dff92lF1BdiXpsamIw9YDVZFnKq/rqq6+6QLa3bSqrcqYOHz7cBW/VC1VBUOW9HT9+vH/71aNWPYL1fKFChRJUxqZNm9rs2bNt/vz5LhCvcoWyz7yA8VdffeV6kgbXq/aF6l69a1X/el55XpVH9fbbb/dP0qVeverBqvsxpXfwyqjjoEuXLta3b1/3mIKqSqNwyy23+JdTmgBNPuatWxOz6YKBJkxTPWoisbFjx7rXKegtOm6V/1W9fTURly40KDeujhVNOgYAAAAASJ8IvgIIiQJS3oRKCigpx6WCTxpqfuedd8b6OvUIVA/LadOmudyYeq16AioIF5gjVrlCFaBTkFE5WxVYC5xNXgFG9dJUENcLjCm4NWTIEFu1alW0/LGBFNzTa19++WV79NFHXbkVXJw1a5YLwum1mkRLAb5atWq5YJxylCqYqbIot6iCigoYKzioHqd9+vQJKUdouKiOtZ0KMCq9w9tvv+2GuUu3bt1cIFz1OWHCBJfztUWLFq6eFYRVb1TVqwKvCrS++eabbnkFlxVAVN5SadWqlQu89ujRw02eFVuu27goQKr1DBo0yOVCDWWfabIsTSimIK2Csx9//HG0dXrbobIqvYLqQEP+tQ86derkX07BWwWpVQ9ewD6YyqALASrTs88+63o2q8erXheYV1fHqQLHM2fOdPdbtmzpUgfomFDKBB2fqjcFcL2UAjo2tF9Uz9p+XWTQvtKxo30CAAAAAEifMvhCnfXkAqUJeETDYoH0Sj0KFYy87777zpv4Kjko+Knh5cOGDUv2907Nxo0b5wKmGzduTOmi4AL83AEpjTYY9QgAAJAe2rLkfAUAAAAAAACACCD4CgAAAAAAAAARQM5XACluyZIlKV2EVEkTPekGAAAAAADSJnq+AgAAAAAAAEAE0PMVQLrz5JNP2vz58897XLPYX3LJJdaqVSvr1KlTrBNfbdu2zRo2bBjnewwcONDuvfde//158+bZu+++a3/88YedPXvWvU/jxo3tgQcesJw5c573+u+//97eeecd++WXX2zPnj1umSpVqrjJmerWrXve8qdOnXLLf/TRR7Z582b3WMmSJa158+auHNmzZ4+3TlasWBFnL+Tly5db+/bt41zP1KlTrV69ev772lZtu8q1ZcsWO3jwoBUsWNBq1qxpnTt3tjJlysS4nu+++87uv/9+u+KKK2zBggWxlmXGjBlWo0aNOMsEAAAAAEBKIfgKIM156aWX4ny+Tp06Vrt27TiXufjii11A1ePz+VyQc86cOTZs2DDLmjWrtWnTJs51dO/e3erXrx/jc5deeqn/b73P5MmTXTBRr8mcObP99ttv9tprr9k333xjb7/9tnvMM3ToUHvjjTfspptusn79+lnhwoVt9+7d9uGHH7qApQKlgcHhw4cPW5cuXWzDhg0u0NqzZ0/LkCGDrVq1yiZNmuQCzQqKFilSxMJhwIABVqlSpRifCwymHjlyxG2vAsh33XWXK3OuXLns77//tpkzZ1rr1q1dHVStWvW89bz//vsu8Kpg9erVq+26664LS9kBAAAAAEhOBF8BpDnq+VmrVq1Yn1ev0fhkyZLFrr766vMeVzC1UaNGrrdmfMHXEiVKxLiO4B6pCnyqh2vv3r39j6v8pUuXth49etgXX3xht9xyi3tcgVIFXoMDrKJlXnjhBRs5cqQ1adLEihYt6h5/+umnbdOmTS5wXL58+WhB6BYtWriA7GOPPeYCngrKJlXZsmXj3W4ZPHiwrVmzxmbNmhVt+WrVqtltt93m6vfZZ5+1xYsXR3vdoUOHXJ08//zz9uqrr7rtIvgKAAAAAEiLyPkKAAHUA1VD9MMRpPR6f544ccLOnTt33nM33HCDC8gG9pKdMGGCVa5c2Tp27Bjj+hSsVVB1//797r6Crp9++ql169YtWuDVU6pUKXv00Udt5cqV9uOPP1py+d///ucCyUoNEFOgVj2Lte1XXnml67kbSGkGzpw544LsCtJq+w4cOJBsZQcAAAAAIFwIvgJItxTg827qoapcrhry/9dff1nLli3jfb0CqoHr8G7Kc+rJnz+/y9X6+uuv2xNPPOF6dO7bt88f6H3wwQddAFKUNmDr1q126623xhr81fqUwqBixYruvtIWSIMGDWItZ9OmTd36vvzyywTWUOK3W++lVA7NmjWLdT0KIg8fPtylIghOOaDAq3LDaj+cPn06xhy9AAAAAACkdqQdAJAuqWdmTHlLL7vsMnvuueeiTZYVGw331y2mibs03N4zduxYe/zxx+2DDz5wNwVCL7/8cpfTtUOHDpYnTx63nAKvXhkCKYgZGNiUqKgod1PAWIoXLx5rObV+3bTN4RBbr1xt08cff+z+/vfff2PcFgVug3sBZ8yY0R9s1qRmv//+u6szKVasmF1//fVuMrHgNAwAAAAAAKR2BF8BpEuacEuTUXk5RidOnOgChpps65prrglpHQ8//HCME24pmBhIE13NmDHD/vzzT/v6669t+fLlLg2AUgy8++67LieqgpQxpSaQ9957z5555ploj91+++2urArMSqZMcX+d63lv2aRSLtaYAtfZsmXz/x3beykIrbQCgdTbuFWrVv5er7lz53aTcGm/yM033+wC4kqboEAsAAAAAABpBcFXAOmSJty66qqr/PevvfZaa926tXXp0sXmzp3rcqXGR71NA9cRykRVut1///1uKL0m9Ro0aJC98sorrqenenlKcA/Vhg0bRsvn2r1792hl8F4T3Ms0MO+sUh3E1Ts2IVQ38W134LaoR6xH+WfV21d2794dbVtUJx999JELusY0oZom3iL4CgAAAABIS8j5CgBmbpIt9SQ9evSo9e/fP2y9RN98800XMDx+/Hi0x5Xv9e6773aTbqlHrKg3aeHChe2TTz45L8+rgp3eTYFjj5frNfg1gT7//HPXq1ZB3OQSW7k0uZi3HVdccUW055YuXeomEnvhhRdcT+HA2y233OLy5e7duzfZtgEAAAAAgKQi+AoA/7/KlSvbXXfd5fK1KjdrOKinqwKKM2fOPO855XFVnlcvCKkcrkplsGLFChe0jcl///3nerJ6Spcu7Sa1evXVV+233347b3mtf8SIES6VQnL2GlXvWJXrtddes59//jnGZTZt2hTtvlIOKEXDnXfeaTVq1Ih2a9eunesZq2UAAAAAAEgrSDsAAAF69eplixcvtpEjR7oJsXLmzBlr/ShHbGyB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tmzZ/PmyvL/l5MmTMV6Ff/HFF61UqVJ2zz33WDgphYJmuQUAAEDy+PPPP1OkqhcsWGBPPPFEtPZk3rx5rWPHjpYpUyabMWNGyMHXtN6WTYmex0g5OvZSoucr0o/kPsY4vtIXji+ktuMrIW3ZRAVfly9fbiNGjHDDtfSFN3fuXJs6daoLxj755JMhr8cboqUAbmCvWd0vV67cectraJiiytdcc40/V5coN+yDDz7obomhbciRI0eiXgsAAIDEtb9Swv79+13HgZiULl061nQBMaEti7SEFBPgGENaxncYUtvxlZC2bIKDrz/88IObVEsBUA2ZUhBWypcv74ZxaSbZTp06hbQuvSZnzpwumOsFX5XGYN26dXbfffedt/xnn30W7f4vv/zi8nJNmTLFrrjiioRuCgAAANIZBVg//fRTq1279nnPLVmyxEqWLBnyumjLAgAAIOzB19GjR1vDhg1tzJgxbsKC4cOHu8fV61R5rNQLNtTgq3qxKsiqAG7+/PmtePHibn3qQdu4cWPXs3Xfvn1u5lkN5QpuDHs9E4oVK+aGiwEAAABxad++vRupdeDAAWvUqJEVKFDAtTeXLl1qixcvtqFDh4ZcgbRlAQAAEPbgq5L59+jRI8YutupB8OabbyZofZrsQEHcZ555xk6cOGHVqlWz119/3eWu2rZtmwv0qhHcqlWrhBYVAAAAiKZly5Z29OhRmzhxYrRRVZpo69lnn3XP05YFAABAigVf1Qt19+7dMT7333//uecTQhN1KXWAbsEuueQS27hxY6yvrVGjRpzPAwAAAMHatm1rbdq0cTPbqgds7ty5XTqCqKgoN9lCQnJ40ZYFAABAXKIsgdQTddSoUbZ27Vr/Y2qgKgXA5MmTrX79+gldJQAAAJCs1H5VwPXaa6+1smXL2p49e2z8+PHWoEED9gQAAABSrudr37593URXd911lxUsWNA91qdPHxd81Yyv+hsAAABIC7755hubM2eOLVu2zKXC0sgrAAAAIMWCr3ny5HGTan3wwQf2448/uqFaSjXQrl07l5c1e/bsYSscAAAAEG6aYOu9996zd9991/73v/9Zzpw57fbbb7cWLVpY1apVqXAAAACkXPBVExHccccdruerbgAAAEBaoI4D77zzjn3xxRd29uxZu+6661zwdcKECVa9evWULh4AAAAuQAkOvn700Ud2yy23RKY0AAAAQJi98cYbLuiqCbZKlixpDz30kOvpmiNHDhd0TcgEWwAAAEBEg6/XXHONLV++3GrVqpXQlwIAAADJbtiwYVauXDmbMWNGtB6uhw8fZm8AAAAgdQVf1XB9/fXX7ZNPPrHy5cu7HgOB1HNgyJAh4SwjAAAAkGi33nqrffnll9atWzerWbOm6/V64403UqMAAABIfcHXzz//3AoVKmSnT5+2tWvXnvc8w7YAAACQmowcOdKOHDliCxYssHnz5tkjjzxi+fLls0aNGrm2K+1XAAAApJrg65IlSyJTEgAAACBCcubMaffee6+7bdq0yd5//30XjPX5fPbUU0+53rG6lS1bln0AAACAsIlKyMJ79uyxX3/91Q4cOBC+EgAAAADJ6PLLL7cnn3zSli1bZuPGjbPSpUvb1KlTrXnz5nbbbbexLwAAAJC8PV9PnTpl/fv3t8WLF7veAdK0aVN77rnnLHfu3OErDQAAAJBMMmXKZDfddJO7qZPB/Pnz3Q0AAABI1uDr+PHjbdGiRdaqVSu78sorbcuWLfbOO+/4c2gBAAAAqZXarurdGpeCBQtaly5d3M2zefNmK1OmTDKUEAAAAOk6+PrJJ59Yjx497OGHH/Y/dsUVV9jzzz9vQ4cOtSxZskSyjAAAAECide3a1U2upf/z588f7/Lbt2+31157zaUl+PLLL6l5AAAARDbn644dO6xGjRrRHrvhhhvszJkztm3btsS/OwAAABBhH3zwgZuzoF69eta5c2ebO3eubdiwwY4cOWLnzp1zz+n+W2+95QK0jRs3toMHD9q8efPYNwAAAEienK9Zs2aN9liBAgXc/ydOnEhaCQAAAIAIypkzpw0bNszatWtnr776qhu9dfbs2fOWU3tXAdo5c+a4VFsAAABAsgRf4+JNwAUAAACkZpUqVbKxY8fasWPHbNWqVbZ161bX+zVfvnxWrFgxq1q1qmXLli2liwkAAIALSJKDrxkyZAhPSQAAAIBkkCNHDtfDFQAAAEg1wdeJEye6XgHBxo0bZ3nz5o0WjB0yZEj4SggAAAAAAAAAF2rwVcOw/vjjjxgf37hxY7TH6AkLAAAAAAAAACEGX5csWUJdAQAAAAAAAEACRCVkYQAAAAAAAABAaAi+AgAAAAAAAEBKTrgFAAAApEXt27cPeVnNX/Dmm29GtDwAAABIPwi+AgAA4ILm8/kisiwAAAAQH4KvAAAAuKDNnDkzpYsAAACAdCrRwdfNmzfbd999Z7t27bJ27drZ1q1brXz58pYzZ87wlhAAAABIgu3btydo+WLFilHfAAAASJng67lz52zAgAH2/vvvu2FZyot1yy232MSJE+3ff/+1WbNmWZEiRcJTOgAAACCJGjRo4NqsoVq/fj11DgAAgJQJvirIumDBAnvxxRetfv36Vrt2bfd4v379rEePHjZq1Ch76aWXwlM6AAAAIImGDBmSoOArAAAAkGLBV/V47dmzp7Vu3drOnj3rf7xChQru8REjRoStcAAAAEBStWrVikoEAABA2gi+7tmzxwVaY1K4cGE7dOhQOMoFAAAARMSvv/5qy5cvt1OnTrk0WqL/jx07ZqtXr7Z3332XmgcAAEDKBF9Llixpy5Yts1q1ap333IoVK9zzAAAAQGr01ltvufRZXtA1UFRUlNWpUydFygUAAIALU1RCX9ChQwebMWOGDRo0yL7//nuXP+uff/6xadOmuVubNm0iU1IAAAAgiTQ5bL169VzP1/vvv9/uuusu+/nnn23MmDGWNWtWu+2226hjAAAApFzP1zvvvNP27dtnkyZNsrffftv1GujTp49lzpzZOnfubPfee2/4SgcAAACE0bZt2+zJJ5+0PHny2JVXXmkTJkywbNmy2c0332xbtmxxnQyaNWtGnQMAACBlgq/SrVs3a9u2rf3000928OBBy507t1WpUsXy5s0bnlIBAAAAEaAOAwq2itJlaQTX6dOn3ePXXXedTZ8+nXoHAABAygZfJWfOnG7IFgAAAJBWaOLYpUuXWo0aNaxUqVJ27tw5++WXX6xq1aq2Y8eOlC4eAAAA0mPwtX379glaqYZrAQAAAKlNp06d7OGHH7ZDhw7ZkCFDrGHDhvb4449b48aNbcGCBa73KwAAAJCsE24pr2vgTekG1qxZ4/4uWLCgZcqUyX777Tdbu3atuw8AAACkRo0aNbLJkydbmTJl3H1NInvZZZfZnDlzrHTp0jZgwICULiIAAADSW8/XmTNn+v9+44033IRbr7/+uhUpUsT/uB7r2rWrXXLJJZEpKQAAABAG9evXt7p167q/8+XL5ybdOnPmjOXKlYv6BQAAQPL3fA302muv2aOPPhot8Cr58+e3Bx980N55551wlg8AAAAIG02u9dxzz9ldd93lf0wjumrWrGkvvfSSywELAAAApFjw9cSJEy7dQEyOHj0ajjIBAAAAETFu3Dj76KOPrFmzZv7HKlasaI899pi9++67rqMBAAAAkGLB1+uvv95eeeUV27JlS7THf//9dxs9erTdcMMNYSscAAAAEE6aVOuJJ55wE2958ubNax07drTevXvbe++9R4UDAAAgeXO+Bnr66aetbdu2rrfApZde6vJk7d2717Zt22aXX365PfXUU+ErHQAAABBG+/fvd23YmGjCrR07dlDfAAAASLnga9GiRW3hwoU2b948W716tR08eNCKFy9u3bp1sxYtWljmzJnDVzoAAAAgjBRg/fTTT6127drnPbdkyRIrWbIk9Q0AAICUC75K9uzZXe9X3QAAAIC0on379vbkk0/agQMHrFGjRlagQAHbt2+fLV261BYvXmxDhw5N6SICAAAgvQdfAQAAgLSoZcuWbpLYiRMn2meffeZ/XKm0nn32Wfc8AAAAEC4EXwEAAJCuaPRWmzZt7K+//nI9YHPnzu3SEURFJXguWgAAACBOtDABAACQ7hw6dMgFXzdu3Gj58+e3v//+23w+X0oXCwAAABcYer4CAAAgXZk0aZK9+uqrduLECcuQIYNVrlzZRo8ebfv377dp06a5nrAAAABAquz5umXLlnCvEgAAAAiLWbNm2bhx46xTp0727rvv+nu73nfffbZ161YbM2YMNQ0AAICU6/l68OBBGzVqlK1YscJOnTrlb7Dq/2PHjrnn169fH74SAgCANOnsuXOWkRyaF7y0tp9nzpxpXbt2tUcffdTOnj3rf/yGG26wXr162ZQpU9zEWwAAAECKBF+HDBliCxcutLp167pertmzZ7fLLrvMVq9e7XJnDRo0KCwFAwBEXloLmiBt7We95/NjXrN/tu1I9vdG8ih5SRF77tHOaaq6t2/fbtWrV4/xOU26tWfPnmQvEwAAAC5cCQ6+fvPNN/bII49Yt27dXE4s9YBVjqyjR4+64Vp//vlnZEoKAIhIcGzo7C/s3137qd0LVIlC+ax/m0Yp9v4KvP7x178p9v5AsKJFi9qaNWusVq1a5z3322+/uecBAACAFAu+qnfrNddc4/4uU6aMC8DKRRddZPfff7+NHz/e+vfvH7YCAgAiS4HXP/9HTy8A6cMdd9zhcr5my5bN6tev7x5T6qxPP/3UTcKlXLAAAABAigVf8+XL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AAAAxCdFx8p7w6527doV7XHdL1y48HnLFylS5LxlFYw9cOCAG94FAAAAJBfasgAAAEjVwdfy5ctbzpw5bfny5f7HDh06ZOvWrbNq1aqdt7weU/6sf/75x//YihUr3P/XXXddMpUaAAAAoC0LAACAVJ52QDmv7rvvPhsxYoTlz5/fihcvbsOHD3c9XBs3bmxnz561ffv2Wa5cudywripVqti1115rvXv3toEDB9qxY8dswIAB1rJlyxh7ygIAAAC0ZQEAAJBSMvhSatrL/58CrK+88orNmzfPTpw44Xq3KqB6ySWX2LZt26xhw4Y2dOhQa9WqlVt+79699vzzz9s333zjJido0qSJ9e/f3/0NAAAA0JYFAABAapHiwVcAAAAAAAAAuBClaM5XAAAAAAAAALhQEXwFAAAAAAAAgAgg+AoAAAAAAAAAEUDwFQAAAAAAAAAigOArAAAAAAAAAEQAwVcAAAAAAAAAiIB0H3w9d+6cjR071urWrWtXX321denSxbZu3RrS6zp37mzjxo0777nFixdb06ZNrXLlytayZUv74Ycf/M9p+XLlysV469+/v3+5v/76y7p27WrXXHON1a5d2wYNGmTHjx93zy1fvjzWdTRs2NC/jl9//dXuu+8+t46bbrrJZsyYEa2cR44cseeee87q1Klj1atXt8cee8z27t0b4/b+888/rn62bdsW7fGTJ0/a888/bzVr1nTv07dvX9u3b1+0ZT788ENr3ry5e/2dd95p3333XbTn//77b7etVatWtXr16rn9cebMGf/zJ06csJEjR1qDBg3ce7Rq1cq+/PLLaOt45plnzqsLLR9qfT355JOxLjN+/Hi3TGzP67Z9+3Z/WV5//XW3Xu1/lfX7778P6zGmx1977TW7+eab3fpuvfVWmzt3brRlfvrpJ2vXrp1dd9117n2ffvppO3DggP/5nTt3xrgd8+bN8y+za9cu69Onj9svNWrUOG/f6nh84YUX3PFTpUoVa9u2rf38888xHmPXX3+9K8uDDz4Ybdu1LdOnT3fbon3bvn17++2332Ktk0mTJrlyBgqlHPGtQ9566y3/fmvTpo2tW7cu2vPxfZ5UvwMGDHDH8LXXXmv33nuvrVq1yv+8jsfYjp+VK1eeVx59B+i9AvdJoP3797tt1vGdlO+0TZs2uc+f9rE+xz179ox2PJ89e9bVSXCZA4/L+PZzfN+LwT766CP3HoHfN6F8/nbv3u2OWZWjVq1a7rg4duxYtG1R3dx4443+z+dXX32VoM9ffOXQ/orteR3fnt9//919RrWP69evbyNGjLBTp075n9d34JgxY1xZtUxcx3Vsx0J8x2Qo3/GhCOcxp/ePrf7Kly8f8n4KZV/r907fazpeVJbevXu778ZACxcutGbNmrnvFh2/H3zwQci/X6Fui/afylGtWjX3W6zfVO/3PpRtCbVdEd9v8enTp91vrbcf9X23fv36GPehz+ezBx54wB3DgVavXh1jOYKPTYQXbVnaskJblrYsbVnassG/DbRlI/M7SluWtmyi+NK5cePG+WrUqOFbunSpb/369b7777/f17hxY9/JkydjfY2ee+KJJ3xXXHGFb+zYsdGe++GHH3yVKlXyvfnmm74///zTN2zYMN+VV17p/pYjR474du3aFe320ksv+a6++mrfhg0b3DL79u3z1apVy9e9e3ffpk2bfN99952vTp06vueee87//sHr+Oyzz3zlypXzvffee26Zf/75x1e5cmVfz549fRs3bvR99dVXvtq1a/vGjx/vL6u29YYbbnDP/fHHH76HHnrI17Rp0/O2XWVv0KCB296tW7dGe+7JJ5/0NWrUyLdy5UrfL7/84mvZsqWvbdu2/ucXLFjgyjVx4kTfli1bfLNmzfJdddVVvh9//NE9f+DAAbet9913n++3335z62nSpImvf//+/nU8/fTT/nL+/fffvgkTJvjKly/vX4fccccdvldeeSVanezduzfk+jp06NB5y/Tu3dvV2Y4dO9wywc9r3+jYefzxx/3lUNm0LxcuXOj766+/fM8//7w7HqpVqxa2Y0x1WbVqVfce2s9z5szxVaxY0Td//nz3vOpZZXjhhRfcvlOdNmvWzNe+fXv/OlSX2g87d+6Mtk3Hjx/3v/+tt97qu/vuu32///677+eff3bHRufOnf3r6NOnj9uO5cuXu/0ycOBA975efUnHjh19N998s2/VqlVu29u0aePWe/bsWff85MmT3edj9uzZrtz6PFapUsW3efPm8+pEx5e2U3USKJRyxLeOefPmuc/Lhx9+6PZrv379fNWrV/cfQ6F8njp16uTqWfWtbdG+12u8bdG6Aut627ZtrtzaL6dPn45WnlOnTvlatWrlyvn++++ftx3atttvv909H/g5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h/JsKCilnj7BPYrUe1eB2UDqnSnq3RNKfXl0ghycUzWQejSp91CtWrXOe87LG/jzzz9HO0HWyaeXDzCpx5jo2FAwTsFQ9bYK/lHQibsmLNJyqq/g4I96uKpug3M8/vbbb/76Utl0bHhDxgNz66qHqfa7hqYq8BlctsB16IQ88IdMf6v+vF6qOpFXLzPtbwUN1CPryy+/dMeHtkvHggKk6hWqm45p0d8KesRXjlDWoWNCAZfA+tDxqOPF20fxfZ5EgWP1MFYvOQW8YxpKrM+deuXGdPyoR6KGJnvl9HI26n2VwzZS32n6/Kj+1KM3+HOk1+p7SsHr4M+XF4yPbz+H8r2ofaReCd52qyesqAdfYG/YuD5/CphpWQXNtE/V0NY+VBBLy+szqOCTJrkKpEBn4PdEKOIqh0fvrf0RU6oLHUPBOYS9+zoWvQs5wcvoMxhfWoZAoRyTSRXuY86jvKX6DQyc0DFUoexr1bGOmcDhZBour99B1bECsfpeimk/KcCo76tQfr/i2xbVkS5kBAbVvc+KfmMTctzG1a6I77dY5dB2eL+dou9/XbzQ51h557V84PeTvj81akJ/a526KKVAbGCaHa1TvyUJ/YwhdLRlacsGoy1LW9b7/qUtS1s2NrRlk/Y7Slv2/9CWTQBfOvfKK6/4qlev7vviiy9869ev991///2+xo0b+06dOuU7c+aMb9euXb7jx4/H+Nobb7zRN3bs2GiPffPNN74KFSr4pk2b5vvzzz99L730kq9y5cru70ANGzb0TZw4Mcb1bt682VelShXfs88+69uyZYvv66+/9tWrV8/35JNPRluuf//+vo4dO8a4Dr1fpUqVfFOnTvVt3brV995777n7H374oX+ZNm3a+O677z7fH3/84fv11199zZo183Xq1CnG9f3444++K664wq0rUJ8+fXwNGjRwz//yyy++li1bunV65s6d67v66qt9S5Ys8f3777++F1980d3XNsrevXt91apVc4/r+c8//9x33XXX+SZNmuSeP3DggK9q1aq+O++807djxw63P7zb/v373TLadyrbuHHjfP/884/vq6++cmVS2UKtL9H+Dq6jYPPnz3fLnD17Nsbnn3rqKV/t2rVdGbTvnn/+eXc8aBvCcYydPn3ad9NNN7njR/UVWB+qS9Hy5cqV83388cfRntft5MmTruytW7f2NW3a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pk8++cQeeOCB8EQtkq+bb77ZChcuHGHb3XffbYcPH7YVK1bY6dOn7brrrovz8UuWLGmBsHLlStuyZYstW7Ys/Dn0Who1auTG7f3+RvbWW2/ZLbfc4r5okLvuusuOHj1qkydPtgEDBlimTJlc4jljxoxuX90WVcDq38jcuXNt4MCBAXlNAAAAAIDEjbYDAOJF1X758uWz+fPnR9t2wEvManq6ElL9+vWz/fv3R9h/9OjRNnToUKtYsaKbsq2p6MeOHbuiOlOtDpQE1rGaNGnikmYeVS8q8av9qlWrZpUqVbI///zTVepOnTrVJdn0OD3+kUcesR9++CH8cUqiSZ06dSKMXce6//77XUVjrVq1bPz48e54saHH1K9f3/73v/+5Mdx2221u7Js2bbKffvrJHnroITcu3ff9999HeJzOzerVq93jy5UrZy1btrS1a9dGOP62bdusR48e7twqSVijRg177bXX7Ny5c+H7aIq8KlL1+rznUkWm6PXqulouqI2AzkdcZMmSxVV86hKT90yvo127du66fnqtBiK3HTh//rxNnDjRnQOdu3r16rn38/Lly1e0RIh8biJXsBYrVixCclfXS5QocdWqZ/1evvHGGxG2qUpWz++13NCXEGoz4CVeRdfz589v//77bwzPIAAAAAAguaHyFUC8qNVA1apVXTWhElFp0qS5opeoEqlPPvmkS6yqt+qIESPc9G1VBHrmzZtnRYsWddWFmrquad2ayq2krpJ57777rksoPvXUU65Xp6a6T5s2zSVy1X9WSS5RYlTTvVWNq+pEJdaUOHvvvffccypBp8SvknlPP/206+WppKqmlauSUVPqtY+oilFJYSWYlZzVFHklRPfu3esScrGh1z18+HDr3bu3S8ppunrPnj1dEu+JJ56wAgUKhN+vMWXIkME9Tufi2WefdcnVIkWKuNemafJKaqpqU/1KW7du7ZKbeny6dOlcO4iZM2da3rx5w/u46jwpwajXqSSurivpqufXe6PnUVWoXr+e52p8k45aKEt9W5UgVgL33nvvDU9AXus9U6JYFaHqFaufSrpHpuPr/ChJrXOgfsNKsCqRvGvXrvBp/3oP33///atWzaqtwg033HDFdr3ev/76K9rHXX/99eHX1bJALSr0PigpnzVrVrdd7QUi0+/v9u3b3b8PAAAAAEDKRPIVQLzlzp3bLl686CpVdT1y8lWJRCUBlRiU7Nmz2+bNm11izauSVBJXCUNVT0rOnDmte/furpdozZo1XaJNSUclCj2FChVyVZV6DiXCPErWKRnnUYJSSU3fasr06dO7pODvv//uEpdewtGbUn/y5EmbNGmSPfzww/biiy+6+6pXr+7GrtsdO3a0G2+8Mcbn6OzZs66XqV6LqCJXCWYliVu0aOG2nTlzxiVklQjUOLzHqT+p+o2Kqlvr1q3rKj+VGP7jjz/cvmPHjg3vs6tp8d9++61LUuq8a59PP/3Unn/+eWvfvr3bRwlBVbpqH1XB6nzr/YncWiIqSrBGpvddCUiN3xOT98xLlupnVIlTJZKV7HzzzTfD32NVNet3Sq9ZFbN6HzR+Xa5G76kS/JGpRYJaJVyLfo9UVewlZPU7FR1VHStprnOq5D0AAAAAIGUi+Qog3pREFd/p5h5VuypJqATffffd53qDKompn740vd5LvHq3VUW7fv16l7D0WgGoylILHqmq0JtiHnnVeS9x6VGSU1Td6T1WlZpRPdajlgBKoGkcXpWnNy5RcjM2yVcpX758+HUvSa0qVI8Su95r9Ogc6Nx5lHTU+VBSUnQudVHyWwldvTYlW/VaveMp0Smaru9LVbxxoQphLbil59R0/48++sglXZWo9hWb9yw669atc+dALQd8qY2Fkq+6P6bvg/d7GpWofncj07mfNWuW+5JB506vV69fbTd8qTpWXxzoCwaNUQlnAAAAAEDKRPIVQLxpGr8SU16yz5eml6tKU0krVbbquhKPqk71rUSNnMBSJWyOHDncVHVR30xNTVdPVE2VV49NTUGPKqnm23dTlAR75ZVX3E8tiqQKy4IFC0b5WI/Xb9abth9VFWRseZWpvjSeq9G5itzKIVeuXOHjUwsAVYVqir8qZ9W+QL1VVdkb+bXocf5w0003hS+4pYSyktN6b/T6fCuQY/OeRUfvv34PUqdOHWG7kr9eNWtMaXxRVbgqWeqb+I+OWgx4LQTUe1YVyGr/oHYIHrWk6Nq1q6te1pcO2gcAAAAAkHKRfAUQL0q8qZpRSbjICTKPpmrroin0WuRq9uzZrheoqj6VKBT1Z/Wl3q3apqnkSjAqCaoE3sKFC11lqxKSqvT8+OOPrzo+JdY6derk+riqL60SgErsqueppuJHx+vlOXLkyCj7hEZurxAokRcdk0OHDoUnUr3EtpLLqmz1koheKwPf16JqWK83rtcDVcdXP9b4UBsGVQKrPYL6turcxOc985UtWzb3e6DfB9/fLy/5rcRsTGmxLfXtjUxJYu/3MDI9r35P9Dugxdw8Sj5rbL5JeLWwUJsFLRCmnrCq+gYAAAAApGwhwR4AgKRNixwdPHjQHn300Sjvf/311+3BBx90lY6q8rznnntcL0zZs2dP+H6aRu87Ff2LL75wiV1VGir5pkpCJRRVcehVgnpT731XvY9M092VYFRvUFW8KvEa1WO97R4lhpU4VFWvntO76LlVabp7925LCGp9oL63vrc1dq8CUy0F9Lp0jr3Eq8as1gPea/OSq6tWrYpwbCWW1XM2qtcfG6oo1YJkai/gtXiI6XsWXcLeU6lSJfd7sHLlygjblyxZEuG1xYTaMyjhrASwR9e1TX1ko6Lx6TV5r8vz22+/ud8rb3E2VbyqD7DaF2hxNxKvAAAAAACh8hVAjKiCVCvOe4kzJde++eYbl3xV/83I/UQ9WiBK7QbU/1P7qU/o22+/7VoU6D6PklfdunVzSVJdV4JT1bKqpBT1zdTUelVuqpJTCUlV0Ioqaq9W7ajk4JQpU1wCUBdVMqoa0/exXnXo//73P9dTtUSJEq5iVj079do1DiU1dVsJNm/6fEJQYrNXr16u2nX69OmuvYDOlahiUwuDqQJWi2Wpr+pbb73lEtnea9NY1TN1xIgRLnmrKlQlQdX3dsKECeGvXxW1qgjW/Xnz5o3VGBs2bGjz5s2zxYsXu0S8xhWT98xLGH/55ZeukjTyedV7oXOv6lqdf92vPq/Tpk2zZs2ahS/SpapeVbDqdlTtHbwx6vegc+fO1rdvX7dNSVW1UWjQoEH4flu2bHELZXnH1sJs+sJAC6bpPGohsXHjxrnHKektquQ+fPiwq0D2/bciGk9Ui4kBAAAAAJI/kq8AYkQJKW9BJSUftUK8kk+aav7QQw9F+zgtrKUKS03DVm9MPVbVikrC+faIVa9QJeiUZFTPViXWfFeTV4JRVZpK4nqJMS38NHToUNuwYUOE/rG+lNzTY9944w17+umn3biVXJw7d65LwumxWkRLCb677rrLJePUo1TJTI1FvUWVVFTCWMlBVZz26dMnRj1C/UXnWK9TCUa1d1BlZdGiRd196i+qRLjO58SJE13P1yZNmrjzrCSsqlF1XpV4VaL1nXfecfsruawEoteTtHnz5i7xqoWitHhWdL1ur0YJUh1n8ODBrhdqTN4zLZalBcWUpFVy9pNPPolwTO91aKxqr6BzoCn/eg9UaepR8lZJap0HL2EfmcagLwI0ppdeeslVNqviVY/z7aur31MljufMmeNuN23a1PU01u+EWibo91PnTQlcbVeiW88vStBGVb3rHQsAAAAAkLKkCovpqifJlBbgEU2LBVIqVRQqGdmmTZsrFr5KCEp+KkE1fPjwBH/uxGz8+PEuYapeokh+gv3vDgg2YjDOIwAAQEqIZen5CgAAAAAAAAABQPIVAAAAAAAAAAKAnq8Agm7VqlXBHkKipIWedAEAAAAAAEkTla8AAAAAAAAAEABUvgJIcZ577jlbvHjxFdu1in3hwoWtefPm1rFjx2gXvtq9e7fVqVPnqs8xaNAge/TRR8NvL1q0yD744AP7448/LDQ01D1PvXr17PHHH7fMmTNf8fjvvvvO3n//ffv555/t0KFDbp9y5cq5xZlq1Khxxf4XLlxw+y9ZssR27NjhthUtWtQaN27sxpExY8ZrnpN169ZdtQp57dq11q5du6seZ9q0aVazZs3w23qteu0a186dO+348eOWO3duq1q1qnXq1MlKlCgR5XG+/fZbe+yxx+ymm26ypUuXRjuW2bNnW+XKla86JgAAAAAAgoXkK4Ak5/XXX7/q/dWrV7dq1apddZ88efK4hKonLCzMJTnnz59vw4cPt/Tp01urVq2ueoxu3bpZrVq1orzv+uuvD7+u55kyZYpLJuoxadOmtV9//dXefvtt+/rrr+29995z2zzDhg2zWbNm2b333mv9+/e3fPny2cGDB+3jjz92CUslSn2TwydPnrTOnTvbtm3bXKK1Z8+elipVKtuwYYNNnjzZJZqVFM2fP7/5w8CBA+2WW26J8j7fZOqpU6fc61UCuWXLlm7MWbJksb///tvmzJljDz74oDsHd9555xXH+fDDD13iVcnqjRs3WoUKFfwydgAAAAAAEhLJVwBJjio/77rrrmjvV9XotaRLl85uv/32K7YrmVq3bl1XrXmt5GuRIkWiPEbkilQlPlXh2rt37/DtGn/x4sWte/fu9vnnn1uDBg3cdiVKlXiNnGAV7fPqq6/aqFGjrH79+lagQAG3/YUXXrDt27e7xHHp0qUjJKGbNGniErL9+vVzCU8lZeOrZMmS13zdMmTIENu0aZPNnTs3wv4VK1a0Bx54wJ3fl156yVasWBHhcSdOnHDn5JVXXrG33nrLvS6SrwAAAACApIierwDgQxWomqLvjySlV/157tw5u3z58hX33X333S4h61slO3HiRCtbtqx16NAhyuMpWauk6tGjR91tJV0//fRT69q1a4TEq6dYsWL29NNP2/r16+2HH36whPLff/+5RLJaA0SVqFVlsV77rbfe6ip3fanNwKVLl1ySXUlavb5jx44l2NgBAAAAAPAXkq8AUiwl+LyLKlTVy1VT/v/66y9r2rTpNR+vhKrvMbyL+px6cubM6Xq1Tp8+3Z599llX0XnkyJHwRO8TTzzhEpCitgG7du2y+++/P9rkr46nFgZlypRxt9W2QGrXrh3tOBs2bOiO98UXX8TyDMX9deu51MqhUaNG0R5HSeQRI0a4VgSRWw4o8aresHofLl68GGWPXgAAAAAAEjvaDgBIkVSZGVXf0htuuMFefvnlCItlRUfT/XWJauEuTbf3jBs3zp555hn76KOP3EWJ0BtvvNH1dG3fvr1ly5bN7afEqzcGX0pi+iY2JSQkxF2UMJZChQpFO04dXxe9Zn+IripXr+mTTz5x1//9998oX4sSt5GrgFOnTh2ebNaiZr/99ps7Z1KwYEGrUqWKW0wschsGAAAAAAASO5KvAFIkLbilxai8HqOTJk1yCUMttnXHHXfE6Bg9evSIcsEtJRN9aaGr2bNn259//mlfffWVrV271rUBUIuBDz74wPVEVZIyqtYEsnDhQnvxxRcjbGvWrJkbqxKzkibN1f+c635v3/hSL9aoEtcZMmQIvx7dcykJrbYCvlRt3Lx58/Cq16xZs7pFuPS+yH333ecS4mqboEQsAAAAAABJBclXACmSFty67bbbwm+XL1/eHnzwQevcubMtWLDA9Uq9FlWb+h4jJgtV6fLYY4+5qfRa1Gvw4MH25ptvukpPVXlK5ArVOnXqROjn2q1btwhj8B4TucrUt++sWh1crTo2NnRurvW6fV+LKmI96j+ral85ePBghNeic7JkyRKXdI1qQTUtvEXyFQAAAACQlNDzFQDM3CJbqiQ9ffq0DRgwwG9Vou+8845LGJ49ezbCdvV7ffjhh92iW6qIFVWT5suXz1auXHlFn1clO72LEscer9dr5Mf4+t///ueqapXETSjRjUuL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169vpUuXdonX4cOH219//eUW31JLAgAAAMBfQmL7gH379rnq13feecdN2ypTpozrmTVz5kxr2rSp7d+/32+DAwAAAPypQIEC9vHHH1v79u1dsrVIkSJ25swZa9SokS1atMiuv/56TjgAAAAStvL15ZdfdpeQkBAbMWKES7YuX748QnC6a9cue+yxx2z06NGuegAAAABIjDRrq3fv3sEeBgAAAFKAGFW+LliwwB5//HE7e/asffPNN9azZ88rqgJ0u3v37vbVV18FaqwAAAAAAAAAkLySr5qalTVrVtdSIDQ01FULRCVnzpx26tQpf48RAAAAAAAAAJJn8vXGG2+0sWPH2g033GClSpWypUuXRpukvemmm/w9RgAAAAAAAABInj1ffT355JOuBcHx48etYcOGlidPHjt48KAtW7bMtSQYN25cYEYKAAAAAAAAAMk5+VqtWjW3oNbIkSMj9HfNnTu3DR061O69915/jxEAAADwux07dtjJkyddS62iRYtyhgEAABD85Ks0bdrUmjRpYjt37nQVsNmyZbPixYtbqlSp/D9CAAAAwI8++eQTe/311+3QoUMRCgn69u3r4lwAAAAgQZOve/bsce0F0qZN6657MmbM6C6yd+/e8O0FCxb02wABAAAAf1m1apX179/fqlSpYn369HFJ1wMHDtiSJUtswIABlj17dqtVqxYnHAAAAAmXfK1Tp469//77VrZsWatdu/Y1K1y3bt3qn9EBAAAAfjR58mSrX7++jR49OsL2Bx980Hr37m1vvfUWyVcAAAAkbPJVvVyvv/768Ou0FwAAAEBS9Mcff9hTTz0V5X3NmjWzp59+OsHHBAAAgBSefFUg6mnevLn7eeTIEcuZM6e7rr6vBw8etJIlSwZqnAAAAEC8aXEtxa5ROXbsmKVLl46zDAAAAL8Jie0DtCJsp06drHXr1uHbfv75Z2vUqJH17NnTzp0757/RAQAAAH5UtWpVmzBhgu3bty/Cdq1fMHHiRKtWrRrnGwAAAMFLvo4cOdL1dPWdrqUFC8aPH28//vij+wkAAAAkRlpk6+zZs1avXj1r37699e3b1/2877777PTp0+42AAAAELTkq1aIffbZZ61hw4bh2zQ9695773XB7PLly/02OAAAAMCf8uTJY4sXL7a2bdu6JOyvv/7qfur2Rx99ZIUKFeKEAwAAIGF7vvo6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SL4CAAAAAAAAQDAX3AIAAACSonbt2sV4X61f8M477wR0PAAAAEg5SL4CAAAgWQsLCwvIvgAAAMC1kHwFAABAsjZnzpxgDwEAAAApVJyTrzt27LBvv/3WDhw4YG3btrVdu3ZZ6dKlLXPmzP4dIQAAABAPe/bsidX+BQsW5HwDAAAgOMnXy5cv28CBA+3DDz9007LUF6tBgwY2adIk+/fff23u3LmWP39+/4wOAAAAiKfatWu7mDWmtm7dyjkHAABAcJKvSrIuXbrUXnvtNatVq5ZVq1bNbe/fv791797dRo8eba+//rp/RgcAAADE09ChQ2OVfAUAAACClnxVxWvPnj3twQcftNDQ0PDtN998s9s+cuRIvw0OAJB4hV6+bKlDQoI9DAB+kNz/PTdv3jzYQwAAAEAKFevk66FDh1yiNSr58uWzEydO+GNcAIBETomaITOX2L/7DgV7KADioUj+3PZCxwdS1Dn85ZdfbO3atXbhwgXXRkv088yZM7Zx40b74IMPgj1EAAAApNTka9GiRW3NmjV21113XXHfunXr3P0AgJRBidftu/YHexgAEGPvvvuua5/lJV19hYSEWPXq1TmbAAAA8JtYzy9r3769zZ492wYPHmzfffed65/1zz//2IwZM9ylVatW/hsdAAAA4EdaHLZmzZqu8vWxxx6zli1b2k8//WRjx4619OnT2wMPpKwqYAAAACSyyteHHnrIjhw5YpMnT7b33nvPVQ306dPH0qZNa506dbJHH300MCMFAAAA4mn37t323HPPWbZs2ezWW2+1iRMnWoYMGey+++6znTt3uiKDRo0acZ4BAAAQnOSrdO3a1Vq3bm0//vijHT9+3LJmzWrlypWz7Nmz+2dUAAAAQACoYEDJVlG7LM3gunjxotteoUIFmzlzJucdAAAAwU2+SubMmd2ULQAAACCp0MKxq1evtsqVK1uxYsXs8uXL9vPPP9udd95p+/btC/bwAAAAkBKTr+3atYvVQTVdCwAAAEhsOnbsaD169LATJ07Y0KFDrU6dOvbMM89YvXr1bOnSpa76FQAAAEjQBbfU19X3onYDmzZtctdz585tadKksV9//dU2b97sbgMAAACJUd26dW3KlClWokQJd1uLyN5www02f/58K168uA0cODDYQwQAAEBKq3ydM2dO+PVZs2a5BbemT59u+fPnD9+ubV26dLHChQsHZqQAAACAH9SqVctq1KjhrufIkcMtunXp0iXLkiUL5xcAAAAJX/nq6+2337ann346QuJVcubMaU888YS9//77/hwfAAAA4DdaXOvll1+2li1bhm/TjK6qVava66+/7nrAAgAAAEFLvp47d861G4jK6dOn/TEmAAAAICDGjx9vS5YssUaNGoVvK1OmjPXr188++OADV2gAAAAABC35WqVKFXvzzTdt586dEbb/9ttvNmbMGLv77rv9NjgAAADAn7So1rPPPusW3vJkz57dOnToYL1797aFCxdywgEAAJCwPV99vfDCC9a6dWtXLXD99de7PlmHDx+23bt324033mjPP/+8/0YHAAAA+NHRo0ddDBsVLbi1b98+zjcAAACCl3wtUKCALVu2zBYtWmQbN26048ePW6FChaxr167WpEkTS5s2rf9GBwAAAPiREqyffvqpVatW7Yr7Vq1aZUWLFuV8AwAAIHjJV8mYMaOrftUFAAAASCratWtnzz33nB07dszq1q1ruXLlsiNHjtjq1attxYoVNmzYsGAPEQAAACk9+QoAAAAkRU2bNnWLxE6aNMk+++yz8O1qpfXSSy+5+wEAAAB/IfkKAACAFEWzt1q1amV//fWXq4DNmjWra0cQEhLrtWgBAACAqyLCBAAAQIpz4sQJl3z9/fffLWfOnPb3339bWFhYsIcFAACAZIbKVwAAAKQokydPtrfeesvOnTtnqVKlsrJly9qYMWPs6NGjNmPGDFcJCwAAACTKytedO3f6+5AAAACAX8ydO9fGjx9vHTt2tA8++CC82rVNmza2a9cuGzt2LGcaAAAAwat8PX78uI0ePdrWrVtnFy5cCA9Y9fPMmTPu/q1bt/pvhAAAAICfzJkzx7p06WJPP/20hYaGhm+/++67rVevXjZ16lS38BYAAAAQlMrXoUOH2sKFC61o0aKWOnVqy5Ili91222128eJF1ztr8ODBfhkYAAAA4G979uyxSpUqRXmfFt06dOgQJx0AAADBS75+/fXX9tRTT7leWQ8//LDlz5/f9chauXKllSpVyv7880/eHgAAACRKBQoUsE2bNkV536+//uruBwAAAIKWfFV16x133OGulyhRwgWpct1119ljjz1mX375pd8GBwAAAPhTixYtbMqUKTZ9+nT7+++/3Ta1zvr000/dIlzNmjXjhAMAACB4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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "### 📋 Veredicto de Justicia Algorítmica" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 AtributoSubgrupoTamaño (N)Selection Rate (Demographic Parity)Recall (Equal Opportunity)
0race0.256048558126.07%73.44%
1race0.12256463211.39%65.06%
2race0.27138919926.13%64.58%
3race0.107680969.38%70.00%
4sex1.000000433531.51%73.32%
5sex0.000000217310.22%69.29%
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "\n", " 💡 NOTA DEL ARQUITECTO: Si hay diferencias extremas entre subgrupos, conviene revisar sesgo histórico, cobertura de datos y definición de etiquetas.\n", " ↳ Este tablero no reemplaza una revisión causal, pero sí sirve como radar operativo temprano.\n", "\n", "⏱️ Auditoría completada en 1.677s\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import time\n", "import logging\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from sklearn.metrics import recall_score\n", "from sklearn.utils.multiclass import type_of_target\n", "from IPython.display import display, Markdown\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "# 🛡️ Banderas de Entorno MLOps\n", "MODO_VISUAL = True # Cambiar a False en Producción (Docker/Headless)\n", "\n", "if 'detectar_naturaleza_target_mlops' not in globals():\n", " def detectar_naturaleza_target_mlops(y: pd.Series) -> dict:\n", " serie = pd.Series(y).dropna()\n", " if serie.empty:\n", " return {'tipo': 'desconocido', 'es_regresion': False, 'es_binario': False, 'es_multiclase': False, 'num_clases': 0}\n", " serie_tipada = serie if pd.api.types.is_numeric_dtype(serie) else serie.astype(str)\n", " try:\n", " tipo_detectado = type_of_target(serie_tipada)\n", " except Exception:\n", " tipo_detectado = 'desconocido'\n", " es_regresion = tipo_detectado in ('continuous', 'continuous-multioutput')\n", " num_clases = int(serie.nunique()) if not es_regresion else 0\n", " es_multiclase = (not es_regresion) and num_clases > 2\n", " es_binario = (not es_regresion) and num_clases == 2\n", " if es_regresion:\n", " tipo = 'regression'\n", " elif es_multiclase:\n", " tipo = 'multiclass'\n", " elif es_binario:\n", " tipo = 'binary'\n", " else:\n", " tipo = 'desconocido'\n", " return {'tipo': tipo, 'es_regresion': es_regresion, 'es_binario': es_binario, 'es_multiclase': es_multiclase, 'num_clases': num_clases}\n", "\n", "if 'resolver_etiquetas_target_mlops' not in globals():\n", " def resolver_etiquetas_target_mlops(y: pd.Series, manager_ref=None):\n", " serie = pd.Series(y).dropna()\n", " etiquetas = sorted(serie.unique().tolist())\n", " nombres = [str(etiqueta) for etiqueta in etiquetas]\n", " artefactos = getattr(manager_ref, 'artefactos', {}) if manager_ref is not None else {}\n", " diccionario = artefactos.get('diccionario_target_maestro') if isinstance(artefactos, dict) else None\n", " if isinstance(diccionario, dict) and diccionario:\n", " diccionario_inverso = {valor: clave for clave, valor in diccionario.items()}\n", " if all(etiqueta in diccionario_inverso for etiqueta in etiquetas):\n", " nombres = [str(diccionario_inverso[etiqueta]) for etiqueta in etiquetas]\n", " return etiquetas, nombres\n", "\n", "if 'predecir_argmax_multiclase_mlops' not in globals():\n", " def predecir_argmax_multiclase_mlops(modelo, X: pd.DataFrame):\n", " if hasattr(modelo, \"predict_proba\"):\n", " probabilidades = np.asarray(modelo.predict_proba(X))\n", " if probabilidades.ndim == 2 and probabilidades.shape[1] > 1:\n", " clases = np.asarray(getattr(modelo, 'classes_', np.arange(probabilidades.shape[1])))\n", " predicciones = clases[np.argmax(probabilidades, axis=1)]\n", " return predicciones, probabilidades\n", " return np.asarray(modelo.predict(X)), None\n", "\n", "if 'alinear_features_oraculo_mlops' not in globals():\n", " def alinear_features_oraculo_mlops(modelo, X: pd.DataFrame) -> pd.DataFrame:\n", " nombres = None\n", " if hasattr(modelo, 'feature_names_in_'):\n", " nombres = list(modelo.feature_names_in_)\n", " elif hasattr(modelo, 'feature_name_'):\n", " try:\n", " nombres = list(modelo.feature_name_)\n", " except Exception:\n", " nombres = None\n", " elif hasattr(modelo, 'feature_name'):\n", " try:\n", " nombres = list(modelo.feature_name())\n", " except Exception:\n", " nombres = None\n", " if not nombres:\n", " return X\n", " X_alineada = X.copy()\n", " extras = [col for col in X_alineada.columns if col not in nombres]\n", " if extras:\n", " X_alineada = X_alineada.drop(columns=extras, errors='ignore')\n", " faltantes = [col for col in nombres if col not in X_alineada.columns]\n", " for col in faltantes:\n", " X_alineada[col] = 0\n", " return X_alineada[nombres]\n", "\n", "def auditoria_justicia_mlops(\n", " modelo_calibrado, \n", " umbral_oro: float, \n", " X_test: pd.DataFrame, \n", " y_test: pd.Series,\n", " atributos_sospechosos: list = None\n", "):\n", " \"\"\"\n", " [FASE 7 - Paso 19.5] Auditoría de Justicia Algorítmica (Fairness Constraints).\n", " - Muro Legal: Aplica la \"Regla de los 4/5\" (Disparate Impact).\n", " - Demographic Parity: ¿El modelo aprueba a hombres y mujeres en proporciones similares?\n", " - Equal Opportunity: De los que verdaderamente son ricos, ¿el modelo los detecta igual sin importar su raza/sexo?\n", " - Inmunidad de Pipeline: Evalúa predicciones duras basadas EXCLUSIVAMENTE en el Umbral Optimizado.\n", " \"\"\"\n", " logger.info(\"=== ⚖️ FASE 19.5: Auditoría de Justicia Algorítmica (Legal MLOps) ===\")\n", " inicio_timer = time.time()\n", "\n", " info_target = detectar_naturaleza_target_mlops(y_test)\n", " es_multiclase = info_target['es_multiclase']\n", " manager_ref = globals().get('manager', None)\n", " etiquetas_target, nombres_target = resolver_etiquetas_target_mlops(y_test, manager_ref=manager_ref)\n", " mapa_nombres = dict(zip(etiquetas_target, nombres_target))\n", "\n", " # 1. Aplicación estricta de la regla de decisión final\n", " if es_multiclase:\n", " logger.info(\" ⚙️ Extrayendo dictámenes finales usando decisión Argmax Multiclase...\")\n", " X_test_modelo = alinear_features_oraculo_mlops(modelo_calibrado, X_test)\n", " preds_finales, _ = predecir_argmax_multiclase_mlops(modelo_calibrado, X_test_modelo)\n", " else:\n", " logger.info(f\" ⚙️ Extrayendo dictámenes finales usando el Umbral Optimizado ({umbral_oro:.4f})...\")\n", " X_test_modelo = alinear_features_oraculo_mlops(modelo_calibrado, X_test)\n", " proba_test = modelo_calibrado.predict_proba(X_test_modelo)[:, 1]\n", " preds_finales = (proba_test >= umbral_oro).astype(int)\n", "\n", " # 2. Radar de Atributos Protegidos\n", " if atributos_sospechosos is None:\n", " # Búsqueda automática de variables sensibles comunes en el dataset Adult\n", " palabras_clave = ['sex', 'gender', 'race', 'age', 'edad', 'sexo', 'raza']\n", " atributos_protegidos = [col for col in X_test.columns if any(kw in col.lower() for kw in palabras_clave)]\n", " else:\n", " atributos_protegidos = [col for col in atributos_sospechosos if col in X_test.columns]\n", "\n", " if not atributos_protegidos:\n", " logger.warning(\" ⚠️ [ALERTA MLOps] No se encontraron atributos protegidos en X_test.\")\n", " logger.info(\" ↳ Nota: Si Boruta extirpó 'sex' o 'race' por ser ruido, el modelo es matemáticamente ciego a ellos (Good news!).\")\n", " return None\n", "\n", " logger.info(f\" 🔍 Atributos protegidos detectados para auditoría: {atributos_protegidos}\")\n", "\n", " # 3. Motor de Análisis por Subgrupos\n", " resultados_fairness = []\n", "\n", " for atributo in atributos_protegidos:\n", " grupos = X_test[atributo].unique()\n", "\n", " # Si la variable es continua (ej. edad numérica) o tiene muchos grupos, la saltamos para el reporte simple\n", " if len(grupos) > 5:\n", " logger.info(f\" ⏭️ Saltando '{atributo}' (Demasiados valores únicos para un reporte categórico claro).\")\n", " continue\n", "\n", " for grupo in grupos:\n", " mascara = (X_test[atributo] == grupo)\n", " n_grupo = mascara.sum()\n", "\n", " # Métricas Base\n", " y_verdadero_grupo = y_test[mascara]\n", " y_pred_grupo = preds_finales[mascara]\n", "\n", " if es_multiclase:\n", " for clase in etiquetas_target:\n", " y_verdadero_ovr = (y_verdadero_grupo == clase).astype(int)\n", " y_pred_ovr = (y_pred_grupo == clase).astype(int)\n", " tasa_seleccion = float(y_pred_ovr.mean()) if len(y_pred_ovr) else 0.0\n", " tasa_oportunidad = recall_score(y_verdadero_ovr, y_pred_ovr, zero_division=0)\n", "\n", " resultados_fairness.append({\n", " 'Atributo': atributo,\n", " 'Subgrupo': grupo,\n", " 'Clase': mapa_nombres.get(clase, str(clase)),\n", " 'N': n_grupo,\n", " 'Selection Rate OVR': tasa_seleccion,\n", " 'Recall OVR': tasa_oportunidad\n", " })\n", " else:\n", " # Demographic Parity (Selection Rate): % del grupo que fue clasificado como Clase 1\n", " tasa_seleccion = y_pred_grupo.mean()\n", "\n", " # Equal Opportunity (True Positive Rate / Recall): De los que son Clase 1, ¿cuántos atrapó?\n", " tasa_oportunidad = recall_score(y_verdadero_grupo, y_pred_grupo, zero_division=0)\n", "\n", " resultados_fairness.append({\n", " 'Atributo': atributo,\n", " 'Subgrupo': grupo,\n", " 'Tamaño (N)': n_grupo,\n", " 'Selection Rate (Demographic Parity)': tasa_seleccion,\n", " 'Recall (Equal Opportunity)': tasa_oportunidad\n", " })\n", "\n", " if not resultados_fairness:\n", " logger.info(\" ✅ [BYPASS] Análisis completado sin subgrupos categóricos viables.\")\n", " return None\n", "\n", " df_fairness = pd.DataFrame(resultados_fairness)\n", "\n", " # ==========================================\n", " # 4. Renderizado Inteligente UI (El Veredicto Legal)\n", " # ==========================================\n", " logger.info(\" 📊 Generando Diagnóstico de Equidad...\")\n", " sns.set_theme(style=\"whitegrid\")\n", "\n", " atributos_validos = df_fairness['Atributo'].unique()\n", " fig, axes = plt.subplots(len(atributos_validos), 2, figsize=(14, 5 * len(atributos_validos)))\n", "\n", " # Manejo de dimensiones si solo hay 1 atributo\n", " if len(atributos_validos) == 1:\n", " axes = [axes]\n", "\n", " for i, atributo in enumerate(atributos_validos):\n", " data_attr = df_fairness[df_fairness['Atributo'] == atributo]\n", "\n", " if es_multiclase:\n", " sns.barplot(data=data_attr, x='Subgrupo', y='Selection Rate OVR', hue='Clase', ax=axes[i][0], palette=\"Blues_d\")\n", " axes[i][0].set_title(f\"Selection Rate OVR por {atributo}\", fontsize=12)\n", " axes[i][0].set_ylim(0, 1.0)\n", " axes[i][0].set_ylabel(\"Selection Rate OVR\")\n", "\n", " sns.barplot(data=data_attr, x='Subgrupo', y='Recall OVR', hue='Clase', ax=axes[i][1], palette=\"Greens_d\")\n", " axes[i][1].set_title(f\"Recall OVR por {atributo}\", fontsize=12)\n", " axes[i][1].set_ylim(0, 1.0)\n", " axes[i][1].set_ylabel(\"Recall OVR\")\n", "\n", " ratios = []\n", " for _, data_clase in data_attr.groupby('Clase'):\n", " tasas_seleccion = data_clase['Selection Rate OVR'].values\n", " if len(tasas_seleccion) >= 2:\n", " max_tasa = tasas_seleccion.max()\n", " min_tasa = tasas_seleccion.min()\n", " ratios.append(min_tasa / (max_tasa + 1e-9))\n", " if ratios:\n", " peor_ratio = min(ratios)\n", " color_alerta = \"🔴 RIESGO LEGAL\" if peor_ratio < 0.8 else \"🟢 APROBADO\"\n", " axes[i][0].text(\n", " 0.5, 0.88, f\"Worst OVR Disparate Impact: {peor_ratio:.2f}\\n{color_alerta}\",\n", " horizontalalignment='center', verticalalignment='center', transform=axes[i][0].transAxes,\n", " bbox=dict(facecolor='white', alpha=0.9, edgecolor='gray')\n", " )\n", " else:\n", " # Gráfico 1: Demographic Parity (Tasa de Aprobación Global)\n", " sns.barplot(data=data_attr, x='Subgrupo', y='Selection Rate (Demographic Parity)', ax=axes[i][0], palette=\"Blues_d\")\n", " axes[i][0].set_title(f\"Demographic Parity por {atributo}\", fontsize=12)\n", " axes[i][0].set_ylim(0, 1.0)\n", " axes[i][0].set_ylabel(\"Tasa de Predicción Positiva (>50K)\")\n", "\n", " # Gráfico 2: Equal Opportunity (Tasa de Verdaderos Positivos)\n", " sns.barplot(data=data_attr, x='Subgrupo', y='Recall (Equal Opportunity)', ax=axes[i][1], palette=\"Greens_d\")\n", " axes[i][1].set_title(f\"Equal Opportunity por {atributo}\", fontsize=12)\n", " axes[i][1].set_ylim(0, 1.0)\n", " axes[i][1].set_ylabel(\"Recall (Acierto en ricos reales)\")\n", "\n", " # 5. Evaluación de la Regla Legal (Four-Fifths Rule)\n", " tasas_seleccion = data_attr['Selection Rate (Demographic Parity)'].values\n", " if len(tasas_seleccion) >= 2:\n", " max_tasa = tasas_seleccion.max()\n", " min_tasa = tasas_seleccion.min()\n", " disparate_impact_ratio = min_tasa / (max_tasa + 1e-9)\n", "\n", " color_alerta = \"🔴 RIESGO LEGAL\" if disparate_impact_ratio < 0.8 else \"🟢 APROBADO\"\n", "\n", " axes[i][0].text(0.5, 0.85, f\"Disparate Impact Ratio: {disparate_impact_ratio:.2f}\\n{color_alerta}\", \n", " horizontalalignment='center', verticalalignment='center', transform=axes[i][0].transAxes,\n", " bbox=dict(facecolor='white', alpha=0.9, edgecolor='gray'))\n", "\n", " plt.tight_layout()\n", " \n", " # 🛡️ Aplicación de la Cláusula de Seguridad Visual\n", " if MODO_VISUAL:\n", " plt.show()\n", " # Consola MLOps (Interactiva)\n", " display(Markdown(\"### 📋 Veredicto de Justicia Algorítmica\"))\n", " try:\n", " if es_multiclase:\n", " display(df_fairness.style.format({\n", " 'Selection Rate OVR': \"{:.2%}\",\n", " 'Recall OVR': \"{:.2%}\"\n", " }).background_gradient(cmap='viridis', subset=['Selection Rate OVR', 'Recall OVR']))\n", " else:\n", " display(df_fairness.style.format({\n", " 'Selection Rate (Demographic Parity)': \"{:.2%}\",\n", " 'Recall (Equal Opportunity)': \"{:.2%}\"\n", " }).background_gradient(cmap='viridis', subset=['Selection Rate (Demographic Parity)', 'Recall (Equal Opportunity)']))\n", " except Exception as style_err:\n", " logger.warning(f\" ⚠️ [FALLBACK UI] No fue posible renderizar DataFrame.style: {style_err}\")\n", " display(df_fairness)\n", " else:\n", " plt.close(fig)\n", " # Consola MLOps (Texto Plano)\n", " logger.info(\"\\n### 📋 Veredicto de Justicia Algorítmica\")\n", " logger.info(\"\\n\" + df_fairness.to_string())\n", "\n", " logger.info(\"\\n 💡 NOTA DEL ARQUITECTO: Si hay diferencias extremas entre subgrupos, conviene revisar sesgo histórico, cobertura de datos y definición de etiquetas.\")\n", " logger.info(\" ↳ Este tablero no reemplaza una revisión causal, pero sí sirve como radar operativo temprano.\")\n", " logger.info(f\"\\n⏱️ Auditoría completada en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return df_fairness\n", "\n", "# ==========================================\n", "# Celda de Ejecución Maestra en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta del Manager\n", " try:\n", " _ = manager\n", " except NameError:\n", " raise EnvironmentError(\"El PipelineManager no está inicializado. Instáncialo en la línea 1 (Fase 1.1).\")\n", "\n", " if getattr(manager, 'X_test', None) is None or getattr(manager, 'y_test', None) is None:\n", " raise ValueError(\"El Manager no tiene cargadas las matrices de Test ('X_test' o 'y_test').\")\n", "\n", " if not hasattr(manager, 'modelos_preprocesamiento'):\n", " raise ValueError(\"La caja fuerte de modelos no existe en el Manager.\")\n", "\n", " if 'oraculo_calibrado' in manager.modelos_preprocesamiento:\n", " modelo_final = manager.modelos_preprocesamiento['oraculo_calibrado']\n", " logger.info(\">>> 🧠 UTILIZANDO ORÁCULO CALIBRADO <<<\")\n", " elif 'oraculo_lightgbm' in manager.modelos_preprocesamiento:\n", " modelo_final = manager.modelos_preprocesamiento['oraculo_lightgbm']\n", " logger.warning(\">>> ⚠️ UTILIZANDO ORÁCULO CRUDO (NO SE DETECTÓ CALIBRACIÓN) <<<\")\n", " else:\n", " raise ValueError(\"No se encontró ningún modelo ('oraculo_calibrado' u 'oraculo_lightgbm') en la caja fuerte.\")\n", "\n", " if not hasattr(manager, 'artefactos') or 'umbral_decision' not in manager.artefactos:\n", " raise ValueError(\"El 'umbral_decision' no existe en los artefactos. Ejecuta la Fase 19.3.\")\n", "\n", " umbral_final = manager.artefactos['umbral_decision']\n", " if umbral_final is None:\n", " logger.info(\"\\n>>> INICIANDO AUDITORIA LEGAL (Modo Activo: multiclass_argmax) <<<\")\n", " else:\n", " logger.info(f\"\\n>>> INICIANDO AUDITORIA LEGAL (Umbral Activo: {umbral_final:.4f}) <<<\")\n", " logger.info(\"-\" * 80)\n", "\n", " # Disparamos el Auditor Legal\n", " reporte_fairness = auditoria_justicia_mlops(\n", " modelo_calibrado=modelo_final,\n", " umbral_oro=umbral_final,\n", " X_test=manager.X_test,\n", " y_test=manager.y_test\n", " )\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as e:\n", " logger.error(f\"🛑 Error en la Auditoría de Justicia: {e}\")\n" ] }, { "cell_type": "code", "execution_count": 156, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ">>> 🚂 INICIANDO ENSAMBLAJE DEL ARTEFACTO DE DESPLIEGUE <<<\n", "=== 🏭 FASE 20.1: Ensamblador Maestro de Producción (Artefacto Final de Despliegue) ===\n", " 📦 Recolectando rutas, artefactos y modelos serializables del PipelineManager...\n", " 🧠 Construyendo la máquina de inferencia definitiva de producción...\n", " 🛠️ Infiriendo artefactos faltantes para blindar compatibilidad de despliegue...\n", " 🧪 Ejecutando prueba de integridad previa a la exportación...\n", " ✅ [PRUEBA SUPERADA] Validación de inferencia exitosa. Predicciones de prueba: ['<=50K' '<=50K' '<=50K']\n", "--------------------------------------------------------------------------------\n", " ✅ [ARTEFACTO GENERADO] Archivo maestro exportado en: mlops_activos\\pipeline_produccion.pkl (13.99 MB)\n", " 🧾 [MANIFEST LISTO] Metadata operativa emitida en: mlops_activos\\model_manifest.json\n", " 🚀 [MODO USO] joblib.load('pipeline_produccion.pkl').predict(df_json)\n", "\n", "⏱️ Ensamblaje completado en 3.610s\n", "\n", "📦 [MLOps] Artefacto de producción ensamblado y exportado correctamente. Listo para despliegue.\n" ] } ], "source": [ "# ==========================================\n", "# 0. Blindaje de Dependencias y Telemetría\n", "# ==========================================\n", "import json\n", "import importlib\n", "import logging\n", "import time\n", "from pathlib import Path\n", "from typing import Dict\n", "\n", "import joblib\n", "import pandas as pd\n", "\n", "from app.ml import custom_transformers as custom_transformers_module\n", "\n", "custom_transformers_module = importlib.reload(custom_transformers_module)\n", "PipelineProduccionMLOps = custom_transformers_module.PipelineProduccionMLOps\n", "\n", "# Conexión al Logger Global configurado en el Paso 1.1\n", "logger = logging.getLogger(\"MLOps_Pipeline\")\n", "\n", "\n", "def asegurar_directorio_salida(directorio_salida: str) -> Path:\n", " \"\"\"\n", " Crea y blinda el directorio donde vivirá el artefacto final de producción.\n", " \"\"\"\n", " ruta_salida = Path(directorio_salida)\n", " ruta_salida.mkdir(parents=True, exist_ok=True)\n", " return ruta_salida\n", "\n", "\n", "def obtener_artefactos_serializables(manager_obj) -> Dict:\n", " \"\"\"\n", " Recupera todos los artefactos serializables del PipelineManager.\n", " Si el manager tiene un recolector oficial, lo usa.\n", " Si no, construye el paquete desde los almacenes internos conocidos.\n", " \"\"\"\n", " if hasattr(manager_obj, 'obtener_artefactos_serializables'):\n", " return manager_obj.obtener_artefactos_serializables()\n", "\n", " return {\n", " **getattr(manager_obj, 'artefactos_preprocesamiento', {}),\n", " **getattr(manager_obj, 'artefactos', {}),\n", " }\n", "\n", "\n", "def obtener_modelos_serializables(manager_obj) -> Dict:\n", " \"\"\"\n", " Recupera los modelos serializables del PipelineManager.\n", " \"\"\"\n", " if hasattr(manager_obj, 'obtener_modelos_serializables'):\n", " return manager_obj.obtener_modelos_serializables()\n", "\n", " return dict(getattr(manager_obj, 'modelos_preprocesamiento', {}))\n", "\n", "\n", "def validar_manager_para_exportacion(manager_obj, modelos: Dict) -> None:\n", " \"\"\"\n", " Ejecuta las validaciones críticas previas al ensamblaje del artefacto:\n", " - existencia del manager\n", " - presencia de modelos serializables\n", " - existencia del oráculo final exportable\n", " \"\"\"\n", " if manager_obj is None:\n", " logger.error(\"🛑 Error Crítico: El PipelineManager es nulo.\")\n", " raise ValueError(\"El PipelineManager es nulo.\")\n", "\n", " if not modelos:\n", " logger.error(\"🛑 Error Crítico: No se detectaron modelos serializables en el PipelineManager.\")\n", " raise ValueError(\"No se detectaron modelos serializables en el PipelineManager.\")\n", "\n", " if {'oraculo_calibrado', 'oraculo_lightgbm'}.isdisjoint(modelos):\n", " logger.error(\"🛑 Error Crítico: No se encontró el modelo final del oráculo para exportación.\")\n", " raise ValueError(\"No se encontró el modelo final del oráculo para exportación.\")\n", "\n", "\n", "def construir_muestra_request(manager_obj, filas: int = 3) -> pd.DataFrame:\n", " \"\"\"\n", " Construye una muestra de request para probar el pipeline antes de exportarlo.\n", " Prioriza el dataset fuente si existe; si no, cae en X_test.\n", " \"\"\"\n", " ruta_dataset = Path('adult.csv')\n", " target_name = getattr(manager_obj, 'rutas', {}).get('target_name', 'income')\n", "\n", " if ruta_dataset.exists():\n", " muestra = pd.read_csv(ruta_dataset, sep=';').head(filas)\n", " muestra = PipelineProduccionMLOps._normalize_input_frame(muestra)\n", "\n", " if target_name in muestra.columns:\n", " return muestra.drop(columns=[target_name])\n", "\n", " return muestra\n", "\n", " X_test = getattr(manager_obj, 'X_test', None)\n", " if X_test is None or X_test.empty:\n", " logger.error(\"🛑 Error Crítico: No existe una muestra válida para probar el pipeline antes de exportarlo.\")\n", " raise ValueError(\"No existe una muestra válida para probar el pipeline antes de exportarlo.\")\n", "\n", " return X_test.head(filas).copy()\n", "\n", "\n", "def validar_pipeline_exportado(pipeline_api: PipelineProduccionMLOps, manager_obj) -> None:\n", " \"\"\"\n", " Ejecuta una prueba de humo del pipeline ensamblado:\n", " - predict\n", " - predict_proba\n", " \"\"\"\n", " muestra_request = construir_muestra_request(manager_obj)\n", " predicciones = pipeline_api.predict(muestra_request)\n", " probabilidades = pipeline_api.predict_proba(muestra_request)\n", "\n", " if len(predicciones) == 0:\n", " logger.error(\"🛑 Error Crítico: La validación del pipeline no generó predicciones.\")\n", " raise RuntimeError(\"La validación del pipeline no generó predicciones.\")\n", "\n", " if len(probabilidades) == 0:\n", " logger.error(\"🛑 Error Crítico: La validación del pipeline no generó probabilidades.\")\n", " raise RuntimeError(\"La validación del pipeline no generó probabilidades.\")\n", "\n", " logger.info(f\" ✅ [PRUEBA SUPERADA] Validación de inferencia exitosa. Predicciones de prueba: {predicciones}\")\n", "\n", "\n", "def construir_model_manifest(\n", " pipeline_api: PipelineProduccionMLOps,\n", " ruta_exportacion: Path,\n", " manager_obj\n", ") -> Dict:\n", " \"\"\"\n", " Construye el manifiesto del modelo para despliegue y trazabilidad.\n", " \"\"\"\n", " expected_features = []\n", " if hasattr(pipeline_api, '_get_training_feature_names'):\n", " expected_features = list(pipeline_api._get_training_feature_names())\n", "\n", " threshold = getattr(pipeline_api, 'umbral_oro', None)\n", " modo_decision = getattr(\n", " pipeline_api,\n", " 'modo_decision',\n", " getattr(manager_obj, 'artefactos', {}).get(\n", " 'modo_decision',\n", " getattr(manager_obj, 'rutas', {}).get('modo_decision_optimo', 'binary_threshold')\n", " )\n", " )\n", "\n", " class_labels = []\n", " if hasattr(pipeline_api, '_get_class_labels'):\n", " class_labels = list(pipeline_api._get_class_labels())\n", " elif hasattr(pipeline_api, '_get_modelo_final'):\n", " modelo_final = pipeline_api._get_modelo_final()\n", " class_labels = [str(valor) for valor in getattr(modelo_final, 'classes_', [])]\n", "\n", " return {\n", " 'artifact_name': ruta_exportacion.name,\n", " 'artifact_path': str(ruta_exportacion),\n", " 'model_version': getattr(pipeline_api, 'version', 'unknown'),\n", " 'threshold': None if threshold is None else float(threshold),\n", " 'decision_mode': str(modo_decision),\n", " 'target_name': getattr(manager_obj, 'rutas', {}).get('target_name', 'income'),\n", " 'class_labels': class_labels,\n", " 'expected_features': expected_features,\n", " }\n", "\n", "\n", "def construir_y_exportar_pipeline_produccion(\n", " manager_obj,\n", " directorio_salida: str = 'mlops_activos'\n", ") -> Path:\n", " \"\"\"\n", " [FASE 7 - Paso 20.1] Ensamblador Maestro del Artefacto de Producción.\n", " - 🚀 Muro MLOps: Empaqueta rutas, artefactos y modelos en una única máquina de inferencia.\n", " - 🧪 Prueba de Integridad: Ejecuta predict y predict_proba antes de exportar.\n", " - 💾 Serialización Segura: Genera el .pkl final listo para despliegue.\n", " - 🧾 Trazabilidad Operativa: Emite un manifest JSON con metadatos críticos del modelo.\n", " - 🏭 Modo Producción: Deja listo el activo final para API, batch scoring o consumo externo.\n", " \"\"\"\n", " logger.info(\"=== 🏭 FASE 20.1: Ensamblador Maestro de Producción (Artefacto Final de Despliegue) ===\")\n", " inicio_timer = time.time()\n", "\n", " # ==========================================\n", " # 1. Recolección de Activos Críticos\n", " # ==========================================\n", " logger.info(\" 📦 Recolectando rutas, artefactos y modelos serializables del PipelineManager...\")\n", "\n", " ruta_salida = asegurar_directorio_salida(directorio_salida)\n", " rutas = getattr(manager_obj, 'rutas', {})\n", " artefactos = obtener_artefactos_serializables(manager_obj)\n", " modelos = obtener_modelos_serializables(manager_obj)\n", "\n", " validar_manager_para_exportacion(manager_obj, modelos)\n", "\n", " # ==========================================\n", " # 2. Ensamblaje de la Máquina de Inferencia\n", " # ==========================================\n", " logger.info(\" 🧠 Construyendo la máquina de inferencia definitiva de producción...\")\n", "\n", " pipeline_api = PipelineProduccionMLOps(\n", " rutas=rutas,\n", " artefactos=artefactos,\n", " modelos=modelos\n", " )\n", "\n", " if hasattr(pipeline_api, '_infer_missing_artefacts'):\n", " logger.info(\" 🛠️ Infiriendo artefactos faltantes para blindar compatibilidad de despliegue...\")\n", " pipeline_api._infer_missing_artefacts()\n", "\n", " # ==========================================\n", " # 3. Prueba de Integridad Pre-Exportación\n", " # ==========================================\n", " logger.info(\" 🧪 Ejecutando prueba de integridad previa a la exportación...\")\n", " validar_pipeline_exportado(pipeline_api, manager_obj)\n", "\n", " # ==========================================\n", " # 4. Exportación del Artefacto Final\n", " # ==========================================\n", " ruta_exportacion = ruta_salida / 'pipeline_produccion.pkl'\n", " joblib.dump(pipeline_api, ruta_exportacion, compress=3)\n", "\n", " # ==========================================\n", " # 5. Emisión del Manifest de Producción\n", " # ==========================================\n", " manifest = construir_model_manifest(pipeline_api, ruta_exportacion, manager_obj)\n", " ruta_manifest = ruta_salida / 'model_manifest.json'\n", " ruta_manifest.write_text(\n", " json.dumps(manifest, indent=2, ensure_ascii=False),\n", " encoding='utf-8'\n", " )\n", "\n", " tamano_mb = ruta_exportacion.stat().st_size / (1024 * 1024)\n", "\n", " # ==========================================\n", " # 6. Reporte Ejecutivo MLOps\n", " # ==========================================\n", " logger.info(\"-\" * 80)\n", " logger.info(f\" ✅ [ARTEFACTO GENERADO] Archivo maestro exportado en: {ruta_exportacion} ({tamano_mb:.2f} MB)\")\n", " logger.info(f\" 🧾 [MANIFEST LISTO] Metadata operativa emitida en: {ruta_manifest}\")\n", " logger.info(\" 🚀 [MODO USO] joblib.load('pipeline_produccion.pkl').predict(df_json)\")\n", " logger.info(f\"\\n⏱️ Ensamblaje completado en {time.time() - inicio_timer:.3f}s\")\n", "\n", " return ruta_exportacion\n", "\n", "\n", "# ==========================================\n", "# Celda de Ejecución en tu .ipynb (VÍA MANAGER)\n", "# ==========================================\n", "try:\n", " # 🚀 FIX ARQUITECTÓNICO: Validación estricta y segura del Manager usando NameError\n", " try:\n", " _ = manager\n", " except NameError as exc:\n", " raise EnvironmentError(\n", " \"El PipelineManager no está inicializado. Ejecuta la Ingesta y el entrenamiento completo primero.\"\n", " ) from exc\n", "\n", " logger.info(\">>> 🚂 INICIANDO ENSAMBLAJE DEL ARTEFACTO DE DESPLIEGUE <<<\")\n", "\n", " construir_y_exportar_pipeline_produccion(\n", " manager_obj=manager,\n", " directorio_salida='mlops_activos',\n", " )\n", "\n", " logger.info(\"\\n📦 [MLOps] Artefacto de producción ensamblado y exportado correctamente. Listo para despliegue.\")\n", "\n", "except EnvironmentError as env_err:\n", " logger.error(f\"⚠️ Dependencia faltante:\\n{env_err}\")\n", "except Exception as exc:\n", " logger.error(f\"🛑 Error crítico en el Ensamblador de Producción: {exc}\")\n" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "adult", "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.14.3" } }, "nbformat": 4, "nbformat_minor": 4 }