Skip to content

NeKonnnn/PetProject-price-real-estate-in-St.-Petersburg

Repository files navigation

Pet-project "В_Питере_Жить"

Цель проекта:

Создать модель, предсказывающую цену недвижимости в Санкт-Петербурге на основании данных с avito.ru и реализовать телеграм бота для пользователя, чтобы он мог пользоваться представленным сервисом.

Содержание работы:

I. Сбор данных для обучения

Данные собирались с сайта avito.ru.

Для извлечения данных был написан парсер, который собирал данные с сайта и сохранял их в файлы.

II. Анализ данных и построение модели

Сама модель построена на Catboost. На тестовой выборке MAPE показало 16%, что является весьма неплохим результатом.

Система анализа данных и моделирования построенна следующим образом:

1. EDA_zero - бы осуществлен преданализ данных на основе надстройки pandas_profiling

2. EDA_first - был осуществлен первичный разведочный анализ данных.

Из первичного EDA видно можно сделать следующие выводы:

2.1. Есть признаки, которые будут лишь мешать при построение модели. От них нужно избавляться. Не несут никакой значимости для нашего проекта такие признаки, как например:

  • Id;
  • Official_developer;
  • New_building_name;
  • Building;
  • link

2.2. Также следует избавиться от фичей, в которых пропусков свыше 65% и есть дубликаты.

2.3. В фичах присутcвтуют лишние значения, которые предают псевдоуникальность, такие как например в признаке Balcony: 'балкон' 'лоджия' 'балкон, лоджия'. Нужно их разделить.

2.4. В целевой переменной Price - есть выбросы, с которыми нужно будет бороться. Считаем нужным ввести новую целевую переменную, которая будет обозначать стоимость квадратного метра и рассчитываться по формуле Price/Total_area.

2.5. Также в рамках данного исследования были собраны данные за период с начала октября по середину ноября, в связи с чем, именно в этом исследование нам не потребуется признак Publication_date. Отметим, что если рассматривать выборку на длительном протяжении времени, то этот признак может быть весьма значимым в связи с изменчивостью стоимости рынка цен на недвижимость в зависимости от сезона.

3. feature_engineering_and_preprocessing - были сгенерированы новые фичи и проведен препроцессинг данных, для дальнейшего построения модели.

В ходе выполнения данного ноутбука, было принято решение рассматривать в качестве целевой переменной именно стоимость за квадратный метр общей площади, а не полную стоимость цены за дом. Таже были разработаны такие фичи, как возраст дома и расстояние до некоторых станций метро Санкт-Петеребурга.

4. Modeling - была построена модель на основе Catboost.

Проведено моделирование с использованием инструментов CatBoost, в ходе которого настроены гиперпараметры и используемые признаки. Получена модель, ошибка предсказания которой не превосходит 16.2%. Указанное значение почти в 4 раза меньше ошибки предсказания "вручную", используя категоризацию по значению общей площади.

III. Внедрение (создание телеграмм бота).

Бот выступает в качестве опросника-сборщика данных для референса модели. Для корректной работы модели требуются признаки, значение которых пользователь знать не может.Было решено конструировать признаки на основании координат здания и его возраста с использованием сторонних приложений. На основании полученной информации формируются признаки расстояний до метро, возраста и координат дома.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published