Validación y evaluación de modelos en series temporales

Código
Avanzado
ScikitLearn
ScikitLearn
30 min
200 XP
Actualizado: 28/02/2025

¡Practica y certifícate!

Retroalimentación
Soluciones
Certificado
Comenzar

Descripción

Exercise on time series cross-validation with Scikit-Learn.

A menudo, al trabajar con modelos de series temporales, es importante mantener la secuencia temporal al dividir los datos para evitar el sobreajuste y obtener evaluaciones precisas. En este reto, aplicarás técnicas de validación cruzada adaptadas a series temporales utilizando Scikit-Learn. Usarás TimeSeriesSplit para crear particiones que respeten el orden temporal, y evaluarás un modelo sobre esos datos.

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

  1. Carga los datos: Usa el conjunto de datos de flights proporcionado por la librería Seaborn. Importa Seaborn y carga los datos con sns.load_dataset('flights').
  2. Preparamos los datos:
    • Filtra el DataFrame para tener solamente las columnas de interés: ['passengers'].
    • Divide el conjunto de datos en características X y variable objetivo y.
  3. Implementación de TimeSeriesSplit:
    • Define un objeto TimeSeriesSplit con 5 divisiones. Asegúrate de que las particiones mantengan la integridad temporal.
  4. Entrena un modelo de regresión:
    • Utiliza RandomForestRegressor para ajustar el modelo sobre las particiones temporales creadas.
    • La variable a predecir es el número de pasajeros.
    • Por cada partición (fold), entrena el modelo en el conjunto de entrenamiento y predice en el conjunto de prueba.
  5. Calcula el rendimiento del modelo:
    • Calcula el Error Absoluto Medio (MAE) por cada partición y almacena los resultados.
  6. Presenta los resultados:
    • Imprime el MAE promedio de todas las particiones.

Solución al ejercicio

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el examen para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con exámenes de ScikitLearn

Mejora tus habilidades con cientos de exámenes de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Retroalimentación

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades

⭐⭐⭐⭐⭐
4.9/5 valoración