Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.vscode/
env/
__pycache__/
*.pyc
*.pyo
Expand Down
55 changes: 41 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# *Econometric Model - Predicción de Precios de Casas*
# _Econometric Model - Predicción de Precios de Casas_

*Hecho por:*
_Hecho por:_

- ***Kevin Sebastián Cifuentes López.***
- **_Kevin Sebastián Cifuentes López._**

- ***Mariana Lopera Correa.***
- **_Mariana Lopera Correa._**

En este proyecto, se desarrolla un modelo de Machine Learning para predecir los precios de venta de viviendas en Ames, Iowa, Estados Unidos. El conjunto de datos utilizado fue sacado de Kaggle [link datos](https://www.kaggle.com/competitions/house-prices-advanced-regression-techniques/code), este contiene información detallada sobre diversas características de las casas, como el tamaño del lote, el área habitable, la calidad de construcción, el año de construcción, entre otros. El objetivo es utilizar estas características para entrenar un modelo de regresión lineal que pueda predecir con precisión el precio de venta de una casa.

Expand Down Expand Up @@ -47,11 +47,13 @@ python -m unittest tests/test_model.py
```

---

---

## **Descripción de los Archivos**

### **1. `src/model/`**

Contiene la lógica del negocio y las operaciones relacionadas con los datos y el modelo.

- **`data_preparation.py`**: Funciones para cargar, limpiar y preparar los datos.
Expand All @@ -60,40 +62,43 @@ Contiene la lógica del negocio y las operaciones relacionadas con los datos y e
- **`future_predictions.py`**: Funciones para generar datos futuros y hacer predicciones.

### **2. `src/view/`**

Maneja la interacción con el usuario y la visualización de resultados.

- **`console/main.py`**: Punto de entrada para la interfaz de consola.
- **`results/visualization.py`**: Funciones para visualizar resultados (gráficos, métricas, etc.).

### **3. `src/controller/`**

Gestiona la comunicación entre el modelo y la vista.

- **`data_controller.py`**: Controla la carga y preparación de los datos.
- **`model_controller.py`**: Controla el entrenamiento y la evaluación del modelo.

### **4. `tests/`**

Contiene pruebas unitarias para cada módulo del proyecto.

- **`test_data_preparation.py`**: Pruebas para la preparación de datos.
- **`test_feature_engineering.py`**: Pruebas para la ingeniería de características.
- **`test_model_training.py`**: Pruebas para el entrenamiento y evaluación del modelo.

### **5. `data/`**

Contiene los datos utilizados para entrenar y evaluar el modelo.

- **`train.csv`**: Conjunto de datos de entrenamiento.

### **6. `config.py`**

Archivo de configuración para rutas y parámetros del proyecto.

### **7. `.gitignore`**

Archivo para ignorar archivos y carpetas que no deben ser rastreados por Git.

---




## **Explicación del Código**

### **1. Carga y Preparación de Datos**
Expand Down Expand Up @@ -124,21 +129,20 @@ Archivo para ignorar archivos y carpetas que no deben ser rastreados por Git.

### **Consola**

#### *1. Gráfico de Líneas*
#### _1. Gráfico de Líneas_

Muestra la tendencia de los precios a lo largo del tiempo.


#### *2. Tabla Formateada*
#### _2. Tabla Formateada_

Muestra una tabla de esta forma, para facilitar la obsrvación de los resultados

``
yearbuilt predicted_price
` yearbuilt predicted_price
0 2026 2746.285057
1 2027 2750.765683
2 2028 2755.253615
``
2 2028 2755.253615`


## **Contribuciones**

Si deseas contribuir a este proyecto, sigue estos pasos:
Expand All @@ -149,6 +153,29 @@ Si deseas contribuir a este proyecto, sigue estos pasos:
4. Haz push a la rama (`git push origin feature/nueva-funcionalidad`).
5. Abre un Pull Request.

### **Interfaz Gráfica (Kivy)**

> **Hecha por:** _Santiago Machado_ y _Cristian Toro_

Para ejecutar la interfaz gráfica del proyecto, primero asegúrate de estar ubicado en el siguiente directorio:

```
C:\Users\Usuario\VSCode_Projects\EconometricModel_ML
```

Luego, puedes correr la interfaz de dos maneras:

- **Desde el código fuente:**
Ejecuta el siguiente comando en la consola:

```
py src/view/graphic_interface/main.py
```

- **Desde el ejecutable:**
Si prefieres utilizar el ejecutable, ejecuta el siguiente comando en la consola:
`dist/main.exe`

---

## **Licencia**
Expand Down
Loading