https://github.com/mindlessmuse666/apartment-price-predictor
Python-проект по прогнозированию стоимости аренды квартир с помощью линейной регрессии. Практическая работа по теме: "Основы машинного обучения" дисциплины "МДК 13.01: Основы применения методов искусственного интеллекта в программировании".
https://github.com/mindlessmuse666/apartment-price-predictor
apartment-price-prediction data-analysis data-science linear-regression linear-regression-models machine-learning matplotlib python regression sklearn unit-testing
Last synced: 2 months ago
JSON representation
Python-проект по прогнозированию стоимости аренды квартир с помощью линейной регрессии. Практическая работа по теме: "Основы машинного обучения" дисциплины "МДК 13.01: Основы применения методов искусственного интеллекта в программировании".
- Host: GitHub
- URL: https://github.com/mindlessmuse666/apartment-price-predictor
- Owner: MindlessMuse666
- License: mit
- Created: 2025-01-18T11:45:28.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-18T16:41:45.000Z (over 1 year ago)
- Last Synced: 2025-12-28T23:57:43.775Z (6 months ago)
- Topics: apartment-price-prediction, data-analysis, data-science, linear-regression, linear-regression-models, machine-learning, matplotlib, python, regression, sklearn, unit-testing
- Language: Python
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Прогноз Аренды Квартиры (Apartment Price Predictor) 
Проект для прогнозирования стоимости аренды квартиры на основе ее площади с использованием методов линейной регрессии. Этот проект является практической работой.
- Тема практической работы: `Основы машинного обучения`
- Дисциплина: `МДК 13.01: Основы применения методов искусственного интеллекта в программировании`
## Описание
Этот проект представляет собой реализацию модели машинного обучения для предсказания стоимости аренды квартиры в зависимости от ее площади. Модель основана на методе линейной регрессии и использует Python, а также библиотеки `numpy`, `pandas`, `scikit-learn` и `matplotlib`.
## Структура проекта
```
apartment-price-predictor/
├── data_handling/ # Директория обработки данных
│ └── data_preparation.py # Класс для подготовки данных
├── models/ # Директория моделей данных
│ └── linear_regression_model.py # Класс для линейной регрессии
├── visualization # Директория визуализации данных
│ └── visualization.py # Класс визуализации
├── tests/ # Директория тестирования
│ ├── test_apartment_predictor.py # Файл юнит-тестирования
│ └── test_data.py # Файл с тестовыми данными
├── LICENSE
├── main.py # Основной скрипт
├── README.md
└── requirements.txt # Файл с зависимостями
```
## Зависимости
- `numpy`
- `pandas`
- `scikit-learn`
- `matplotlib`
Все зависимости можно установить из файла `requirements.txt`.
## Установка и запуск
### Клонирование репозитория
```bash
git clone https://github.com/MindlessMuse666/apartment-price-predictor
```
### Создание и активация виртуального окружения
```bash
python -m venv .venv
# Для Windows (PowerShell):
.venv\Scripts\Activate.ps1
# Для Linux и macOS:
source .venv/bin/activate
```
### Установка зависимостей
```bash
pip install -r requirements.txt
```
### Запуск юнит-тестов
```bash
python -m unittest tests/test_apartment_predictor.py
```
### Запуск скрипта main.py
```bash
python main.py
```
### Дополнительные команды
Для деактивации виртуального окружения используйте команду `deactivate`:
```bash
deactivate
```
## Как использовать
1. Следуйте инструкциям по установке и запуску.
2. Настройте *Параметры обучения модели* в [`main.py`](main.py), если вам это необходимо:
- `__MIN_TRAIN_COEF` - минимальный коэффициент обучения модели (минимальный шаг модели) (*оптимально >=10*)
- `__MAX_TRAIN_COEF` - максимальный коэффициент обучения модели (максимальный шаг модели) (*оптимально >=10*)
- `__MIN_TRAIN_THRESHOLD` - минимальный порог обучения модели (*оптимально >=0*)
- `__MAX_TRAIN_THRESHOLD` - максимальный порог обучения модели (*оптимально >=100*)
3. После запуска [`main.py`](main.py) будет построена модель линейной регрессии на основе случайного набора данных и выведен график предсказаний.
4. Можете поменять используемые наборы данных в [`test_data.py`](tests/test_data.py).
## Скриншоты проделанной работы
### Основной исполняемый скрипт - [main.py](main.py)

### Класс для подготовки данных - [data_preparation.py](data_handling/data_preparation.py)

### Класс для линейной регрессии - [linear_regression_model.py](models/linear_regression_model.py)

### Класс визуализации - [visualization.py](visualization/visualization.py) (Класс для подготовки данных)

### Класс юнит-тестирования - [test_apartment_predictor.py](tests/test_apartment_predictor.py)

### Класс с тестовыми данными - [test_data.py](tests/test_data.py)

## Лицензия
Этот проект распространяется под лицензией MIT - смотрите файл [LICENSE](LICENSE) для деталей.
## Автор
Бедин Владислав ([MindlessMuse666](https://github.com/MindlessMuse666))
- GitHub: [MindlessMuse666](https://github.com/MindlessMuse666 "Владислав: https://github.com/MindlessMuse666")
- Telegram: [@mindless_muse](t.me/mindless_muse)
- Gmail: [mindlessmuse.666@gmail.com](mindlessmuse.666@gmail.com)