datamonsterr's picture
feat(ml): publish R3D production fraud classifier artifacts (r3d-2026.10.18)
268003f verified
|
Raw History Blame Contribute Delete
2.98 kB
metadata
language:
  - en
  - vi
license: mit
tags:
  - fraud-detection
  - ride-hailing
  - tabular-data
  - trajectory-analysis
  - lightgbm
  - onnx
  - gps-telemetry
  - p-063
metrics:
  - f1
  - accuracy
model-index:
  - name: p-063-r3d-classifier
    results:
      - task:
          type: tabular-classification
          name: Ride-Hailing Telemetry Fraud Classification
        dataset:
          type: releases_v2.1
          name: P-063 Benchmark 10k Releases v2.1
          revision: d52e52ff7dd2cc7b6d23631191d1cdbf32d9f1b636f43117ad496809ac0d3fdf
        metrics:
          - name: Macro-F1 (Held-out Test 6k)
            type: f1
            value: 0.868
          - name: Macro-F1 (Validation dev300)
            type: f1
            value: 0.8688
          - name: Accuracy
            type: accuracy
            value: 0.9507
          - name: False Positive Rate (no_violation)
            type: fpr
            value: 0.027
          - name: Expected Calibration Error (ECE)
            type: ece
            value: 0.056

R3D Stacked Fraud Classifier (Production Bundle)

Production release r3d-2026.10.18 for Team P-063 (VinUni AI20K Build Phase).

Architecture Overview

The R3D Classifier operates as a layered multimodal fraud detector evaluating ride-hailing telemetry:

  1. Technical Guardrail Short-Circuit: Pure deterministic evaluation detecting device crashes (APP_CRASH), network loss (NETWORK_LOSS), or missing GPS data (GPS_UNAVAILABLE). Emits insufficient_evidence with zero ML inference latency.
  2. R3C Tabular Classifier: Native LightGBM booster evaluating 37 leak-audited kinematic and driver profile features.
  3. R3F Trajectory Classifier: 1D-CNN exported to ONNX (opset 17) evaluating 128 resampled steps across 7 spatial-temporal channels and 6 static trip-context features.
  4. R3D Meta-Learner Stacker: Calibrated LightGBM classifier fusing predicted class probabilities, cross-model disagreement vectors, and Shannon entropy distributions.

Evaluation Metrics

Evaluated on releases_v2.1 cold-storage test split (6,000 trips, disjoint driver grouping, enum-blind):

  • Macro-F1 [95% CI]: 0.8680 [0.861, 0.875]
  • Overall Accuracy: 95.07%
  • no_violation FPR: 0.027 (2.7%)
  • Expected Calibration Error (ECE): 0.056
  • dev300 Parity: 300/300 matches vs PyTorch/Pickle research baseline, max abs diff <= 1e-15.

Artifact Checksums (SHA-256)

  • r3c.txt: 0eb2e54522e8baaefd022d87e8325e9c9c86d1becfe2ffd07b8ce394ae48fd7a (4977034 bytes)
  • r3f.onnx: 23e9d5a2b96ab02e6a4825f092d5eac6fbeadb26f9a0fbc92b172a8507d0f554 (1269437 bytes)
  • stacker.txt: 1559cd14cd74306e9d17023205acd26c9b64b560a5e496279ae676b3ea16f957 (546469 bytes)
  • corpus_sha256: d52e52ff7dd2cc7b6d23631191d1cdbf32d9f1b636f43117ad496809ac0d3fdf

Runtime Usage

Artifacts are consumed via FraudClassifier in src.services.fraud_classifier:

from src.services.fraud_classifier import get_fraud_classifier

classifier = get_fraud_classifier()
result = classifier.predict(trip_bundle)
print(result.category, result.confidence, result.probabilities)