← Back

Module regression

struct LinearRegressionResult

Source: regression.joule:11

struct LinearRegression

Simple linear regression

Source: regression.joule:29

fn fit(x: &[f64], y: &[f64]) -> Option<Self>

Source: regression.joule:39

fn predict(&self, x: f64) -> f64

Source: regression.joule:78

fn predict_all(&self, x: &[f64]) -> Vec<f64>

Source: regression.joule:84

fn summary(&self, x: &[f64], y: &[f64]) -> Option<LinearRegressionResult>

Source: regression.joule:90

fn intercept(&self) -> f64

Get intercept

Source: regression.joule:146

fn slope(&self) -> f64

Get slope

Source: regression.joule:151

fn r_squared(&self) -> f64

Get R-squared

Source: regression.joule:156

fn residuals(&self) -> &[f64]

Get residuals

Source: regression.joule:161

struct MultipleRegression

Multiple linear regression

Source: regression.joule:167

fn fit(x: &[&[f64]], y: &[f64]) -> Option<Self>

Source: regression.joule:176

fn predict(&self, x: &[f64]) -> f64

Source: regression.joule:255

fn coefficients(&self) -> &[f64]

Get coefficients

Source: regression.joule:268

fn intercept(&self) -> f64

Get intercept

Source: regression.joule:273

fn r_squared(&self) -> f64

Get R-squared

Source: regression.joule:278

fn residuals(&self) -> &[f64]

Get residuals

Source: regression.joule:283

struct PolynomialRegression

Polynomial regression

Source: regression.joule:289

fn fit(x: &[f64], y: &[f64], degree: usize) -> Option<Self>

Source: regression.joule:298

fn predict(&self, x: f64) -> f64

Source: regression.joule:327

fn coefficients(&self) -> &[f64]

Get coefficients

Source: regression.joule:336

fn degree(&self) -> usize

Get degree

Source: regression.joule:341

fn r_squared(&self) -> f64

Get R-squared

Source: regression.joule:346

struct LogisticRegression

Logistic regression (binary classification)

Source: regression.joule:352

fn fit(

Source: regression.joule:361

fn predict_proba(&self, x: &[f64]) -> f64

Source: regression.joule:423

fn predict(&self, x: &[f64], threshold: f64) -> u8

Source: regression.joule:434

fn coefficients(&self) -> &[f64]

Get coefficients

Source: regression.joule:439

fn converged(&self) -> bool

Check if converged

Source: regression.joule:444

struct RidgeRegression

Ridge regression (L2 regularized)

Source: regression.joule:450

fn fit(x: &[&[f64]], y: &[f64], alpha: f64) -> Option<Self>

Source: regression.joule:458

fn predict(&self, x: &[f64]) -> f64

Predict

Source: regression.joule:509

fn coefficients(&self) -> &[f64]

Source: regression.joule:517

struct LassoRegression

LASSO regression (L1 regularized) using coordinate descent

Source: regression.joule:523

fn fit(

Source: regression.joule:531

fn predict(&self, x: &[f64]) -> f64

Source: regression.joule:607

fn coefficients(&self) -> &[f64]

Source: regression.joule:615

fn solve_linear_system(a: &[Vec<f64>], b: &[f64]) -> Option<Vec<f64>>

Solve linear system Ax = b using Gaussian elimination with partial pivoting

Source: regression.joule:625

fn soft_threshold(x: f64, lambda: f64) -> f64

Soft thresholding for LASSO

Source: regression.joule:679

fn exp(x: f64) -> f64

Source: regression.joule:689