| --- |
| language: en |
| tags: |
| - transaction-categorization |
| - distilbert |
| - finance |
| - text-classification |
| datasets: |
| - mitulshah/transaction-categorization |
| license: apache-2.0 |
| --- |
| |
| # Transaction Category Classifier - Full Model |
|
|
| This model classifies bank transactions into 10 categories with **98.53% accuracy**. |
|
|
| ## Model Details |
|
|
| - **Model:** DistilBERT fine-tuned on 80,000 transactions |
| - **Categories:** 10 transaction types |
| - **Size:** ~268 MB |
|
|
| ## Performance |
|
|
| | Metric | Value | |
| |--------|-------| |
| | Accuracy | 98.53% | |
| | Loss | 0.0221 | |
| | Training Samples | 80,000 | |
| | Validation Samples | 20,000 | |
|
|
| ## Categories |
|
|
| - Charity & Donations |
| - Entertainment & Recreation |
| - Financial Services |
| - Food & Dining |
| - Government & Legal |
| - Healthcare & Medical |
| - Income |
| - Shopping & Retail |
| - Transportation |
| - Utilities & Services |
|
|
| ## How to Use |
|
|
| ```python |
| from transformers import pipeline |
| |
| classifier = pipeline("text-classification", |
| model="finmigodeveloper/distilbert-transaction-classifier") |
| |
| # Test it |
| transactions = [ |
| "Starbucks coffee", |
| "Monthly salary deposit", |
| "Uber ride to airport" |
| ] |
| |
| for text in transactions: |
| result = classifier(text)[0] |
| print(f"{text}: {result['label']} ({result['score']:.2%})") |
| ``` |
|
|
| ## Training Details |
|
|
| - **Epochs:** 3 |
| - **Batch Size:** 64 |
| - **Learning Rate:** 2e-5 |
| - **Optimizer:** AdamW |