linear-regression

Crates.iolinear-regression
lib.rslinear-regression
version0.1.0
sourcesrc
created_at2023-03-03 12:32:57.055187
updated_at2023-03-03 12:32:57.055187
descriptionLibrary for linear regression
homepage
repositoryhttps://github.com/Fugazzii/Linear-Regression-ML
max_upload_size
id799726
size5,585
Ilia Sichinava (Fugazzii)

documentation

README

Linear-Regression-ML

Linear regression algorithm that predicts future values depending on existing data

use linear_regression::{linear_regression, predict}

fn main() {
  /* Some data */
  let data: Vec<(f32, f32)> = vec![
    (17.9, 2013.0),
    (17.63, 2014.0),
    (14.95, 2015.0),
    (15.14, 2016.0),
    (16.24, 2017.0),
    (17.6, 2018.0),
    (17.47, 2019.0),
    (15.84, 2020.0),
    (18.7, 2021.0)
  ];

  for price in &data {
      println!("Year: {}, GDP = ${:.3}B", price.1, price.0);
  }

  // Linear regression prints the equation and returns k and b
  let eq = linear_regression(&data);

  // Test cases for different x values
  predict(&eq, 2022.0);
}

Example:

  • Vertices data: [
     (0.0, 2.1),
     (1.0, 1.92),
     (2.0, 1.84),
     (3.0, 1.71),
     (4.0, 1.64)
    ]
  • Regression line: y = -0.113x + 2.068

  • Predicted value for 5.000 is 1.503
  • Predicted value for 6.000 is 1.390
  • Predicted value for 7.000 is 1.277
  • Predicted value for 8.000 is 1.164
  • Predicted value for 9.000 is 1.051
Commit count: 7

cargo fmt