1. Comprender el Problema:
Objetivo:
Predecir si un estudiante aprueba o no un curso utilizando la variable cod_evaluacion_final. Esta variable la encontramos en el conjunto df_ceip.csv
“cod_evaluacion_final” = 0, 1 y 2 ~ (sin asignar, promovido, repetidor)
2. Acceso y Preparación del Dataset:
Cargar el dataset en un entorno de análisis de datos
3. Exploración y Análisis de los Datos:
Realizar un análisis exploratorio de datos (EDA) para comprender la estructura y distribución de los datos.
Describir las características de los datos.
Visualizar las relaciones entre las variables.
4. Preprocesamiento de los Datos:
Limpiar los datos para que pueda ser procesado por el modelo.
Realizar ingeniería de características.
Dividir el dataset en conjuntos de entrenamiento y prueba.
5. Selección y Entrenamiento del Modelo:
Elegir un modelo.
Entrenar el modelo con el conjunto de datos de entrenamiento.
Utilizar técnicas como la validación cruzada para evaluar la estabilidad y generalización del modelo.
Ajustar los hiperparámetros del modelo para optimizar su rendimiento.
6. Evaluación del Modelo:
Evaluar el modelo utilizando el conjunto de datos de prueba.
Calcular métricas de rendimiento como el error cuadrático medio (MSE), R^2, etc.
7. Presentación de Resultados:
Documentar el proceso de análisis, los hallazgos y las conclusiones.
Crear visualizaciones que resuman los resultados y la precisión del modelo.
Preparar una presentación para compartir los resultados con los interesados.
8. Envío de la solución:
Ajustar los resultados para enviar la solución acorde a lo solicitado:
Luego de realizado y entrenado el modelo tenemos el archivo “st_verify_data.csv” que contiene los datos que hay que utilizar para validar el modelo y con ello realizar la entrega de la solución.
El archivo de entrega debe tener la misma cantidad de filas que “st_verify_data.csv” + una columna con la predicción realizada en donde id se va a corresponder con los valores de los ids dados en “st_verify_data.csv” y la columna “evaluacion_final” será las predicciones para cada id.
2. Acceso y Preparación del Dataset:
Descargar dataset df_ceip.csv desde aichallenge.
Cargar el dataset en un entorno de análisis de datos
Ejemplo:
# manipulación de datos
import pandas as pd
import numpy as np
#modelo
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report
#importo desde drive
from google.colab import drive
drive.mount('/content/drive', force_remount=True)
#leo dataset
df = pd.read_csv(ruta_datos+'df_ceip.csv', sep=',', encoding='latin-1')
df.head()
3. Exploración y Análisis de los Datos:
Realizar un análisis exploratorio de datos (EDA) para comprender la estructura y distribución de los datos.
Describir las características de los datos
Visualizar las relaciones entre las variables
Ejemplo:
df.info()
df.describe()
df['cod_evaluacion_final'].unique()
4. Preprocesamiento de los Datos:
Limpiar los datos para que pueda ser procesado por el modelo
Realizar ingeniería de características
Dividir el dataset en conjuntos de entrenamiento y prueba
Ejemplo:
X = df.drop("cod_evaluacion_final", axis=1)
y = df["cod_evaluacion_final"]
#divido en conjunto de entrenamiento y prueba
X_train, X_test, y_train, y_test= train_test_split(X, y, test_size=0.2)
5. Selección y Entrenamiento del Modelo:
Elegir un modelo de regresión
Entrenar el modelo con el conjunto de datos de entrenamiento.
Utilizar técnicas como la validación cruzada para evaluar la estabilidad y generalización del modelo.
Ajustar los hiperparámetros del modelo para optimizar su rendimiento.
Código:
model = LogisticRegression()
model.fit(X_train, y_train)
6. Evaluación del Modelo:
Evaluar el modelo utilizando el conjunto de datos de prueba.
Calcular métricas de rendimiento como el error cuadrático medio (MSE), R^2, etc.
Código:
# Evaluar el modelo en el conjunto de prueba
accuracy = model.score(X_test, y_test)
print(f"Precisión: {accuracy:.4f}")
# Realizar predicciones con el modelo entrenado
predicciones = model.predict(X_test)
Algunas consideraciones a tener en cuenta:
-
Los datos deben ser correctos y sin errores. Deben estar en un formato adecuado para el análisis, sin errores de codificación o formato.
-
No deben faltar valores críticos
-
Las clases deben estar balanceadas para evitar sesgos hacia la clase más frecuente.
-
Los valores faltantes deben manejarse adecuadamente, ya sea imputándolos o eliminando las filas/columnas correspondientes.
-
Eliminación de Outliers
-
Las características relevantes deben ser seleccionadas y las no relevantes eliminadas.
-
Las variables categóricas deben ser codificadas en un formato que el modelo pueda utilizar (por ejemplo, one-hot encoding).