https://github.com/anicatpro/nir
ИжГТУ. Уч. практика_НИР (Леонов М.В.) - Анализ стоимости недвижимости
https://github.com/anicatpro/nir
home-work
Last synced: 11 months ago
JSON representation
ИжГТУ. Уч. практика_НИР (Леонов М.В.) - Анализ стоимости недвижимости
- Host: GitHub
- URL: https://github.com/anicatpro/nir
- Owner: AniCatPro
- Created: 2025-02-26T06:35:35.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-12T21:06:22.000Z (over 1 year ago)
- Last Synced: 2025-03-12T21:33:04.389Z (over 1 year ago)
- Topics: home-work
- Language: Python
- Homepage:
- Size: 156 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Анализ стоимости недвижимости в г.Барнаул
Проект был разработан студентом гр.Б22-191-1з Афанасьевым П.Ю. в рамках учебной практики "Уч. практика_НИР" под руководством Леонова М.В.
Этот проект включает два скрипта:
1. **Парсинг данных с сайта Avito:** с использованием Selenium, данные о недвижимости (цена, метраж, этаж и т.д.) извлекаются и сохраняются в базу данных SQLite.
2. **Анализ данных:** данные анализируются с использованием Pandas и Scikit-learn для построения линейной регрессии и других статистических тестов.
## Основные функции
- **Парсинг данных:** сбор информации о недвижимости с платформы Avito и сохранение в SQLite.
- **Анализ данных:** включает обработку данных, статистический анализ и построение моделей машинного обучения для оценки факторов, влияющих на стоимость недвижимости.
- **Визуализация:** предоставляет графики и диаграммы для лучшего понимания распределений и зависимостей в данных.
## Структура базы данных
- **properties** — таблица данных о недвижимости:
- **id** — уникальный идентификатор записи.
- **price** — цена недвижимости.
- **total_area** — общая площадь.
- **living_area** — жилая площадь.
- **rooms** — количество комнат.
- **floor** — этаж.
- **total_floors** — всего этажей в здании.
- **year** — год постройки.
- **balcony** — наличие балкона.
- **condition** — состояние жилья.
- **type** — тип недвижимости.
- **district** — район.
- **url** — ссылка на объявление.
## Установка
1. Клонируйте репозиторий:
```bash
git clone https://github.com/AniCatPro/NIR.git
```
2. Перейдите в каталог проекта:
```bash
cd NIR
```
3. Установите необходимые зависимости:
```bash
pip install pandas numpy scikit-learn scipy matplotlib seaborn statsmodels ipython selenium webdriver-manager
```
4. Запустите парсинг данных:
```bash
python pars_sql.py
```
5. Запустите анализ данных:
```bash
python test2.py
```
## Визуализация данных
### 1. Гистограмма распределения цен
На данной гистограмме представлено распределение цен на квартиры. Большинство объектов концентрируются в среднем ценовом диапазоне, что говорит о популярности среднемаркетных квартир на рынке. Мы видим значительное снижение частоты для более высоких цен, что указывает на редкость более дорогих объектов. Это распределение типично для жилой недвижимости и отражает предпочтения покупателей.

### 2. Коробчатая диаграмма (box plot)
Коробчатая диаграмма предоставляет визуализацию центральной тенденции и разброса цен на квартиры. Медиана цены расположена ниже среднего уровня, что указывает на наличие более дешевых объектов. Выбросы, представленные точками выше "усов", свидетельствуют о наличии нескольких элитных объектов с ценами, значительно превышающими основную часть данных. Это важно учитывать при анализе, так как такие объекты могут искажать общую картину.

### 3. Диаграмма рассеяния цены и площади
Диаграмма рассеяния демонстрирует положительную корреляцию между площадью квартиры и её ценой. Как видно из графика, с увеличением площади цена также увеличивается, что соответствует ожиданиям. Эта информация полезна для понимания того, как размер объекта влияет на его рыночную стоимость и может быть использована при стратегическом планировании цен.

### 4. Матрица корреляций
Матрица корреляций отображает взаимосвязи между разными переменными, такими как цена, этаж и логарифмическое преобразование расстояния. Из всех переменных `log_distance` демонстрирует слабую корреляцию с ценой, что может указывать на его меньшую значимость в текущем наборе данных. Это подчеркивает необходимость пересмотра влияния этой переменной на цену или поиск дополнительных факторов, которые могут лучше объяснять вариабельность.

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

### 6. Диаграмма прогнозных vs. фактических значений
Данная диаграмма сравнивает прогнозируемые цены с фактическими данными. Большинство точек расположено близко к диагональной линии, что свидетельствует о высоком уровне точности модели. Однако некоторые отклонения указывают на возможность улучшений, особенно для более дорогих объектов. Эта диаграмма полезна для визуальной оценки производительности модели и позволяет быстро идентифицировать несоответствия.

## Заключение
Проект показал способность парсинга данных и их дальнейшего анализа для выявления тенденций на рынке недвижимости. Применённые методы позволяют оценить влияние различных параметров на стоимость объектов.