传统 AutoML
数据 → fit() → 模型
- 数据怎么处理的?不知道
- 模型为什么选这个?不知道
- 对谁有偏见?不知道
不是做一个精度更高的 AutoML,而是让每次 fit() 都留下完整的、可追溯的实验记录。
数据 → fit() → 模型
数据 → fit() → 完整报告文件夹
mljar-supervised 是表格 AutoML 最成熟的开源标杆之一,我们在设计 TabularX 时继承并推进了它的三条核心理念。
每个模型族注册时声明自己需要哪些预处理。线性模型要标准化,随机森林不要,CatBoost 连编码都不需要——框架自动匹配,不做一刀切。
数据观测与预处理决策分离。DataInfo 只管「看」数据——列类型、缺失、偏态;PreprocessingTuner 再根据数据事实与模型能力的交集做出决策。
不靠用户手动整理日志,每次运行自动写入结构化的实验记录:data_info.json、params.json、leaderboard.csv、每个模型的 framework.json。一个目录打开,全都有据可查。
最核心的架构决策:每个阶段是纯函数,只做计算不做 IO。测试只需要「给输入、断言输出」,不需要 mock 文件系统。
TabularXError,用户可在调用链路上统一 catch。参数越界等底层问题直接用 ValueError,不额外包装。AutoEstimator 把整条流水线封装为两行代码:ae = AutoEstimator() → ae.fit(X, y)。内部自动完成 profile → split → preprocess → search → explain → fairness 的串接。ae = AutoEstimator(
task="classification",
output_dir="./output"
)
ae.fit(X, y, sensitive_features=["gender"])
每个 ModelSpec 声明:
注册表按 binary / multiclass / regression 三桶管理。
第一步:Profile 只做观测——列类型、缺失、偏态、标准化需求。与模型无关。
第二步:DataInfo ∩ ModelCapability → 预处理决策。
| 模型 | 需要 Scale | 需要编码 |
|---|---|---|
| 线性 / 神经网络 | 是 | 是 |
| 随机森林 / XGBoost | 否 | 是 |
| CatBoost | 否 | 否(自带) |
每个模型的调参空间用 ParamDef 列表声明——参数名、类型、范围、尺度。调参器统一遍历,生成 Optuna suggest 调用。搜索空间定义与调参逻辑彻底解耦。
与 MLJAR 不同——TabularX 让所有成功跑完的模型都有自己的独立报告:
最优模型确定后,框架自动完成两件事,不需要用户额外调用。
sensitive_features。框架自动按敏感特征分组,计算 Demographic Parity 和 Equalized Odds 差异,超阈值标红告警。ae.fit(X, y, sensitive_features=["gender"])——公平性审计不再需要手动实现。| 指标 | 含义 | 阈值 |
|---|---|---|
| Demographic Parity | 各组正类率差异 | ≤ 0.1 |
| Equalized Odds TPR | 各组真正率差异 | ≤ 0.1 |
| Equalized Odds FPR | 各组假正率差异 | ≤ 0.1 |
所有阶段的数据通过 Jinja2 模板渲染为一系列 HTML 文件。每个 HTML 直接用浏览器打开就能看。
fit() 结束,报告自动生成。不是「可选」导出功能,而是框架的默认行为。二分类 · 569 样本 · 30 特征 · 四个模型 + Voting 组合
四个模型都成功跑完。LightGBM 验证集最高但测试集略低,存在泛化差距。
Summary 图展示贡献方向;Waterfall 图展示单样本分解。
框架自动按敏感特征分组计算,无需手动实现指标。
一次 fit(),完整实验目录自动成型。
user+auto
— 用户手动指定分类任务;按唯一值数 2 细分为 binary
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=14.1273, std=3.5210,满足判据 → scale_needed
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=19.2896, std=4.2973,满足判据 → scale_needed
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=91.9690, std=24.2776,满足判据 → scale_needed
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=654.8891, std=351.6048,满足判据 → scale_needed
1.6457
— 偏度 = 1.6457,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0964, std=0.0141,不满足判据 → 无需 scale
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.1043, std=0.0528,不满足判据 → 无需 scale
1.1901
— 偏度 = 1.1901,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0888, std=0.0796,不满足判据 → 无需 scale
1.4012
— 偏度 = 1.4012,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0489, std=0.0388,不满足判据 → 无需 scale
1.1712
— 偏度 = 1.1712,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.1812, std=0.0274,不满足判据 → 无需 scale
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0628, std=0.0071,不满足判据 → 无需 scale
1.3045
— 偏度 = 1.3045,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.4052, std=0.2771,不满足判据 → 无需 scale
3.0886
— 偏度 = 3.0886,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=1.2169, std=0.5512,满足判据 → scale_needed
1.6464
— 偏度 = 1.6464,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=2.8661, std=2.0201,满足判据 → scale_needed
3.4436
— 偏度 = 3.4436,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=40.3371, std=45.4510,满足判据 → scale_needed
5.4472
— 偏度 = 5.4472,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0070, std=0.0030,不满足判据 → 无需 scale
2.3145
— 偏度 = 2.3145,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0255, std=0.0179,不满足判据 → 无需 scale
1.9022
— 偏度 = 1.9022,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0319, std=0.0302,不满足判据 → 无需 scale
5.1105
— 偏度 = 5.1105,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0118, std=0.0062,不满足判据 → 无需 scale
1.4447
— 偏度 = 1.4447,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0205, std=0.0083,不满足判据 → 无需 scale
2.1951
— 偏度 = 2.1951,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0038, std=0.0026,不满足判据 → 无需 scale
3.924
— 偏度 = 3.9240,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=16.2692, std=4.8290,满足判据 → scale_needed
1.1031
— 偏度 = 1.1031,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=25.6772, std=6.1409,满足判据 → scale_needed
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=107.2612, std=33.5730,满足判据 → scale_needed
1.1282
— 偏度 = 1.1282,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=880.5831, std=568.8565,满足判据 → scale_needed
1.8594
— 偏度 = 1.8594,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.1324, std=0.0228,不满足判据 → 无需 scale
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.2543, std=0.1572,不满足判据 → 无需 scale
1.4736
— 偏度 = 1.4736,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.2722, std=0.2084,不满足判据 → 无需 scale
1.1502
— 偏度 = 1.1502,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.1146, std=0.0657,不满足判据 → 无需 scale
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.2901, std=0.0618,不满足判据 → 无需 scale
1.4339
— 偏度 = 1.4339,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0839, std=0.0180,不满足判据 → 无需 scale
1.6626
— 偏度 = 1.6626,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
| 任务类型 | binary |
|---|---|
| 类别数 | 2 |
| 类别分布 | 1: 62.7% 0: 37.3% |
| 缺失率 | 0.00% |
| 列名 | 类型 | dtype | 缺失数 | 缺失率 | 唯一值 | 标签 | 均值 | 标准差 |
|---|---|---|---|---|---|---|---|---|
| mean radius | numeric | float64 | 0 | 0.00% | 456 | numeric scale_needed | 14.1273 | 3.5210 |
| mean texture | numeric | float64 | 0 | 0.00% | 479 | numeric scale_needed | 19.2896 | 4.2973 |
| mean perimeter | numeric | float64 | 0 | 0.00% | 522 | numeric scale_needed | 91.9690 | 24.2776 |
| mean area | numeric | float64 | 0 | 0.00% | 539 | numeric scale_needed skewed | 654.8891 | 351.6048 |
| mean smoothness | numeric | float64 | 0 | 0.00% | 474 | numeric | 0.0964 | 0.0141 |
| mean compactness | numeric | float64 | 0 | 0.00% | 537 | numeric skewed | 0.1043 | 0.0528 |
| mean concavity | numeric | float64 | 0 | 0.00% | 537 | numeric skewed | 0.0888 | 0.0796 |
| mean concave points | numeric | float64 | 0 | 0.00% | 542 | numeric skewed | 0.0489 | 0.0388 |
| mean symmetry | numeric | float64 | 0 | 0.00% | 432 | numeric | 0.1812 | 0.0274 |
| mean fractal dimension | numeric | float64 | 0 | 0.00% | 499 | numeric skewed | 0.0628 | 0.0071 |
| radius error | numeric | float64 | 0 | 0.00% | 540 | numeric skewed | 0.4052 | 0.2771 |
| texture error | numeric | float64 | 0 | 0.00% | 519 | numeric scale_needed skewed | 1.2169 | 0.5512 |
| perimeter error | numeric | float64 | 0 | 0.00% | 533 | numeric scale_needed skewed | 2.8661 | 2.0201 |
| area error | numeric | float64 | 0 | 0.00% | 528 | numeric scale_needed skewed | 40.3371 | 45.4510 |
| smoothness error | numeric | float64 | 0 | 0.00% | 547 | numeric skewed | 0.0070 | 0.0030 |
| compactness error | numeric | float64 | 0 | 0.00% | 541 | numeric skewed | 0.0255 | 0.0179 |
| concavity error | numeric | float64 | 0 | 0.00% | 533 | numeric skewed | 0.0319 | 0.0302 |
| concave points error | numeric | float64 | 0 | 0.00% | 507 | numeric skewed | 0.0118 | 0.0062 |
| symmetry error | numeric | float64 | 0 | 0.00% | 498 | numeric skewed | 0.0205 | 0.0083 |
| fractal dimension error | numeric | float64 | 0 | 0.00% | 545 | numeric skewed | 0.0038 | 0.0026 |
| worst radius | numeric | float64 | 0 | 0.00% | 457 | numeric scale_needed skewed | 16.2692 | 4.8290 |
| worst texture | numeric | float64 | 0 | 0.00% | 511 | numeric scale_needed | 25.6772 | 6.1409 |
| worst perimeter | numeric | float64 | 0 | 0.00% | 514 | numeric scale_needed skewed | 107.2612 | 33.5730 |
| worst area | numeric | float64 | 0 | 0.00% | 544 | numeric scale_needed skewed | 880.5831 | 568.8565 |
| worst smoothness | numeric | float64 | 0 | 0.00% | 411 | numeric | 0.1324 | 0.0228 |
| worst compactness | numeric | float64 | 0 | 0.00% | 529 | numeric skewed | 0.2543 | 0.1572 |
| worst concavity | numeric | float64 | 0 | 0.00% | 539 | numeric skewed | 0.2722 | 0.2084 |
| worst concave points | numeric | float64 | 0 | 0.00% | 492 | numeric | 0.1146 | 0.0657 |
| worst symmetry | numeric | float64 | 0 | 0.00% | 500 | numeric skewed | 0.2901 | 0.0618 |
| worst fractal dimension | numeric | float64 | 0 | 0.00% | 535 | numeric skewed | 0.0839 | 0.0180 |
| radius_group | categorical | category | 0 | 0.00% | 3 | categorical | — | — |
42。
binary
— 目标任务类型为 binary,使用分层采样保证各集类别分布一致。
42
— 随机种子 = 42,保证划分可复现。
0.5993
— 训练集 341 样本,占 59.93%
0.2004
— 验证集 114 样本,占 20.04%
0.2004
— 测试集 114 样本,占 20.04%
0.0088
— 三集间最大类别比例差异 = 0.0088(差异较小,分布一致 ✅)
总计 31 列 · 标准化 11 列 · 填补 0 列 · 编码 0 列 · 丢弃 0 列
| 列名 | 原始 dtype | 原始唯一值 | 变换动作 | 输出特征数 | 说明 |
|---|---|---|---|---|---|
| mean radius | float64 |
456 | standard_scale | 1 | |
| mean texture | float64 |
479 | standard_scale | 1 | |
| mean perimeter | float64 |
522 | standard_scale | 1 | |
| mean area | float64 |
539 | yeo-johnson+scale | 1 | |
| mean smoothness | float64 |
474 | 保留 | 1 | |
| mean compactness | float64 |
537 | yeo-johnson | 1 | |
| mean concavity | float64 |
537 | yeo-johnson | 1 | |
| mean concave points | float64 |
542 | yeo-johnson | 1 | |
| mean symmetry | float64 |
432 | 保留 | 1 | |
| mean fractal dimension | float64 |
499 | yeo-johnson | 1 | |
| radius error | float64 |
540 | yeo-johnson | 1 | |
| texture error | float64 |
519 | yeo-johnson+scale | 1 | |
| perimeter error | float64 |
533 | yeo-johnson+scale | 1 | |
| area error | float64 |
528 | yeo-johnson+scale | 1 | |
| smoothness error | float64 |
547 | yeo-johnson | 1 | |
| compactness error | float64 |
541 | yeo-johnson | 1 | |
| concavity error | float64 |
533 | yeo-johnson | 1 | |
| concave points error | float64 |
507 | yeo-johnson | 1 | |
| symmetry error | float64 |
498 | yeo-johnson | 1 | |
| fractal dimension error | float64 |
545 | yeo-johnson | 1 | |
| worst radius | float64 |
457 | yeo-johnson+scale | 1 | |
| worst texture | float64 |
511 | standard_scale | 1 | |
| worst perimeter | float64 |
514 | yeo-johnson+scale | 1 | |
| worst area | float64 |
544 | yeo-johnson+scale | 1 | |
| worst smoothness | float64 |
411 | 保留 | 1 | |
| worst compactness | float64 |
529 | yeo-johnson | 1 | |
| worst concavity | float64 |
539 | yeo-johnson | 1 | |
| worst concave points | float64 |
492 | 保留 | 1 | |
| worst symmetry | float64 |
500 | yeo-johnson | 1 | |
| worst fractal dimension | float64 |
535 | yeo-johnson | 1 | |
| radius_group | category |
3 | onehot(3) | 3 |
仅展示有变化的列(被丢弃、展开、重命名或提取)。未列出的列原样保留。
| 原始列名 | 变换后列名 | 输出特征数 | 状态 |
|---|---|---|---|
| radius_group | radius_group_large radius_group_medium radius_group_small | 3 | 展开 |
mean radius mean texture mean perimeter mean area mean smoothness mean compactness mean concavity mean concave points mean symmetry mean fractal dimension radius error texture error perimeter error area error smoothness error compactness error concavity error concave points error symmetry error fractal dimension error worst radius worst texture worst perimeter worst area worst smoothness worst compactness worst concavity worst concave points worst symmetry worst fractal dimension radius_group_large radius_group_medium radius_group_small
| 列名 | 均值 | 标准差 | 最小值 | 最大值 |
|---|---|---|---|---|
| mean radius | 0.0000 | 1.0015 | -1.9882 | 3.9711 |
| mean texture | 0.0000 | 1.0015 | -2.0949 | 4.4438 |
| mean perimeter | 0.0000 | 1.0015 | -1.9434 | 3.9624 |
| mean area | 0.0000 | 1.0015 | -3.2571 | 2.6745 |
| mean smoothness | 0.0966 | 0.0135 | 0.0625 | 0.1425 |
| mean compactness | -0.0000 | 1.0015 | -2.4231 | 2.4261 |
| mean concavity | 0.0000 | 1.0015 | -1.6039 | 2.0715 |
| mean concave points | -0.0000 | 1.0015 | -1.8194 | 2.0503 |
| mean symmetry | 0.1811 | 0.0281 | 0.1167 | 0.3040 |
| mean fractal dimension | -0.0000 | 1.0015 | -2.7083 | 2.5781 |
| radius error | 0.0000 | 1.0015 | -2.1487 | 2.2590 |
| texture error | -0.0000 | 1.0015 | -2.4298 | 3.2078 |
| perimeter error | 0.0000 | 1.0015 | -2.3460 | 2.5050 |
| area error | 0.0000 | 1.0015 | -2.7590 | 2.4684 |
| smoothness error | -0.0000 | 1.0015 | -3.4730 | 2.5279 |
| compactness error | -0.0000 | 1.0015 | -2.2551 | 2.2689 |
| concavity error | 0.0000 | 1.0015 | -1.9491 | 2.5693 |
| concave points error | -0.0000 | 1.0015 | -2.7892 | 3.1021 |
| symmetry error | -0.0000 | 1.0015 | -2.2717 | 2.3510 |
| fractal dimension error | -0.0000 | 1.0015 | -2.2305 | 2.4126 |
| worst radius | 0.0000 | 1.0015 | -2.9872 | 2.2546 |
| worst texture | -0.0000 | 1.0015 | -2.0753 | 3.7012 |
| worst perimeter | 0.0000 | 1.0015 | -2.9755 | 2.2817 |
| worst area | -0.0000 | 1.0015 | -3.0560 | 2.3016 |
| worst smoothness | 0.1326 | 0.0227 | 0.0712 | 0.2184 |
| worst compactness | -0.0000 | 1.0015 | -2.3134 | 2.4057 |
| worst concavity | 0.0000 | 1.0015 | -1.7770 | 2.4025 |
| worst concave points | 0.1153 | 0.0681 | 0.0000 | 0.2910 |
| worst symmetry | 0.0000 | 1.0015 | -3.0698 | 3.1460 |
| worst fractal dimension | -0.0000 | 1.0015 | -2.5804 | 2.6530 |
| radius_group_large | 0.0411 | 0.1987 | 0.0000 | 1.0000 |
| radius_group_medium | 0.3607 | 0.4809 | 0.0000 | 1.0000 |
| radius_group_small | 0.5982 | 0.4910 | 0.0000 | 1.0000 |
| 任务类型 | binary |
|---|---|
| 主指标 | roc_auc |
| 优化方向 | maximize |
| 数据集 | accuracy | balanced_accuracy | f1 | f1_macro | roc_auc | precision | recall |
|---|---|---|---|---|---|---|---|
| 训练集 | 0.9941 | 0.9921 | 0.9953 | 0.9937 | 0.9994 | 0.9907 | 1.0000 |
| 验证集 | 0.9561 | 0.9556 | 0.9645 | 0.9535 | 0.9934 | 0.9714 | 0.9577 |
| 测试集 | 0.9474 | 0.9435 | 0.9583 | 0.9435 | 0.9911 | 0.9583 | 0.9583 |
n_estimatorsmax_depthlearning_ratesubsamplecolsample_bytreemin_child_weightgammareg_alphareg_lambda
| 排名 | 模型 | 状态 | roc_auc(训练集) | roc_auc(验证集) | roc_auc(测试集) | 调参耗时 | 操作 |
|---|---|---|---|---|---|---|---|
| 1 | xgboost 最优 | success | 0.9994 | 0.9934 | 0.9911 | 5.9s | 详情 |
| 2 | random_forest | success | 0.9967 | 0.9889 | 0.9911 | 14.7s | 详情 |
| 3 | catboost | success | 1.0000 | 0.9961 | 0.9907 | 88.0s | 详情 |
| 4 | lightgbm | success | 1.0000 | 0.9977 | 0.9881 | 4.4s | 详情 |
| — | Voting 组合 | success | — | 0.9931 | 0.9927 | — | 详情 |
| 排名 | 特征 | 平均 |SHAP| | 解释力占比 | 均值 | 标准差 | 最小值 | 最大值 |
|---|---|---|---|---|---|---|---|
| 1 | worst concave points | 0.9008 | 14.6% | 0.0849 | 0.9916 | -2.1791 | 1.1075 |
| 2 | worst radius | 0.7442 | 12.0% | 0.0282 | 0.8024 | -2.0766 | 0.7417 |
| 3 | worst perimeter | 0.7440 | 12.0% | 0.0787 | 0.7863 | -1.2415 | 1.0073 |
| 4 | worst texture | 0.6683 | 10.8% | 0.0164 | 0.7612 | -1.1125 | 1.9466 |
| 5 | area error | 0.5802 | 9.4% | 0.0349 | 0.6237 | -1.4137 | 0.7279 |
| 6 | mean smoothness | 0.4599 | 7.4% | -0.0918 | 0.4703 | -0.7463 | 0.8527 |
| 7 | worst concavity | 0.3725 | 6.0% | 0.0463 | 0.3869 | -0.4768 | 0.6348 |
| 8 | worst area | 0.3482 | 5.6% | 0.0418 | 0.3914 | -0.5360 | 0.7712 |
| 9 | mean concave points | 0.3276 | 5.3% | 0.0379 | 0.3304 | -0.5368 | 0.4520 |
| 10 | mean texture | 0.2372 | 3.8% | 0.0176 | 0.2951 | -0.7406 | 0.5986 |
下表列出 Top-5 特征对预测的总体影响方向。均值 > 0 表示该特征值越高越推动预测向正类(或更高预测值), 均值 < 0 表示该特征值越高越推动预测向负类(或更低预测值)。
| 特征 | 平均 SHAP 值 | 主导方向 | 影响描述 |
|---|---|---|---|
| worst concave points | 0.0849 | 正向 | 值越大 → 正类概率越高 |
| worst radius | 0.0282 | 正向 | 值越大 → 正类概率越高 |
| worst perimeter | 0.0787 | 正向 | 值越大 → 正类概率越高 |
| worst texture | 0.0164 | 正向 | 值越大 → 正类概率越高 |
| area error | 0.0349 | 正向 | 值越大 → 正类概率越高 |
| 敏感特征 | radius_group |
|---|---|
| 评估指标 | Demographic Parity, Equalized Odds (TPR / FPR) |
| 差异阈值 | 由 FairnessConfig.dp_threshold / eo_tpr_threshold / eo_fpr_threshold 配置 |
| 子组 | 样本数 | 正类预测率 | 准确率 | TPR(真正率) | FPR(假正率) |
|---|---|---|---|---|---|
| radius_group_medium | 44 | 22.73% | 90.91% | 75.00% | 3.12% |
| radius_group_small | 66 | 93.94% | 96.97% | 100.00% | 33.33% |
| radius_group_large | 4 | 0.00% | 100.00% | 0.00% | 0.00% |
| 指标 | 差异值 | 是否超阈值 | 说明 |
|---|---|---|---|
| Demographic Parity | 0.9394 | 是 | 各子组正类预测率的最大差异 |
| Equalized Odds (TPR) | 1.0000 | 是 | 各子组真正率的最大差异 |
| Equalized Odds (FPR) | 0.3333 | 是 | 各子组假正率的最大差异 |
传统 AutoML 产出零散的中间文件,TabularX 把它们编排为完整的、可读的实验报告。
继承 MLJAR 的注册表 + 能力声明 + Profile 只报事实的核心理念。
纯函数分层 + Schema 契约使核心逻辑与 IO 解耦,各阶段独立可测。
SHAP 解释与公平性审计成为每次运行的默认产物,不是可选的附加功能。
user+auto
— 用户手动指定分类任务;按唯一值数 2 细分为 binary
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=14.1273, std=3.5210,满足判据 → scale_needed
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=19.2896, std=4.2973,满足判据 → scale_needed
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=91.9690, std=24.2776,满足判据 → scale_needed
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=654.8891, std=351.6048,满足判据 → scale_needed
1.6457
— 偏度 = 1.6457,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0964, std=0.0141,不满足判据 → 无需 scale
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.1043, std=0.0528,不满足判据 → 无需 scale
1.1901
— 偏度 = 1.1901,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0888, std=0.0796,不满足判据 → 无需 scale
1.4012
— 偏度 = 1.4012,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0489, std=0.0388,不满足判据 → 无需 scale
1.1712
— 偏度 = 1.1712,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.1812, std=0.0274,不满足判据 → 无需 scale
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0628, std=0.0071,不满足判据 → 无需 scale
1.3045
— 偏度 = 1.3045,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.4052, std=0.2771,不满足判据 → 无需 scale
3.0886
— 偏度 = 3.0886,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=1.2169, std=0.5512,满足判据 → scale_needed
1.6464
— 偏度 = 1.6464,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=2.8661, std=2.0201,满足判据 → scale_needed
3.4436
— 偏度 = 3.4436,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=40.3371, std=45.4510,满足判据 → scale_needed
5.4472
— 偏度 = 5.4472,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0070, std=0.0030,不满足判据 → 无需 scale
2.3145
— 偏度 = 2.3145,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0255, std=0.0179,不满足判据 → 无需 scale
1.9022
— 偏度 = 1.9022,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0319, std=0.0302,不满足判据 → 无需 scale
5.1105
— 偏度 = 5.1105,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0118, std=0.0062,不满足判据 → 无需 scale
1.4447
— 偏度 = 1.4447,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0205, std=0.0083,不满足判据 → 无需 scale
2.1951
— 偏度 = 2.1951,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0038, std=0.0026,不满足判据 → 无需 scale
3.924
— 偏度 = 3.9240,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=16.2692, std=4.8290,满足判据 → scale_needed
1.1031
— 偏度 = 1.1031,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=25.6772, std=6.1409,满足判据 → scale_needed
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=107.2612, std=33.5730,满足判据 → scale_needed
1.1282
— 偏度 = 1.1282,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=880.5831, std=568.8565,满足判据 → scale_needed
1.8594
— 偏度 = 1.8594,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.1324, std=0.0228,不满足判据 → 无需 scale
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.2543, std=0.1572,不满足判据 → 无需 scale
1.4736
— 偏度 = 1.4736,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.2722, std=0.2084,不满足判据 → 无需 scale
1.1502
— 偏度 = 1.1502,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.1146, std=0.0657,不满足判据 → 无需 scale
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.2901, std=0.0618,不满足判据 → 无需 scale
1.4339
— 偏度 = 1.4339,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
numeric
— 列类型判定为 numeric
|mean|>0.5 or std>1.5
— |mean|=0.0839, std=0.0180,不满足判据 → 无需 scale
1.6626
— 偏度 = 1.6626,|skew| > 1.0,分布偏斜明显,建议评估 log 变换或缩尾处理
| 任务类型 | binary |
|---|---|
| 类别数 | 2 |
| 类别分布 | 1: 62.7% 0: 37.3% |
| 缺失率 | 0.00% |
| 列名 | 类型 | dtype | 缺失数 | 缺失率 | 唯一值 | 标签 | 均值 | 标准差 |
|---|---|---|---|---|---|---|---|---|
| mean radius | numeric | float64 | 0 | 0.00% | 456 | numeric scale_needed | 14.1273 | 3.5210 |
| mean texture | numeric | float64 | 0 | 0.00% | 479 | numeric scale_needed | 19.2896 | 4.2973 |
| mean perimeter | numeric | float64 | 0 | 0.00% | 522 | numeric scale_needed | 91.9690 | 24.2776 |
| mean area | numeric | float64 | 0 | 0.00% | 539 | numeric scale_needed skewed | 654.8891 | 351.6048 |
| mean smoothness | numeric | float64 | 0 | 0.00% | 474 | numeric | 0.0964 | 0.0141 |
| mean compactness | numeric | float64 | 0 | 0.00% | 537 | numeric skewed | 0.1043 | 0.0528 |
| mean concavity | numeric | float64 | 0 | 0.00% | 537 | numeric skewed | 0.0888 | 0.0796 |
| mean concave points | numeric | float64 | 0 | 0.00% | 542 | numeric skewed | 0.0489 | 0.0388 |
| mean symmetry | numeric | float64 | 0 | 0.00% | 432 | numeric | 0.1812 | 0.0274 |
| mean fractal dimension | numeric | float64 | 0 | 0.00% | 499 | numeric skewed | 0.0628 | 0.0071 |
| radius error | numeric | float64 | 0 | 0.00% | 540 | numeric skewed | 0.4052 | 0.2771 |
| texture error | numeric | float64 | 0 | 0.00% | 519 | numeric scale_needed skewed | 1.2169 | 0.5512 |
| perimeter error | numeric | float64 | 0 | 0.00% | 533 | numeric scale_needed skewed | 2.8661 | 2.0201 |
| area error | numeric | float64 | 0 | 0.00% | 528 | numeric scale_needed skewed | 40.3371 | 45.4510 |
| smoothness error | numeric | float64 | 0 | 0.00% | 547 | numeric skewed | 0.0070 | 0.0030 |
| compactness error | numeric | float64 | 0 | 0.00% | 541 | numeric skewed | 0.0255 | 0.0179 |
| concavity error | numeric | float64 | 0 | 0.00% | 533 | numeric skewed | 0.0319 | 0.0302 |
| concave points error | numeric | float64 | 0 | 0.00% | 507 | numeric skewed | 0.0118 | 0.0062 |
| symmetry error | numeric | float64 | 0 | 0.00% | 498 | numeric skewed | 0.0205 | 0.0083 |
| fractal dimension error | numeric | float64 | 0 | 0.00% | 545 | numeric skewed | 0.0038 | 0.0026 |
| worst radius | numeric | float64 | 0 | 0.00% | 457 | numeric scale_needed skewed | 16.2692 | 4.8290 |
| worst texture | numeric | float64 | 0 | 0.00% | 511 | numeric scale_needed | 25.6772 | 6.1409 |
| worst perimeter | numeric | float64 | 0 | 0.00% | 514 | numeric scale_needed skewed | 107.2612 | 33.5730 |
| worst area | numeric | float64 | 0 | 0.00% | 544 | numeric scale_needed skewed | 880.5831 | 568.8565 |
| worst smoothness | numeric | float64 | 0 | 0.00% | 411 | numeric | 0.1324 | 0.0228 |
| worst compactness | numeric | float64 | 0 | 0.00% | 529 | numeric skewed | 0.2543 | 0.1572 |
| worst concavity | numeric | float64 | 0 | 0.00% | 539 | numeric skewed | 0.2722 | 0.2084 |
| worst concave points | numeric | float64 | 0 | 0.00% | 492 | numeric | 0.1146 | 0.0657 |
| worst symmetry | numeric | float64 | 0 | 0.00% | 500 | numeric skewed | 0.2901 | 0.0618 |
| worst fractal dimension | numeric | float64 | 0 | 0.00% | 535 | numeric skewed | 0.0839 | 0.0180 |
| radius_group | categorical | category | 0 | 0.00% | 3 | categorical | — | — |
42。
binary
— 目标任务类型为 binary,使用分层采样保证各集类别分布一致。
42
— 随机种子 = 42,保证划分可复现。
0.5993
— 训练集 341 样本,占 59.93%
0.2004
— 验证集 114 样本,占 20.04%
0.2004
— 测试集 114 样本,占 20.04%
0.0088
— 三集间最大类别比例差异 = 0.0088(差异较小,分布一致 ✅)
总计 31 列 · 标准化 11 列 · 填补 0 列 · 编码 0 列 · 丢弃 0 列
| 列名 | 原始 dtype | 原始唯一值 | 变换动作 | 输出特征数 | 说明 |
|---|---|---|---|---|---|
| mean radius | float64 |
456 | standard_scale | 1 | |
| mean texture | float64 |
479 | standard_scale | 1 | |
| mean perimeter | float64 |
522 | standard_scale | 1 | |
| mean area | float64 |
539 | yeo-johnson+scale | 1 | |
| mean smoothness | float64 |
474 | 保留 | 1 | |
| mean compactness | float64 |
537 | yeo-johnson | 1 | |
| mean concavity | float64 |
537 | yeo-johnson | 1 | |
| mean concave points | float64 |
542 | yeo-johnson | 1 | |
| mean symmetry | float64 |
432 | 保留 | 1 | |
| mean fractal dimension | float64 |
499 | yeo-johnson | 1 | |
| radius error | float64 |
540 | yeo-johnson | 1 | |
| texture error | float64 |
519 | yeo-johnson+scale | 1 | |
| perimeter error | float64 |
533 | yeo-johnson+scale | 1 | |
| area error | float64 |
528 | yeo-johnson+scale | 1 | |
| smoothness error | float64 |
547 | yeo-johnson | 1 | |
| compactness error | float64 |
541 | yeo-johnson | 1 | |
| concavity error | float64 |
533 | yeo-johnson | 1 | |
| concave points error | float64 |
507 | yeo-johnson | 1 | |
| symmetry error | float64 |
498 | yeo-johnson | 1 | |
| fractal dimension error | float64 |
545 | yeo-johnson | 1 | |
| worst radius | float64 |
457 | yeo-johnson+scale | 1 | |
| worst texture | float64 |
511 | standard_scale | 1 | |
| worst perimeter | float64 |
514 | yeo-johnson+scale | 1 | |
| worst area | float64 |
544 | yeo-johnson+scale | 1 | |
| worst smoothness | float64 |
411 | 保留 | 1 | |
| worst compactness | float64 |
529 | yeo-johnson | 1 | |
| worst concavity | float64 |
539 | yeo-johnson | 1 | |
| worst concave points | float64 |
492 | 保留 | 1 | |
| worst symmetry | float64 |
500 | yeo-johnson | 1 | |
| worst fractal dimension | float64 |
535 | yeo-johnson | 1 | |
| radius_group | category |
3 | onehot(3) | 3 |
仅展示有变化的列(被丢弃、展开、重命名或提取)。未列出的列原样保留。
| 原始列名 | 变换后列名 | 输出特征数 | 状态 |
|---|---|---|---|
| radius_group | radius_group_large radius_group_medium radius_group_small | 3 | 展开 |
mean radius mean texture mean perimeter mean area mean smoothness mean compactness mean concavity mean concave points mean symmetry mean fractal dimension radius error texture error perimeter error area error smoothness error compactness error concavity error concave points error symmetry error fractal dimension error worst radius worst texture worst perimeter worst area worst smoothness worst compactness worst concavity worst concave points worst symmetry worst fractal dimension radius_group_large radius_group_medium radius_group_small
| 列名 | 均值 | 标准差 | 最小值 | 最大值 |
|---|---|---|---|---|
| mean radius | 0.0000 | 1.0015 | -1.9882 | 3.9711 |
| mean texture | 0.0000 | 1.0015 | -2.0949 | 4.4438 |
| mean perimeter | 0.0000 | 1.0015 | -1.9434 | 3.9624 |
| mean area | 0.0000 | 1.0015 | -3.2571 | 2.6745 |
| mean smoothness | 0.0966 | 0.0135 | 0.0625 | 0.1425 |
| mean compactness | -0.0000 | 1.0015 | -2.4231 | 2.4261 |
| mean concavity | 0.0000 | 1.0015 | -1.6039 | 2.0715 |
| mean concave points | -0.0000 | 1.0015 | -1.8194 | 2.0503 |
| mean symmetry | 0.1811 | 0.0281 | 0.1167 | 0.3040 |
| mean fractal dimension | -0.0000 | 1.0015 | -2.7083 | 2.5781 |
| radius error | 0.0000 | 1.0015 | -2.1487 | 2.2590 |
| texture error | -0.0000 | 1.0015 | -2.4298 | 3.2078 |
| perimeter error | 0.0000 | 1.0015 | -2.3460 | 2.5050 |
| area error | 0.0000 | 1.0015 | -2.7590 | 2.4684 |
| smoothness error | -0.0000 | 1.0015 | -3.4730 | 2.5279 |
| compactness error | -0.0000 | 1.0015 | -2.2551 | 2.2689 |
| concavity error | 0.0000 | 1.0015 | -1.9491 | 2.5693 |
| concave points error | -0.0000 | 1.0015 | -2.7892 | 3.1021 |
| symmetry error | -0.0000 | 1.0015 | -2.2717 | 2.3510 |
| fractal dimension error | -0.0000 | 1.0015 | -2.2305 | 2.4126 |
| worst radius | 0.0000 | 1.0015 | -2.9872 | 2.2546 |
| worst texture | -0.0000 | 1.0015 | -2.0753 | 3.7012 |
| worst perimeter | 0.0000 | 1.0015 | -2.9755 | 2.2817 |
| worst area | -0.0000 | 1.0015 | -3.0560 | 2.3016 |
| worst smoothness | 0.1326 | 0.0227 | 0.0712 | 0.2184 |
| worst compactness | -0.0000 | 1.0015 | -2.3134 | 2.4057 |
| worst concavity | 0.0000 | 1.0015 | -1.7770 | 2.4025 |
| worst concave points | 0.1153 | 0.0681 | 0.0000 | 0.2910 |
| worst symmetry | 0.0000 | 1.0015 | -3.0698 | 3.1460 |
| worst fractal dimension | -0.0000 | 1.0015 | -2.5804 | 2.6530 |
| radius_group_large | 0.0411 | 0.1987 | 0.0000 | 1.0000 |
| radius_group_medium | 0.3607 | 0.4809 | 0.0000 | 1.0000 |
| radius_group_small | 0.5982 | 0.4910 | 0.0000 | 1.0000 |
| 任务类型 | binary |
|---|---|
| 主指标 | roc_auc |
| 优化方向 | maximize |
| 数据集 | accuracy | balanced_accuracy | f1 | f1_macro | roc_auc | precision | recall |
|---|---|---|---|---|---|---|---|
| 训练集 | 0.9941 | 0.9921 | 0.9953 | 0.9937 | 0.9994 | 0.9907 | 1.0000 |
| 验证集 | 0.9561 | 0.9556 | 0.9645 | 0.9535 | 0.9934 | 0.9714 | 0.9577 |
| 测试集 | 0.9474 | 0.9435 | 0.9583 | 0.9435 | 0.9911 | 0.9583 | 0.9583 |
n_estimatorsmax_depthlearning_ratesubsamplecolsample_bytreemin_child_weightgammareg_alphareg_lambda
| 排名 | 模型 | 状态 | roc_auc(训练集) | roc_auc(验证集) | roc_auc(测试集) | 调参耗时 | 操作 |
|---|---|---|---|---|---|---|---|
| 1 | xgboost 最优 | success | 0.9994 | 0.9934 | 0.9911 | 5.9s | 详情 |
| 2 | random_forest | success | 0.9967 | 0.9889 | 0.9911 | 14.7s | 详情 |
| 3 | catboost | success | 1.0000 | 0.9961 | 0.9907 | 88.0s | 详情 |
| 4 | lightgbm | success | 1.0000 | 0.9977 | 0.9881 | 4.4s | 详情 |
| — | Voting 组合 | success | — | 0.9931 | 0.9927 | — | 详情 |
| 排名 | 特征 | 平均 |SHAP| | 解释力占比 | 均值 | 标准差 | 最小值 | 最大值 |
|---|---|---|---|---|---|---|---|
| 1 | worst concave points | 0.9008 | 14.6% | 0.0849 | 0.9916 | -2.1791 | 1.1075 |
| 2 | worst radius | 0.7442 | 12.0% | 0.0282 | 0.8024 | -2.0766 | 0.7417 |
| 3 | worst perimeter | 0.7440 | 12.0% | 0.0787 | 0.7863 | -1.2415 | 1.0073 |
| 4 | worst texture | 0.6683 | 10.8% | 0.0164 | 0.7612 | -1.1125 | 1.9466 |
| 5 | area error | 0.5802 | 9.4% | 0.0349 | 0.6237 | -1.4137 | 0.7279 |
| 6 | mean smoothness | 0.4599 | 7.4% | -0.0918 | 0.4703 | -0.7463 | 0.8527 |
| 7 | worst concavity | 0.3725 | 6.0% | 0.0463 | 0.3869 | -0.4768 | 0.6348 |
| 8 | worst area | 0.3482 | 5.6% | 0.0418 | 0.3914 | -0.5360 | 0.7712 |
| 9 | mean concave points | 0.3276 | 5.3% | 0.0379 | 0.3304 | -0.5368 | 0.4520 |
| 10 | mean texture | 0.2372 | 3.8% | 0.0176 | 0.2951 | -0.7406 | 0.5986 |
下表列出 Top-5 特征对预测的总体影响方向。均值 > 0 表示该特征值越高越推动预测向正类(或更高预测值), 均值 < 0 表示该特征值越高越推动预测向负类(或更低预测值)。
| 特征 | 平均 SHAP 值 | 主导方向 | 影响描述 |
|---|---|---|---|
| worst concave points | 0.0849 | 正向 | 值越大 → 正类概率越高 |
| worst radius | 0.0282 | 正向 | 值越大 → 正类概率越高 |
| worst perimeter | 0.0787 | 正向 | 值越大 → 正类概率越高 |
| worst texture | 0.0164 | 正向 | 值越大 → 正类概率越高 |
| area error | 0.0349 | 正向 | 值越大 → 正类概率越高 |
| 敏感特征 | radius_group |
|---|---|
| 评估指标 | Demographic Parity, Equalized Odds (TPR / FPR) |
| 差异阈值 | 由 FairnessConfig.dp_threshold / eo_tpr_threshold / eo_fpr_threshold 配置 |
| 子组 | 样本数 | 正类预测率 | 准确率 | TPR(真正率) | FPR(假正率) |
|---|---|---|---|---|---|
| radius_group_medium | 44 | 22.73% | 90.91% | 75.00% | 3.12% |
| radius_group_small | 66 | 93.94% | 96.97% | 100.00% | 33.33% |
| radius_group_large | 4 | 0.00% | 100.00% | 0.00% | 0.00% |
| 指标 | 差异值 | 是否超阈值 | 说明 |
|---|---|---|---|
| Demographic Parity | 0.9394 | 是 | 各子组正类预测率的最大差异 |
| Equalized Odds (TPR) | 1.0000 | 是 | 各子组真正率的最大差异 |
| Equalized Odds (FPR) | 0.3333 | 是 | 各子组假正率的最大差异 |