| --- |
| title: ML Implementing Challenge |
| emoji: 🚀 |
| colorFrom: purple |
| colorTo: blue |
| sdk: gradio |
| sdk_version: 5.31.0 |
| app_file: app.py |
| pinned: false |
| --- |
| |
| # Descripcion |
| Este proyecto se desarrolló para abordar un problema de regresión multivariante y una prueba a ciegas. |
| En este reto se entreno un modelo para predecir una variable objetivo (target) del archivo training_data. |
| |
| Particularmente, en el despliegue de esta solucion permite realizar estas operaciones masivas con regularidad. |
| De esta manera, el usuario puede predecir el valor objetivo para muestras utilizando el modelo que se ha creado con los datos de entrenamiento. |
| |
| # Descripción de los datos |
| En el archivo training_data.csv, se encontrará el conjunto de datos de entrenamiento de 800 muestras. |
| Cada muestra tiene 20 características, denominadas [feature_0, feature_1, … , feature_19]. |
| |
| # ¿Cómo funciona el notebook? |
| Es posible ver el proceso de analisis de los datos y la formulacion de la solucion final a traves de Google Colab. Esto permite la reproduccion total o parcial de los resultados obtenidos. |
| |
| link Google colab: https://colab.research.google.com/drive/1KiVORtwE31O51DF86hQg_STdTPAwxIxs?usp=sharing |
|
|
| # ¿Cómo funciona la APP? |
| La interfaz es simple e intuitiva: |
| - Sube tu archivo CSV mediante el botón de carga. |
| - Se mostrará una vista previa con las primeras filas del contenido. |
| - Es posible descarga el resultado procesado (en este caso, un archivo CSV). |
|
|
| # Tareas Realizadas |
| Utilizando Python, junto con las librerías [numpy, pandas, seaborn, matplotlib, scipy, sklearn, statsmodels], se realizaron las tareas siguientes: |
|
|
| 1. Se entreno un modelo de regresion lineal utilizando el conjunto de datos de entrenamiento. |
| 2. Se Creo un proyecto que pueda ser desplegado fácilmente. Listo para la PoC, donde se puede proporcionar nuevas predicciones (se utilizo el conjunto de datos de prueba, blind_test_data). |
|
|
| # cómo puede se puede evolucionar la solución? |
| 1. Tener acceso al significa y naturaleza de las caracteristicas utilizadas, lo cual es especialmente util en entornos con datos escasos o conocimiento experto relevante. |
| 2. Complementar con técnicas de ingeniería de características como la Selección automática de caracteristicas (Lasso, RFECV, Permutaciones) o utilizando regresión regularizada (Ridge, Lasso, Elastic Net). |
| 3. Una de las posibles maneras de mejorar la solucion es utlizando otros modelos mas robustos como por ejemplo Redes neuronales (MLP). Estos modelos son extremadamente flexibles y escalables, aunque con regularidad requieren más recursos y cuidado en su entrenamiento. |