Данные, на основании которых была построена модель предсказывающая цену на недвижимость, собирались с сайта avito.ru. Для извлечения данных был написан парсер, который собирал данные с сайта и сохранял их в файл .csv. Данные были собраны за период с начала октября по конец ноября месяца. Следующим этапом стали обработка данных и генерация новых признаков, а также построение модели, за основу которой был взят CatBoost. Заключительным этапом работы стало создание Telegram bot для пользователей, чтобы они могли получить по заданным параметрам цену на недвижимость в Санкт-Петербурге.
Содержание работы:
I. Сбор данных для обучения
Данные собирались с сайта avito.ru.
Для извлечения данных был написан парсер, который собирал данные с сайта и сохранял их в файлы.
II. Анализ данных и построение модели
Был проведен анализ данных, на основании которого было принято решение отойти в сторону таргета, который выражался в метрах квадратных, а не общей стоимости жилплощади. Также в ходе исследования были сгенирированы дополнительные признаки и установлена взаимосвязь между районами Санк-Петерубурга и общей стоимостью недвижимости в зависимости от этих районов.
Сама же модель была построена на CatBoost, в ходе которого настроены гипперпараметры и используемые признаки/ Получена модель, ошибка предсказания которой не превосходит 6,7%.
III. Внедрение (создание телеграмм бота).
от выступает в качестве опросника-сборщика данных для референса модели. Для корректной работы модели требуются признаки, значение которых пользователь знать не может.Было решено конструировать признаки на основании координат здания и его возраста с использованием сторонних приложений. На основании полученной информации формируются признаки расстояний до метро, возраста и координат дома.
pandas_profiling
Из первичного EDA видно можно сделать следующие выводы:
2.1. Есть признаки, которые будут лишь мешать при построение модели. От них нужно избавляться. Не несут никакой значимости для нашего проекта такие признаки, как например:
2.2. Также следует избавиться от фичей, в которых пропусков свыше 65% и есть дубликаты.
2.3. В фичах присутcвтуют лишние значения, которые предают псевдоуникальность, такие как например в признаке Balcony: 'балкон' 'лоджия' 'балкон, лоджия'. Нужно их разделить.
2.4. В целевой переменной Price - есть выбросы, с которыми нужно будет бороться. Считаем нужным ввести новую целевую переменную, которая будет обозначать стоимость квадратного метра и рассчитываться по формуле Price/Total_area.
2.5. Также в рамках данного исследования были собраны данные за период с начала октября по середину ноября, в связи с чем, именно в этом исследование нам не потребуется признак Publication_date. Отметим, что если рассматривать выборку на длительном протяжении времени, то этот признак может быть весьма значимым в связи с изменчивостью стоимости рынка цен на недвижимость в зависимости от сезона.
Our website uses cookies, including web analytics services. By using the website, you consent to the processing of personal data using cookies. You can find out more about the processing of personal data in the Privacy policy