v0.5.3¶
Patch release for the cross-module hardening batch originally planned under the
0.6.0 spec. The fixes are shipped on the 0.5.x line to keep the public
version sequence conservative.
What Changed¶
ScoreConsistencyUATPipelineaggressive numeric coercion now really coerces object columns to numeric, even when no value can be parsed. Non-numeric values becomeNaNwith a warning.CreditModelPipelineandRejectInferencePipelineaggregate NaN / Inf prediction counts across evaluation datasets and exposepredict_positive_nan_statson the pipeline instance.validate_sample_weight()now rejects all-zero weights. Weighted metrics and model fits no longer proceed with undefined total mass.ODPSRunner.insert_df(..., partition=..., overwrite=True)now uses a staging partition and rename swap by default. The old delete-then-write path remains available withatomic=False.NumVarBinning.apt_binning(..., modify=False)no longer mutates the caller'spointslist.FuzzyAugmentInferrernow handles NaN reject scores explicitly. The defaultnan_score_policy="drop"removes NaN-score rejects instead of silently assigning 50/50 bad probability. Legacy behavior is available withnan_score_policy="fill_0.5".PerformanceEvaluator.add_dataset()now rejects duplicate dataset names by default. Useoverwrite=Truefor intentional replacement.PerformanceEvaluator.evaluate()now always returns apandas.DataFrame. Former-1/-2/-3paths return an empty DataFrame and setevaluate_status.- Weighted
safe_auc()only swallows expected metric failures (ValueError,ZeroDivisionError) and records them viasmf_logger; real programming errors propagate. FeatureSelectionAnalyzer.chi2_selection()andcompute_vif()now exposenan_handling, defaulting tofillna_medianinstead of hard-codedfillna(0).
Migration Notes¶
These fixes intentionally tighten several silent-failure paths:
- All-zero sample weights now raise
ValueError. - Duplicate
PerformanceEvaluator.add_dataset()names now raiseKeyErrorunlessoverwrite=True. - Fuzzy reject inference drops NaN-score rejects by default. Set
nan_score_policy="fill_0.5"only when reproducing legacy reports. FeatureSelectionAnalyzerno longer conflates missing values with real zero by default. Usenan_handling="fillna_0"for old output parity.
Validation¶
The 0.5.3 hardening batch adds regression coverage for all ten spec items: N1, N7, N10, N12, N14, N18, N19, N20, N21, and N40.