Skip to main content

Module cross_validation

Module cross_validation 

Source
Expand description

K-Fold Cross Validation for linear regression models.

This module provides cross-validation functionality for estimating out-of-sample prediction error and selecting optimal hyperparameters (e.g., lambda for regularized regression).

§Supported Models

  • OLS — Ordinary Least Squares regression
  • Ridge — L2-regularized regression
  • Lasso — L1-regularized regression
  • Elastic Net — Combined L1/L2 regularization

§Basic Usage

use linreg_core::cross_validation::{kfold_cv_ols, KFoldOptions};

let y = vec![2.5, 3.7, 4.2, 5.1, 6.3, 7.0, 7.5, 8.1];
let x1 = vec![1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0];
let x2 = vec![2.0, 4.0, 5.0, 4.0, 3.0, 4.5, 5.5, 6.0];
let names = vec!["Intercept".into(), "X1".into(), "X2".into()];

let options = KFoldOptions {
    n_folds: 5,
    shuffle: true,
    seed: Some(42),
};

let result = kfold_cv_ols(&y, &[x1, x2], &names, &options)?;
println!("CV RMSE: {:.4} (+/- {:.4})", result.mean_rmse, result.std_rmse);

Re-exports§

pub use types::CVResult;
pub use types::FoldResult;
pub use types::KFoldOptions;
pub use kfold::kfold_cv_elastic_net;
pub use kfold::kfold_cv_lasso;
pub use kfold::kfold_cv_ols;
pub use kfold::kfold_cv_ridge;

Modules§

kfold
Core K-Fold Cross Validation implementation for linear regression models.
metrics
Metric calculations for cross-validation performance evaluation.
splits
Utilities for creating K-Fold train/test splits.
types
Configuration options and result types for K-Fold Cross Validation.