Skip to main content

fclassif_cv

Function fclassif_cv 

Source
pub fn fclassif_cv(
    data: &FdMatrix,
    argvals: &[f64],
    y: &[usize],
    scalar_covariates: Option<&FdMatrix>,
    method: &str,
    ncomp: usize,
    nfold: usize,
    seed: u64,
) -> Result<ClassifCvResult, FdarError>
Expand description

K-fold cross-validated error rate for functional classification.

§Arguments

  • data — Functional data (n × m)
  • argvals — Evaluation points
  • y — Class labels
  • scalar_covariates — Optional scalar covariates
  • method — “lda”, “qda”, “knn”, “kernel”, “dd”
  • ncomp — Number of FPC components (for lda/qda/knn)
  • nfold — Number of CV folds
  • seed — Random seed for fold assignment

§Errors

Returns FdarError::InvalidParameter if nfold < 2 or nfold > n. Returns FdarError::InvalidParameter if y contains fewer than 2 distinct classes.

§Examples

use fdars_core::matrix::FdMatrix;
use fdars_core::classification::cv::fclassif_cv;

let argvals: Vec<f64> = (0..10).map(|i| i as f64 / 9.0).collect();
let data = FdMatrix::from_column_major(
    (0..100).map(|i| (i as f64 * 0.1).sin()).collect(),
    10, 10,
).unwrap();
let y = vec![0, 0, 0, 0, 0, 1, 1, 1, 1, 1];
let result = fclassif_cv(&data, &argvals, &y, None, "lda", 2, 3, 42).unwrap();
assert!(result.error_rate >= 0.0 && result.error_rate <= 1.0);