Parent
#90
What to build
Add four new configurable fields to NumericImputationConfig (in src/dataforge_ml/imputation/_config.py) that bound and gate the adaptive KNN parameter selection introduced in Scope 1:
knn_min_neighbors: int = 5 — floor on computed k
knn_max_neighbors: int = 25 — cap on computed k
knn_distance_weight_max_null_ratio: float = 0.15 — miss_frac threshold above which distance weighting is disabled
knn_distance_weight_max_features: int = 30 — dimensionality threshold above which distance weighting is disabled
Wire all four into to_dict / from_dict. Add unit tests in test_imputation_config.py covering default values and round-trip serialisation.
Acceptance criteria
Blocked by
None — can start immediately
Parent
#90
What to build
Add four new configurable fields to
NumericImputationConfig(insrc/dataforge_ml/imputation/_config.py) that bound and gate the adaptive KNN parameter selection introduced in Scope 1:knn_min_neighbors: int = 5— floor on computed kknn_max_neighbors: int = 25— cap on computed kknn_distance_weight_max_null_ratio: float = 0.15— miss_frac threshold above which distance weighting is disabledknn_distance_weight_max_features: int = 30— dimensionality threshold above which distance weighting is disabledWire all four into
to_dict/from_dict. Add unit tests intest_imputation_config.pycovering default values and round-trip serialisation.Acceptance criteria
NumericImputationConfigdeclares all four fields with the specified defaultsto_dict()includes all four fieldsfrom_dict()restores all four fields correctly (round-trip test)test_imputation_config.pyassert defaults and round-tripNumericImputationConfigper ADR-0034Blocked by
None — can start immediately