Skip to content

Реализация модели линейной регрессии без использования специальных библиотек для задачи прогнозирования цены автомобиля в зависимости от его пробега; регуляризация; MSE, R-squared statistic; визуализация функций потерь и предсказаний цены по данной выборке

Notifications You must be signed in to change notification settings

dbadeev/ft_linear_regression

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект ft_linear_regression

Реализация модели линейной регрессии без использования специальных библиотек для задачи прогнозирования цены автомобиля в зависимости от пробега; регуляризация; MSE, R-squared statistic; визуализация функций потерь и предсказаний цены по данной выборке

Начало Работы

Копирование

Для копирования файлов Проекта на локальный компьютер в папку <your_dir_on_local_computer> выполните:

    $ git clone [email protected]:dbadeev/ft_linear_regression.git <your_dir_on_local_computer>

Описание файлов

  • ft_linreg_en.pdf - текст задания
  • requirements.txt - список библиотек, необходимый для работы
  • data.csv - файл с данными по машинам (пробег/стоимость)
  • train.py - программа обучения модели
  • predict.py - программа, предсказывающая цену машины по ее пробегу

Запуск программ

  1. После установки необходимых библиотек, сначала выполняется обучение модели на имеющихся данных запуском программы train.py.

    Чтобы вывести на экран информацию о параметрах, из папки <your_dir_on_local_computer> выполните train.py с ключом -h:
$ python3 train.py -h          
usage: train.py [-h] [--path PATH] [--loss_control LOSS_CONTROL] [--epochs EPOCHS] [--learning_rate ETA] [--loss_graphics]
                [--predict_data] [--animation] [--debug] [--quality]

options:
  -h, --help            show this help message and exit
  --path PATH, -p PATH  Path to data file (data.csv by default)
  --loss_control LOSS_CONTROL, -l LOSS_CONTROL
                        Epoch iterations will stop while gets loss_control value(1e-12 by default)
  --epochs EPOCHS, -e EPOCHS
                        Set the epochs number (1500 by default)
  --learning_rate ETA, -a ETA
                        Set the learning rate eta (0.2 by default)
  --loss_graphics, -g   Diagram with loss function depends on epochs
  --predict_data, -t    Diagram with data values and line prediction
  --animation, -c       Animation with prediction evolution while training
  --debug, -d           Print info about each stage of program
  --quality, -q         Model quality (R-square, MSE)

  1. После успешной отработки программы обучения модели будет сформирован файл coefs.csv, в котором будут записаны найденные коэффициенты формулы вычисления предсказания цены автомобиля по заданному пробегу.
    В случае ошибки, будет выдано соответствующее сообщение.

  2. Для получения информации о параметрах программы, предсказывающей примерную цену автомобиля в зависимости от пробега, из папки <your_dir_on_local_computer> выполните predict.py с ключом -h:
$ python3 predict.py -h 
usage: predict.py [-h] [--debug] [--mileage MILEAGE]

options:
  -h, --help            show this help message and exit
  --debug, -d           Print info about each stage of program
  --mileage MILEAGE, -m MILEAGE
                        Car mileage for price prediction (non-negative int)

4. После успешной отработки программы предсказания, на экран будет выведена информация о примерной стоимости автомобиля с указанным пробегом.
В случае ошибки, будет выдано соответствующее сообщение.

Подробности

Подробнее о Проекте, примеры использования - по ссылке Wiki (https://github.com/dbadeev/ft_linear_regression/wiki).


Автор

loram (Дмитрий Бадеев)



Результат в School 21

image

About

Реализация модели линейной регрессии без использования специальных библиотек для задачи прогнозирования цены автомобиля в зависимости от его пробега; регуляризация; MSE, R-squared statistic; визуализация функций потерь и предсказаний цены по данной выборке

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages