Ejercicio de programación con ScikitLearn: Validación y evaluación de modelos en series temporales
Código
0h 30m
Ejercicio práctico de validación cruzada en series temporales usando Scikit-Learn y TimeSeriesSplit para evaluar modelos y evitar sobreajuste.
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.
- Carga los datos: Usa el conjunto de datos de
flights
proporcionado por la librería Seaborn. Importa Seaborn y carga los datos consns.load_dataset('flights')
. - 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.
- Filtra el DataFrame para tener solamente las columnas de interés:
- Implementación de TimeSeriesSplit:
- Define un objeto
TimeSeriesSplit
con 5 divisiones. Asegúrate de que las particiones mantengan la integridad temporal.
- Define un objeto
- 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.
- Utiliza
- Calcula el rendimiento del modelo:
- Calcula el Error Absoluto Medio (MAE) por cada partición y almacena los resultados.
- Presenta los resultados:
- Imprime el MAE promedio de todas las particiones.
Todos los ejercicios de programación de ScikitLearn
Evalúa tus conocimientos con ejercicios de programación en ScikitLearn de tipo Test, Puzzle, Código y Proyecto con VSCode.
Regresión SVM con SVR
Código
Ajuste de hiperparámetros
Código
Pipelines y Validación Cruzada
Código
Preprocesamiento de datos desbalanceados
Código
Pipelines con ColumnTransformer
Código
Validación y evaluación de modelos
Código
Preprocesamiento de datos de series temporales
Código
Identificación y tratamiento de valores faltantes
Código
Ingeniería de características para series temporales
Código
Introducción a la clasificación
Código
Transformación y escalado de series temporales
Código
Extracción de características
Código
Clasificación KNN KNeighborsClassifier
Código
Regresión con algoritmos de conjunto
Código
Regresión lineal
Código
Reducción de la dimensionalidad con PCA
Código
Clasificación con algoritmos de conjunto
Código
Clasificación SVM con SVC
Código
Escalado de datos
Código
Clustering jerárquico
Código
Análisis de sentimiento
Código
Regresión KNN KNeighborsRegressor
Código
Técnicas de validación cruzada
Código
Introducción al preprocesamiento de datos
Código
Exportar e importar Pipelines
Código
Preprocesamiento de textos para NLP
Código
Clasificación con árboles DecisionTreeClassifier
Código
Selección de Características
Código
Introducción a la regresión
Código
Clasificación con regresión logística en Scikit Learn
Código
Ingeniería de Características
Código
Clustering con KMeans
Código
Introducción al análisis de series temporales
Código
Codificación de variables categóricas
Código
Clasificación de Texto con Scikit Learn
Código
Métricas de Regresión
Código
Aprendizaje automático
Puzzle
Clustering de densidad con DBSCAN
Código
Métricas de clasificación
Código
Técnicas avanzadas de extracción de características
Código
Creación de pipelines básicos
Código
Particionamiento de datos
Código
Normalización de datos
Código
Regresión con árboles DecisionTreeRegressor
Código
Introducción e instalación de Scikit Learn
Código
Preprocesamiento de datos con pipelines
Código
Representación de texto y extracción de características
Código
Introducción a pipelines
Código
Tutorial para resolver este ejercicio de programación
ScikitLearn
Validación y evaluación de modelos en series temporales
Series temporales