Git Product home page Git Product logo

dbadeev / ft_linear_regression Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.27 MB

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

Python 100.00%
mse regularization r-squared-statistic

ft_linear_regression's Introduction

Проект 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

ft_linear_regression's People

Contributors

dbadeev avatar

Watchers

 avatar

ft_linear_regression's Issues

pics

MSE
image

R-square
image

Training Result - R-square, MSE
image

Training Result - diagram showing the loss function versus epoch
image

Training Result - diagram showing data values and predicton line
image

Training Result - animating diagram showing predicton line versus epoch
ft_lin_reg_video

Predict example
image

Final mark
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.