Imputation

Real multi-view datasets are rarely complete: a sensor fails, a modality is too expensive to acquire for every subject, a questionnaire goes unanswered. This module encodes a missing view as a row of NaN and offers three ways of dealing with it: marginal imputation, nearest-neighbour imputation, and cross-view regression, plus complete-case analysis for when imputing is not appropriate.

All imputers follow the usual fit / transform contract, accept a list of views or a MultiViewDataset, and return NaN-free views, so they can be placed first in a PolyPipeline.

Choosing a strategy

SimpleViewImputer ignores the relationships between views, so it is the baseline any other strategy should beat. KNNViewImputer and CrossViewRegressionImputer both exploit the fact that the views of one sample are correlated: the first copies real samples, the second learns an explicit view-to-view mapping and is usually stronger when the views are close to linearly related. simulate_missing_views() lets you compare them on your own data by removing views you actually have.

See also