Skip to content

Pipeline de clasificación de bienes raíces de Colombia

License

Notifications You must be signed in to change notification settings

marianaiv/datathon_PI02

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Datathon - Bootcamp Henry:rocket:

Repositorio para el datathon del bootcamp Henry.

License: GPL v3

Tabla de Contenidos:

El datathon

El datathon es parte de la etapa de proyectos individuales del bootcamp Soy Henry. En este caso, se trató un problema de clasificación relacionado al mercado inmobiliario. El objetivo fue desarrollar un modelo de aprendizaje automático capaz de clasificar si una propiedad era barata o cara, tomando como frontera de división entre estas dos categorías la media de precios.

Para el datathon nos proporcionaron los datos que se encuentran disponibles en el archivo zip en la carpeta datasets: un conjunto de training, con los precios de las propiedades y un conjunto de testing sin los precios de las propiedades, para realizar las predicciones.

Sobre el repositorio

En el repositorio se encuentra el notebook modelos.ipynb, donde se realizó el EDA, se entrenaron modelos para medir su rendimiento y se obtuvieron las predicciones.

En la carpeta datasets se encuentra el zip con los datos. Este debe ser descomprimido en la misma carpeta para que el notebook corra.

En la carpeta script se encuentra el run.py, un archivo con el pipeline para el mejor modelo obtenido. Los outputs de los diferentes modelos se encuentran en la carpeta logs, donde el mejor modelo fue el correspondiente al archivo marianaiv(3)-outliers.csv.

Notebook

El notebook esta organizado de la siguiente manera:

  • El EDA: En esta parte encontramos la limpieza, calculos y visualización de variables. Las transformaciones principales que contribuyeron a los datos utilizados en la parte de entrenamiento se encuentran en funciones.
  • Prueba de modelos: por ahora se probaron 3 modelos distintos con distintas combinaciones de los datos obtenidos del EDA.
  • Predicción: Se escogió el modelo con mejor resultado para hacer las predicciones. En esta parte se hicieron las transformaciones pertinentes al set de prueba y se guardan las predicciones como un csv.

Pipeline

El pipeline es esencialmente lo mismo que se encuentra en el notebook pero con los pasos descritos en funciones y solo se encuentran los procesos del mejor modelo luego de varias pruebas en el notebook.

El pipeline funciona de la siguiente forma: Input: archivos de entrenamiento y prueba proporcionados para el datathon.

Pasos

  • Carga de archivo de entrenamiento y de prueba
  • Procesamiento de archivos de entrenamiento y de prueba: esto incluye rellenar los valores faltantes en latitud y longitud, rellenar los valores faltantes en la columna bathrooms, creación de variables dummies, entre otros.
  • Entrenamiento de un random forest.
  • Predicción.

Output: archivo csv con las predicciones para el conjunto de prueba.

Este proceso se simplifica en el diagrama que se muestra a continuación:

Instrucciones de uso

El pipeline requiere Python <= 3.8.13 . Primero hay que clonar el repositorio:

    git clone https://github.com/marianaiv/datathon-henry

Entre al repositorio:

    cd datathon-henry

Cree un entorno virtual desde el archivo enviroment.yml usando conda y luego activelo:

    conda env create -f environment.yml
    conda activate datathon-env

Entre a la carpeta del script y corra el archivo. En windows:

    cd script
    python run.py

Para ver las opciones para usar el pipeline correr:

python run.py --help

Output:

usage: run.py [-h] [--path PATH] [--out OUT] [--name NAME] [--train TRAIN] [--test TEST]

Pipeline para datathon de Henry

optional arguments:
  -h, --help     show this help message and exit
  --path PATH    Carpeta que contiene los archivos de entrada [Default: ../datasets/]
  --out OUT      Carpeta donde se guardan los archivos de salida [Default: ../logs]
  --name NAME    Nombre del archivo de salida. La carpeta se crea en --out [Default: log]
  --train TRAIN  Nombre del archivo de train [Default: properties_colombia_train.csv]
  --test TEST    Nombre del archivo de test [Default: properties_colombia_test.csv]

Licencia

El uso de este trabajo está licenciado bajo GNU General Public License v3.0 (GNU GPLv3).

About

Pipeline de clasificación de bienes raíces de Colombia

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published