Курсовая работа по дисциплине "Технологии Программирования". Система для анализа рынка недвижимости и прогнозирования стоимости квартир с использованием машинного обучения (Machine Learning), построенная на архитектуре MVP.
Проект представляет собой приложение, которое анализирует данные о недвижимости (площадь, количество комнат, этаж) и предсказывает рыночную стоимость объекта.
Ключевые особенности:
- 🏗 Архитектура MVP (Model-View-Presenter): Строгое разделение логики, данных и отображения.
- 🤖 Machine Learning: Динамический выбор алгоритмов прогнозирования (Linear Regression / Random Forest).
- 🧩 Паттерны GoF: Реализованы паттерны Strategy (для ML), Template Method (для сущностей) и Factory.
- 🚀 REST API: Веб-сервис на базе FastAPI с автодокументацией.
- 🐳 Docker: Поддержка контейнеризации.
- Язык: Python 3.12+
- Web Framework: FastAPI, Uvicorn
- ML & Data: Scikit-learn, Pandas, NumPy
- Testing: Unittest
- DevOps: Docker
CourseWork/
├── data/ # Датасеты (CSV)
├── src/ # Исходный код
│ ├── domain.py # Сущности (Apartment, House)
│ ├── model.py # Бизнес-логика и ML
│ ├── strategies.py # Паттерн Strategy (Алгоритмы)
│ ├── view.py # Интерфейсы View
│ └── presenter.py # Presenter
├── tests/ # Модульные тесты
├── main_console.py # Запуск консольной версии (Часть 1)
├── main_web.py # Запуск веб-сервиса (Часть 2)
├── Dockerfile # Конфигурация Docker
└── requirements.txt # Зависимости