metadata
license: apache-2.0
language: en
tags:
- sentiment-analysis
- roberta
- fine-tuned
datasets:
- custom
metrics:
- accuracy
- precision
- recall
- f1
base_model:
- FacebookAI/roberta-base
pipeline_tag: text-classification
Final Sentiment Model - Go-Raw
Model description
This is a fine-tuned roberta-base
model for multi-class sentiment classification.
It was trained on a custom dataset of ~240k examples with 3 sentiment classes:
- 0: Negative
- 1: Positive
- 2: Neutral
The model shows significant improvement over the base model on this task.
Intended uses & limitations
- ✅ Suitable for English text sentiment analysis.
- 🚫 Not tested on other languages or domains beyond training data.
- 🚫 Not suitable for detecting abusive, toxic, or hate speech.
Training details
- Base model:
roberta-base
- Epochs: 3
- Learning rate: 2e-5
- Batch size: 8
- Optimizer: AdamW
Evaluation
Dataset
- Train set: 1,94,038 examples
- Test set: 48,510 examples
Performance
Metric | Base Model | Fine-tuned Model |
---|---|---|
Accuracy | 34.1% | 88.1% |
Macro F1 | 24.3% | 87.5% |
Weighted F1 | 27.1% | 88.1% |
Per-class metrics
Class | Precision | Recall | F1-score |
---|---|---|---|
0 (Negative) | 85.3% | 83.1% | 84.2% |
1 (Neutral) | 91.4% | 89.8% | 90.5% |
2 (Positive) | 86.0% | 89.4% | 87.7% |
How to use
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model = AutoModelForSequenceClassification.from_pretrained("Go-Raw/final-sentiment-model-go-raw")
tokenizer = AutoTokenizer.from_pretrained("Go-Raw/final-sentiment-model-go-raw")
text = "I absolutely love this!"
inputs = tokenizer(text, return_tensors="pt")
outputs = model(**inputs)
predicted_class = outputs.logits.argmax().item()
print(predicted_class)