This project aims to predict real estate prices in Buenos Aires using a dataset of apartment listings. It focuses on using multiple features — including size, location, and neighborhood — to train a regression model that can estimate property prices with accuracy.
The project demonstrates data cleaning, feature engineering, and model building in Python.
- Python
- Pandas, NumPy – Data manipulation
- Matplotlib, Seaborn – Visualization
- Scikit-learn – Model training and evaluation
- Category Encoders – Encoding categorical variables
- Jupyter Widgets – Interactive exploration
- Loaded and cleaned multiple CSV files.
- Filtered data to include only apartments in Capital Federal under $400,000.
- Removed outliers in
surface_covered_in_m2. - Extracted latitude, longitude, and neighborhood information.
- Dropped columns with >50% missing values.
- Handled categorical variables with low or high cardinality.
- Prevented data leakage by dropping features derived from the target.
- Removed strongly correlated features (correlation > 0.9).
- Defined a feature matrix (
X) and target variable (y). - Split dataset into training and validation sets.
- Trained multiple regression models to predict prices.
- Evaluated models using metrics such as R², MAE, and RMSE.
- The model successfully learned relationships between location, size, and neighborhood and apartment prices.
- Demonstrated the impact of feature selection and data cleaning on model performance.
| Feature | Description |
|---|---|
| surface_covered_in_m2 | Covered area in square meters |
| rooms | Number of rooms |
| neighborhood | Extracted from parent names |
| latitude / longitude | Property coordinates |
| property_type | Type of property (e.g., apartment) |
- Clone the repository or download the notebook.
- Install required packages:
pip install pandas numpy matplotlib seaborn scikit-learn category_encoders
- Open the notebook:
jupyter notebook predicting_price_with_multiple_fatures.ipynb
- Run all cells sequentially to reproduce results.
- Experiment with XGBoost or Random Forest Regressors for better performance.
- Integrate geospatial visualization (e.g., Folium).
- Deploy model using Streamlit for interactive prediction.
Pushkin Kumar
Data Analyst | Data Engineer
Passionate about building modern data pipelines and predictive models.