v0.6.0¶
Minor release focused on vectorized execution and bounded-memory analysis for wide datasets. Public result structures and business calculation semantics remain compatible unless an existing API explicitly opts into a new block parameter.
Shared WOE, PSI, and IV/KS Paths¶
MonotoneWOEBinner.apply_woe()can transform a selectedvarlistinstead of rebuilding every fitted WOE column.WOEEngineAdapter.assign_bins_frame()performs feature-block transforms andPSICalculatorreuses pre-binned data across grouped PSI calculations.- FeatureValidation grouped PSI and IV/KS aggregate group-by-bin counts with vectorized arrays and reuse the same bins across time and population views.
- The grouped two-set PSI path now always returns its summary when
return_details=False.
Wide-Table and Comparison Performance¶
proc_means_by_grp()aggregates wide numeric frames before reshaping and processes categorical distributions in feature blocks.- Feature screening and FeatureValidation correlation paths use matrix blocks, upper-triangle masks, and cached IV/KS metrics instead of repeated pairwise loops.
ProcCompareEngineand UAT consistency reports compare fields in bounded column blocks while preserving tolerance, null, ordering, and mismatch-detail semantics.- Gains tables use named aggregation for built-in metrics; custom
add_funccallbacks retain the existinggroupby.applyfallback.
Sampling and Explainability¶
SampleSplitter.split_indices()supports repeated candidate evaluation without copying full INS/OOS DataFrames.- SampleAnalysis uses index-only candidate splits and named aggregation for profile and bad-rate summaries.
- PDP, ICE, and ALE stack prediction grids and execute predictions in bounded batches.
- Legacy WOE mapping transformers build output columns once, avoiding DataFrame fragmentation on wide inputs.
New Controls¶
WOEEngineAdapter.assign_bins_frame(..., feature_block_size=64)PSICalculator(..., feature_block_size=64)proc_means_by_grp(..., feature_block_size=128)FeatureScreenConfig.corr_block_size=256ProcCompareConfig.compare_block_size=64UATConfig.comparison_block_size=128ScoreConsistencyUATPipelineConfig.comparison_block_size=128- PDP, ICE, and ALE
prediction_batch_size=100000
Compatibility and Validation¶
- Cross-batch high-correlation pair keys now use a normalized NumPy string dtype, supporting both NumPy 1.x and 2.x.
- Full local pytest suite:
656 passed. - Python 3.11 and 3.12 legacy, modern, and bleeding dependency matrices passed.
- Source package verification and strict documentation builds passed.