Reportes de evaluación (clasificación/regresión) a Markdown con gráficos
Project description
evalcards
Descripción
evalcards genera reportes de evaluación para modelos supervisados (clasificación y regresión) en formato Markdown, incluyendo gráficos listos (matriz de confusión, ROC/PR, ajuste y residuales). Pensado para usarse tanto desde Python como desde la línea de comandos (CLI).
Requisitos
- Python 3.9+
- Las dependencias se instalan automáticamente al instalar el paquete (numpy, pandas, scikit-learn, matplotlib, jinja2).
Instalación (local / desarrollo)
-
Crear y activar un entorno virtual (opcional pero recomendado)
- Windows (PowerShell): python -m venv .venv . ..venv\Scripts\Activate.ps1
- macOS / Linux: python3 -m venv .venv source .venv/bin/activate
-
Instalar en modo editable desde la carpeta del proyecto: pip install -e .
Uso desde Python
Ejemplo (clasificación binaria con probabilidades opcionales):
from evalcards import make_report
# y_true: etiquetas reales (array-like)
# y_pred: etiquetas predichas (array-like)
# y_proba: probabilidad de la clase positiva (shape (n_samples,)), opcional
path = make_report(
y_true, y_pred, y_proba=proba,
path="reporte.md",
title="Mi modelo"
)
print(path) # ruta al reporte Markdown
Para regresión, simplemente no pases y_proba y utiliza tus vectores reales y predichos (y_true, y_pred).
Uso desde la CLI
-
Prepara CSVs con una sola columna o con nombres estándar (y_true, y_pred, y_proba).
-
Ejecuta:
Por defecto guarda todo en ./evalcards_reports
evalcards --y_true y_true.csv --y_pred y_pred.csv --proba y_proba.csv --out rep.md --title "Mi modelo"
Carpeta de salida personalizada
evalcards --y_true y_true.csv --y_pred y_pred.csv --out rep.md --outdir informes_eval
Entradas esperadas
-
Clasificación:
- y_true: etiquetas reales (0/1 o multicategoría).
- y_pred: etiquetas predichas.
- y_proba (opcional, binaria): prob. de la clase positiva, vector 1D de longitud n_samples.
-
Regresión:
- y_true: valores reales (float).
- y_pred: valores predichos (float).
Salidas
- Un archivo Markdown (por ejemplo, rep.md) con las métricas y referencias a imágenes.
- Imágenes PNG guardadas en la carpeta destino (por defecto: ./evalcards_reports):
- Clasificación: confusion.png; si pasas y_proba (binaria): roc.png y pr.png.
- Regresión: fit.png (ajuste y vs ŷ) y resid.png (residuales).
Métricas incluidas
- Clasificación: accuracy, precision/recall/F1 (macro y weighted). Si hay y_proba (binaria): AUC (ROC).
- Regresión: MAE, MSE, RMSE, R².
Soporte actual
- Detección automática de tarea (classification vs regression).
- Clasificación: binaria y multiclase (métricas + matriz de confusión). Curvas ROC/PR: por ahora solo binaria.
- Regresión: métricas básicas y dos gráficos (ajuste y residuales).
Notas técnicas
- Cuando solo pasas un nombre de archivo en --out o path (por ejemplo, "rep.md"), evalcards crea por defecto la carpeta ./evalcards_reports y guarda allí el reporte y las imágenes.
- Si especificas una ruta con carpeta, se respeta esa ruta.
- Con --outdir puedes fijar explícitamente la carpeta de salida.
Solución de problemas (rápida)
- "No module named evalcards": asegúrate de correr 'pip install -e .' en la carpeta del proyecto y que tu entorno virtual esté activo.
- Problemas con matplotlib en servidores sin GUI: evalcards usa guardado a PNG y no requiere backend interactivo.
- CSVs: si tu archivo tiene varias columnas, incluye una llamada y_true/y_pred/y_proba o deja una sola columna.
Licencia
MIT (puedes cambiarla si lo prefieres).
Autor
Ricardo Urdaneta (Ricardouchub)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file evalcards-0.1.0.tar.gz.
File metadata
- Download URL: evalcards-0.1.0.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de71d91adc4c22546b63d48101271f614c4a6fa6788ac7a2c1bfc002891f0482
|
|
| MD5 |
ad6fc21384f76cb70a125210322336f6
|
|
| BLAKE2b-256 |
9bf0920ecc9422b01362d657ea5cc33ed32898e14f215ffe72bed0b537361cb5
|
File details
Details for the file evalcards-0.1.0-py3-none-any.whl.
File metadata
- Download URL: evalcards-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7af81db1001663b28f26d175cfb2c0eaf4286d57e6e7e7caa2b3f0f4824ad86e
|
|
| MD5 |
9458b7c6622cc7cae9c0c105b304bbf2
|
|
| BLAKE2b-256 |
2dadfbb813e77741dadc26d3b4861c4bb0837c709db1f7e18ae1106ff949bb5e
|