Skip to main content

fclassif_lda

Function fclassif_lda 

Source
pub fn fclassif_lda(
    data: &FdMatrix,
    y: &[usize],
    scalar_covariates: Option<&FdMatrix>,
    ncomp: usize,
) -> Result<ClassifResult, FdarError>
Expand description

FPC + LDA classification.

§Arguments

  • data — Functional data (n × m)
  • y — Class labels (length n)
  • scalar_covariates — Optional scalar covariates (n × p)
  • ncomp — Number of FPC components

§Errors

Returns FdarError::InvalidDimension if data has zero rows or y.len() != n. Returns FdarError::InvalidParameter if ncomp is zero. Returns FdarError::InvalidParameter if y contains fewer than 2 distinct classes. Returns FdarError::ComputationFailed if the SVD decomposition in FPCA fails. Returns FdarError::ComputationFailed if the pooled covariance Cholesky factorization fails.

§Examples

use fdars_core::matrix::FdMatrix;
use fdars_core::classification::lda::fclassif_lda;

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_lda(&data, &y, None, 3).unwrap();
assert_eq!(result.predicted.len(), 10);
assert_eq!(result.n_classes, 2);