Skip to content

Coverage & Exclusions

This page is the published coverage/EXCLUDE list for fdars.sklearn. Its content is derived from python/fdars/sklearn/_coverage.py — the TRIAGE_VERDICTS and EXCLUDED_METHODS registries — so it cannot drift from the shipped code.

All 28 wrapped estimators pass the complete parametrize_with_checks battery (sklearn's internal check_estimator suite) with zero exemptions — no expected_failed_checks, no _xfail_checks. Methods that could not satisfy the full battery are excluded, not exempted.

Verified on: sklearn 1.8.0 / Python 3.14 — 28 estimators, 1 379 checks total.

Wrapped Estimators (28 × PASS)

All estimators listed below pass the full check_estimator battery.

Estimator class Family sklearn mixin fdars source Verdict
FPCATransformer Transformers TransformerMixin fdars._native.regression.fpca PASS
BSplineSmoother Transformers TransformerMixin fdars._native.smoothing.nadaraya_watson PASS
LocalPolynomialSmoother Transformers TransformerMixin fdars._native.smoothing.local_polynomial PASS
BasisRepresentation Transformers TransformerMixin fdars._native.basis.fdata_to_basis_1d PASS
Imputer Transformers TransformerMixin fdars._native.fdata (interpolation) PASS
SplineInterpolator Transformers TransformerMixin fdars._native.represent.spline_interpolate PASS
DepthTransformer Transformers TransformerMixin fdars._native.depth.fraiman_muniz_1d PASS
NormTransformer Transformers TransformerMixin fdars._native.fdata.norm_lp_1d PASS
FPCRegressor Regressors RegressorMixin fdars._native.regression.fregre_lm PASS
PLSRegressor Regressors RegressorMixin fdars._native.regression.fregre_pls PASS
RobustFPCRegressor Regressors RegressorMixin fdars._native.regression.fregre_l1 / fregre_huber PASS
GLMRegressor Regressors RegressorMixin fdars._native.regression.fpca + OLS (Gaussian only) PASS
NonparametricRegressor Regressors RegressorMixin fdars._native.regression.fregre_np PASS
FPCLDAClassifier Classifiers ClassifierMixin fdars._native.classification.fclassif_lda PASS
FPCQDAClassifier Classifiers ClassifierMixin fdars._native.classification.fclassif_qda PASS
FPCKNNClassifier Classifiers ClassifierMixin fdars._native.classification.fclassif_knn PASS
DDClassifier Classifiers ClassifierMixin fdars._native.classification.fclassif_dd (centroid) PASS
LogisticFPCClassifier Classifiers ClassifierMixin fdars._native.regression.functional_logistic PASS
ElasticMultinomialClassifier Classifiers ClassifierMixin fdars._native.classification.elastic_multinomial PASS
FunctionalKMeans Clusterers ClusterMixin fdars._native.clustering.kmeans_fd PASS
FuzzyFunctionalCMeans Clusterers ClusterMixin fdars._native.clustering.fuzzy_cmeans_fd PASS
FunctionalGMM Clusterers ClusterMixin fdars._native.clustering.gmm_cluster PASS
LRTOutlierDetector Outlier Detectors OutlierMixin fdars._native.outliers.detect_outliers_lrt_with_dist PASS
OutliergramDetector Outlier Detectors OutlierMixin fdars._native.depth.modified_band_1d (surrogate) PASS
MagnitudeShapeDetector Outlier Detectors OutlierMixin fdars._native.outliers.magnitude_shape (method-faithful) PASS
TVDMSSDetector Outlier Detectors OutlierMixin fdars._native.depth.modified_band_1d (surrogate) PASS
MUODDetector Outlier Detectors OutlierMixin fdars._native.depth.modified_band_1d (surrogate) PASS
DepthgramDetector Outlier Detectors OutlierMixin fdars._native.depth.modified_band_1d (surrogate) PASS

Excluded Methods

The methods below are not wrapped as sklearn estimators. Each has a genuine structural mismatch with the sklearn estimator contract — they are excluded, not exempted. All remain fully available in the fdars functional API.

The reason codes used below are defined in python/fdars/sklearn/_coverage.py:

Code Meaning
ORDER_SENSITIVE Output depends on sample ordering within the batch; violates check_methods_subset_invariance
IRREGULAR_INPUT Requires irregular functional data (IrregFdata), not a plain (n_obs, n_points) ndarray
RESPONSE_DOMAIN Response domain constraints (e.g. y ∈ {0,1}) violated by arbitrary arrays that check_estimators_dtypes supplies
NON_STANDARD_INPUT Input type is a non-standard container (list-of-matrices, paired arrays) that cannot be expressed as a single 2D ndarray
NON_STANDARD_OUTPUT Returns a 2D or non-scalar output (e.g. functional response) incompatible with RegressorMixin.score()
HYPERPARAMETER_SEARCH The method is itself a hyperparameter search; nesting it inside GridSearchCV is structurally wrong
NOT_AN_ESTIMATOR A statistical test or inferential procedure with no fit/predict/transform contract
SEQUENTIAL_STREAMING A stateful streaming algorithm; cannot be cast to the stateless batch fit/transform pattern
fdars method Reason code Plain-language reason Functional API
alignment.elastic_align_pair ORDER_SENSITIVE Elastic curve registration output depends on batch ordering; violates subset-invariance test fdars.alignment.elastic_align_pair
alignment.karcher_mean ORDER_SENSITIVE Fréchet mean of a curve set is a whole-batch statistic; output changes if rows are reordered fdars.alignment.karcher_mean
pace_fpca.pace_fpca IRREGULAR_INPUT PACE FPCA operates on irregular observation grids (IrregFdata); cannot be expressed as a regular (n_obs, n_points) ndarray fdars.pace_fpca.pace_fpca
regression.functional_glm_binomial RESPONSE_DOMAIN Binomial GLM requires y ∈ {0,1}; sklearn's check_estimators_dtypes supplies arbitrary float y, breaking the response constraint fdars.regression.functional_glm
regression.functional_glm_poisson RESPONSE_DOMAIN Poisson GLM requires y ≥ 0 integer counts; arbitrary float y from the battery violates the response domain fdars.regression.functional_glm
regression.concurrent_regression NON_STANDARD_INPUT Concurrent regression takes a list-of-matrices (one covariate per time point); cannot be expressed as a single 2D ndarray fdars.regression.concurrent_regression
regression.fosr NON_STANDARD_OUTPUT Function-on-scalar regression returns a functional response (coefficient curve), not a scalar — incompatible with RegressorMixin.score() fdars.regression.fosr
clustering.cluster_optim HYPERPARAMETER_SEARCH cluster_optim is itself a k-search procedure; wrapping it inside GridSearchCV is structurally circular fdars.clustering.cluster_optim
inference.t_perm_test NOT_AN_ESTIMATOR A two-sample permutation t-test; produces a p-value, not a fitted model; no fit/predict/transform contract fdars.inference.t_perm_test
inference.f_perm_test NOT_AN_ESTIMATOR A functional ANOVA F-test; produces a p-value, not a fitted model fdars.inference.f_perm_test
inference.oneway_anova_vstat NOT_AN_ESTIMATOR One-way ANOVA V-statistic test; inferential procedure with no estimator contract fdars.inference.oneway_anova_vstat
inference.mean_scb NOT_AN_ESTIMATOR Simultaneous confidence band for the functional mean; inferential summary, not an estimator fdars.inference.mean_scb
spm.spm_monitor SEQUENTIAL_STREAMING Statistical process monitoring accumulates state across sequential observations; cannot be cast to stateless batch fit/transform fdars.spm.spm_monitor

EXCLUDED ≠ EXEMPTED

No wrapped estimator carries a check_estimator exemption. Methods that cannot satisfy the full battery are excluded from the sklearn layer entirely and documented here. The functional API in fdars (e.g. fdars.alignment, fdars.inference, fdars.spm) is always available for excluded methods.

Source of truth

This page is derived from python/fdars/sklearn/_coverage.py (TRIAGE_VERDICTS + EXCLUDED_METHODS). If you see a discrepancy between this page and the shipped registry, the registry takes precedence.