# samueldazag2/ia_proyecti_3 architecture

> Architecture diagram of the GitHub repository samueldazag2/ia_proyecti_3, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/samueldazag2/ia_proyecti_3
- Repository: https://github.com/samueldazag2/ia_proyecti_3

## Overview

El proyecto clasifica ingresos >50K con perceptrón y MLP sobre Adult. El flujo principal es cargar y limpiar Adult, separar características y etiqueta, preprocesar dentro de una partición de entrenamiento, entrenar y evaluar modelos, y producir resultados. También ofrece EDA y experimentos de semillas, proporciones y colapso por inicialización. Los enlaces reflejan llamadas visibles en main.py y experimentos.py, referencias del índice de módulos y relaciones documentadas; no se inspeccionaron los tramos omitidos.

Main entry points: [`src/clasificacion_adult/experimentos.py`](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/experimentos.py) (Entrenamiento principal), [`main.py`](https://github.com/samueldazag2/ia_proyecti_3/blob/main/main.py) (CLI y orquestación), [`src/clasificacion_adult/datos.py`](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/datos.py) (Carga y limpieza), [`src/clasificacion_adult/utilidades.py`](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/utilidades.py) (Guardado de resultados)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entrada["Datos y exploración"]
  node_raw[("Archivos Adult<br/>[adult.data]")]
  node_datos["Carga y limpieza<br/>[datos.py]"]
  node_eda["Análisis exploratorio<br/>[eda.py]"]
end

subgraph group_ml["Modelado"]
  node_prep["Preprocesamiento"]
  node_modelos["Arquitecturas neuronales<br/>[modelos.py]"]
end

subgraph group_analisis["Experimentos y evaluación"]
  node_entrenamiento["Entrenamiento principal<br/>[experimentos.py]"]
  node_evaluacion["Métricas y gráficos<br/>[evaluacion.py]"]
  node_semillas["Experimento de semillas<br/>[experimentos.py]"]
  node_colapso["Diagnóstico de colapso<br/>[experimentos.py]"]
  node_proporciones["Experimento de proporciones<br/>[experimentos.py]"]
end

subgraph group_comun["Configuración y salidas"]
  node_config["Parámetros y rutas<br/>[config.py]"]
  node_utilidades["Guardado de resultados<br/>[utilidades.py]"]
  node_salidas["Tablas y figuras"]
end

node_cli(("CLI y orquestación<br/>[main.py]"))
node_uci[("Repositorio UCI Adult")]

node_cli -->|"carga datos"| node_datos
node_cli -->|"ejecuta EDA"| node_eda
node_cli -->|"inicia experimentos"| node_entrenamiento
node_cli -->|"calcula atípicos"| node_prep
node_cli -->|"guarda resultados"| node_utilidades
node_uci -->|"descarga archivos"| node_datos
node_datos -->|"lee y unifica"| node_raw
node_datos -->|"usa rutas y columnas"| node_config
node_eda -->|"guarda salidas"| node_utilidades
node_entrenamiento -->|"construye pipeline"| node_prep
node_entrenamiento -->|"crea modelos"| node_modelos
node_entrenamiento -->|"calcula métricas"| node_evaluacion
node_entrenamiento -->|"guarda resultados"| node_utilidades
node_semillas -.->|"evalúa inicializaciones"| node_modelos
node_colapso -->|"inspecciona activaciones"| node_modelos
node_proporciones -.->|"resume métricas"| node_evaluacion
node_config -->|"define parámetros"| node_entrenamiento
node_utilidades -->|"escribe CSV y PNG"| node_salidas

click node_cli "https://github.com/samueldazag2/ia_proyecti_3/blob/main/main.py"
click node_raw "https://github.com/samueldazag2/ia_proyecti_3/blob/main/data/raw/adult.data"
click node_datos "https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/datos.py"
click node_eda "https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/eda.py"
click node_prep "https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/preprocesamiento.py"
click node_modelos "https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/modelos.py"
click node_entrenamiento "https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/experimentos.py"
click node_evaluacion "https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/evaluacion.py"
click node_semillas "https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/experimentos.py"
click node_colapso "https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/experimentos.py"
click node_proporciones "https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/experimentos.py"
click node_config "https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/config.py"
click node_utilidades "https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/utilidades.py"
click node_salidas "https://github.com/samueldazag2/ia_proyecti_3/tree/main/resultados"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_raw,node_datos,node_eda toneBlue
class node_prep,node_modelos,node_uci toneAmber
class node_entrenamiento,node_evaluacion,node_semillas,node_colapso,node_proporciones toneMint
class node_config,node_utilidades,node_salidas toneRose
class node_cli toneTeal
```

## Components

### Datos y exploración

- [Archivos Adult](https://github.com/samueldazag2/ia_proyecti_3/blob/main/data/raw/adult.data): `data/raw/adult.data`
- [Carga y limpieza](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/datos.py): `src/clasificacion_adult/datos.py`
- [Análisis exploratorio](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/eda.py): `src/clasificacion_adult/eda.py`

### Modelado

- [Preprocesamiento](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/preprocesamiento.py): `src/clasificacion_adult/preprocesamiento.py`
- [Arquitecturas neuronales](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/modelos.py): `src/clasificacion_adult/modelos.py`

### Experimentos y evaluación

- [Entrenamiento principal](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/experimentos.py): `src/clasificacion_adult/experimentos.py`
- [Métricas y gráficos](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/evaluacion.py): `src/clasificacion_adult/evaluacion.py`
- [Experimento de semillas](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/experimentos.py): `src/clasificacion_adult/experimentos.py`
- [Diagnóstico de colapso](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/experimentos.py): `src/clasificacion_adult/experimentos.py`
- [Experimento de proporciones](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/experimentos.py): `src/clasificacion_adult/experimentos.py`

### Configuración y salidas

- [Parámetros y rutas](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/config.py): `src/clasificacion_adult/config.py`
- [Guardado de resultados](https://github.com/samueldazag2/ia_proyecti_3/blob/main/src/clasificacion_adult/utilidades.py): `src/clasificacion_adult/utilidades.py`
- [Tablas y figuras](https://github.com/samueldazag2/ia_proyecti_3/tree/main/resultados): `resultados`

### Other components

- [CLI y orquestación](https://github.com/samueldazag2/ia_proyecti_3/blob/main/main.py): `main.py`
- **Repositorio UCI Adult**

## Connections

- CLI y orquestación → Carga y limpieza: carga datos (evidence: `main.py`)
- CLI y orquestación → Análisis exploratorio: ejecuta EDA (evidence: `main.py`)
- CLI y orquestación → Entrenamiento principal: inicia experimentos (evidence: `main.py`)
- CLI y orquestación → Preprocesamiento: calcula atípicos (evidence: `main.py`)
- CLI y orquestación → Guardado de resultados: guarda resultados (evidence: `main.py`)
- Repositorio UCI Adult → Carga y limpieza: descarga archivos (evidence: `src/clasificacion_adult/datos.py`)
- Carga y limpieza → Archivos Adult: lee y unifica (evidence: `src/clasificacion_adult/datos.py`)
- Carga y limpieza → Parámetros y rutas: usa rutas y columnas (evidence: `src/clasificacion_adult/datos.py`)
- Análisis exploratorio → Guardado de resultados: guarda salidas (evidence: `src/clasificacion_adult/eda.py`)
- Entrenamiento principal → Preprocesamiento: construye pipeline (evidence: `src/clasificacion_adult/experimentos.py`)
- Entrenamiento principal → Arquitecturas neuronales: crea modelos (evidence: `src/clasificacion_adult/experimentos.py`)
- Entrenamiento principal → Métricas y gráficos: calcula métricas (evidence: `src/clasificacion_adult/experimentos.py`)
- Entrenamiento principal → Guardado de resultados: guarda resultados (evidence: `src/clasificacion_adult/experimentos.py`)
- Experimento de semillas → Arquitecturas neuronales: evalúa inicializaciones (evidence: `src/clasificacion_adult/experimentos.py`)
- Diagnóstico de colapso → Arquitecturas neuronales: inspecciona activaciones (evidence: `src/clasificacion_adult/experimentos.py`)
- Experimento de proporciones → Métricas y gráficos: resume métricas (evidence: `src/clasificacion_adult/experimentos.py`)
- Parámetros y rutas → Entrenamiento principal: define parámetros (evidence: `src/clasificacion_adult/experimentos.py`)
- Guardado de resultados → Tablas y figuras: escribe CSV y PNG (evidence: `src/clasificacion_adult/utilidades.py`)
