qsh-finance-aml-gbm / README.md
Daemons-Q's picture
Graph-feature-preprocessed gradient boosting: artefacts + measured metrics
c98a9a6 verified
|
Raw History Blame
3.36 kB
---
license: other
license_name: cdla-sharing-1.0
library_name: onnx
pipeline_tag: tabular-classification
tags:
- quantum-safe
- privacy-preserving
- finance-aml
- onnx
- onnxruntime-web
---
# Graph-feature-preprocessed gradient boosting
GFP (graph features) + XGBoost
Part of [QSMPC-QKD-QHE-AI-Hybrid](https://github.com/thedaemon-wizard/QSMPC-QKD-QHE-AI-Hybrid),
a quantum-safe orchestration demo. This is the **plaintext** model for the
`finance_aml` use case; the encrypted path runs a distilled student, not this model.
## Measured performance
| metric | value |
|---|---|
| `accuracy` | 0.9983866140161103 |
| `auprc` | 0.07323010834680115 |
| `auprc_baseline` | 0.0015234617040716665 |
| `auroc` | 0.8980183471873905 |
| `decision_threshold` | 0.928426 |
| `minority_class_f1` | 0.08077786088257292 |
| `n_test` | 1523504 |
| `n_train` | 3554841 |
| `positive_rate` | 0.00101943 |
| `wall_clock_s` | 73.7 |
## Published baselines this is measured against
- **Target metric**: minority-class F1 (laundering)
- **Baseline to beat**: 0.6323 — GFP+XGBoost, IBM AMLworld HI-Small, NeurIPS 2023 D&B (63.23 +/- 0.17)
- **Published ceiling**: 0.6816 — Multi-PNA+EU, AAAI-24 vol.38 no.10 pp.11838-11846 (68.16 +/- 2.65)
- **Companion metric shown alongside**: `auprc` — reported together because the aggregate figure can look healthy while the class that matters is not.
### Gap to the published baseline
This reaches minority-class F1 well below the published 0.6323. Two differences account for most of it and both are deliberate. (1) The published baseline uses IBM's Graph Feature Preprocessor, which ships in `snapml` under a Proprietary licence and is therefore excluded by this project's commercial-OK-only rule; what is reimplemented here is the documented typology set (degree, fan-in/out, reciprocity, k-hop cycle closure, burst degree, scatter-gather). (2) The corpus injects CYCLE attempts of up to 10 hops (HI-Small_Patterns.txt), while reachability here is computed to 4 hops because the boolean sparse powers grow quickly beyond that. The evaluation is also strictly inductive: graph aggregates are fitted on the training window only, so no test-time edge informs a training-time feature. Reported as measured; not adjusted to close the gap.
## Training data
- **Dataset**: IBM AMLworld HI-Small
- **Licence**: CDLA-Sharing-1.0
- **Source**: https://www.kaggle.com/datasets/ealtman2019/ibm-transactions-for-anti-money-laundering-aml (licence read 2026-08-03)
5M transactions, 515K accounts, ~1 laundering transaction in 981. NeurIPS 2023 D&B. SYNTHETIC: IBM generates it with a multi-agent virtual-world model and states 'Everything is synthetic'; the paper is titled 'Realistic Synthetic Financial Transactions for AML Models'. Chosen for its calibration to real transaction statistics and its CDLA-Sharing terms, not because it is real data - no commercial-OK corpus of real laundering transactions exists.
## Notes and limitations
Stateless at inference, so this is the browser-tier finance model.
## Honest scope
This model is published as part of a research proof of concept, not as a production system.
Numbers above are what this repository measured on the split described, with the code in
`scripts/train/`. Where a figure is carried from the literature rather than measured here,
it is labelled as such.