Guía del Módulo: Modelos
El módulo de Modelos gestiona el ciclo completo de experimentación de ML: definir tareas, entrenar modelos, optimizar hiperparámetros, evaluar resultados, generar predicciones e interpretar el comportamiento del modelo mediante herramientas de explicabilidad. Todo está organizado alrededor de Sesiones, experimentos autocontenidos que agrupan modelos, métricas, predicciones y resultados de explicabilidad en un solo lugar.
Conceptos Fundamentales
Tareas
Una tarea define el tipo de problema de aprendizaje automático. Determina qué modelos están disponibles, qué tipos de columnas son válidos como entradas y salidas, y qué métricas de evaluación se calculan.
| Tarea | Tipos de entrada | Tipo de salida | Caso de uso |
|---|---|---|---|
| Clasificación Tabular | Float, Integer, Categorical | Categorical (1 columna) | Predecir una categoría a partir de datos estructurados |
| Clasificación de Texto | Texto | Categorical | Clasificar documentos, reseñas, mensajes |
| Regresión | Float, Integer, Categorical | Float o Integer (1 columna) | Predecir un valor continuo |
| Traducción | Texto | Texto | Convertir texto entre idiomas |
Sesiones
Una sesión une un dataset, una configuración de tarea (columnas de entrada/salida, división de datos) y todos los modelos entrenados dentro de ese contexto. Las sesiones son persistentes, por lo que cerrar dashAI y volver a abrirlo te regresa al mismo estado.
La barra lateral izquierda organiza las sesiones por tipo de tarea. Cada entrada de sesión muestra su nombre y el dataset desde el que fue creada. Puedes mantener múltiples sesiones para el mismo dataset y tarea para explorar diferentes configuraciones de columnas o estrategias de división.
Divisiones de Datos
dashAI admite tres estrategias de división:
| Estrategia | Cuándo usarla |
|---|---|
| Predefinida | El dataset ya contiene la estructura tren/prueba/validación desde el origen |
| Aleatoria por proporción | División estándar usando proporciones configurables (por defecto: 60/20/20) |
| Manual por índices de filas | Control total sobre qué filas van a cada subconjunto |
Para divisiones aleatorias, tres opciones adicionales refinan el comportamiento:
- Mezclar: aleatoriza el orden de las filas antes de dividir. Habilitado por defecto. Desactívalo solo cuando el orden de las filas sea significativo (p. ej., series de tiempo).
- Estratificar: preserva la distribución de clases de la columna de salida en cada división. Crítico para datasets desequilibrados donde las clases minoritarias podrían estar subrepresentadas en divisiones más pequeñas.
- Semilla: semilla aleatoria fija para reproducibilidad. El valor por defecto es 42. Establece un valor específico cuando necesitas comparar modelos entrenados en divisiones idénticas.
Modelos Disponibles
Clasificación Tabular (Scikit-learn)
| Modelo | Notas |
|---|---|
SVC | Clasificador de Vectores de Soporte. Efectivo en espacios de alta dimensionalidad. Opciones de kernel: lineal, rbf, polinomial |
LogisticRegression | Modelo lineal para clasificación binaria y multiclase. Rápido e interpretable |
RandomForestClassifier | Conjunto de árboles de decisión. Robusto ante el sobreajuste, maneja tipos de características mixtas |
DecisionTreeClassifier | Modelo de árbol único. Totalmente interpretable, propenso al sobreajuste sin límites de profundidad |
KNeighborsClassifier | Aprendizaje basado en instancias usando la distancia a los k vecinos más cercanos |
HistGradientBoostingClassifier | Gradient boosting basado en histogramas. Maneja grandes datasets eficientemente, admite valores NA nativos |
DummyClassifier | Modelo de línea base usando reglas simples (más frecuente, estratificado, etc.). Úsalo como piso de rendimiento |
Regresión (Scikit-learn)
| Modelo | Notas |
|---|---|
LinearRegression | Mínimos cuadrados ordinarios. Simple, rápido, interpretable |
LinearSVR | Regresión de Vectores de Soporte con kernel lineal |
RidgeRegression | Regresión lineal con regularización L2. Maneja la multicolinealidad |
RandomForestRegressor | Regresión por conjuntos. Maneja relaciones no lineales |
GradientBoostingRegressor | Conjunto secuencial. Alta precisión, más lento de entrenar |
MLPRegressor | Perceptrón multicapa. Modelo no lineal flexible |
Clasificación de Texto (Hugging Face)
| Modelo | Notas |
|---|---|
DistilBertTransformer | BERT destilado, un transformador rápido y preciso para clasificación de texto. Requiere GPU para uso práctico |
BagOfWordsTextClassificationModel | Enfoque tradicional de vectores dispersos con un clasificador lineal. Rápido, interpretable, compatible con CPU |
Traducción (Hugging Face)
| Modelo | Notas |
|---|---|
OpusMtEnESTransformer | Traducción del inglés al español usando los modelos Helsinki-NLP Opus-MT |