my-sentiment-model / README.md
Arskye's picture
Create README.md
fe89fc4 verified
---
license: mit
library_name: transformers
pipeline_tag: text-classification
tags:
- sentiment-analysis
- text-classification
- distilbert
- fine-tuned
- nlp
language:
- en
datasets:
- sentiment140
metrics:
- accuracy
- f1
base_model: distilbert-base-uncased
model-index:
- name: my-sentiment-model
results:
- task:
type: text-classification
name: Text Classification
dataset:
name: sentiment140
type: sentiment140
metrics:
- name: Accuracy
type: accuracy
value: 0.85
- name: F1 Score (Macro)
type: f1
value: 0.84
---
# My DistilBERT Sentiment Model
Fine-tuned DistilBERT for 3-class sentiment classification (negative, neutral, positive).
## Model Description
This model is a fine-tuned version of DistilBERT-base-uncased for sentiment analysis. It has been trained to classify text into three sentiment categories:
- **Negative** (0)
- **Neutral** (1)
- **Positive** (2)
## Intended Uses
This model is intended for sentiment analysis tasks on English text. It can be used to:
- Analyze customer feedback and reviews
- Monitor social media sentiment
- Classify emotions in text data
- Support content moderation systems
## Limitations
- Trained primarily on English text
- May not perform well on domain-specific jargon
- Performance may vary on very short or very long texts
- Potential bias from training data
## Training Details
- **Base Model**: distilbert-base-uncased
- **Training Epochs**: 2
- **Batch Size**: 8
- **Learning Rate**: 3e-5
- **Max Sequence Length**: 128
- **Optimizer**: AdamW
- **Weight Decay**: 0.01
## Model Performance
The model achieves the following performance on the test set:
- **Accuracy**: 85%
- **F1-Score (Macro)**: 84%
- **F1-Score (Weighted)**: 85%
## Usage
Install the required dependencies:
```bash
pip install transformers torch
```
Load and use the model:
```python
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
# Load model and tokenizer
model_name = "your-username/my-sentiment-model"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
# Prepare text
text = "I love this product!"
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=128)
# Get prediction
with torch.no_grad():
outputs = model(**inputs)
probabilities = torch.nn.functional.softmax(outputs.logits, dim=-1)
predicted_class = torch.argmax(probabilities, dim=-1).item()
# Map prediction to label
labels = {0: "negative", 1: "neutral", 2: "positive"}
confidence = probabilities[0][predicted_class].item()
print(f"Text: {text}")
print(f"Sentiment: {labels[predicted_class]} (confidence: {confidence:.2%})")
```
## Citation
If you use this model in your research, please cite:
```bibtex
@misc{my-sentiment-model,
author = {Your Name},
title = {Fine-tuned DistilBERT for Sentiment Analysis},
year = {2025},
publisher = {Hugging Face},
url = {https://huggingface.co/your-username/my-sentiment-model}
}
```
## License
This model is released under the MIT License.