跳转至

v0.6.4

发布日期:2026-07-15

0.6.4 汇总发布 0.6.3 之后的 ODPS 描述统计能力与两项绘图口径优化。 本版本没有删除公开 API,也没有修改 Pipeline Config 的默认值。

新增 proc_means_odps()

新增 MaxCompute SQL 下推版描述统计 API:

from Modeling_Tool import proc_means_odps

summary = proc_means_odps(
    input_table_name="project.wide_table",
    select_cols=["age", "credit_limit", "income"],
    group=["apply_month", "channel"],
    batch_size=50,
)

主要能力:

  • 支持全局、单字段和多字段 group 统计。
  • 从 ODPS schema 自动选择数值字段,也支持 select_cols / skip_cols
  • 按特征列分批生成聚合 SQL,只下载聚合后结果,不拉取全量宽表。
  • 支持近似或精确分位数、特殊缺失值、where_clause 分区过滤。
  • 默认返回 pandas DataFrame,可选输出 CSV 或显式写回 ODPS 表。

加权评估图片与指标统一

修复 PerformanceEvaluator 加权分支只计算加权 CSV 指标、但图片仍按未加权样本绘制的问题:

  • 每个 dataset 独立解析自己注册的 weight_col
  • ROC、KDE、Percentile 和 Gain 四个面板均使用相同的样本权重。
  • 加权 KDE 使用加权直方图、类别 KDE 和加权均值。
  • 补齐加权 Percentile / Gain 曲线,并修正 Top / Bottom 指标方向。

因此 CreditModelPipeline 的 INS/OOS/OOT 性能图片与 perf_results 现在使用同一口径; RejectInference 等其他共享 PerformanceEvaluator 的流程也同步受益。

Clustered by-group WOE 图片规格

MonotoneWOEBinner.plot_woe_graph() 在以下条件下:

group_name is not None and bar_mode == "clustered"

固定使用:

figsize = (16, 6)
dpi = 200

更宽的画布用于容纳并排柱、分组 WOE 曲线和右侧图例。pooledsmall_multiples 以及无 group 的图仍使用调用方传入的 figsize / dpi

验证

  • 本地完整测试:688 passed / 0 failed
  • Python 3.11 / 3.12 下 legacymodernbleeding 六组依赖矩阵通过。
  • wheel、sdist 构建及 MkDocs strict build 通过。