MLOps Project: Property Price Forecast in Paris

Captura de tela 2024-07-22 182910

Deployment URL: https://vercel-app-mlops-zoomcamp-project-paris-price-house.vercel.app.


Project Overview

This project aims to predict house prices in the urban environment of Paris using a variety of features. The primary goal is to provide accurate property price estimations through machine learning models. This information will assist potential buyers, real estate agents, and developers in making well-informed decisions.


Captura de tela 2024-07-22 170053

Dataset Description

The dataset used in this project consists of synthetic data on house prices in Paris. It includes numeric attributes representing various features of the properties. This dataset is particularly valuable for educational purposes, practice, and gaining knowledge in machine learning and data analysis.

The dataset can be found on Kaggle: Paris Housing Price Prediction.

Context and Content do Dataset

This dataset is created from synthetic data representing house prices in the urban environment of Paris. It is ideal for educational purposes, practice, and gaining essential knowledge in machine learning and data analysis.

Next, the goal is to create a classification dataset from the existing data by adding a new column for the class attribute.

The dataset contains more than just rows and columns, it includes detailed house attributes listed as column names.

Description das colunas do Dataset

All attributes are numeric variables and are listed below:

  • squareMeters: Total area of the house in square meters.

  • numberOfRooms: Total number of rooms in the house.

  • hasYard: Indicates whether the house has a yard (1 for yes, 0 for no).

  • hasPool: Indicates whether the house has a pool (1 for yes, 0 for no).

  • floors: Number of floors in the house.

  • cityCode: Zip code of the house's location.

  • cityPartRange: A range value indicating the exclusivity of the neighborhood; higher values denote more exclusive areas.

  • numPrevOwners: Number of previous owners the house has had.

  • made: Year the house was built.

  • isNewBuilt: Indicates whether the house is newly built (1 for yes, 0 for no).

  • hasStormProtector: Indicates whether the house has storm protection features (1 for yes, 0 for no).

  • basement: Area of the basement in square meters.

  • attic: Area of the attic in square meters.

  • garage: Size of the garage in square meters.

  • hasStorageRoom: Indicates whether the house has a storage room (1 for yes, 0 for no).

  • hasGuestRoom: Number of guest rooms in the house.

  • price: Predicted price value of the house.

  • Dataset Size: ParisHousing.csv (633.42 kB)

  • Tags: Real Estate; Hotels and Accommodations; Regression; Cities and Urban Areas; Housing; Linear Regression

  • Dataset available at Kaggle: Paris Housing Price Prediction


Tech Stack



Paris Price House App

This is a Next.js and Python based ML application for house price prediction in Paris, France.

Getting Started

Prerequisites

  • Node.js installed on your machine
  • Python installed on your machine

Installation

  1. Create a new Next.js app using the latest version of create-next-app:
npx create-next-app@latest paris-price-house
  1. Change into the newly created app directory:
cd paris-price-house
  1. Install Axios, a popular HTTP client library:
npm install axios

Running the App

  1. Run the Python script that fetches data from an external API:
python app.py
  1. Start the Next.js development server:
npx next

This will start the development server and make the app available at http://localhost:3000.


Deployment vercel-app-mlops-zoomcamp-project-paris-price-house.vercel.app

The project is deployed on Vercel, making it easily accessible for users. The deployment ensures that users can input property details through the frontend and get real-time price predictions.

How to Use app vercel "Property Price Forecast in Paris"

    1. Fill in all fields with property information: Enter information about the property in the input fields provided in the interface. Only positive numbers are allowed.
    1. For fields where there is no information to be entered, they must be filled in with 0, indicating the absence.
    1. If any field is not filled in, clicking the "Estimate Price" button will return the alert "Please fill in all fields to get a forecast!"
    1. After filling in all the fields, click on the “Estimate Price” button to obtain the predicted price of the property.
    1. The predicted price will be displayed on the screen, providing an estimate based on the input data. Example: "Forecasted Price: €557642.1".
    1. Click on the "Clear Fields" button so that all fields are reset.