МЛ-модель, предсказывающая стоимость недвижимости по её параметрам.
Project description
Структура проекта
real_estate_model/содержит весь основной код пакета:train.py,predict.py,config.py(загрузка параметров обучения и предсказания из файлаconfig.yml). Здесь же находится директорияtrained_models/, куда при обучении будут попадать веса новых моделей, и в которой уже есть одна обученная модель.requirements/содержит все необходимые зависимости для использования (requirements.txt) и тестирования (test_requirements.txt) пакета.tests/содержит код тестов, запускаемый при помощи pytest.webapp/содержит код веб-интерфейса.
predict.py имеет функционал для загрузки состояния модели из конфига (load_model), предсказания с помощью предзагруженной модели (predict_raw) и предсказания моделью, автоматически загружаемой из файла, прописанном в конфиге (predict).
config.py имеет функции fetch_config_from_yaml для полного считывания параметров конфига и set_config_field для изменения значения конкретного параметра (не поддерживает списки).
Установка
Пакет опубликован на PyPI и устанавливается командой:
pip install RealEstate-package
Использование
Код запускается и тестируется при помощи tox. Параметры обучения и предсказания находятся в real_estate_model/config.yml.
Обучение
Перед началом обучения:
- НЕОБХОДИМО скачать датасет и прописать абсолютный путь к csv-файлу в конфиге в поле
dataset(можно сделать это программно с помощью функцииconfig.set_config_field); - ОПЦИОНАЛЬНО настроить другие параметры обучения:
trained_model_path: относительный путь сохранения обученных моделей, по умолчанию./trained_models/(имя генерируется с помощью timestamp);variables_to_drop: список переменных, не учитываемых при обучении (проект рассчитан на предсказание стоимости недвижимости, поэтому она игнорируется автоматически);random_state;test_size: доля тестовой выборки для функцииtrain_test_split;num_boost_round: внутренний параметр модели, отвечающий за количество раундов (итераций);early_stopping_rounds: внутренний параметр модели, отвечающий за раннюю остановку обучения, если качество не улучшалось в течение указанного количества раундов;verbose_eval: внутренний параметр модели, отвечающий за частоту вывода информации об обучении (в количестве раундов);metric: внутренний параметр модели функции оценки качества, по умолчаниюrmse, прочие метрики доступны по ссылке.
Обучение запускается из корневой директории проекта командой:
tox -e train
Предсказание
Для предсказания в конфиге указывается путь к весам обученной модели (по умолчанию trained_models/lgb_model.txt) в поле predict_model и список переменных, на которых она обучалась (predictors).
tox -e predict
Веб-приложение
Основной функционал доступен в веб-приложении, которое запускается командой:
tox -e webapp
Предоставляется возможность:
- предсказать значение стоимости недвижимости по некоторым параметрам во вкладке
/predict; - обучить новую модель во вкладке
/train(параметры обучения будут взяты из конфига). По окончании обучения будет выведена информация об абсолютном и относительном путях сохранённой модели и о её качестве на train- и test-выборках (R2-score). - изменить модель для предсказания в
/change_model, передав относительный путь к файлу с весами на вход.
Датасет
Для обучения существующей модели использовался датасет: https://www.kaggle.com/datasets/mrdaniilak/russia-real-estate-20182021
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file RealEstate_package-1.5.0.tar.gz.
File metadata
- Download URL: RealEstate_package-1.5.0.tar.gz
- Upload date:
- Size: 4.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a04a1d72181a75b41d665939f87e601f6e741323ea5ea388a4f26c858e54c55c
|
|
| MD5 |
88f4156e83f512c7fbf97e96c836c381
|
|
| BLAKE2b-256 |
3db6a01feb28ed3defb3bb6dd90a169724b55334d58439d564146936ba13a773
|
File details
Details for the file RealEstate_package-1.5.0-py3-none-any.whl.
File metadata
- Download URL: RealEstate_package-1.5.0-py3-none-any.whl
- Upload date:
- Size: 4.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9237afa4199339e7c9e2ee2cdbba46f07703219d54c9f47d79dd0d86122bdc38
|
|
| MD5 |
ae1cb193f4beb8d20434c191d103d5c2
|
|
| BLAKE2b-256 |
fc54eeb9b52e06af0f1ed00b37c1e8d833f060ee5f3650725fd3cd2e891a4dc6
|