4 个版本
0.2.0 | 2019 年 12 月 8 日 |
---|---|
0.1.3 | 2018 年 6 月 9 日 |
0.1.2 | 2018 年 6 月 9 日 |
0.1.1 | 2018 年 6 月 9 日 |
#1345 在 算法 中
6,183 每月下载次数
用于 12 个crate(9 个直接使用)
13KB
209 代码行
linreg-rs
linreg
是一个小型的crate,用于计算线性回归。它不使用 stdlib 或内存分配,依赖性很少。示例
let xs: Vec<f64> = vec![1.0, 2.0, 3.0, 4.0, 5.0];
let ys: Vec<f64> = vec![2.0, 4.0, 5.0, 4.0, 5.0];
assert_eq!(Some((0.6, 2.2)), linear_regression(&xs, &ys));
它支持元组、分别为 x 和 y 值的独立向量以及模板浮点类型。
lib.rs
:
线性回归
linreg
计算二维测量的线性回归,也称为 简单线性回归。
线性回归的所有计算都基于 https://en.wikipedia.org/wiki/Ordinary_least_squares#Simple_linear_regression_model 中找到的简单模型。
示例使用
use linreg::{linear_regression, linear_regression_of};
// Example 1: x and y values stored in two different vectors
let xs: Vec<f64> = vec![1.0, 2.0, 3.0, 4.0, 5.0];
let ys: Vec<f64> = vec![2.0, 4.0, 5.0, 4.0, 5.0];
assert_eq!(Ok((0.6, 2.2)), linear_regression(&xs, &ys));
// Example 2: x and y values stored as tuples
let tuples: Vec<(f32, f32)> = vec![(1.0, 2.0),
(2.0, 4.0),
(3.0, 5.0),
(4.0, 4.0),
(5.0, 5.0)];
assert_eq!(Ok((0.6, 2.2)), linear_regression_of(&tuples));
// Example 3: directly operating on integer (converted to float as required)
let xs: Vec<u8> = vec![1, 2, 3, 4, 5];
let ys: Vec<u8> = vec![2, 4, 5, 4, 5];
assert_eq!(Ok((0.6, 2.2)), linear_regression(&xs, &ys));
依赖关系
~1.5MB
~38K SLoC