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.