egutierrez
eaca41a532
feat(eda): scatters de pares más correlacionados + tipo de relación en capítulo CORRELACION
...
Añade al capítulo `correlacion` del AutomaticEDA la visualización con scatters de
los pares numérico-numérico más correlacionados (positiva y negativamente) y,
para cada uno, la clasificación del tipo de relación: lineal, polinómica
(grado 2/3), monótona no-lineal o débil/sin forma.
Funciones nuevas del registry (dominio datascience, grupo eda):
- classify_relationship_type_py_datascience (pura): dadas dos listas numéricas
pareadas, cruza Pearson r (lineal), Spearman ρ (monótona) y ajustes
polinómicos de grado 2 y 3 (numpy.polyfit + R² manual) para etiquetar la
forma. Reusa pearson y spearman_corr del registry. Umbrales calibrados para
datos reales discretos/ruidosos (orden: débil → monótona → polinómica →
lineal). Devuelve los coeficientes del mejor modelo para pintar la curva.
No-throw.
- relationship_scatter_figure_py_datascience (impure): construye la Figure
matplotlib del scatter de un par con su recta/curva de ajuste y una anotación
del tipo + métricas (r, ρ, R²lin, R²poly). Backend Agg sin pyplot global,
downsample determinista de los puntos dibujados, tendencia ordenada (binned /
por valor) para el caso monótona sin polinomio. Defensiva ante vacío.
Capítulo correlacion.py (1.0.0 → 1.1.0): nueva sección "Relaciones más fuertes
(scatter)" tras la matriz + tablas top. Toma los top-K pares num↔num por |valor|
de profile['correlations']['pairs'], obtiene los datos crudos de cada par desde
ctx['raw_numeric'] y emite, por par, un Figure dentro de un Group keep-together
junto a una nota de texto con el tipo de relación (extraíble por pdftotext).
Solo num↔num: los pares cat↔cat (Cramér's V) y num↔cat (razón de correlación)
no llevan scatter. Cuando no hay raw_numeric (perfil lite/agregado o ctx None)
los scatters se omiten sin lanzar; la matriz + tablas siguen.
Verificado: golden EDA de titanic (run_models) — el capítulo Correlación del PDF
y PPTX incluye los scatters (pclass↔fare → monótona no-lineal, sibsp↔parch →
lineal, …) con su ajuste y etiqueta de tipo en texto. Tests de clasificación
sintética (lineal, y=x² → polinómica, y=exp(x) → monótona, ruido → débil) +
tests del capítulo (golden con raw_numeric, edge sin raw, par sin columna). Suite
automatic_eda + pipeline render_automatic_eda verde (141 passed). fn index sin
error.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-30 20:37:01 +02:00
..
2026-06-30 20:37:01 +02:00
2026-06-29 06:37:47 +02:00
2026-06-30 18:52:08 +02:00
2026-06-29 03:51:11 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 03:34:01 +02:00
2026-06-30 17:35:19 +02:00
2026-06-30 17:35:19 +02:00
2026-06-30 17:35:19 +02:00
2026-06-29 03:51:11 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 03:34:01 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-05-04 23:35:22 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-30 15:29:33 +02:00
2026-06-30 15:29:33 +02:00
2026-06-30 15:29:33 +02:00
2026-06-29 06:37:47 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 06:37:47 +02:00
2026-05-14 00:28:20 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-30 14:54:49 +02:00
2026-06-30 14:54:49 +02:00
2026-06-30 14:54:49 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-30 16:08:41 +02:00
2026-06-30 16:08:41 +02:00
2026-06-30 17:56:24 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 18:45:16 +02:00
2026-04-05 17:11:32 +02:00
2026-06-30 15:29:33 +02:00
2026-06-30 15:29:33 +02:00
2026-06-30 15:29:33 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 18:45:16 +02:00
2026-04-05 17:11:32 +02:00
2026-06-30 15:04:10 +02:00
2026-06-30 15:04:10 +02:00
2026-06-30 15:04:10 +02:00
2026-06-30 15:04:10 +02:00
2026-06-30 15:04:10 +02:00
2026-06-30 15:04:10 +02:00
2026-06-14 23:55:16 +02:00
2026-06-30 20:37:01 +02:00
2026-06-30 20:37:01 +02:00
2026-06-30 20:37:01 +02:00
2026-05-16 16:33:22 +02:00
2026-06-30 18:10:23 +02:00
2026-06-30 18:10:23 +02:00
2026-06-30 18:10:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-04-05 17:11:32 +02:00
2026-06-28 18:16:24 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-06-21 21:43:08 +02:00
2026-06-21 21:43:08 +02:00
2026-06-30 14:57:27 +02:00
2026-06-30 14:57:27 +02:00
2026-06-30 14:57:27 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-30 18:15:15 +02:00
2026-06-30 18:15:15 +02:00
2026-06-30 18:15:15 +02:00
2026-06-29 06:37:47 +02:00
2026-06-29 06:37:47 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-06-30 15:29:33 +02:00
2026-06-30 15:29:33 +02:00
2026-06-30 15:29:33 +02:00
2026-05-16 16:33:22 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-06-21 14:22:55 +02:00
2026-06-20 18:22:23 +02:00
2026-06-21 14:22:55 +02:00
2026-05-14 00:28:20 +02:00
2026-06-21 14:22:55 +02:00
2026-06-21 14:22:55 +02:00
2026-05-14 00:28:20 +02:00
2026-06-29 03:51:11 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 03:34:01 +02:00
2026-04-30 16:33:38 +02:00
2026-04-30 16:33:38 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 18:45:16 +02:00
2026-04-05 17:11:32 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-04-30 16:41:09 +02:00
2026-04-30 16:41:09 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 18:45:16 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-29 03:51:11 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 03:34:01 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-04-30 16:33:38 +02:00
2026-04-30 16:33:38 +02:00
2026-04-30 16:41:09 +02:00
2026-05-04 14:43:35 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-05-16 16:33:22 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-04-05 17:11:32 +02:00
2026-05-16 16:33:22 +02:00
2026-06-29 06:37:47 +02:00
2026-06-29 06:37:47 +02:00
2026-06-29 06:37:47 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-04-05 17:11:32 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-14 00:28:20 +02:00
2026-04-02 22:03:51 +02:00
2026-04-05 18:45:16 +02:00
2026-04-02 22:03:51 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-14 00:28:20 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-04-05 17:11:32 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-30 17:35:19 +02:00
2026-06-30 17:35:19 +02:00
2026-06-30 17:35:19 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 14:57:27 +02:00
2026-06-30 14:57:27 +02:00
2026-06-30 14:57:27 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-21 14:22:55 +02:00
2026-06-21 14:22:55 +02:00
2026-06-21 14:22:55 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-30 20:37:01 +02:00
2026-06-30 20:37:01 +02:00
2026-06-30 20:37:01 +02:00
2026-06-21 21:43:08 +02:00
2026-06-21 21:43:08 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-30 18:52:08 +02:00
2026-06-30 18:52:08 +02:00
2026-06-30 18:52:08 +02:00
2026-06-30 14:30:31 +02:00
2026-06-30 14:30:31 +02:00
2026-06-30 14:30:31 +02:00
2026-06-30 14:30:31 +02:00
2026-06-30 14:30:31 +02:00
2026-06-30 14:30:31 +02:00
2026-06-29 04:05:38 +02:00
2026-06-20 18:22:23 +02:00
2026-06-29 04:05:38 +02:00
2026-06-29 04:05:38 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 04:05:38 +02:00
2026-05-14 00:28:20 +02:00
2026-04-02 22:03:51 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-06-30 15:35:42 +02:00
2026-05-14 00:28:20 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-21 14:22:55 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-14 23:55:16 +02:00
2026-06-14 23:55:16 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-14 23:55:16 +02:00
2026-06-14 23:55:16 +02:00
2026-06-14 23:55:16 +02:00
2026-06-14 23:55:16 +02:00
2026-06-14 23:55:16 +02:00
2026-06-14 23:55:16 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-14 00:28:20 +02:00
2026-06-29 06:37:47 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 06:37:47 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 15:33:55 +02:00
2026-06-30 18:15:15 +02:00
2026-06-30 18:15:15 +02:00
2026-06-30 18:15:15 +02:00
2026-06-29 03:51:11 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 03:34:01 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-30 18:10:23 +02:00
2026-06-30 18:10:23 +02:00
2026-06-30 18:10:23 +02:00
2026-06-21 14:22:55 +02:00
2026-06-21 14:22:55 +02:00
2026-06-21 14:22:55 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-29 03:51:11 +02:00
2026-06-29 03:34:01 +02:00
2026-06-29 03:34:01 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-06-20 18:22:23 +02:00
2026-05-04 23:35:22 +02:00
2026-05-04 23:35:22 +02:00
2026-05-13 00:50:34 +02:00
2026-05-13 00:50:34 +02:00
2026-05-13 00:50:34 +02:00
2026-05-13 00:50:34 +02:00
2026-05-14 00:28:20 +02:00
2026-05-04 23:35:22 +02:00