|
--- |
|
language: en |
|
tags: |
|
- distilbert |
|
- emotion-classification |
|
- text-classification |
|
datasets: |
|
- dair-ai/emotion |
|
metrics: |
|
- accuracy |
|
--- |
|
|
|
# Emotion Classification Model |
|
|
|
## Model Description |
|
This model fine-tunes DistilBERT for multi-class emotion classification on the `dair-ai/emotion` dataset. |
|
The model is designed to classify text into one of six emotions: sadness, joy, love, anger, fear, or surprise. |
|
It can be used in applications requiring emotional analysis in English text. |
|
|
|
## Training and Evaluation |
|
- **Training Dataset**: `dair-ai/emotion` (16,000 examples) |
|
- **Training Time**: 8 minutes and 51 seconds |
|
- **Training Hyperparameters**: |
|
- Learning Rate: `3e-5` |
|
- Batch Size: `32` |
|
- Epochs: `4` |
|
- Weight Decay: `0.01` |
|
|
|
### Training results |
|
|
|
| Training Loss | Epoch | Step | Validation Loss | Val. Accuracy | |
|
|:-------------:|:-----:|:----:|:---------------:|:--------: | |
|
| 0.5164 | 1.0 | 500 | 0.1887 | 0.9275 | |
|
| 0.1464 | 2.0 | 1000 | 0.1487 | 0.9345 | |
|
| 0.0994 | 3.0 | 1500 | 0.1389 | 0.94 | |
|
| 0.0701 | 4.0 | 2000 | 0.1479 | 0.94 | |
|
|
|
- **Overall Training Loss**: 0.2081 |
|
- **Test Accuracy**: 100% accuracy on the 10 examples tested. |
|
Confidence scores ranged from 90% to 100%. |
|
|
|
## Usage |
|
```python |
|
from transformers import pipeline |
|
classifier = pipeline("text-classification", model="Zoopa/emotion-classification-model") |
|
|
|
text = "I am so happy today!" |
|
result = classifier(text) |
|
print(result) |
|
``` |
|
|
|
## Limitations |
|
- The model only supports English. |
|
- The training dataset may contain biases, affecting model predictions on test data. |
|
- Edge Cases like mixed emotions might reduce accuracy. |
|
|