Skip to content

Commit bdb8069

Browse files
docs: align data description and refresh example metrics (#12)
* Add files via upload * Update README.md
1 parent 49d50ff commit bdb8069

4 files changed

Lines changed: 14 additions & 12 deletions

File tree

README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -457,15 +457,15 @@ Example results from the included harder synthetic-data workflow:
457457
| Metric | Example value |
458458
|---|---:|
459459
| ROC-AUC | 0.976 |
460-
| Average precision / PR-AUC | 0.843 |
461-
| Brier score | 0.052 |
462-
| Selected threshold | 0.30 |
463-
| Precision at selected threshold | 0.514 |
464-
| Recall at selected threshold | 0.961 |
465-
| Flagged rate | 0.206 |
460+
| Average precision / PR-AUC | 0.838 |
461+
| Brier score | 0.061 |
462+
| Selected threshold | 0.35 |
463+
| Precision at selected threshold | 0.481 |
464+
| Recall at selected threshold | 0.974 |
465+
| Flagged rate | 0.223 |
466466
</div>
467467

468-
> These values are from a synthetic demo dataset and should not be interpreted as real-world fraud detection performance.
468+
> These values are from a synthetic demo dataset and should not be interpreted as real-world fraud detection performance. Exact numbers are reproducible with `--seed 42` but may shift slightly across scikit-learn/NumPy versions.
469469
470470
---
471471

@@ -628,6 +628,7 @@ Potential next improvements:
628628
- pandas
629629
- NumPy
630630
- scikit-learn
631+
- SciPy
631632
- SHAP
632633
- Streamlit
633634
- matplotlib

app.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ def main():
182182
""")
183183

184184
st.warning(
185-
"This dashboard uses a synthetic, highly separable demo dataset. "
185+
"This dashboard uses a synthetic demo dataset with overlapping classes and label noise. "
186186
"It demonstrates fraud-risk workflow design, not real-world fraud benchmark performance."
187187
)
188188

src/dashboard_utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ def build_model_metadata(
8383
"threshold_recall": best_threshold.get("recall"),
8484
"threshold_precision": best_threshold.get("precision"),
8585
"data_note": (
86-
"Synthetic, highly separable demo data. Metrics validate the workflow and should not "
87-
"be treated as real-world fraud benchmark performance."
86+
"Synthetic demo data with overlapping classes and label noise. Metrics validate "
87+
"the workflow and should not be treated as real-world fraud benchmark performance."
8888
),
8989
}
9090

src/train_model.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,9 @@ def train_and_evaluate() -> dict:
6969
"positive_rate_train": float(y_train.mean()),
7070
"positive_rate_test": float(y_test.mean()),
7171
"note": (
72-
"This synthetic demo dataset is highly separable. Probability metrics should be "
73-
"interpreted as workflow checks, not real-world fraud benchmark performance."
72+
"This synthetic demo dataset has overlapping classes and injected label noise. "
73+
"Probability metrics should be interpreted as workflow checks, not real-world "
74+
"fraud benchmark performance."
7475
),
7576
}
7677

0 commit comments

Comments
 (0)