Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Интеллектуальный модуль оценки инвестиционной привлекательности земель

Веб-приложение на Flask для выбора муниципального района и земельного участка с расчетом:

  • индекса инвестиционной привлекательности по шкале 0–100;
  • рекомендуемой ставки аренды, руб./га;
  • уровня привлекательности и ключевых факторов участка.

Проект подготовлен как учебный MVP для курсовой работы по дисциплине «Программная инженерия».

Стек

  • Python 3.11
  • Flask
  • CatBoostRegressor
  • pandas / scikit-learn
  • HTML + Jinja2 + CSS
  • CSV как простой источник данных

Структура

land_valuation_app/
├── app.py
├── wsgi.py
├── requirements.txt
├── render.yaml
├── Procfile
├── data/
│   └── lands.csv
├── models/
│   ├── catboost_model.cbm
│   ├── metadata.json
│   └── metrics.json
├── src/
│   ├── data_loader.py
│   ├── features.py
│   ├── model_service.py
│   └── train_model.py
├── templates/
├── static/
└── tests/

Локальный запуск

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python app.py

Открыть в браузере:

http://127.0.0.1:5000

Переобучение модели

Модель уже обучена и сохранена в models/catboost_model.cbm. При изменении данных можно заново обучить модель:

python src/train_model.py

Скрипт обновит:

  • data/lands.csv — добавит расчетные поля investment_index и target_rent;
  • models/catboost_model.cbm;
  • models/metadata.json;
  • models/metrics.json.

Проверка

python -m pytest tests

Если pytest не установлен, можно проверить вручную:

python app.py

и открыть /health.

Примечание по данным

Исходный Excel-файл был преобразован в единый lands.csv. Если в исходных листах расстояния были записаны в метрах, а заголовок указывал километры, значения больше 500 автоматически переводятся в километры. Это правило сохранено в src/features.py.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages