ВПитереЖить
active,
Founded 3 years ago

Данные, на основании которых была построена модель предсказывающая цену на недвижимость, собирались с сайта avito.ru. Для извлечения данных был написан парсер, который собирал данные с сайта и сохранял их в файл .csv. Данные были собраны за период с начала октября по конец ноября месяца. Следующим этапом стали обработка данных и генерация новых признаков, а также построение модели, за основу которой был взят CatBoost. Заключительным этапом работы стало создание Telegram bot для пользователей, чтобы они могли получить по заданным параметрам цену на недвижимость в Санкт-Петербурге.

#Cost#Price#PricePredict#StPetersburg

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

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

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

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

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

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

Сама же модель была построена на CatBoost, в ходе которого настроены гипперпараметры и используемые признаки/ Получена модель, ошибка предсказания которой не превосходит 6,7%.

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

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

В работе представлены следующие ноутбуке:

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.

По данному QR-коду можно найти наш репозиторий и более подробно ознакомиться с самой работой.

Карточка нашей модели

Интерфейс для пользователей был реализован в Telegram bot.

Результат работы Telegram bot

QR-код нашего бота, по которому вы сможете его проверить.

Cookies help us deliver our services. By using our services, you agree to our use of cookies.