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);