belgo-classifier / README.md
githubDCS's picture
v4.6.1: audited real data, NLEmbedding 512-dim; remove defective MiniLM v4.5.0
e5bb8a8 verified
|
Raw
History Blame Contribute Delete
1.86 kB
metadata
license: mit
tags:
  - coreml
  - text-classification
  - finance
  - belgium

BelgoClassifier — Belgian bank-transaction categorizer (Core ML)

⚠️ Archive channel. This repository is a public archive of the Stay Steady app's on-device transaction classifier. The app itself distributes models via its own backend — files here are for reference and research, not consumed by any released app.

Current model: v4.6.1 (2026-07-20)

BelgoClassifier_v4.6.1.mlmodelc.zip — classifier head over Apple NLEmbedding sentence embeddings (512-dim, English). 34 spending categories. Trained on 21,565 samples: synthetic Belgian transaction text plus manually audited real bank transactions (personal/P2P counterparties excluded, merchant names canonicalized — branch towns, store numbers and card fragments stripped). Training accuracy 99.38%.

Runtime contract: embed input text with NLEmbedding.sentenceEmbedding(for: .english) (512-dim), UPPERCASE, diacritics folded, merchant canonicalized. Input tensor embeddings [1, 512] Float32; output probabilities over 34 classes.

⚠️ v4.5.0 is defective — do not use

BelgoClassifier_v4.5.0.mlmodelc.zip has been removed from this repository. It was trained by a different pipeline against all-MiniLM-L6-v2 embeddings (384-dim) and therefore cannot score NLEmbedding vectors at all; it also measured only 86.7% validation accuracy and carried a merchant+location labeling bias. If you have a cached copy, discard it.

Version history

Version Embeddings Notes
4.6.1 NLEmbedding 512 Audited real data, canonicalized merchants — current
4.5.0 MiniLM 384 Defective, removed (wrong pipeline, 86.7%)
2.2.0 NLEmbedding 512 First NLEmbedding retrain
2.1.0 / 1.0.0 Early iterations, archive only